Fixes T8118. Turns out this also was broken in the main view if e.g. you went to just /conpherence/. The fix is to make sure the threadmanager js class explicitly manages subscriptions as the loaded thread changes.
Details
Details
- Reviewers
epriestley - Maniphest Tasks
- T8118: Non-default chats in the durable column don't update in realtime
- Commits
- Restricted Diffusion Commit
rP524aee03dca0: Conpherence - make sure real time updates still work if you switch threads
- from /conpherence/ was able to receive messages in real time.
- from /conpherence/ changed threads and still received messages in real time
- from durable column switched threads and received messages in real time
Diff Detail
Diff Detail
- Repository
- rP Phabricator
- Branch
- T8118
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 5839 Build 5859: [Placeholder Plan] Wait for 30 Seconds
Event Timeline
webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js | ||
---|---|---|
285–287 | whoops, should be PHID not ID |
webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js | ||
---|---|---|
282–304 | Maybe simpler like this? var old_subs = client.getSubscriptions(); var new_subs = []; for (var ii = 0; ii < old_subs.length; ii++) { if (old_subs[ii] == this._loadedThreadPHID) { new_subs.push(r.threadPHID); } else { new_subs.push(old_subs[ii]); } } |
webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js | ||
---|---|---|
281–303 | I'll see if I can make it better, but the subscriptions don't necessarily have this._loadedThreadPHID in them. e.g. the /conpherence/ case |