* Shows "(Deleted User)" instead of UUID when user not found (#2354) (#2465)
* Shows "(Deleted User)" instead of long, unreadable UUID in case the user is not found
In case a user is not found, at present unreadable and long UUIDs are shown which kill the look and feel of the application. This patch replaces the UUID with a more explanatory string.
* Update server/services/store/mattermostauthlayer/mattermostauthlayer.go
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
(cherry picked from commit 68819185a4)
Co-authored-by: Akshay Vasudeva Rao <51395864+akkivasu@users.noreply.github.com>
* Update CHANGELOG.md for v0.15
Added one more merged PR to the list
* Added ability to dismiss tour from overlay
* GH-2212 - Update global link on board (#2492) (#2495)
(cherry picked from commit 49df41f9b2)
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* GH-2387 - Fixing link in comments (#2480) (#2498)
(cherry picked from commit 5e2cf0b386)
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* Addead feature to start product tour on using the welcome template (#2468)
* Fixed a bug where images of the welcome board were not copied over. (#2453)
* Fixed a buig where images of welcome board were not copied over
* Lint fixes
* Fixed test
* Fixed test
* Fixed intended behavio
* lint fixes
* Fixed tests
* Fixed tests
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Akshay Vasudeva Rao <51395864+akkivasu@users.noreply.github.com>
Co-authored-by: Winson Wu <93531870+wuwinson@users.noreply.github.com>
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* updated/synced prior PR
* add title back for cypress tests
* update unit test for cypress fix
* move to function
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Partial fix for #2430
* Fix#2430. Bypass welcome screen for Personal Desktop
* Skip welcome page only for Personal Desktop
* Removed API changes. Webapp changes were sufficient
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* GH-1304 Add Toggle to hide empty groups for TableView
* [GH-1304] Add separate menu options to toggle Groups
* [GH-1304] Update test cases
* GH-1304 Resolve merge conflicts
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Adding sever side undelete endpoint
* Removing long lines golangci-lint errors
* Fixing linter errors
* Fixing a test problem
* Fixing tests
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* allow date range to overflow
* Fixed issue with date overflowing into neighbouring column
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Don't use property value for key construction.
* Use value from props as current value in `DateRange` component:
- this allows to update it properly in the dialog when the value on the server is updated
- current value is stored in `PropertyValueElement` similar to other property value components
- fixed stale closure in `Modal` component
- unit tests for `DateRange` updated (wrapper with current value created)
* Fixing style problems on hover editable board templates
* Making template version relevant to detect if the template is builtin or not
* Fixing snapshots
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Skeleton dialog
* Updating share board modal
* first changes
* Separate button
* Separate button
* Skeleton dialog
* Updating share board modal
* first changes
* Separate button
* Separate button
* add code to make it work, add telemetry, check config
* update icons
* add classes for personal server
* some cleanup
* increase padding
* add unit tests
* add unit tests
* more cleanup
* i18n extract and fix styles
* remove old shareBoardComponent
* remove old sharedBoardComponent
* lint fixes
* update additional snapshot tests
* remove more code
* more test cleanup
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* Fixed panic in PropDef.GetValue for `person` property types.
- the GetUserByID API can return a nil user and nil error
* return userid
* support old archive format
* move template init to app layer
* move app init
* init app
* revert
* ignore GetDefaultTemplate blocks call in store mock
* ignore GetDefaultTemplate blocks call in store mock2
* ignore InsertBlockss call in store mock3
* ignore RemoveDefaultTemplates call in store mock4
* ignore WriteFile call in files mock5
* ignore WriteFile call in files mock6
* ignore WriteFile call in files mock7
* ignore WriteFile call in files mock8
* fix unit tests
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Base fix for bug causing images to not appear in templates created from boards
* Added some docs
* Fixed lint error
* Update server/app/blocks.go
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
* used a better method name
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
* Addinig initial version of a working template selector
* Some improvements
* Small improvements in the code
* More polishing
* Code reorganization
* Fixing tests
* Fixing linter errors
* Allowing to edit/delete templates
* Removing no longer needed code reducing race conditions
* Fixing some tests
* Adding some unit tests
* Adding more tests
* Splitting a bit more the board template selector for simplification
* Moving the delete dialog to the board template selector item
* Fixing some tests
* Fixing tests
* Exctracting i18n strings
* Trying to fix part of the cypress tests
* Fixing cypress tests
* Updating template selector UI
* Updating UI
* Updating padding
* Fixing css linter errors
* Fixing css error introduced in the previous commit
* Updating snapshots and fixing tests
* Fixing cypress tests again
* Adressing review comments
* Fixing tests
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
- using `cypress-real-events` for real hover
- label for view header menu changed to 'View header menu'
- label for view menu added
- snapshots for unit tests updated
* Moving the history instance creation after the plugin initialization (to honor the SiteURL config)
* Fixing welcome page images urls generation
* Fixing share board url generation
* Fixing more subpath problems
* Adding some tests with subpath
* Adding subpath test to welcome page
* fix linter error
* First shot implementation of badges for the card.
* Showing and hiding card badges in board/gallery views via header menu action added.
* Counting of checkboxes in markdown supported.
* Use Intl.formatMessage for badge titles.
* Unit tests for `CardBadges` component added. Some other unit tests fixed.
* Unit test for 'Show card badges' action in the view header menu added.
* Cypress test for card badges added:
- card with comments, description and checkboxes added for testing
- card badges are shown and hidden via view menu
- new Cypress command `uiAddNewCard` added
- label property added to `MenuWrapper` and used in `ViewHeaderActionsMenu`
* Unit tests fixed after change of the label for view menu.
* Fix stylelint issues.
* Class name for `CardBadges` component fixed.
* Show and hide for card badges moved to `Properties` menu:
- field `cardBadgesVisible` removed from `BoardViewFields`
- new constant `badgesColumnId` introduced and used as an element in `visiblePropertyIds`
- card badges added to calendar view
- added `role` and `aria-label` for menu component `SwitchOption`
- unit and Cypress tests updated
* Fix Cypress test: use `blur` after typing text.
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* added better kanban edge scroll detection whilst dragging
* update jest snapshots
* try to fix cypress on CI
* replace force clicks on cypress test
* make eslint happy
* fix unrelated failed tests and reorganize Cypress commands
* added test for drag direction from right to left
* make eslint happy
* cypress kanban drag test now checks other direction
* fix test and update eslit for cypress
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Cypress command for resetting boards added.
* Cypress test for group board by different property added:
- using @testing-library/cypress
- minor fixes for `PropertyMenu` and `Dialog` components
- bug in `ViewHeaderGroupByMenu` fixed: use `groupByProperty` passed in props instead of one from active view
* Jest snapshots updated.
* Use only case-sensitive strings for names in Cypress test.
* Cypress commands for adding new board and new group added.
* Jest snapshot for new test updated.
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* limited card text to 5 lines
* Update kanbanCard.tsx
* Moved attributes to new lines
* Adding exception for vendor prefix in the styles
* Updating snapshots
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>
Backend support for subscribing/unsubscribing to blocks, typically cards and boards. Notifies subscribers when changes are made to cards they are subscribed to.
* Testing API added to server:
- registered only if `enableTestingAPI` is set to `true` in the config file
- has only one route `test/reset`
- reset clears the tables in db for blocks, users, sessions
- functions `DeleteAllBlocks` and `DeleteAllUsers` added to `Store` interface
- new functions implemented for `SQLStore`
* Cypress tests (initial version) for login actions added:
- redirect to login page,
- register user,
- test for loading home page deleted,
- allow js in `tsconfig.json` for cypress tests.
* Cypress tests for login actions:
- check that main page with workspace is visible after registration,
- initial version of test for login of register user.
* Cypress tests for login actions:
- function for checking that workspace is available added,
- functions for login and logout added,
- test for password change added,
- session parameters added to server config for cypress testing.
* Switch Cypress tests to typescript.
* Use ids for inputs instead of placeholder text.
* Use cypress request for login without loading login page.
* Cypress custom command for login added.
* Cypress tests fixed:
- new cypress commands for server reset, register/login user
- single test for "create and delete board/card"
- fixes for `BoardPage` component useEffect callbacks
- npm script `runserver-test` doesn't use single user mode
* Deletion of all blocks changed:
- also deletes blocks from history
- public function renamed to DeleteAllBlocksPermanently
- code for mocks and public methods generated
* Server tests for files fixed on windows.
* Cypress tests for the registration of second user via invite link added.
* Added `baseUrl` in main `tsconfig.json` (required by cypress configuration).
* Cypress test fixed. Comments as well as log messages added.
* Log a message if testing API is enabled.
* Single cypress test for register/login actions.
* Revert changes to server.
* More convenient cypress commands:
- all API calls made as separate commands
- declarations for commands moved to separate global.d.ts file
- utility functions moved after test actions in 'Login actions' test
* Made confirmationDialogBox from existing dialog component
* Used ConfirmationDialogBox to raise warning before deletion of card property
* fixes as ci checks did not pass
* fixes to pass ci tests
* Flash Message now visible (changed its z-index)
* Confirmation Dialog shows the property name.
* fixes for eslint test failure
* fixes for eslint test fail
* fixes for eslint test failure
* fix for eslint test failure
* fixed a wrong subtext string
* fixed eslint issues in scss
* i18n en.json for localisation updated
* `en.json;`-wrong file generated by `npm run i18n-extract ` command removed
* On Property Type or Name Change raises warning
* On Property Type or Name Change raises Confirmation dialog
Confirmation dialog box generalized for use
* The affected num of cards calculation added.
* If prop value not filled change after confirmation
* fixes after ci eslint failure
* fixes after ci eslint failure
* In cardDetailProperty test considered dialog box confirmation
* Added test for confirmationDialogBox
* npm run fix and fixed test failure
* snapshot files updated : `npm run updatesnapshot`
* ran i18n-extract script
* Added memo to Confirm dialog component
* reverted the addition of React.memo() as the feature breaks
* added confirmation for card delete
* default export of Confirmation Dialog Component
* improved cardDialog test considering dialog box opening
* Added memo and useCallback for cnfrm dialog component
* eslint formating
* eslint formatting
* added confirm dialog for kanban and dialog card .
* updated snapshot . cardDetailProperty test failing
* updated snapshot
* Merge branch 'prop-update-warning-1140' into card-delete-warning-1655
* eslint formatting
* Merge branch 'prop-update-warning-1140' into card-delete-warning-1655
* removed unwanted comments
* imported library for failing test
* Updating card modal scss
* Addressed @sbishel comments
* fixed duplicate width in css
* updated comment in kanbanCard
* fixed failing snapshot test
* updated kanbanCard unit test
* npm run fix
* removed useState hook for confirmDialogProps
* removed useState hook from cardDialog and kanbanCard for confirmDialogProps.
* npm run fix
* removed duplicate declaration
Co-authored-by: Prakhar <>
Co-authored-by: prakharporwal <prakharporwal99@gmail.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* Fixed sort by date
Date property is in JSON string. So, we should parse it and sort later.
* fix type script error
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Adds server ID generation on the insert blocks endpoint
* Fix linter
* Fix server linter
* Fix integration tests
* Update endpoint docs
* Update code to use the BlockType2IDType function when generating new IDs
* Handle new block ids on boards, templates and views creation
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* make calculation options translatable
* fix liniting errors
* don't modiy options
* fix liniting error
* Fix failing test
* some tests where failing because the IntlProvider was missing in the
component hierachy
* changed 'Unique Values' to just 'Unique'
* Delete board confirmation modal (#1278)
* dialog should fill the screen on small resolution
* Updating delete board confirm UI
* Pass onClose callback to Dialog props
* lint
* removing danger-button-bg-rgb from shared variables, adjusting dialog styles to work both in plugin and standalone version of focalboard
* lint
* remove set timeout
* Update button.scss
* update snpashot
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Hossein Ahmadian-Yazdi <hyazdi1997@gmail.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* Fixed menu label hover
* removed cursor in menu wrapper, causing pointer cursor on entire option menu
* Fixed sidebar menu buttons having no cursor
* logo title cursor
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* temporary checkin
* hide sidebar by default < 768
* update to use function
* remove unused snapshot
* unhide sidebar on expansion
* update to handle manual close in personal server
* Open menu with property name and type when new property is added.
* Adding new property asks for the type and sets initial name.
* Component for property types menu items introduced.
* Close property menu when enter is pressed in the input.
* Unit test for `CardDetailProperties` fixed:
- jest snapshot updated
- switched from mocking `fetch` to mocking `mutator`
* Unit tests for `CardDetailProperties` updated:
- use the recommended way to get elements and trigger user events
- test for properties menu when adding new property added
* Unit tests for `CardDetailProperties` added:
- delete existing property
- add new property
* Don't use debouncing for property type selection.
* Fix unit test for deleting property.
* Width of button `+ Add a property` is fixed.
* Jest snapshot updated after merge with `main`
* WIP: Testing a fix
* Moved to workspace ID path if workspace ID is available
* Remived debug logs
* added personal server check
* Removed an awesome class name
* Use replace instead of push
* add telemetry for shared boards
* move where setting view out of Routes
* add for configuration setting
* fix spacing
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Modify undo manager to return a value and use it on undo
* Storing the last redo value internally to correctly run undo
* Fix types
* Improve test ensuring redo didn't add original block
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
This uses the currently configured locale to compute the value of date
range table aggregations. Previously, it would fall back to the browser
locale (or English) and ignore the locale configured in Focalboard
itself.
Relates to: #1080
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* fix: Fix eslint warning when using `window as any`
* fix: FIx some eslint errors
Closes#1359
* fix: Add some mora extra types
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>