Commit Graph

28 Commits

Author SHA1 Message Date
David Taylor 055310cea4
DEV: Apply syntax_tree formatting to `plugins/*` 2023-01-07 11:11:37 +00:00
Jarek Radosz 624c684d51
DEV: Transpile all plugin js by default (#17175)
Goodbye `# transpile_js: true`? 🙂
2022-06-21 22:07:10 +02:00
David Taylor 8063489dc9
FIX: Include admins in presence reply channel permissions (#14839)
Admins can see all regular topics, regardless of category permissions
2021-11-08 13:54:02 +00:00
David Taylor b57b079ff2
DEV: Update discourse-presence plugin to use new PresenceChannel system (#14519)
This removes all custom controllers and redis/messagebus logic from discourse-presence, and replaces it with core's new PresenceChannel system.

All functionality should be retained. This implementation should scale much better to large numbers of users, reduce the number of HTTP requests made by clients, and reduce the volume of messages on the MessageBus.

For more information on PresenceChannel, see 31db8352
2021-10-21 12:42:46 +01:00
David Taylor 5eb4e642a6
DEV: Rename discourse-presence endpoints and messagebus channels (#14089)
We are working to introduce a general core API for presence, which will clash with this plugin's `/presence` namespace

This commit introduces no functional change. There may be a slight interruption in discourse-presence functionality during a deploy of this commit.
2021-08-19 13:04:31 +01:00
Michael Brown 5f7e60d9dc discourse/discourse change from 'master' to 'main' 2021-07-19 11:46:15 -04:00
jbrw ac31fe8321
FEATURE - SiteSetting to disable user option to hide their profiles and presences (#10885)
* FEATURE - SiteSetting to disable user option to hide their profiles and presences
2020-10-09 17:18:44 -04:00
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