* 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>
* Adding global header support.
* Set the landing URL for the global header to /dashboard
* Redirecting directly to the current channel on open Boards
* Some improvements on global header
* Adding missed file
* Removing theme selector from the global header and fixing a style bug on the channel header icon
* Adding global header tests
* Adding missed file
* Fix global header icon
* Adding isFocalboardPlugin function
* Fixing unit tests
* Fixing problem with header menu styles
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* Show add content button on hover or focus of content block
* Updating UI to make the overlay textarea to be consitent
Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
* Add clear button to value selectors
* Only show the clear button on not-readonly cases
* Updating the test snapshots
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
- don't use shorthands like `borderLeft` or `font` because they are empty strings
- construct font string that is required for setting into canvas context from
individual font properties if `font` property is empty string
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>