Removing a user from an organization removes them from all of that organization's projects

Summary

If I have a user assigned to several projects in an organization, adding and removing that user to the organization removes that user from all projects within that organization

Steps to reproduce

  1. Add user to several projects, at any permission level
  2. Add same user as Step 1 to organization
  3. Now either remove the user from the organization or "Leave" the organization
  4. Notice the user is now no longer a part of any projects they were before joining the orgination

What is the current bug behavior?

Removing a user to an organization causes them to lose any pre-existing project associations, immediately breaking any read tokens, pull/push mirroring rules, etc. if any existed.

What is the expected correct behavior?

A pre-existing association with a project should not be removed by a user joining and leaving an organization. These entities should be treated as distinct since a user can be part of an organization but not part of any projects and vice-versa.

Possible fixes

If separating these entities or respecting older join dates for projects is not possible, at least create a warning that all existing project associations will be severed when a user leaves an organization.