1
0
mirror of https://github.com/mattermost/focalboard.git synced 2024-12-21 13:38:56 +02:00
Commit Graph

756 Commits

Author SHA1 Message Date
Miguel de la Cruz
f2d98f940f
Updates migrations to check collation/charset before trying to fix it (#4325)
* Updates migrations to check collation/charset before trying to fix it

* Update server/services/store/sqlstore/data_migrations.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
2022-12-13 12:28:57 -07:00
Miguel de la Cruz
5d82fb8181
Fixes positional arguments in UNION queries (#4327)
* Fixes positional arguments in UNION queries

* Fix linter

* Fix error statements
2022-12-13 09:26:35 -07:00
Doug Lauder
1d0fda2f7d
Modify query in SearchBoardsForUser to use union. (#4312) 2022-12-12 09:12:35 -07:00
Miguel de la Cruz
b22a115ee8
Replace SearchBoardsForUserInTeam query with a more efficient one (#4308)
* Replace SearchBoardsForUserInTeam query with a more efficient one

* Fix linter
2022-12-07 12:59:59 -05:00
Paul Esch-Laurent
8bce6820c6 wip: golang client 2022-12-05 17:03:19 -06:00
Paul Esch-Laurent
79184eb9ba wip: punt order by 2022-12-05 16:33:33 -06:00
Paul Esch-Laurent
dcdc3e20d9 wip: interface{} in JSON marshal struct 2022-12-05 16:10:03 -06:00
Miguel de la Cruz
9fac8f476e
Revert dnd (#4294)
* Revert "Fixed bug where boards would move to category of a different team (#4284)"

This reverts commit e075f408d3.

* Revert "Merge branch 'main' into only-explicit-boards-on-default-category"

This reverts commit 7db7e56296, reversing
changes made to 3feda10b6d.

* Revert "DND support for category and boards in LHS (#3964)"

This reverts commit 9918a0b3f8.
2022-12-05 15:03:34 -05:00
Shivashis Padhi
35f681dd75
Change activeUsers field type to []string (#3909)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-12-05 17:20:15 +05:30
Harshil Sharma
e075f408d3
Fixed bug where boards would move to category of a different team (#4284) 2022-12-02 18:37:49 +01:00
Paul Esch-Laurent
88abeb89ee wip: todos 2022-12-02 10:56:54 -06:00
Paul Esch-Laurent
c4de1b9250 wip 2022-12-02 10:40:48 -06:00
Scott Bishel
60cafbe6eb
update version to v7.7.0 (#4270) 2022-12-01 17:47:31 -07:00
Ben Cooke
abec0ac056
Merge pull request #4243 from BenCookie95/MM-48592_insights-packaging-changes
[MM-48592] Make my insights available in free tier
2022-12-01 10:07:30 -05:00
Doug Lauder
d67b57117a
bump matter-most server version (#4271) 2022-11-30 17:52:01 -05:00
Paul Esch-Laurent
f662e35daa wip 2022-11-30 15:49:16 -06:00
Paul Esch-Laurent
dbdd8e073c wip: sysadmin w/ license can export any board 2022-11-30 15:36:46 -06:00
Mattermod
6a8d2455b5
Merge branch 'main' into only-explicit-boards-on-default-category 2022-11-28 19:00:32 +02:00
Rajat Dabade
6674402079
File attachment in the card (#4053)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-24 17:16:59 +05:30
Harshil Sharma
7db7e56296 Merge branch 'main' into only-explicit-boards-on-default-category 2022-11-24 15:44:40 +05:30
Harshil Sharma
9918a0b3f8
DND support for category and boards in LHS (#3964)
* 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>
2022-11-24 15:31:32 +05:30
Harshil Sharma
3feda10b6d Fixed tests 2022-11-24 15:00:06 +05:30
Harshil Sharma
eb50a5ae95 removed a debug log 2022-11-24 14:31:33 +05:30
Harshil Sharma
733dca08b6 Adding only boards with explicit access to default category 2022-11-24 13:51:17 +05:30
Benjamin Cooke
f89168762d make my insights available in free tier 2022-11-23 17:21:25 -05:00
Doug Lauder
20d8d7a0ab
manually de-duplicate result set for SearchBoardsForUserInTeam since adding to the query increased cost by 15X (#4232) 2022-11-22 12:53:08 -05:00
cyrilzhang-mm
6b28be7043
[MM-45052] Add error checking in insights API (#3876) 2022-11-18 11:11:32 -05:00
Ibrahim Serdar Acikgoz
afb5bf195b
migrations: update morph dependecy and apply changes (#4208)
* migrations: update morph dependecy and apply changes

* fix empty migration table name
2022-11-17 12:53:49 +01:00
Doug Lauder
824724387c
require build tag to include sqlite (#4213)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-16 08:12:05 -05:00
Jesús Espino
f915a20c64
Adding the new blocks based editor (#3825)
* 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>
2022-11-15 16:59:07 +01:00
Benjamin Masters
0cd4257ebc
[GH-3410] Healthcheck Endpoint with Server Metadata (#4151)
* add ping endpoint and tests

* remove unnecessary newlines

* fix: invalid Swagger YAML comment blocks

* refactor and add 'suite' SKU

* generate swagger docs

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
2022-11-14 14:37:06 -05:00
Miguel de la Cruz
a96fa493eb
Set down migrations as noops and add CI job (#4186) 2022-11-10 17:04:40 +01:00
Scott Bishel
a30c1692ac
update to version 7.6.0 (#4185) 2022-11-09 17:50:17 +05:30
Scott Bishel
3cba505101
return minimum role from mattermostauthlayer functions (#4182) 2022-11-08 17:32:50 -07:00
Scott Bishel
696a1f3202
update template version (#4177) 2022-11-08 13:43:38 -07:00
Scott Bishel
1454095bdd
Don't add templates to default category (#4174)
* don't add templates to default category

* check for IsTemplate rather than teamID = 0, as Personal Server is always teamid = 0
2022-11-08 12:12:56 -07:00
Doug Lauder
bcbc9b8b72
when importing boards, don't add user to board if system user (#4173) 2022-11-08 11:54:21 -07:00
Doug Lauder
8949c6b13f
Delete children when deleting boards and cards (#3943)
* delete and undelete handle children
2022-11-08 11:42:01 -05:00
Scott Bishel
cf97e300c1
Fix for category not being set by UI, set to existing Category. (#4161)
* remove valid check and set category type to retrieved category type

* lint fix

* fix test

* update code for testing to continue to work.

* update comments
2022-11-08 09:40:30 -07:00
Harshil Sharma
d39abc305d
Fix a bug where board didn;t show up in LHS when someone added me on it (#4133) 2022-11-08 09:00:14 -07:00
Winson Wu
51a9ca83de
Additional new standard board templates (#4144)
* 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>
2022-11-07 19:10:58 -07:00
Scott Bishel
ecfebc32a4
return implicit memberships in SearchBoardForUserInTeam (#4158) 2022-11-07 18:46:28 -07:00
Scott Bishel
037e951141
Fix issues when retrieving boards (#4145)
* update function to only retrieve boards once.

* some cleanup

* fix spelling error
2022-11-07 11:49:19 -07:00
Doug Lauder
236c62abbc
Update templates.go (#4146) 2022-11-04 13:32:10 -06:00
Scott Bishel
08f09f0c99
Fix to respect System Console settings (#4110)
* 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>
2022-11-02 14:07:10 -06:00
Harshil Sharma
9cc1071945
Fixed server lint issue about not using deprecated package io.ioutils (#4112) 2022-11-01 07:56:04 -04:00
Harshil Sharma
8d17dd820e
Boards as persisted category (#3877)
* 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
2022-10-26 16:38:03 +05:30
Miguel de la Cruz
91f9f71bf7
Replace Block references to use pointers throughout all application layers (#3934)
* Replace Block references to use pointers throughout all application layers

* lint fixes

* gofmt file, lint fix

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2022-10-25 14:46:43 -06:00
Scott Bishel
e3ae682eea
Display board statistics (#4025)
* initial commit for displaying board statistics

* lint fixes

* i18n-extract, remove log entries, cleanup

* more lint fixes

* add check for standalone mode

* update tests due to change to NotImplemented

* lint fix

* revert removing empty comment lines

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-10-25 14:28:00 -06:00
Doug Lauder
e9d4aeba0e
fix collation for personal server (#4080) 2022-10-25 14:02:41 -04:00
Scott Bishel
3e9600a803
Fix GetMemberForBoard from returning a null member (#4060)
* fix GetMemberForBoard from returning a null member

* lint didn't like my variable name
2022-10-20 16:01:24 -06:00
Miguel de la Cruz
821e3e1c85
Add mariadb tests and update database migration for compatibility (#3929)
* Add mariadb tests and update database migration for compatibility

* add additional tests for migrating json fields

* remove unnecessary test

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2022-10-20 07:36:13 -06:00
Scott Bishel
cb4e5d9c39
Gh 3942 - fix bug with Boards bot, update link text (#4027)
* fix error when ensuring bot

* update link/unlink board text

* lint fixes
2022-10-19 09:22:55 -06:00
Doug Lauder
14ba1ad0b0
Don't replace newlines with symbol when adding comment or text. (#4035)
* Don't replace newlines with symbol when adding comment or block.
2022-10-19 08:29:28 -04:00
Tobias Oetiker
d586c9351e
make sure users.props contains a hash! (#4029)
* make sure users.props contains a hash!

Partial fix for #4018. This does NOT address the 'dirty' column mentioned in this issue!

* Update server/services/store/sqlstore/migrations/000027_migrate_user_props_to_preferences.up.sql

* Just make sure that props is an object

* add newline back in

* Update 000027_migrate_user_props_to_preferences.up.sql

* Also added the check for sytandalone version query for POstgres

* added explicit cast to JSONB

Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
2022-10-19 13:54:24 +05:30
Scott Bishel
6f0c34ddd1
Gh 3953 remove channel link duplicate (#4011) 2022-10-17 16:45:51 -05:00
Doug Lauder
2b984d45b2
Fix collation and charset after migrations (every run) (#4002)
* fix collation and charset after migrations (every run)
2022-10-14 18:39:25 -04:00
Doug Lauder
0381c624cf
Check-in templates.boardarchive file (#3984)
* add full templates.boardarchive
* no longer need to create templates.boardarchive on every build.
2022-10-11 21:09:52 -04:00
Scott Bishel
eb7601d841
GH-3992 fix for missing templates, error when 'system' not found as user. (#3998) 2022-10-11 14:34:33 -05:00
Mattermost Build
3335ccd364
fix another migration error (#3988) (#3989)
(cherry picked from commit b952291c30)

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2022-10-10 17:24:55 -06:00
Scott Bishel
4b0f69da57
fix migration syntax (#3985) 2022-10-10 16:02:36 -06:00
Harshil Sharma
f5a068e382
Added duplicate data test for user preference (#3968)
* Added handling of duplicate key conflicts

* Added a test

* Add value checks and fix username for the test

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
2022-10-07 16:28:47 +02:00
Harshil Sharma
3af20268bc
Added handling of duplicate key conflicts (#3963) 2022-10-07 07:08:42 -06:00
Scott Bishel
ee2f07c3da
fix adding members to public board by editor (#3954)
* fix adding members to public board by editor

* remove log line

* fix unit tests

* lint fix

* update test
2022-10-06 14:02:15 -06:00
Harshil Sharma
2c27d2626e
Fix bug where workspace era uploaded files won't load on team era codebase (#3907)
* WIP

* Added comment for explaination

* Lint fix

* move file if found in channel directory

* lint fixes

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-10-05 14:16:03 -06:00
Paul Esch-Laurent
fe010b3b40
Remove synthetic/implicit memberships for guests (#3786)
* fix: no implicit (synthetic) memberships for guest

* fix: only check if guest if no explicit member

* refactor: join() to select() non-guest users

* style: golant lint

* fix: search as guest only returns explicit boards

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-10-03 18:23:21 -06:00
Scott Bishel
cff39e7140
update to release 7.5.0 (#3890) 2022-10-03 11:55:20 -06:00
Miguel de la Cruz
4e8a3f8232
Preserve old handleServeFile endpoint behavior after refactor (#3892) 2022-10-03 10:45:04 +05:30
Scott Bishel
8f4951dd4a
Fix members (#3875)
* 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>
2022-09-30 08:26:41 -06:00
Harshil Sharma
8ded5838a8
removed non-existent field (#3856) 2022-09-16 07:40:38 +02:00
Rajat Dabade
80024851a5
Added single-user check for getUserList (#3801)
* Added single-user check for getUserList

* Added check for length of UserIDs slice

* ErrorResponse arg fix and UserIDs len fix

* Linter fixes

* Error fixes

* Linter and error fix
2022-09-15 16:52:35 -04:00
Miguel de la Cruz
dfa9d8f452
Update user store to return the updated entities after inserting / patching them (#3843) 2022-09-15 13:58:20 +02:00
Miguel de la Cruz
9163e4cd9b
Check on GetBoardsForUserAndTeam if the board result list is incomplete and continue if that's the case (#3842)
* Check on GetBoardsForUserAndTeam if the board result list is incomplete and continue if that's the case

* Remove template filter and correctly check for not founds
2022-09-14 08:59:39 -04:00
Doug Lauder
6f35ed8678
Fix broken main store.getBoardsInTeamByIds (#3840)
* fix broken main GetBoardsForUserAndTeam

* comment unit tests
2022-09-14 11:27:36 +02:00
Scott Bishel
b3a356067c
GH-3797 Update telemetry to send boards count (#3820)
* update telemetry to send boards count

* fix lint

* fix unit test
2022-09-13 14:37:05 -06:00
Miguel de la Cruz
f35ac66232
Update board store to return inserted / patched values without querying the DB after modifying them (#3832)
* Update board store to return inserted / patched values without querying the DB after modifying them

* Remove redundant condition check after error refactoring
2022-09-13 12:43:03 +02:00
Miguel de la Cruz
08c0b7a2fd
Refactor error usage from the store level up and add API helpers (#3792)
* 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
2022-09-13 12:18:40 +02:00
Paul Esch-Laurent
15e13fcdac
fix: filter out bots for sharing, @mention-ing, and Person property (#3762)
* 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>
2022-09-09 19:56:44 -06:00
Scott Bishel
01eb95a6d2
Update to version 7.4.0 (#3819) 2022-09-09 11:37:03 -05:00
Harshil Sharma
5f4ad80ef0
Read Mattermost s3 timeout value and used a default if not exist (#3817)
* read Mattermost s3 timeout value and used a default if not exist

* Protection from setting 0 or negative timeout
2022-09-09 11:42:55 +02:00
Doug Lauder
4652a15bab
Card APIs (#3760)
* 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>
2022-09-08 13:01:33 +02:00
Miguel de la Cruz
7ebcdf59c2
Add remove templates channel link migration (#3794) 2022-09-07 14:22:06 -06:00
Paul Esch-Laurent
d1346be051
Fix make swagger errors & update version (#3772)
* chore: fix `make swagger` errors

* chore: update Swagger version and re-generate
2022-09-07 08:32:53 -06:00
Scott Bishel
af2727085d
Fix template websocket (#3747)
* fix websockets with templates

* add more unit tests

* add synthetic, update tests

* Update mattermost-plugin/server/manifest.go

* clean up lint, reduce cyclomatic complexity

* update tests that call patchBoard with patch.Type set

* cleanup messages

* cleanup code more readable

* fixes from code review

* fix null check

* remove log lines
2022-09-04 16:51:31 -06:00
Miguel de la Cruz
956675aa07
Fix migration 27 and update boards_migrator_test to support sqlite (#3775)
* Fix migration 27 and update boards_migrator_test to support sqlite

* Adds comments for clarity
2022-09-02 13:39:00 -06:00
Scott Bishel
a6ca2c2011
Merge pull request #3774 from mattermost/mysql-extra-safe
Extra safe MySQL migration
2022-09-02 10:00:22 -06:00
Harshil Sharma
80d2984cf8 Fixed an incorrect case in table name 2022-09-02 11:28:37 +05:30
Miguel de la Cruz
3acd505618
Refactor schema table migration mechanism (#3709)
* Refactor schema table migration mechanism

The old schema table migration code was initializing the migration
engine before changing the migrations table and was mixing queries on
two different database connections (the `s.db` connection and the
migrations `db` connection).

The changes on this commit take care of changing the migrations table
before the morph migration engine is initialized and they use the same
connection for all operations, better isolating the schema table
migration process.

* Update migrate function to take the cluster mutex first thing

* Split migration code and orchestration on different functions

* Wrap custom errors on data migrations

* Rename private migration method

* Update server/services/store/sqlstore/migrate.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
2022-09-01 15:05:11 +02:00
Harshil Sharma
66e8af85a8 Extra safe MySQL migration 2022-09-01 16:15:31 +05:30
Harshil Sharma
12ba9a6382 Extra safe MySQL migration 2022-09-01 16:07:11 +05:30
Scott Bishel
270a110dc1
Merge pull request #3761 from mattermost/mentions-and-guests
Fix @-mentions in boards & for guests
2022-08-31 13:40:32 -06:00
Paul Esch-Laurent
31569c655a
fix: reference Uppercase MM tables (#3756) 2022-08-30 14:32:31 -05:00
Paul Esch-Laurent
9101ef81e2 style: golang linting (shadow declaration) 2022-08-30 12:45:20 -05:00
Paul Esch-Laurent
b7ead8a7e0 fix: handle includePublicBoards 2022-08-30 11:56:24 -05:00
Paul Esch-Laurent
33987d5c5b fix: invalid db query for guests 2022-08-30 11:56:24 -05:00
Doug Lauder
2035337049
getBlocks store API with query options (#3755) 2022-08-30 15:56:41 +02:00
Harshil Sharma
63edf2c987
Props to preferences (#3722)
* 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
2022-08-29 12:55:12 +05:30
Scott Bishel
52598b583f
fix sql statement, add 'isGuest' (#3745) 2022-08-25 13:36:39 -05:00
Jesús Espino
61a8af8f34
Restoring guest account access and adding backend part of the guest accounts support (#2929)
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-24 17:08:58 -05:00
Miguel de la Cruz
e1a39e57ff
Adds a check that errors on store start if MariaDB is detected (#3725)
* Adds a check that errors on store start if MariaDB is detected

* Fix linter

* Update error message

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-24 14:36:43 -06:00
Jesús Espino
2b39745f68
Adding the permissions for commenter + viewer roles (#2882)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
2022-08-24 15:36:28 -05:00
Miguel de la Cruz
03a6a963eb
Updates db indexes to improve performance (#3732)
* Updates db indexes to improve performance

* Fix order-dependant test

* Fix another order-dependant test
2022-08-24 18:42:41 +02:00
Doug Lauder
509374cc4f
Set FOCALBOARD_UNIT_TESTING for integration tests (#3733) 2022-08-24 16:18:51 +02:00
Doug Lauder
0ffc721e64
Add Preferences service API for product and plugin (#3727)
* Add Preferences service API for product and plugin

* add missed switch case

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-24 09:08:56 +05:30
Doug Lauder
0311cc91ad
Add disableNotify param to client APIs, to match Rest APIs (#3723) 2022-08-23 10:37:49 -05:00
Scott Bishel
0403c22f3c
Post message channel change (#3717)
* initial implementation

* checking changes

* use boards bot

* update mocks

* linter fixes

* linter fixes

* clean up

* revert manifest change

* another lint fix

* use common error

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-23 08:48:41 -06:00
Doug Lauder
1c383fb179
Add disable_notify to all block APIs that can trigger notifications. (#3720)
* Add disable_notify to all block APIs that can trigger notifications.
2022-08-22 19:06:45 -04:00
Doug Lauder
a91e1f1758
Remove BoardID field from BlockPatch, ensuring patching a block cannot change boardID (#3719) 2022-08-22 15:57:22 -04:00
Miguel de la Cruz
67cec5de4f
Remove duplicated store and app method to get blocks that belong to a board (#3698) 2022-08-22 21:53:59 +02:00
Miguel de la Cruz
831dff6192
Print log server information on plugin run (#3711)
* Print log server information on plugin run

* Add LogServerInfo to product mode

* Fix log location
2022-08-19 13:16:18 -04:00
Miguel de la Cruz
feb49eaf19
Add foundation tests (#3670)
* Add foundation and its instrumentation code

* Add migration 18 and deletedMembershipBoardsMigration tests

* Update go sum
2022-08-18 17:03:33 +02:00
Doug Lauder
765fbc88e9
Register API router in product mode (#3700)
* register API router in product mode

* period in comment (really?)
2022-08-17 17:50:01 +02:00
Paul Esch-Laurent
68bf52cfcd
fix: return empty props in single-user mode (#3691) 2022-08-17 09:09:15 -06:00
Miguel de la Cruz
19ef6533f6
Adds data migration to clean badly assigned boards (#3635)
* Adds data migration to clean badly assigned boards

This data migration fetches all boards whose owner has a deleted
membership on the board's team and fixes them by processing them
again, this time with the fix applied to the `getBestTeamForBoard`
function that skips deleted teams and team memberships

* Do not create a transaction if there are no offending boards found

* Fix linter
2022-08-11 09:22:32 -06:00
Jesús Espino
2f29266767
More robust RHS handling of websocket events (#3648)
* More robust RHS handling of websocket events

* Fixing tests
2022-08-11 15:22:02 +02:00
Jesús Espino
1e2e3fb055
Making more robust websocket notifications on synthetic memberships (#3598)
* Making more robust websocket notifications on syntetic memberships

* Address PR review comments
2022-08-11 09:38:44 +02:00
Doug Lauder
9d5c54ac3a
move rest API for changepassword to personal server routes (#3634) 2022-08-10 20:08:05 +02:00
Scott Bishel
ba7e453bde
GH-3621- Make query case insensitive (#3623)
* make check case insensitive

* Fixed a server lint

Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
2022-08-10 08:17:36 -06:00
Doug Lauder
c1f2ae6316
Rest API reorganization (#3624)
* reorg API

* reorg api

* fix system route

* remove newline

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-10 08:20:42 -04:00
Harshil Sharma
ab02e98831
Duplicate board retain category (#3395)
* 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
2022-08-10 16:31:34 +05:30
Harshil Sharma
08c66fbeed
Restricted scope of board-category change WS event to correct user (#3594) 2022-08-10 12:44:37 +02:00
Scott Bishel
3b099bada4
GH-3564: Change boards search to "all" words (#3622)
* make search on words 'and'

* update search in auth layer
2022-08-10 14:49:30 +05:30
Miguel de la Cruz
ad3eb4ba8b
Update teamless boards migration to check for deleted entities (#3613)
* Update teamless boards migration to check for deleted entities

After this changes, the `TeamLessBoardsMigration` will check the team
and the team membership of the users to discard deleted entities when
cosidering what team to assign a board to

* Fix linter
2022-08-09 13:04:03 +02:00
Harshil Sharma
e855a37c21
Persist category state (#3579)
* WIP

* Finished impl

* Finished impl

* Added tests

* Refactored SQL migraiton into two migration to keep DDL isolated
2022-08-08 14:55:47 -06:00
Shivashis Padhi
d50846ed42
MM-43781: boards insights - cherry pick PR suggestions (#3596)
* Uncomment team insights test

* Add checks to make sure insights endpoints work only in plugin mode

* adding constant for my insights

Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
2022-08-08 19:04:03 +05:30
Shivashis Padhi
f00b5c9e61
[MM-43781] Feature: boards insights (#3005)
* Add boilerplate functions and handlers for boards insights

* Fix function signatures to add 'duration' parameter, fix where clauses in db queries

* Fix where clause to include boards of which userId in parameter is a member

* Modify queries to work with sqlite, postgres, mysql

* Integration tests, and results of make generate

* Lint Fixes

* Add icons to board insights

* Lint fixes

* Format insights queries without squirrel to fix parameterization issues

* Add tests for sqlstore utility functions

* Improve team insights tests by creating 2 boards

* Refactor endpoints/app to adhere to developments in 7.0 release

* Refactor queries to use squirrel

* Lint fixes

* Fix client, integration tests

* Remove old integration tests

* Add storetests, refactor functions to handle authorized board_ids

* Make queries compatible with mysql, sqlite

* Add app tests

* Fix lint errors

* Revert makefile changes, fix docstring in api

* Lint fixes and doc correction suggested by @wiggin77

* Fix mock store call count error

* adding client code

* Make the following changes

 - use serviceAPI to get user.Timezone
 - rename licenseAndGuestUserCheck to insightPermissionGate, and handle returned error better
 - validate page, perPage parameters aren't < 0

* Lint fix

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
2022-08-08 11:42:02 +05:30
Jesús Espino
84858d2466
Allow to search only for linkable boards (#3553)
* Allow to search only for linkable boards

* Adding permissions tests

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-05 10:32:19 -06:00
Jesús Espino
287a026dc2
Show boards with syntetic membership (#3557) 2022-08-05 10:02:19 -06:00
Scott Bishel
97818c3915
Additional fix for GetMemberForBoard returning nil,nil (#3570)
* fix panic

* remove else
2022-08-04 14:30:25 -06:00
Doug Lauder
e06513e4da
Fix panic caused by returning nil,nil in GetMemberForBoard (#3552)
* fix panic caused by returning nil,nil in GetMemberForBoard

* lint fix

* lint fix- need updated variable name

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2022-08-04 10:03:05 -06:00
Rajat Dabade
dcdea6d7a5
Unit test to GenerateBlockId for defaultTemplateId (#3518)
* Unit test to GenerateBlockId for defaultTemplateId

* Linter fixed
2022-08-03 16:38:37 -06:00
Jesús Espino
d754b498a1
Showing properly channel association in DMs and GMs (#3529) 2022-08-03 16:36:37 -06:00
Doug Lauder
1d4a2beff7
avoid panic in request error handling (#3528) 2022-08-03 11:21:55 -04:00
Doug Lauder
158f28ec29
Upgrade dependencies: mmserver, plugin-api, opengraph (#3525)
* move gowork app to root build dir

* bump versions: mattermost-server, mattermost-plugin-api, opengraph

* add go.work to .dockerignore

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-02 19:02:35 -04:00
Scott Bishel
347a1deb8f
update query to use alias (#3490) 2022-07-29 19:49:59 -06:00
Rajat Dabade
ee395d49b1
Fetching board member in parellel (#3379)
* Translated using Weblate (Malayalam)

Currently translated at 100.0% (303 of 303 strings)

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/ml/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/

* Translated using Weblate (German)

Currently translated at 100.0% (312 of 312 strings)

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/de/

* Added code for fetching all the users at one time.

* Added the code for personal server users

* Update-code

* Linter fixes

* Test cases updated, some minor changes

* Update the code according to review comments

* Cypress test fix

* Update server/services/store/mattermostauthlayer/mattermostauthlayer.go

Co-authored-by: Varghese Jose <varghese.jose@tutanota.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2022-07-29 14:28:00 -06:00
Rajat Dabade
5d462b8154
Custom template's default card template works (#3335)
* Translated using Weblate (Malayalam)

Currently translated at 100.0% (303 of 303 strings)

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/ml/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/

* Translated using Weblate (German)

Currently translated at 100.0% (312 of 312 strings)

Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/de/

* Resolved the issue of default template not working

* Linter fixes

* Removed defaultTemplateID from inbuild templates

Co-authored-by: Varghese Jose <varghese.jose@tutanota.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-29 11:27:18 -06:00
Jesús Espino
cd756a97f4
Add the creator of the board as a administrator of the board if it still belongs to the channel (#3454) 2022-07-28 18:45:00 +02:00
Harshil Sharma
dc59929206
Converted synthetic membership to natuaral for board's channel members (#3390)
* Converted synthetic membership to natuaral if needed

* Added unit tests for AddMemberToBoard

* Update server/app/boards_test.go

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>

* Fix test

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-27 15:34:52 -06:00
Miguel de la Cruz
6616a16569
Move category creation and UUID update to a more performant data migration (#3437)
* Move category creation and UUID update to a more performant data migration

* Fix linter

* Fix linter
2022-07-27 23:21:19 +02:00
Harshil Sharma
36a073eaad
Handled err in acse of lack of user-channel membership (#3378)
* Handled err in acse of lack of user-channel membership

* Used errors.As instead of type check

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-27 12:17:38 -06:00
Miguel de la Cruz
ac717490ca
Replace query with exec on database update queries (#3420) 2022-07-27 09:23:04 +02:00
Miguel de la Cruz
e31821501c
Adds more loglines to the database migrations and fixes some inconsistencies (#3392)
* Adds more loglines to the database migrations and fixes some inconsistencies

* Fix linter

* Add migration engine loglines
2022-07-22 15:58:52 +02:00
Miguel de la Cruz
a5a7981b2b
Updates the id of the migration lock (#3406) 2022-07-22 11:52:36 +02:00
Doug Lauder
93ae3f239a
Add disable_notify flag for InsertBlocks API (#3384)
* disable_notify flag for InsertBlocks API

* fix linter error
2022-07-19 10:26:01 -05:00
Miguel de la Cruz
e1c747d08b
Update Boards version to 7.3 (#3382) 2022-07-18 12:05:59 -06:00
Miguel de la Cruz
4b0fb92fba
Multi product architecture (#3381)
- 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
2022-07-18 13:21:57 -04:00
Miguel de la Cruz
3d753a15e5
Fix mock early finish issue on test helpers (#3374) 2022-07-15 08:34:36 -04:00
Miguel de la Cruz
d093eef2d9
Revert "Multi product architecture (#3309)" (#3373)
This reverts commit 605c0079eb.
2022-07-15 08:04:35 +02:00
Doug Lauder
605c0079eb
Multi product architecture (#3309)
* 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>
2022-07-15 07:51:50 +02:00