eveseat / seat

🌀✳️ SeAT: A Simple, EVE Online API Tool and Corporation Manager
https://eveseat.github.io/docs/
GNU General Public License v2.0
431 stars 143 forks source link

Switching squads leads to not getting all roles assigned. #754

Closed jediefe closed 3 years ago

jediefe commented 3 years ago

The problem occurs with the following setup:

Squad A: Auto Squad, based on filter "Is Member of Alliance A". Attached are roles A and B. Squad B: Auto Squad, based on filter "Is Member of Alliance B". Attached are roles A and C.

Circumstances: Users' character switches corp, leaving Alliance A and joining Alliance B. Thus he is kicked from Squad A and added to Squad B. This leads him to lose roles A and B, but gets role C assigned only, instead of role A and C.

I hope that description is precise enough for investigation.

Also possibly related to #702

warlof commented 3 years ago

Hum, swapping the two actions add/remove here would probably fix that https://github.com/eveseat/web/blob/7b26bd0da14461ff8701eb863f269dd20d22a94f/src/Observers/AbstractSquadObserver.php#L63

So instead adding first, then removing - we will remove first, then adding.

Just thinking about which case could prevent it to work as expected.