0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-08 17:53:55 +08:00
discourse/plugins/discourse-presence
zogstrip c15ef42db7
FIX: respect "hide presence" when displaying "is typing/replying..."
While trying to reproduce an issue reported internally where a user saw the "is replying..." from another user who had disabled presence (aka. was "offline"), I noticed something odd about the way we "notify" presence via `notifyState`. The way it is setup up, it's being called on every "input" event in the composer/editor, due to it tracking the "reply" property of the composer model. That's fine, but the way the `helperFn` helper works, make it so we're calling the `on.cleanup` callback also on **every** "input" events in the composer/editor. For every character we enter in the composer, we're "entering" the presence channel and immediatelly "leaving" it...

If I remove the checks on `reply` (and thus the auto-tracking), then the `notifyState` function is called much less frequently. But we have some specs that expects us not to "publish" our presence when we open the composer and the reply is "empty".

Note: I switched to using `replyDirty` instead to re-use the checks the composer model is already doing to ensure we actually have changed something in the reply.

The best I came up with was not to rely on the `helperFn` but now, there's no way (that I could find) to call `composerPresenceManager.leave()` when the composer is closed. I tried a lot of different ways, but none worked. I'm sure it's something stupid easy, but I can't figure it out just now.

Internal ref - t/127490/74
2024-12-04 12:30:27 +01:00
..
assets FIX: respect "hide presence" when displaying "is typing/replying..." 2024-12-04 12:30:27 +01:00
config FEATURE: Add Uyghur language (#27183) 2024-05-27 09:58:18 +02:00
spec/integration FIX: whisper's presence channels (#30097) 2024-12-04 11:47:05 +01:00
test/javascripts/acceptance DEV: Refactor composer-/topic-presence-display (#29455) 2024-10-29 10:44:05 +01:00
plugin.rb FIX: whisper's presence channels (#30097) 2024-12-04 11:47:05 +01:00
README.md DEV: Update discourse-presence plugin to use new PresenceChannel system (#14519) 2021-10-21 12:42:46 +01:00

Discourse Presence plugin

This plugin shows which users are currently writing a reply at the same time as you.