Commit graph

208 commits

Author SHA1 Message Date
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
Asaad Mahmood
f9e6eb2791
GH-3768 - Search icon fix (#3778) 2022-09-05 12:53:01 +05:30
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
Rajat Dabade
ce74950566
Added functionality to close boardSelector after linking board (#3758) 2022-08-30 14:32:10 -05: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
Allan Guwatudde
82007d81e4
Merge pull request #3668 from mattermost/MM-45761
[MM-45761] - Telemetry: Track how many users end up in purchase/pricing modal/notify admin
2022-08-26 15:17:30 +03:00
Asaad Mahmood
62ffa9c39a
Adding menu options in sidebar, and improving order (#3713)
* Adding category and board options at the top

* Updating UI

* Updating test

* Updating test

* Updating icon

* Fixing bug and translation

* Updating createCategory component

* Removing unused vars

* Removing unused vars

* Updating UI

* fixed tests

* fixed tests

* fixed tests

* Updating test

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
2022-08-25 18:09:09 +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
Harshil Sharma
a4b6dc512b
DOnt lint boards_product.go (#3734) 2022-08-24 12:43:45 +05:30
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
e341cc4da8
Exclude exhaustive check for product services switch (#3730) 2022-08-23 14:01:51 -04: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
Rajat Dabade
27a4da126d
Added role so that the non-admin will not be able to unlink the board (#3703)
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
2022-08-23 17:01:40 +05:30
Paul Esch-Laurent
c89ea6ce9c
Update app bar tooltip text to Toggle Linked Boards (#3705) 2022-08-19 13:18:29 -05: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
Asaad Mahmood
2be0eecf71
Multiple UI Improvements - (Table improvements, sidebar consistent) (#3689)
* Updating table layout UX and UI

* Updating table

* Updating test

* Updating sidebar UI

* Updating options icon and modal border

* Updating spacing between categories

* fix(CompassIcon): no `undefined` in `className`

* chore: update snapshots in plugin, too

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
2022-08-18 12:50:14 +05: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
AGMETEOR
65a19de70a fix telemetry args 2022-08-12 17:54:12 +03:00
AGMETEOR
7e66219e04 [MM-45761] - Telemetry: Track how many users end up in purchase/pricing modal/notify admin 2022-08-12 16:09:23 +03:00
Paul Esch-Laurent
c0a2207087
fix: don't re-.push() the URL if already on teamId (#3651) 2022-08-11 09:23:08 -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
Rajat Dabade
f310ccf254
Tour for 7.2 (#3619)
* Tour for 7.2 done till manage boards

* Done with 7.2 tour point

* Update snapshot and linter fix

* Merge conflits fixed

* Linter fixed

* Linter fixes

* Snapshot updated and testcase fixed

* Linter issue fix and added padding in between text and nav-btn

* Linter fixes
2022-08-10 08:10:32 -06: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
Jesús Espino
d06936dc18
Fix the team highlight and the back to channels team selection (#3602) 2022-08-08 11:01:51 -06:00
Asaad Mahmood
32e584cbc5
Various UI fixes (#3581)
* 2952 - Adding boards icon for templates
* 3574 - Updating link modal css
* 2484 - Improving table fonts
2022-08-08 21:03:01 +05: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
08dd39d054
Keep on sync the current team id with mattermost since the beginning (#3499)
* Keep on sync the current team id with mattermost since the beginning

* Removing unneeded code
2022-08-05 09:29:09 -06:00
Asaad Mahmood
b6826f8509
GH-3350 - Updating language for linking modals (#3507)
GH-3350 - Updating language for linking modals and the color of buttons
GH-3512 - Added margin between button and text in link modal
GH-3523 - Updated text in share modal

Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
2022-08-04 12:48:10 +05:00
Scott Bishel
d2877031bf
update min server version to 7.2 (#3536) 2022-08-03 23:00:16 +02: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
Jesús Espino
9159efb79e
Showing the right confirmation modals on channel-board linking (#3453)
* Showing the right confirmation modals on channel-board linking

* Addressing PR review channges

* Fixing linter

* Fixing another linter error
2022-08-01 13:12:11 +02:00
Asaad Mahmood
880a7754f7
Various UI fixes (#3445)
* 3276 - FIxing textoverflow on menus

* 3185 - Fixing card title overlap with menu

* 2521 - Adding scrollbar to board description

* 3360 - Updating filter button overflow

* 3191 - Welcome screen scrolling fix

* Updating menu positioning for left alignment

* 3442 - Updating board switcher UI
2022-07-30 12:14:07 +05:00
Ibrahim Serdar Acikgoz
67608a833b
Update product adapter for changes in the UserService (#3401)
* reflect changes in server regarding to user service

* include server into build even in CI

* Fix lint pipeline to use only local repositories

Signed-off-by: Mustafa Kara <mustafa.kara@mattermost.com>

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mustafa Kara <mustafa.kara@mattermost.com>
2022-07-28 10:03:55 +05:30
Rajat Dabade
e9e4b5851a
Bot ownerID fix (#3436)
* Added the OwnerId for creation of the bot
2022-07-27 14:52:17 -04:00
Mattermost Build
3da7ca8e74
Improve the board creation from channels (#3415) (#3433)
* Improve the board creation from channels

* Fixing linter problem and adding channelID to the telemetry information

* Fixing and expanding a bit the tests

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
(cherry picked from commit 93bc9de731)

Co-authored-by: Jesús Espino <jespinog@gmail.com>
2022-07-27 12:26:17 +02:00
Mattermost Build
6d5fa273b6
Openning the board in a new window from the RHS in channels (#3416) (#3421)
(cherry picked from commit 0eb3bbc0dc)

Co-authored-by: Jesús Espino <jespinog@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-27 11:32:47 +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
Harshil Sharma
a3a753591e
Fixed multiple styling fixes (#3368)
* Fixed multiple styling fixes

* fix tests

* Update snapshots

* Update snapshots

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
2022-07-15 08:51:00 +02: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
Miguel de la Cruz
3ae821d2e8
Refactor websockets state and lifecycle (#3315)
* 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>
2022-07-14 12:31:51 +02:00
Paul Esch-Laurent
ba64de9fa1
ci: test & lint mattermost-plugin (#3156)
* ci: test & lint `mattermost-plugin`

* chore: fix mattermost-plugin/webapp linting

* lint: fix eslint errors

* ci: run `make webapp-ci`

* test: fix non-idempotent snapshot tests

* chore: `npm run i18n-extract`

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-13 08:28:13 +02:00
Scott Bishel
22aae37dd1
User updates (#3244)
* retrieve additional user fields

* implement config setting

* cleanup

* fix tests

* remove unused constant

* fix more tests

* add tests, cleanup

* lint fixes

* revert bad lint fixes

* more merge fixes

* update to use personal setting

* add user settings

* update package-lock.json

* lint fixes

* npm audit fix

* update tests

* Revert "lint fixes"

This reverts commit 6a50d335ca.

* Revert "update package-lock.json"

This reverts commit 1117e557e4.

* Revert "npm audit fix"

This reverts commit 77ea931c77.

* Revert "Revert "lint fixes""

This reverts commit 3ebd81b9fa.

* restore to original

* fix for empty prefs

* fix bad merge

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-08 08:43:43 -06:00
Jesús Espino
46fdbf9048
Initial Boards+Channels implementation (#3110)
* 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
2022-07-07 16:46:53 +02:00