RocketChat / RocketChat/Rocket.Chat

remove this override together with the Meteor webapp/DDP/Accounts layer —

Open
#40,347 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

todo type: bug
Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

it bridges Meteor's Accounts.connection userId reactive source to the Zustand
userIdStore and keeps Meteor.userId / Meteor.user / Meteor.users pointing at
the local Zustand collection. Naively replacing Tracker.autorun with
Accounts.onLogin/onLogout breaks callers (e.g. UserProvider's logoutCleanUp)
that read userIdStore from within other onLogout callbacks and depend on the
async Tracker.flush ordering to still see a truthy uid.

📝 Found in apps/meteor/client/meteor/overrides/userAndUsers.ts#L1

Commit: 981af327a939588187151dfa6bb0143a9db22825

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with apps/meteor/client/meteor/overrides/userAndUsers.ts#L1 and trace UserProvider's logoutCleanUp plus the Accounts onLogout callbacks described in the issue. Confirm the Meteor webapp/DDP/Accounts layer removal plan and its callback ordering implications; done means the override is removed with those layers without breaking callers that read userIdStore during logout.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, frontend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.