Backend support for subscribing/unsubscribing to blocks, typically cards and boards. Notifies subscribers when changes are made to cards they are subscribed to.
* Stores a cache of inactive connections so their subscriptions are recovered on reconnections
* Adds test for getUserIDsForWorkspace and simplify messages through helpers
* Make the plugin websocket client more resilient
* Remove missed event callback and limit ws state polling to one at a time
* Add read lock for the plugin adapter and guarantee atomic ops on inactiveAt
* Add mutex to the plugin adapter client and tests to cover for races
* Split plugin adapter mutex in two and use them to lock only on data access
* Group plugin adapter fields by the mutex that's guarding them
* initial commit for setting shared board configuration
* add unit test
* working again
* update default config
* initial commit for setting shared board configuration
* add unit test
* working again
* update default config
* add unit tests, some clean up
* more cleanup
* more clean up
* remove header text for GH-1105
* remove unnecessary logs
* update text
* fix lint errors
* more lint fixes
* webapp lint fixes
* Update mattermost-plugin/plugin.json
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* Update mattermost-plugin/plugin.json
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* update for review, sync with main
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* Add a plugin adapter to reuse MM websocket in plugin mode
* Remove development replace
* Switch all go.mod files to use 1.16
* Fix linter issues
* Fix linter
* Update server version to contain the new hooks
* Websocket client now connects once and subscribe/desubscribe on the fly
* Fixing eslint error
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* Refactor the websockets connection messages and lifecycle
* Modify frontend to subscribe to a workspace instead of a set of blocks
* Fixing linter errors
Co-authored-by: Jesús Espino <jespinog@gmail.com>
- structured, asynchronous logging
- supports discreet log levels, including custom levels
- supports output to console, files, and all common log aggregators.
- supports JSON, plain text and GELF formats
- lazy formatting and writing
* Improving mattermost auth implementation
* Making mattermost-auth based on shared database access
* Reverting unneeded changes in the config.json file
* Fixing tiny problems
* Removing the need of using the mattermost session token
* Fixing some bugs and allowing to not-bind the server to any port
* Small fix to correctly get the templates
* Adding the mattermost-plugin code inside focalboard repo
* Adding a not working code part of the cluster websocket communication
* Updating the mattermost version
* Adding the cluster messages for the websockets
* Updating to the new node version
* Making it compatible with S3
* Addressing some tiny problems
* Fixing server tests
* Adds support for MySQL migrations and initialization
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>