Commit Graph

21 Commits

Author SHA1 Message Date
Guo Xiang Tan
623920f13d
FEATURE: Introduce a staff only override key for discourse-presence.
Merge remote-tracking branch 'origin/coding-standards'
This uses the composer as a bridge for other plugins.
2020-05-13 14:13:31 +08:00
Alan Guo Xiang Tan
301a0fa54e
FEATURE: Redesign discourse-presence to track state on the client side. (#9487)
Before this commit, the presence state of users were stored on the
server side and any updates to the state meant we had to publish the
entire state to the clients. Also, the way the state of users were
stored on the server side meant we didn't have a way to differentiate
between replying users and whispering users.

In this redesign, we decided to move the tracking of users state to the client
side and have the server publish client events instead. As a result of
this change, we're able to remove the number of opened connections
needed to track presence and also reduce the payload that is sent for
each event.

At the same time, we've also improved on the restrictions when publishing message_bus messages. Users that
do not have permission to see certain events will not receive messages
for those events.
2020-04-29 14:48:55 +10:00
Joffrey JAFFEUX
0d3d2c43a0
DEV: s/\$redis/Discourse\.redis (#8431)
This commit also adds a rubocop rule to prevent global variables.
2019-12-03 10:05:53 +01:00
Sam Saffron
30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
Robin Ward
a566ed42ae FEATURE: Option to disable user presence and profile
This allows users who are privacy conscious to disable the presence
features of the forum as well as their public profile.
2018-10-10 17:34:33 -04:00
Sam
f939bdbf44 FIX: if user is logged off return 404 instead of 500
Return correct error when attempting to publish presence for
a logged out user.
2018-08-21 11:22:40 +10:00
Jeff Wong
19605e8b0b Feature: Hide plugins that ship with core from plugins panel 2018-05-15 15:50:17 -07:00
Guo Xiang Tan
802a327ee3 Update URL for presence plugin. 2018-04-06 12:46:42 +08:00
Guo Xiang Tan
2f65393706 REFACTOR: Use Topic#private_message? to reduce duplication. 2018-03-05 15:39:22 +08:00
Régis Hanol
238e3f8a71 New 'presence_max_users_shown' site setting (defaults to 5) 2018-01-29 10:48:42 +01:00
Sam
fb9fadf42c FIX: publish presence to allowed groups as well 2017-12-19 12:17:08 +11:00
Régis Hanol
a7844de7ee UX: only publish presence when typing a message 2017-12-18 22:00:55 +01:00
Sam
fd67508497 FIX: don't count users as replying long after they are done typing
Also, don't leak a large amount of redis usage for presence stuff
2017-12-18 15:41:32 +11:00
Régis Hanol
ae0acfb1df FEATURE: live reply indicators at the bottom of topic 2017-12-06 21:58:59 +01:00
David Taylor
28073413eb FIX: Presence bug (#5329)
* Add failing test case

* FIX: new activity was not triggering cleanup
2017-11-20 15:24:59 +01:00
Guo Xiang Tan
5c1d551e9c Fix broken spec. 2017-10-02 12:28:14 +08:00
Guo Xiang Tan
95358304d9 FIX: Don't raise an error when post has been destroyed. 2017-10-02 12:00:43 +08:00
Guo Xiang Tan
77d4c4d8dc Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
David Taylor
8825581d98 Discourse-presence improvements
- Added guardian checks to endpoint
- Added security to messagebus publishing
- Added specs for security measures
- Moved all logic into component
- Stop sending ‘keepAlive’ messages if the user stops editing for more then 2 minutes

- Enable plugin by default
2017-09-08 14:32:13 -07:00
Robin Ward
7eb79ea31d FIX: Only enable the controller when the plugin is enabled 2017-09-08 10:45:14 -04:00
David Taylor
c9912fcc37 Add discourse-presence as a core plugin (#5137)
* Add discourse-presence as a core plugin

* Default enabled
2017-09-07 09:40:18 +02:00