* [MM-63970] Add aria-live for creating a group, always use modal animation
* [MM-63978] Move my fix for multiselect remove button focus to the multiselect component
* [MM-63035][MM-64028] Change legend to label, fieldset to div in the Input component
* [MM-64019] Add fieldset and legend to Add people
* [MM-64026] Add required to Name and Mention boxes
* [MM-64023] Add results available aria-live area to multiselect
* [MM-64022] Restore original multivalueremove for users_email_input, use ariaLabelRenderer for Multiselect
* Use noteText for required for now
* Fix
* Fix e2e
* Only show required prompt when there are no users picked
* Fix cancel button submitting form
* PR feedback
* Do the required field for multiselect properly
* Other PR feedback
* Fix checks
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-63008] Make collapse button on search bar an actual button
* [MM-63004][MM-63020] Convert search box to floating-ui, fix some of the roles and labels that were incorrect
* [MM-63009] Add radiogroup and radio roles to the search box types
* [MM-63007] Ensure search box reads out number of results with suggestion items
* Fix playwright tests
* PR feedback
* Remove floating ui overlay
* Remove unnecessary .first() by being more specific about the search box
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Remove aria-live from SuggestionBox
aria-live isn't the idiomatic way to make the autocomplete accessible to
screen readers. Instead, we should've used aria-activedescendant which
was done for the at-mention autocomplete in a previous ticket, but that
didn't apply to other types of autocompletes. That lead to the
at-mention autocomplete being too noisy (as there were two different
things telling the user what the results were), and it meant that other
types of autocompletes didn't function.
This needs a couple direct followups:
1. The E2E tests need to be updated since they test for aria-live.
2. The Suggestion items for other types of autocompletes need IDs for
the aria-activedescendant to work.
* Consistently set IDs for all SuggestionList items
Instead of leaving it up to the individual Suggestion components,
this'll ensure that a11y support works for all of them going forward as
long as they properly forward other props to the underlying li element.
I would've preferred if each instance of SuggestionList had unique IDs,
but they currently all use the ID suggestionList, and I didn't want to
update that ID across 55 different Cypress tests. There's should only be
a single SuggestionList visible at a time, so the current situation is
fine enough.
* Remove textboxId from AtMentionProvider
* Change suggestion list to scroll using IDs instead of findDOMNode and refs
* Add an aria-label to SuggestionList
* Make all Suggestion components use the option role
* Add number of results to SuggestionList readout
* Change SuggestionBox to only set aria-expanded with results
* Add tests for ARIA of SuggestionBox
* Address feedback
* [MM-62973] Fix order of Close button and other buttons in the header
* [MM-63028] Add aria-live status area when searching for channels
* [MM-63027] Add announcement that channel is joined
* [MM-63034] Add role=checkbox and reformat HTML to have correct custom checkbox code
* Update snapshots from generic_modal change
* PR feedback
* PR feedback
* PR feedback
* New channel menu using new menu system
* fix e2e-tests
* remove extraneous separator
* lint fix
* fix test after merge
* update to pass properties to first menu item
* fix e2etest
* refactor: Update channel header menu items to use const event handlers
* refactor: Extract plugin item click handler in channel header menu
* refactor: Improve error handling and button click handlers in mobile channel header plugins
* lint fixes
* updates for code reveiw
* run i18n-extract
* fix unit test
* fix: Close channel dropdown menu by clicking channel header title
* fix: Use keyboard escape to close channel dropdown menu in e2e tests
* fix cypress test
* fix: Resolve MUI Menu component fragment rendering issue
* cleanup
* remove unneccessary css
* fixing testing issues
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-62312 - modal focus management; revamp quick switch channel modal!
* get quick switch test working
* configure the generic modal to accept refs to focus within and onhide to the origin element
* apply pr feedback, get modal element get autofocus, use id instead of ref
* update more direct channels modal to use generic modal
* fix unit tests and snapshots
* fix unit tests
* fix modal margin top to fit in smaller screens
* fix e2e test
* remove unnecesary onexited extra call
* fix e2e tests
* set correct label
* fix snapshots
* create helper function for sending custom focus event
* migrate quick switch modal to use new approach to focus
* migrate more direct channels modal to new approach
* fix snapshots
* fix types
* fix modal closing behavior
* fix snapshots
* fix cypress tests
* remove only
* MM-62677 - migrate modals, invite modal work
* user settings modal
* fix snapshots
* finish user settings migration
* migrate confirm modal to use generic modal
* notification preferences migration
* implement focus back to trigger to channel notifications modal
* fix test snapshots
* initial self code review
* fix CI errors, translation and some types
* add modal location param and adjust test
* fix cypress test text
* fix cypress test text
* fix e2e test for invitation modal
* fix e2e test selector
* adjust modal height
* temp
* fix e2e tests
* fix snapshot
* fix e2e tests
* fix snapshots
* fix snapshots
* fix snapshots
* fix e2e tests
* update snapshots
* fix snapshots
* fix linter
* Implement PR feedback
* fix e2e tests
* adjust styling for channel notifications modal
* more fixes to e2e tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MA-12]: Add label to form field in channel header
* [MA-12]: Update aria attributes and tests
* [MA-12]: Update snapshots, fix e2e test
* [MA-12]: Fix E2E tests
* [MA-12]: Fix type in test
* Initial version of the new search interface
* Fixing CI
* style tweaks
* tweaks to date picker in search
* change search input to button
* Addressing a lot of small problems
* Addressing current search visualization
* Fixing problem on filter autocompletion
* Adding some more fixes
* Tiny style ajustment
* Removing unnecessary slice call
* Adding search extensibility
* Improving the extensibility
* Fixing and refactoring a bit
* On clear click, clear the current search
* splitting components for simplicity
* tweaks to file ext search
* Addressing PR review comments and adding color to the extensions search icons
* Improving a bit the extension search
* Fixing CI
* Fixing some bugs
* Keep the focus on search input whenever we change the search type
* Adding SearchHint tests
* Adding search_box_type_selector tests
* Adding tests for the SearchBox component
* Adding tests for search box suggestions
* Adding SearchBoxInput tests
* Splitting extension suggestion component and provider
* ExtensionSuggestion tests
* Removing unneeded property
* Adding SearchBoxhints tests
* Adding tests for NewSearch component
* Adding tests for the extension suggestion provider
* Fixing linter errors
* Fixing tests
* Fixing linter errors
* Fixing linter errors
* Adding license check for plugins
* Addressing PR review comments
* Addressing PR review comments
* Addressing PR review comments
* Fixing tests
* Fixing some cypress tests
* More work around cypress tests for search
* Some accessibility changes
* more work on cypress tests
* fixing more cypress tests
* Fixing linter errors
* Fixing tests
* Fixing ctrl+f6 switching
* Fixing scrolling on small windows wheneve you are searching
* Improve editing in the middle of the search text
* Addressing some PR review comments
* Addressing some PR review comments
* Addressing some PR review comments
* Addressing some PR review comments
* Fixing tests and linter errors
* Fixingls tests and linter errors
* Fix type checks
* Clearer logic to render plugin or builtin suggestion
* Addressing PR review changes
* Addressing PR review changes
* Using selectors for plugin components
* Changing uppercase to lowercase on lists of components
* Updating tests
* Updating snapshots
* minor css tweaks
* minor css tweak
* Adding the search type and the clear button
* Fixing problem with the filetype selector
* fixing linter errors
* Some fixes
* More linter fixes
* Reverting prettier auto-formating
* Fixing CI
* Fixing CI
* Fixing chrome problem
* Fixing CI
* Addressing PR review comments
---------
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* refactor: migrate collapsed_reply_threads to ts
- migrate collapsed_reply_threads e2e tests to typescript
- update matterpollPlugin plugin constant so that it matches
with apiUploadAndEnablePlugin argument
Fixes: #21296
* refactor: use PostMessageResp on channel_notifications_spec
- use type PostMessageResp
- convert cy.wrap to regular for loop
* refactor: update types on collapsed_reply_threads
- add missing types to variables
- update types on current variables
- remove unnecessary commands on following_spec.ts
* fix: solve issue with non callable function
- move wait call to next line
* refactor: remove functions from global scope
- keep functions as helper functions
- fix lint issue
* Utilize free runners for E2E tests, report back to PR on run completion
* Increase test stability on smaller instances
* Merge worker reports
* merge start+prepare steps
* upgrade keycloak
* increase test timeouts
* Add video recording to report artifacts
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
---------
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
* adding group members to channel initial commit
* adding group to channel functionality along with add new team members
* fixing circular dependency
* fixing e2e and other optimizations
* adding e2e tests for adding group members to channels
* cypress lint
* fixing comments
* adding count to button
* improvements
* adjusting some stuff from PR comments
* remove ability to add user to team, update message for non-team members
* remove adding to team from add groups functionality
* update misspelled variable
* lint and unit test fixes
* add tests, cleanup
* lint fix
* revert package-lock.json
* fixes for cypress tests
* rename TeamInviteBanner to TeamWarningBanner, since invites are no longer allowed
* update for warning
* lint fixes
* cleanup
* fix failing e2e tests
* update messages to not use markdown
---------
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* update more_channels for ui and show all channels
* update searchable channel list
* fix style
* fix tests
* fix style for delete icon
* fix failing tests
* fix style
* remove dot
* remove header button
* put back header button
* Fix duplicate keys in CombinedSystemMessage component (#23507)
* MM-52873 : Switch to npm's 'reselect' for Playbooks (#23396)
* Enable golangci-lint (attempt 2) (#23517)
This time we are just using the Makefile command
to see if that makes a difference
```release-note
NONE
```
* MM-52888 Always load users mentioned in message attachments (#23460)
Co-authored-by: Mattermost Build <build@mattermost.com>
* Prepare: run E2E smoketests with GitHub actions (#23301)
- Port E2E testing scripts from cypress-ui-automation
- Move server to docker-compose, move E2E images to ecrpublic
* Integrate General channel renaming, fixes
- Add local automation-dashboard
- Add readme
- Add E2E smoketests
- Bump postgres to 12
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
* MM-47064/MM-34345/MM-47072 Remove inheritance from Suggestion components and migrate to TS (#23455)
* MM-47064 Remove inheritance from Suggestion components
* Address feedback
* Fix users without DM channels not appearing in the channel switcher
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-52544 Fix missing reply bar mention highlight (#23534)
* MM-52513: fixes deleting a reply (#23177)
* MM-52513: fixes deleting a reply
Currently when we receive a WS event for a reply being deleted we might
accidentally push it to a wrong team's store. This might happen if the
thread is already loaded in store and we are viewing another team.
In that case we were fetching the thread from the API using the team id
of the current team. The API returns the thread, even though the team id
is not the one which the thread belongs to.
This commit is fixing the above issue by getting the team id in which
the thread belongs to, or current team id in the case of DM/GM messages,
and using that to fetch the thread from the API.
PS: the fetching is needed since we don't send a thread_update WS event
upon deleting a reply, and we need to get the new participants list.
* Fixes team id on another occasion
* Refactors a bit
* Reverts returning empty string as team id
* Refactor a bit to pass the post as argument
---------
Co-authored-by: Kyriakos Ziakoulis <koox00@Kyriakoss-MacBook-Pro.local>
Co-authored-by: Kyriakos Ziakoulis <koox00@192.168.2.3>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* Avoid calling the user count query in future if we get a count > 0 (#23545)
* Avoid calling the user count query in future if we get a count > 0
* re-adding mock session to avoid adding the old mitigation in future
* adjustments based on feedback
* MM-52365 - fix JS error banner (#23501)
* MM-52365 - fix js error banner
* add null type to bindings as an optional type
* Make used of typed atomic.Pointer (#23550)
* Make save_post_spec less affected by other E2E tests (#23541)
* Revert "Prepare: run E2E smoketests with GitHub actions (#23301)" (#23553)
This reverts commit 68be3a6bcd.
* adding debug log when executing query (#23559)
* server/docker-compose.yml: updates to run HA in local after monorepo (#23552)
* [MM-52919] Remove all uses of window.desktop.version from webapp (#23558)
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-21096] webapp: Migrate "components/suggestion/search_channel_with_permissions_provider.jsx" to Typescript (#23323)
* migrate to ts
* linting
* fix test
* refactor
* Remove accidental comments from merge
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* fix server ci after renaming the project (#23576)
* Temporarily let AdvancedLoggingConfig take precedence over AdvancedLoggingJSON (#23578)
* Temporarily let AdvancedLoggingConfig take precedence over AdvancedLoggingJSON
* Repo name ci fixes (#23569)
* mattermost-server -> mattermost
* mattermost-server -> mattermost
* Empty-Commit
* Empty-Commit
* Empty-Commit
---------
Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Akis Maziotis <akis.maziotis@mattermost.com>
* MM-51585 : Fix duplicated date separator in center channel when Pinned posts RHS is open (#23068)
* Fix references from 'packages/*' to 'platform/*' in READMEs (#23498)
* [MM-52541] Mark files as deleted along with thread (#23226)
* mark thread files as deleted
* add missing check
* improve query
* Stopped rendering post preview if post is deleted
* Fixed lint error
* Fixed test
* updated types
* Removed deleted post from other post's embed data
* Added tests
* Apply suggestions from code review
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* lint fix
---------
Co-authored-by: Konstantinos Pittas <konstantinos.pittas@mattermost.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* MM-52476 Fix guest users access to playbooks. (#23279)
* Fix guest users access to playbooks.
* Fix guest access.
* Add guests list restriction.
* Update PULL_REQUEST_TEMPLATE.md to include Jira ticket for contributors (#23589)
* [MM-52836] : Migrate "components/admin_console/admin_definition_constants.jsx" to TypeScript (#23566)
* MM-52297 Fix reactions disappearing with search open and add testing utilities (#23510)
* MM-52297 Fix reactions disappearing when search is open
* Add unit tests and extra utilities
* Fix typing issue
* MM-53002: Fix ESR CI (#23599)
* Do not use the mattermost path
The /mattermost path is used by the image and it seems to conflict with
the container running the binary
* Use a regular machine in the esr-upgrade-diff job
* Add missing space
* [MM-52955] Fix panic for not found posts (#23561)
* [MM-52973] Avoid thundering herd problem in IsFirstUserAccount (#23549)
* [MM-45802] Clear CRT notification on deleted reply (#23568)
* reduce the counter on post deletion
* add test
* change translations
* fix collecting mentions for DMs
* add translation texts
* extract logic for getting mentions
* send WS event
* add e2e tests
* tidy mod
* WIP
* Deleting notification async
* Fixed a unit test
* Added more tests
* Updated i18n
* CI
* mattermost-server -> mattermost
* mattermost-server -> mattermost
---------
Co-authored-by: Konstantinos Pittas <konstantinos.pittas@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Includes mmctl into the mono-repo (#23091)
* Includes mmctl into the mono-repo
* Update to use the new public module paths
* Adds docs check to the mmctl CI
* Fix public utils import path
* Tidy up modules
* Fix linter
* Update CI tasks to use the new file structure
* Update CI references
* [MM-30432]: Allow users to specify different desktop notification sounds per channel (#21671)
* [MM-44165]: When Help link is left blank Help Resources option should not be visible in the help menu (#23609)
* Clean up at .github due to repo rename (#23580)
* update .github after repo rename
* update
* Update PULL_REQUEST_TEMPLATE.md
---------
Co-authored-by: M-ZubairAhmed <m-zubairahmed@protonmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-52819 : "medical_symbol", "male_sign" and "female_sign" emojis are broken (#23538)
* [MM-52979]: Remove code around abandoned MUI modal migration (#23556)
* Re-export all React Testing Library functions (#23522)
* Fix panic if JSON null value is passed as channel update (#23629)
* MM-52818 - create config setting to enable/disable playbooks product (#23508)
* create config setting to enable/disable playbooks product
* fix to config name
* fix typo
* revert changes to package-lock.json
* update name of test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-52926] Deprecating work templates (#23466)
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-52839]: Migrate "components/admin_console/remove_file_setting.jsx" to Typescript (#23565)
* [MM-52833]: Migrate "components/admin_console/multiselect_settings.jsx" to Typescript (#23542)
* [MM-52835]: Migrate "components/admin_console/settings_group.jsx" and tests to Typescript (#23563)
* fix typo in index name for idx_teammembers_create_at (#23632)
* [MM-49989] Pass a context.Context to Client4 methods (#22922)
* Migrate all method in model/client4.go to accept a context.Context
* Fix th.*Client
* Fix remaining issues
* Empty commit to triger CI
* Fix test
* Add cancellation test
* Test that returned error is context.Canceled
* Fix bad merge
* Update mmctl code
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Service environment (#23443)
* fix fileutils.TestFindFile on MacOS
* introduce model.ExternalServiceEnvironment
* pick license public key from external service env
* pick Stripe public key from external service env
* pick Rudder key from external service env
* configure Sentry DSN from external service env
* always log external_service_environment, Unsetenv
* clear faked BuildEnv, improve logging
* strip out unset GOTAGS
* fix Sentry tests
* simplify to just ServiceEnvironment
* relocate ServiceEnvironment in client config
* initialize CWS URLs based on service environment
* unset rudder key for boards dev
* harden service environment to avoid accidental production
* fix TestSentry again
* fix DEFAULT -> ENTERPRISE
* s/dev/test when naming playbooks rudder key
* simplify boards rudder key switch
* use uniform rudderKey variable names
* retain compatibility with existing pipeline
* reduce to just production/test
* unit test with valid test license
* simplify Playbooks telemetry initialization
* restore dev service environment
* emit ServiceEnvironment when running e2e tests
* [MM 22957] webapp a11y: fix sso btns focus issue (#23326)
* make suggested changes
* added form tag and removed event handler
* fix snapshot
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Upgrade docker CI image to 23.0.1 (#23664)
Automatic Merge
* MM-52995: Fix opening DM/GM thread from thread footer (#23579)
* MM-52487: fix more playbooks tests (#23475)
* fix playbooks/channels/rhs/template_spec.js
* fix playbooks/channels/update_request_post_spec.js
* fix playbooks/runs/rdp_rhs_runinfo_spec.js
* fix playbooks/runs/rdp_rhs_statusupdates_spec.js
* remove enableexperimentalfeatures flag in e2e tests
* rdp_main_header_spec: simplify channel loaded assertion
* playbooks rhs participants: fix infinite fetch loop
* improved onboarding skipping
* simplify participants fetching
* Support json.RawMessage in configuration env overrides (#23610)
* support json.RawMessage in env overrides
* update more_channels for ui and show all channels
* remove header button
* put back header button
* [MM-52979]: Remove code around abandoned MUI modal migration (#23556)
* fix import
* update snapshot
* Update e2e-tests/cypress/tests/integration/channels/enterprise/accessibility/accessibility_modals_dialogs_spec.js
* fix e2e tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: M-ZubairAhmed <m-zubairahmed@protonmail.com>
Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Co-authored-by: mvitale1989 <mvitale1989@hotmail.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
Co-authored-by: Kyriakos Z <3829551+koox00@users.noreply.github.com>
Co-authored-by: Kyriakos Ziakoulis <koox00@Kyriakoss-MacBook-Pro.local>
Co-authored-by: Kyriakos Ziakoulis <koox00@192.168.2.3>
Co-authored-by: Ben Cooke <benkcooke@gmail.com>
Co-authored-by: Pablo Andrés Vélez Vidal <pablovv2012@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Sai Deepesh <saideepesh000@gmail.com>
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
Co-authored-by: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com>
Co-authored-by: Akis Maziotis <akis.maziotis@mattermost.com>
Co-authored-by: Hideaki Matsunami <mahaker@users.noreply.github.com>
Co-authored-by: Konstantinos Pittas <konstantinos.pittas+github@gmail.com>
Co-authored-by: Konstantinos Pittas <konstantinos.pittas@mattermost.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Tejas Karelia <tejas.karelia17@gmail.com>
Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: KyeongSoo Kim <gaganso71@korea.ac.kr>
Co-authored-by: Matheus <20505926+MattSilvaa@users.noreply.github.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Julien Tant <785518+JulienTant@users.noreply.github.com>
Co-authored-by: Karan Mishra <karan.m2704@gmail.com>
Co-authored-by: Judy Hanson <106325339+Esterjudith@users.noreply.github.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>