* WIP
* WIP
* Removed unused webapp util
* Added server tests
* Lint fix
* Updating existing tests
* Updating existing tests
* Updating existing tests
* Fixing existing tests
* Fixing existing tests
* Fixing existing tests
* WIP
* Added category sort order migration
* Added logic to set new category on top
* Implemented api, WS listein logic remining
* finished webapp implementation
* Added category type and tests
* updated tests
* Fixed integration test
* type fix
* WIP
* implemented boards DND to other category and in same category
* removed seconds from boards name
* wip
* debugging cy test
* Enabled hiding views list while DNDing
* Removed some debug logs
* Fixed a bug preventing users from collapsing boards category
* WIP
* Debugging cypress test
* CI
* debugging cy test
* Testing a fix
* reverting test fix
* Handled personal server
* WIP
* WIP
* Adding support for building with esbuild
* Using different index.html templates for esbuild
* WIP
* WIP
* Fixed delete category and rename category
* WIP
* WIP
* Finally, its done.
* Adde suppor tot update board-category mapping in bulk
* Fixed a bug where create category option didn't show up on default category
* Fixed bug where new board was added as last board in Boards category instead of first board
* Minor cleanup
* WIP
* Added support to drab boards onto collapsed categories
* Fixed route order from specific to generic
* Fix linter
* Updated existin server tests
* fixed integration tests
* Fixed webapp test err
* Removed accidental dependencies
* Adding new server tests
* Finished server tests
* added api to client.go
* Added API integration test
* Fixed existing webapp tests
* WIP
* WIP
* WIP
* WIP
* WIP
* Fixed missing paranthesis
* Some cleanup
* fixed server lint
* noopped down migration
* Fixed issue with DND not working great with newly added category
* Fixed a test
* Fixed a test
* Fixed a test
* Fixed console error while DNDing
* pakg lock restore
* Fixed missing react beautiful dnd in package.lock.json
* updated snapshots
* Fixed webapp test
* Review fixes
* Added API permission check
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* Working in the new content block editor
* Moving blocksEditor content block into its own component
* Initial integration with quick development flow
* More WIP
* Adding drag and drop support with server side help
* Some extra work around the styles
* Adding image support
* Adding video and attachments, and fixing edit
* Putting everything behind a feature flag
* Adding support for download attachments
* Fixing compilation error
* Fixing linter errors
* Fixing javascript tests
* Fixing a typescript error
* Moving the move block to an action with undo support
* Fixing ci
* Fixing post merge errors
* Moving to more specific content-blocks api
* Apply suggestions from code review
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
* Fixing the behavior of certain blocks
* Fixing linter error
* Fixing javascript linter errors
* Adding permission testing for the new move content block api
* Adding some unit tests
* Improving a bit the tests
* Adding more unit tests to the backend
* Fixed PR suggestion
* Adding h1, h2 and h3 tests
* Adding image tests
* Adding video tests
* Adding attachment tests
* Adding quote block tests
* Adding divider tests
* Adding checkbox tests
* Adding list item block tests
* Adding text block tests
* Reorganizing a bit the code to support deveditor eagain
* Fixing dark theme on editor view
* Fixing linter errors
* Fixing tests and removing unneeded data-testid
* Adding root input tests
* Fixing some merge problems
* Fixing text/text.test.tsx test
* Adding more unit tests to the blocks editor
* Fix linter error
* Adding blocksEditor tests
* Fixing linter errors
* Adding tests for blockContent
* Update webapp/src/components/blocksEditor/blockContent.test.tsx
Fix linter warning
* Update webapp/src/components/blocksEditor/blockContent.test.tsx
Fix linter warning
* Update webapp/src/components/blocksEditor/blockContent.test.tsx
Fix linter error
* Fixing test
* Removing unneeded TODO
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
* added new Company Goals template
* new Competitve Analysis template
* Additional new standard templates
* Updated version on json file to 3
* Reverted version on json file back to 2
* Update templates.go
Updated defaultTemplateVersion from 4 to 5, so Boards knows to load the additional new templates.
* Update permissions_test.go
Updated `builtInTemplateCount` from 7 to 13 to account for the additional standard templates.
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
* fix for plugin viewing names and emails
* fix some tests
* fix some tests
* fix more tests
* fix more tests
* clean-up
* cleanup, fix issue on initial load
* revert manifest changes
* implement on personal server side
* revert user.go changes
* lint fix
* fix test
* check config for null before setting boolean value
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* WIP
* WIP
* Removed unused webapp util
* Added server tests
* Lint fix
* Updating existing tests
* Updating existing tests
* Updating existing tests
* Fixing existing tests
* Fixing existing tests
* Fixing existing tests
* Added category type and tests
* updated tests
* Fixed integration test
* type fix
* removed seconds from boards name
* wip
* debugging cy test
* Fixed a bug preventing users from collapsing boards category
* Debugging cypress test
* CI
* debugging cy test
* Testing a fix
* reverting test fix
* Handled personal server
* Fixed a case for personal server
* fixed a test
* retrieve all team members for specific lists
* retrieve all team members for specific lists
* final fixes
* update to use enum
* unit test fixes
* lint fixes
* fix integration test
* fixup integration test
* fix issues with making board private
* update to make webapp and server enums match
* fix to add member in correct role
* remove unnecessary property, check Open/Private board
* cleanup confirm for non admin
* some final cleanup
* move default to webapp
* only allow greater roles in drop down, change property name to minimumRole
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Refactor error usage from the store level up and add API helpers
* Complete API tests
* Fix merge errorResponse calls
* Remove ensure helpers to allow for custom messages on permission errors
* Fix bad import and call
* Remove bad user check on auth that was added as part of the main merge
* Fix empty list test
* Replace deprecated proxy calls to ioutil.ReadAll with io.ReadAll
* Add information to the NotFound errors
* Add context to all remaining errors and address review comments
* Fix linter
* Adapt the new card API endpoints to the error refactor
* Remove almost all customErrorResponse calls
* Add request entity too large to errorResponse and remove customErrorResponse
* Fix linter
* fix: filter out bots for sharing and @mention-ing
* feat: add `?exclude_bots` to `getTeamUsers` API
* chore: `make swagger`
* chore: `make generate`
* fix: plugin store test function implementation
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* cards apis wip
* create card API
* validate cards when creating
* create card fixes
* patch card wip
* wip
* unit test for createCard; CardPatch2BlockPatch
* unit test for PatchCard
* more APIs
* unit tests for GetCardByID
* register GetCard API
* Set FOCALBOARD_UNIT_TESTING for integration tests
* integration tests for CreateCard
* more integration tests for CreateCard
* integtration tests for PatchCard
* fix integration tests for PatchCard
* integration tests for GetCard
* GetCards API wip
* fix merge conflict
* GetCards API and unit tests
* fix linter issues
* fix flaky unit test for mySQL
* Update server/api/api.go
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
* Update server/api/api.go
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
* address review comments
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
* Added tab;le creation migration
* WIP
* Finished base impl
* Added MySQL migration
* WIP
* Added personal server store methods
* WIP
* Fixed webapp tests
* Updated server tests
* generated code
* generated code
* generated code
* used raw queries instead of plugin methods to avoid updating productapi package
* Added API doc
* Added sqlite migratins
* used plugin APIs again s=instead of raw queries
* WIP
* Added missed case of SQL migration where personal server can run on Postgres and MySQL
* CI
* Removed unsupported POSL operator
* Low on caffine. Making silly mistakes
* json handling
* int test
* hope tests pass
* Fix incorrect column size
* Webapp lint fixes
* remived debug code
* Updated moigration version
* Review fixes
* Converted synthetic membership to natuaral if needed
* Creating duplicated board to same category as parent board
* fixed tests
* fixed an incorrect API path in client
* Added logic to prevent jumping of new board between categories
* fixed lint error
- 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
* remove check for blocks on patch, a delete may not have blocks
* remove no longer necessary tests
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Adding the default role concept in the backend
* Adding the interface part
* Fix golang-ci lint errors
* Adding local permissions tests
* Address PR review comments
* Improving the code a bit
* Another small fix
* Renaming DefaultRole to MinimumRole
* Setting the minimum role at minimum to check the permissions per roles in the integration tests
* Adding the new minimum role behavior
* Fixing some tests
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Moving a lot of local tests permissions into the permissions tests
* Merging all the local permissions tests into the regular permissions tests
* Fixing golangci lint errors
* Upgrade npm in build-ubuntu
* npm i -S moment
* Don't upgrade npm
* macos-latest on build-mac
* Update dev-release.yml
* Add CI for macOS
* Lower password hash during unit tests
* Add comment
* Only integration tests on Windows
* Tweak TestCreateRecurringTask timings
* Fix server-test-mini-sqlite
* 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>