* 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>
* feat: automatically search without pressing enter
* fix: don't create a new function on every render
* fix: cleanup debounced function when search is unmounted
* 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
Co-authored-by: Prakhar <>
* Initial implementation for creation of new checkbox when enter is pressed.
* Card detail context added:
- used for adding new content element
- tracks id of new block that was added
- used in checkbox element to set focus
* Deleting of last added empty checkbox supported.
* Rename addNewElement/addNewBlock to addElement/addBlock.
* New component CardDetailProvider for card detail context introduced.
* Delete only automatically added checkboxes.
* Fix existing unit tests: add `CardDetailProvider` when needed.
* Unit tests for `CheckboxElement` updated:
- use mocked mutator
- test for focus of last added checkbox added
- test for adding new checkbox on pressing enter added
- test for deleting automatically added checkbox on pressing esc/enter added
* Added menu options to choose calculation
* Made calculation option component generic for use in kanban and table
* Added property type based calculation option menu
* WIP
* Prepared submenu
* Populated submenu
* WIP
* WIP
* Base implementation complete
* Done
* minor cleanup
* Updating UI for board calculations
# Conflicts:
# webapp/src/components/kanban/calculation/calculation.tsx
* Updating UI for board
* Highlighted currently selected option
* Fixed existsing tests
* Fixed existsing tests
* Added tests
* Added tests
* Fixed some plugin CSS issues
* Fixed a unintentional snapshot update
* Fixed a test
* Fixed a test
* Fixed a test
* Fixed dashboard tests
* Fixed some review comments
* Updated snapshots for change in Button classname
* Fixed test after syncing with main
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* fix sidebar selection
* update comments
* plugin needs the workspaceID
* Update webapp/src/pages/boardPage.tsx
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
* chore[GH-#843]: add tests unit for cardDetailContentsMenu
* chore[GH-#843]: add tests unit for cardDetailContentsMenu
* fix: test error on cardDetailContents
* GH-1439: add css to highlight adjacent month selected dates
* GH-1439: do not show outside days in datepicker
* GH-1439: remove log statement
Co-authored-by: aloks98 <aloksahoo@acceldata.io>
* chore[GH-#863]: add tests unit for newCardButtonTemplateItem
* chore: fix test view and add set as default test
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* fix for tests using any when wrapping components
* update/cleanup use of test wrappers
* fix up package
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* --wip-- [skip ci]
* chore[#866]: add unit test for viewHeaderGroupByMenu
* fix: review test and add testUtils
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* chore[#867]: add test for viewHeaderPropertiesMenu
* fix: name test
* fix: snapshot on test viewHeaderPropertiesMenu
* fix: rollback cardDetailContents snap
* fix: comments from krame
- use `translate3d` for proper preview in Chrome
- set `pointer-events` to `none` to prevent image opening in Firefox
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* Stores a cache of inactive connections so their subscriptions are recovered on reconnections
* Adds test for getUserIDsForWorkspace and simplify messages through helpers
* Make the plugin websocket client more resilient
* Remove missed event callback and limit ws state polling to one at a time
* Add read lock for the plugin adapter and guarantee atomic ops on inactiveAt
* Add mutex to the plugin adapter client and tests to cover for races
* Split plugin adapter mutex in two and use them to lock only on data access
* Group plugin adapter fields by the mutex that's guarding them
* Highlight property values on hover:
- highlight on hover property values that are not readonly
- make property name buttons the same width
- set `min-width: 150px` for property values
- add `readonly` class for LastModifiedAt/LastModifiedBy/CreatedAt
* Make `Editable` used in card property values automatically expandable:
- input width computation relies on `useLayoutEffect` and `getComputedStyle`
- enable automatic expand for editable fields in `PropertyValueElement`
- enable automatic expand for editable inside `URLProperty`
- fix for tooltip display in `KanbanCard`
* Fix issue with ellipsis in Chrome.
* Support highlight on hover for `UserProperty`
* Updating hover state and UI
* Jest snapshot updated.
* Fix jest snapshots
* Update jest snapshot
* Update jest snapshot
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Chen-I Lim <46905241+chenilim@users.noreply.github.com>
* Updated 0 board to 0 boards (singular vs plural
* Made text translatable
* Used better i18n for singular-plural
* Updated tests
* Minor fixes
* done
* Lint fix
* Updated tests
* Added dashboard tests
* Fixed lint issue
* Fixed issue where global templates were not being fixed
* Added test
* Fix tests
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* initial commit for setting shared board configuration
* add unit test
* working again
* update default config
* initial commit for setting shared board configuration
* add unit test
* working again
* update default config
* add unit tests, some clean up
* more cleanup
* more clean up
* remove header text for GH-1105
* remove unnecessary logs
* update text
* fix lint errors
* more lint fixes
* webapp lint fixes
* Update mattermost-plugin/plugin.json
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* Update mattermost-plugin/plugin.json
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* update for review, sync with main
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* Show clear button for (multi)select property only when it is being edited.
* Files for multi-select property moved to separate folder.
* Extracted component for select property.
* Minor tweaks for Label style.
* Redundant code for clear button removed.
* Unit test for select property component added.
* Jest snapshots updated.
* Fix stylelint error.
* Jest snapshot updated.
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* Update en.json
Adjusted capitalization for UI text for consistency.
* Update webapp/i18n/en.json
* Apply suggestions from code review
* Propagating text the changes to the rest of the code
* Fix the snapshots
* Fixing cypress test
* Fixing table tests
Co-authored-by: Jesús Espino <jespinog@gmail.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* API WIP
* WIP
* Finished changes
* Fixed colors:
* Don't enforce charset adn collation in migration, pick from database DSN
* Added MySQL query
* Updated mocks
* Added tests
* Lint fixes
* Fixed typo and removed unsed style
* Checked in a snapshot
* Updated snapshot
* Updated Cypress test
* Updated Cypress test
* Updated Cypress test
* Fixed review comments
* Fixed tests
* Added default collation for MySQL
* Added documentation for ensuring correct database collation
* Updated migrations
* Fixed a bug with collation
* Fixed lint errors
* Used correct collation
* debugging
* Updating css
* Minor UI changes
* USe inbuilt default collation
* Used only charset for mysql
* Fixed linter issue:
* Added migration for matching collation
* Reverted local config changes
* Reverted local config changes
* Handled the case of personal server running on MySQL
* WIP
* Now running collation matching migration onlyt for plugins
* Minor optimization
* Multiple review fixes
* Added group by clause to primary query
* Supported for subpacth
* Displayed all channels in workspace switcher
* Included channels without a Focalbaord workspaces in worksapce switcher as well
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* [GH-1130] Fix 'Today' button not selecting date
* [GH-1130] Fix entered day not selected in calendar
* [GH-1130] Add test for calendar Today button
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* API WIP
* WIP
* Finished changes
* Fixed colors:
* Don't enforce charset adn collation in migration, pick from database DSN
* Added MySQL query
* Updated mocks
* Added tests
* Lint fixes
* Fixed typo and removed unsed style
* Checked in a snapshot
* Updated snapshot
* Updated Cypress test
* Updated Cypress test
* Updated Cypress test
* Fixed review comments
* Fixed tests
* Added default collation for MySQL
* Added documentation for ensuring correct database collation
* Updated migrations
* Fixed a bug with collation
* Fixed lint errors
* Used correct collation
* debugging
* Updating css
* Minor UI changes
* USe inbuilt default collation
* Used only charset for mysql
* Fixed linter issue:
* Added migration for matching collation
* Reverted local config changes
* Reverted local config changes
* Handled the case of personal server running on MySQL
* WIP
* Now running collation matching migration onlyt for plugins
* Minor optimization
* Multiple review fixes
* Added group by clause to primary query
* Supported for subpacth
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* Added support for subpaths in siteURL
* Removed a debug statement
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* Updated channel header to support subpaths
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* add/reset languages, make single language source
* update i18n for additional languages
* move import statement
* update 'zh-tw' to 'zh-tx'
* update 'zh-tx' to 'zh-tw', support both
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* Translated using Weblate (Arabic)
Currently translated at 36.3% (60 of 165 strings)
Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/ar/
Added translation using Weblate (Arabic)
* Translated using Weblate (Swedish)
Currently translated at 100.0% (165 of 165 strings)
Translation: Focalboard/webapp
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/sv/
Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
* [chore #826]: add unit test for blockIconSelector
* refacto: review mutator mock
* refacto: add data-testid on menuwrapper and change query
* fix: snapshot on table and data-testid
* fix: add snapshot on test
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* chore #824: add test unit addContentMenuItem
* fix: format test correctly
* fix: add snapshot test
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
* Made calculation options hidden when empty:
* WIP
* Made calculation row visible on hover
* Updated tests
* Fixed issue with plugin mode
* Fixed a bug where options didn't hide after selecting an option
* Updating opacity
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* Add a plugin adapter to reuse MM websocket in plugin mode
* Remove development replace
* Switch all go.mod files to use 1.16
* Fix linter issues
* Fix linter
* Update server version to contain the new hooks
* [GH-912] Discard (milliseconds) when counting create/update dates
Card creation and update dates are displayed with hours and minutes only on
the UI. When the full timestamp is used for counting unique values, this
leads to a discrepancy because the (milli)second parts impact the count
but are not visible to the user.
This commit fixes creation and update timestamps to minutes accuracy
before their values enter any calculation.
Closes: #912
* Add parentheses to please the linter
* Add 1s to test fixtures to cover bug scenario
* Add dedicated unit tests for creation / update 1s and 1m apart
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
* (fix GH-967): add css property to fix width
* fix: review test link
* feat: review link scss on hover
* fix: add width inherit in url to occupy the whole space
* fix: merge error
Co-authored-by: Hossein <hahmadia@users.noreply.github.com>
* Set width to fit content for table header and row container.
* Horizontal line for table footer fixed:
use div wrapper to make the width of the footer equal to the width of header and rows.
Co-authored-by: Hossein <hahmadia@users.noreply.github.com>
* test(multiSelect): Add test cases for multi-select
* Remove `creatable-selector-parent` test id
* test(multiSelect): Make elements more accessible
* Update all snapshots that renders the `multiSelect`, `iconButton`, and `textOption` components
* Add the internationalized messages for the `aria-label` attributes
* cleanup(multiSelect.test.tsx): Remove the `DndProvider` from the `Wrapper` component
* Change the `ids` of `intl.formatMessage` arg
Co-authored-by: Shahzaib <shahzaib@placemarktechnologies.com>
* Translated using Weblate (Swedish)
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/sv/
Translation: Focalboard/webapp
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: leandro-costa <leandro.costa@ifba.edu.br>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/pt_BR/
Translation: Focalboard/webapp
* Translated using Weblate (Occitan)
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/oc/
Translation: Focalboard/webapp
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: leandro-costa <leandro.costa@ifba.edu.br>
Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
* [GH-314] Export native app user settings on change
This switches from exporting the native app user settings on window close to exporting
on settings change. This way the settings export remains independent of native application
life-cycle events.
This is a stop-gap towards enabling settings export on the native Linux app. The latter
does not have an easy way to catch window close events.
Relates to: #314
* Disable no-shadow rule to prevent false-positive
* Verify allowed localStorage keys
* Fix import order/spacing
* Treat JSON parsing errors as failed import
* Read known keys from the correct type 🤦
* Extend logging with imported keys and always include _current_ user settings
* Fixing eslint
Co-authored-by: Hossein <hahmadia@users.noreply.github.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* Translated using Weblate (German)
Currently translated at 100.0% (176 of 176 strings)
Co-authored-by: JtheBAB <srast@bioc.uzh.ch>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/de/
Translation: Focalboard/webapp
* Translated using Weblate (French)
Currently translated at 94.8% (167 of 176 strings)
Co-authored-by: C138 <cabernet138@gmail.com>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/fr/
Translation: Focalboard/webapp
* Translated using Weblate (Turkish)
Currently translated at 100.0% (163 of 163 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (176 of 176 strings)
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/tr/
Translation: Focalboard/webapp
* Translated using Weblate (Swedish)
Currently translated at 100.0% (176 of 176 strings)
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/sv/
Translation: Focalboard/webapp
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/
Translation: Focalboard/webapp
* Translated using Weblate (German)
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: JtheBAB <srast@bioc.uzh.ch>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/de/
Translation: Focalboard/webapp
* Translated using Weblate (Japanese)
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/ja/
Translation: Focalboard/webapp
* Translated using Weblate (Dutch)
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/nl/
Translation: Focalboard/webapp
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (163 of 163 strings)
Co-authored-by: aeomin <lin@aeomin.net>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/zh_Hans/
Translation: Focalboard/webapp
* Translated using Weblate (French)
Currently translated at 93.8% (153 of 163 strings)
Co-authored-by: jellium <jellium@protonmail.com>
Translate-URL: https://translate.mattermost.com/projects/focalboard/webapp/fr/
Translation: Focalboard/webapp
Co-authored-by: JtheBAB <srast@bioc.uzh.ch>
Co-authored-by: C138 <cabernet138@gmail.com>
Co-authored-by: Kaya Zeren <kayazeren@gmail.com>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: aeomin <lin@aeomin.net>
Co-authored-by: jellium <jellium@protonmail.com>
* Making theming compatible with mattermost on plugin mode
* Fixing some variables
* Adding isFocalboardPlugin function
* Fixing some styles
* Improving styles for boards icon in the global switcher
* initial commit
* update to work around state issue
* update comments
* temp commit
* add unit tests, cleanup
* language extract, lint fix
* update stored object to be same as state object
* fixing merge issues
* update dates to use locale
* linter fixes, test cleanup
* self review
* add unit test, fixes
* fix linter
* remove dateFormat from calls
* move DateRange to components
* update translations
* spacing fix
* update tests, fix some hour inconsistencies
* remove logging
* more updates
* more cleanup
* update to disply mm/dd/yyyy when editing
* update to disply mm/dd/yyyy when editing
* input date use locale
* update css to make selection round
* update css to make begin/end round
* Adding support for patch blocks
* Adding some improvements
* Adding api integration test for patch
* Adding SQL store tests
* Regenerating autogenerated code
* Fix linter errors
* Remove wrong update of the swagger file
* Update server/model/block.go
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
* Fix gofmt
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>