- provides support for compiling Boards directly into the Mattermost suite server
- a ServicesAPI interface replaces the PluginAPI to allow for implementations coming from pluginAPI and suite server.
- a new product package provides a place to register Boards as a suite product and handles life-cycle events
- a new boards package replaces much of the mattermost-plugin logic, allowing this to be shared between plugin and product
- Boards now uses module workspaces; run make setup-go-work
* skeleton lifecycle
* bare minimum to satisfy mm-server import
* added boards_imports.go
* move boards_imports.go to correct package
* bump mmserver version; remove replace in go.mod; use module workspaces; remove logger service
* rename product.go --> boards.go
* add FileInfoStore and Cloud services for product; create minimal pluginAPI interfaces for all packages
* rename Boards -> BoardsProduct
* compile success
* remove hooks service; guard for nil BoardsApp
* update to latest mmserver ver
* upgrade mmserver to master tip
* upgrade mmserver to master tip
* bump plugin-api to master tip
* fix users service
* fix OnActivate crash; normalize AppError returns
* fileBackend interface for server/app
* feature flag
* bump mmserver version
* fix linter errors
* make go.work when linting
* fix go.work creation for CI
* add execute flag for script
* fix more linter errors
* always create a go.work
* fix ci go.work
* OS agnostic go.work generator
* fix path
* fix path again
* partially disable cypress test
* fix case Id --> ID
* bump mmserver version
* include in go.work for dev
* addressed review comments.
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Refactor websockets state and lifecycle
This PR moves the state of the authentication and subscriptions to the
websockets client, allowing for multiple components to communicate
with it and request subscriptions independently. With this change, the
lifecycle of the websockets client is now managed on a component, and
a hook is provided for easy access to it from individual components.
* Fix linter
* Integrating the new websockets in channels integration with the RHS and board selector
* Some small fixes around boards-channels relationship
* Make the boards unfurl to always use the current team
* Fixing weird behaviors in websockets and other small data related bugs in channel-board relationship
* Only warn if withWebSockets is used without a base connection
* Fix tests
* Fix linter
* Update snapshot
* Fixing plugin tests
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* Initial Boards+Channels implementation
* Adding draft code to list the boards in a channel
* Adding the hability to link/unlink channels (fake channel for now)
* Simplify slight the migrations
* WIP
* More changes to improve the implementation
* Adding partial implementation of linking channel from board
* Allow linking in both directions
* Removing unused file
* More work on channel binding
* some refactoring
* Improving code quality and interface
* More improvements
* Changing the API to search channels
* Adding a limit of 10 channels in search
* Add confirmation on linking public channels
* Improve a bit the styling of the confirmation modal
* Showing the current linked channel
* Adding link board confirmation to channel interface
* Fixing tests and linter errors
* Fixing backend tests
* Adding permissions tests
* Fixing linter errors
* Fixing small things
* Fixing some typescript errors
* Adding new boardSelectorItem tests
* Improving a bit tests
* Adding jest unit tests
* Remove duplicated implementation (from merge, I guess)
* Adding missed files
* Addressing some of the PR review comments
* Removing unneeded new wrapIntl implementation
* Moving NotSupportedError to the store package to be share between all the store implementations or layers
* Fixing one of the pendings ToDo
* Creating a constructor for the NotSupportedError
* Fixing linter error
* Added template ID to templates
* Removed debug log statements
* Removed debug log statements
* Fixed tests
* Generated template tracking ID on runtime
* MD5 is okay
* Fixed webapp tests
* Fixed webapp tests
* Fixed a big and tracked only in-built templates
* Fixed test
* Ported view limits to main
* lint fix
* Added tests
* Added tests
* Fixed a server test
* fixed webapp test
* fixed webapp test
* fixing some tests
* implement check when duplicating views
* Fixed webapp tests
* Fixed webapp tests
* Fixed webapp tests
* Trying without race test
* Lets race again
* Made error descriptive
* Minor improvements
* Updates snapshots for changed alt text
* Updates snapshots for changed alt text
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* Updated go version
* Generated mocks
* lint fix
* lint fix
* lint fix
* backported fileinfo limits
* backported fileinfo limits
* added tests
* synced with main
* Server lint fix
* used a better name
* remove unneeded store interfaces
* - reduce dependencies for notifications service
- notifications service no longer concerned with web socket notifications
gnored, and an empty message aborts the commit.
* use app to add member to board
* remove unneeded API
* remove dependency on app package
* fix webapp jest
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* copy files when duplicating boards
* fix unit tests
* Update server/app/boards.go
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
* Update server/app/boards.go
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
* fix review commit
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* move calculation columns to view
* update tests
* add conversion for column calculations
* remove column_Calculations from boards and boards_history
* updates from testing
* update for sqlite
* fixes from testing
* fix lint, cleanup
* update templates,remove field from boards
* revert bad changes
* update snapshots
* Update server/services/store/sqlstore/migrations/000017_add_teams_and_boards.up.sql
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Implement permissions specs for mentions.
- public boards: admin, editor, commenter can mention team members and auto-add them to board; guests can mention board members
- private boards: admin, editor, commenter, guest can mention board members
- viewers cannot mention
* Upgrade npm in build-ubuntu
* npm i -S moment
* Don't upgrade npm
* macos-latest on build-mac
* Update dev-release.yml
* Support Windows in import archive and tests
* Run CI on Windows too
* CI: Windows SQLite only
* Remove npm ci fromn Windows CI
* Don't warn when appears in card followed by text that is not a username
* Selectively initalize default templates for unit tests that need them to reduce test times. Reduce log noise.
* Initial permissions review infrastructure
* Adding more tests cases
* Modifying a bit the tests approach and adding more tests
* Adding more tests
* Adding more tests for permissions
* Adding more tests
* Adding more permissions tests
* Adding more tests
* Adding more permission checks
* Adding more permissions tests
* Adding more permission tests
* Adding more tests
* Adding subscriptions tests
* Adding more permissions tests
* Adding tests for read tokens in the files
* Update APIs and fix unit tests
* Fix linter errors
* Auto-assign category id from the database (as expected because is serial/auto_increment integer field)
* Revert "Auto-assign category id from the database (as expected because is serial/auto_increment integer field)"
This reverts commit 5c98fd76a3.
* Fixing Category scheme in postgres and MySQL
* Removing restriction about the channel_id and add it to all the databases
* Moving everything to a new migration
* Fix bad merge (?)
* Update 000021_fix_categories.up.sql
Fix Postgres ALTER COLUMN syntax
* Update 000021_fix_categories.down.sql
Fix Postgres ALTER COLUMN syntax
* Update 000021_fix_categories.up.sql
Remove unnecessary, and unsupported MODIFY COLUMNs for SQLite.
* Update 000021_fix_categories.up.sql
Remove not null from categories.channel_id
* Update 000021_fix_categories.down.sql
Migrate down removing not null from categories.channel_id
* Update 000021_fix_categories.up.sql
Fix drop not null on categories.channel_id
* Update 000021_fix_categories.down.sql
Fix down migration of drop not null from categories.channel_id.
* Restore default notification level to debug
Co-authored-by: Chen-I Lim <chenilim@gmail.com>
Co-authored-by: Chen-I Lim <46905241+chenilim@users.noreply.github.com>