Commit Graph

4336 Commits

Author SHA1 Message Date
Harrison Healey
8b164711a4
MM-63138 Fix some console warnings (#30209)
* Fix forwardRef propTypes console error

The console error that was fixed by this is:
"Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"

* Fix function component ref console error

This fixes the following error:
Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React. forwardRef ()?
2025-02-14 16:21:52 -05:00
Harrison Healey
b6118b7701
MM-62383 Replace React Bootstrap with Floating UI in Emoji Picker (#29835)
* Convert EmojiPickerOverlay to functional component

* Convert EmojiPickerTabs to functional component

* Extract AddReactionButton from ReactionList

This is so that I can make part of it functional without rewriting
the whole thing.

* Convert PostReaction to functional component

* Add general version of useEmojiPicker and use for AddReactionButton

* Rename returned showEmojiPicker to emojiPickerOpen

* Add test for AddReactionButton

* Move showEmojiPicker state out of useEmojiPicker

I hoped to avoid this by just having the hook return the
show state, but unfortunately, too many of the existing places
rely on controlling the state themselves

* Change PostReaction to use useEmojiPicker

I ran into some trouble with this getting the hover state to properly
disappear from the PostComponent when clicking out of the picker. That
seems to be a downside of the browser's mouseenter/mouseleave not
handling cases where the component is covered up. It doesn't work 100%,
but it works at least as well as master by disabling pointer-events to
the FloatingOverlay (which I also think we could probably remove since
it's supposed to just be for darkening the backdrop behind the picker,
but it ended up being helpful for setting the z-index on mobile).

* Change AdvancedTextEditor to use new useEmojiPicker

I renamed its version of useEmojiPicker to useEditorEmojiPicker since it
still contains information about how to position the emoji or gifs in
the post text.

* Convert EditPost to use useEmojiPicker

* Convert CreateModalNameInput to use useEmoijPicker

* Convert CustomStatusModal to use useEmojiPicker

* Remove EmojiPickerOverlay and cleanup related code

* Remove unneeded translation string

* asdf Attempting to fix E2E test

* Improve how useEmojiPicker positions itself to stay on screen more

* Add offset between Emoji Picker and reference

* Add horizontallyWithin middleware and use it to right-align the emoji picker in the post textbox
2025-02-14 13:53:30 -05:00
Caleb Roseland
2182b1eaf9
MM-62548: CPA Reordering - drag and drop (#30097) 2025-02-13 17:09:35 -06:00
Harrison Healey
b2147476cc
MM-62933 Revert position of post menu to match earlier versions (#30190)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-13 22:29:54 +00:00
Agniva De Sarker
1a58f923e0
[aider assisted] MM-61888: Add ClientSideUserIds field to MetricsSettings (#30127)
We add a new config setting to allow the admin to set a fixed
list of userIDs to track for all client side webapp metrics.

This gives the admin to get a deeper look at how the application
is behaving for a single user.

A new section in the system console is also added for the user
to edit this setting from the UI.

https://mattermost.atlassian.net/browse/MM-61888

```release-note
A new config setting MetricsSettings.ClientSideUserIds is added
where you can set the user ids you want to track for client side webapp
metrics.
```

* fix lint errors

```release-note
NONE
```

* fixing tests

```release-note
NONE
```
2025-02-13 21:10:34 +05:30
Harrison Healey
4615ca5f28
MM-62944 Fix fileupload settings not being clickable (#30182)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-13 10:17:41 -05:00
Harshil Sharma
83ec1d9f7d
added window title for scheduled post tab and fixed draft alignment (#30179)
* added window title for scheduled post tab and fixed draft alignment

* i18n fix
2025-02-13 12:11:53 +05:30
Harrison Healey
55bb6c51eb
MM-62891 Fixed incorrectly applied label in Team Settings modal (#30116) 2025-02-11 10:50:42 -05:00
ayush-chauhan233
9aaa52136c
[MM-61683]: Ensure radio button groups are properly formed (#30013)
* MM-61683: Ensure radio button groups are properly formed

* MM-61683: Fix the failing i18 CI

* MM-61683: Fix desktop notification translation IDs

* MM-61683: Fix lint-style

* MM-61683: Update name attribute inside channel notification modal
Add aria-label inside RadioSettingItem
Update snapshot

* MM-61683: Revert creating a constant for default messages and id

* MM-61683: Add legend tag inside radio setting item component

* MM-61683: Update snapshot

---------

Co-authored-by: Saurabh Sharma <saurabh.sharma@brightscout.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-11 10:46:06 -05:00
ayush-chauhan233
b2b956c043
[MM-55278]: Fixed autofocus on submenu's first element (#29547) 2025-02-11 11:34:42 +05:30
enzowritescode
169274b3aa
[MM-62864] Bump katex to 0.16.21 (#30095) 2025-02-11 11:18:01 +05:30
Weblate (bot)
dc37cf5cf9
Translations update from Mattermost Weblate (#30157)
Automatic Merge
2025-02-10 19:50:10 +02:00
Maria A Nunez
7efdcda20a
Update User Limits for unlicensed servers (#30134)
* Update user soft and hard limits

* Fix testt

* Fix test
2025-02-10 11:55:42 -05:00
Jesús Espino
9b87970c99
Migrating other 2 files from javascript to typescript (#29435)
* feat: Add initial store configuration for webapp channels

* refactor: Convert store/index.js to TypeScript with type definitions

* test: Add initial test file for store index

* refactor: Convert index.test.js to TypeScript with type annotations

* Removing old files

* Applying linter fixes

* Fixing some of the types errors

* fix: Type mock implementation of getState in global_actions.test.ts

* test: Add missing GlobalState import in global_actions.test.ts

* fix: Resolve TypeScript mock implementation error in global_actions.test.ts

* Some fixes

* Address CI problems

* Installing zen-observable types

* Addressing PR review comment

* Addressing PR review comment

* Addressing PR review comment

* Addressing PR review comment

* Addressing PR review comment

* Simpliying things

* Fixing CI

* Fixing types
2025-02-10 15:43:09 +01:00
Nick Misasi
e475568d6d
[MM-62669] Updates to cloud specific imagery in system console (#29963)
* Updates to cloud specific imagery in system console

* Revert something from images

* Fix linter

* Updates from PR feedback

* Fix lint

* Add svg

* Lint fixes, update another SVG

* change to pre-existing already-themed version of svg

* change the folder of the file

* add file

* Adjust styling
2025-02-07 09:34:09 -05:00
Julien Tant
1b29abd857
Add typescript-eslint-language-service (#30015) 2025-02-04 15:29:29 -07:00
Harrison Healey
86aad9d0a5
Add platform/mattermost-redux package for publishing (#30020)
* Replace key-mirror with mattermost-redux/utils/key_mirror

At some point, we made our own version for mattermost-redux with proper type definitions
but we seem to have forgotten to use that everywhere in the web app.

* Remove Rudder reference from mattermost-redux

* Remove Giphy API from mattermost-redux

* Remove mattermost-webapp refernces from Client and Types packages

* Create platform/mattermost-redux without moving its source files

* Don't build mattermost-redux automatically

* Copy changes to package.json from platform/mattermost-redux to other packages

The changes to the typesVersions and exports fields are to make it
easier for tooling to know to make it so that importing a folder imports
the index file inside that folder since that's not standard to all
CommonJS packages.

The added type field is just a good pracice.

* Explicitly type re-exported selectors

For some reason, the types generated by the previous version of this didn't work
when mattermost-redux was built as a standalone package. Explicitly typing these
is a bit more verbose, but it fixes things.

* Fix import loop in selectors introduced by last commit

* Update package versions to 10.6.0

* Add explicit dependencies to mattermost-redux package

* Remove check and run scripts from mattermost-redux package

* Revert changes to NOTICE.txt
2025-02-04 22:26:46 +00:00
Caleb Roseland
f52e08754c
MM-62050: restrict channel bookmarks in archived channels (#29490) 2025-02-04 15:10:32 -06:00
Agniva De Sarker
ae9e6174e5
[AI assisted]: Improve system console statistics performance (#29899)
```release-note
NONE
```

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2025-02-04 21:54:01 +05:30
Weblate (bot)
6046a304b2
Translations update from Mattermost Weblate (#30091)
Automatic Merge
2025-02-03 21:50:09 +02:00
Amy Blais
60654ba7b9
Upgrade language from alpha (#30087)
Automatic Merge
2025-02-03 19:20:08 +02:00
Julien Tant
33b34022bb
[MM-61848] Add Telemetry to capture Cross-Team Search usage (#30062)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-03 09:09:18 -07:00
Saurabh Sharma
e8e40c79f6
[MM-61577]: Ensure all interactive functionality is operable with the keyboard in emoji picker (#29629) 2025-02-03 12:26:49 +05:30
Saurabh Sharma
28dbc3cabb
[MM-61598]: Fix ARIA roles, states, and properties are valid in user profile image and @user buttons (#29692)
* [MA-26]: Fix ARIA roles, states, and properties are valid in user profile image and @user buttons

* [MA-26]: Remove irrelevant e2e tests

* [MA-26]: Remove nested interactive elements

* [MA-26]: Updated mention-link styles

* Minor change

---------

Co-authored-by: ayush-chauhan233 <ayush.chauhan@brightscout.com>
2025-02-02 13:50:01 -05:00
Devin Binnie
c079020e9e
[MM-62113] Force reload of team unreads when following/unfollowing a thread (#29994)
* [MM-62113] Force reload of team unreads when following/unfollowing a thread

* E2E test

* add test key

---------

Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2025-01-31 16:30:06 +00:00
ayush-chauhan233
a013797ed0
[MM-45724] Accessibility on ATE unexpectedly able to tab on hidden formatting controls/buttons (#29722) 2025-01-31 21:55:40 +05:30
Saurabh Sharma
7a959038f9
[MM-61599]: Remove tabIndex from non-interactive elements (#29659) 2025-01-31 21:54:56 +05:30
Scott Bishel
7740eb9d43
MM-61751 -Enforce permissions on role detail form. (#29361)
* enforce permissions on role admin form

* update for more missing Hidden checks on detail pages

* add description to roles settings

* update snapshots

* update strings

* remove padding

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-31 07:08:34 -07:00
Julien Tant
9a5dd2b6a1
[MM-62776] Fix search not working anymore in responsive mode. (#30041) 2025-01-30 11:57:13 -07:00
Julien Tant
1fcb6a49a8
[MM-60407] Add team selector to search bar (#29389)
Automatic Merge
2025-01-30 18:50:08 +02:00
Scott Bishel
369b9fa96b
Prompt Team Admin before joining private channel (#29955)
* Prompt Team Admin before joining private channel

* fix and implement prompt when team admin joins via channel link

* update premission check and unit tests

* remove comment

* clean up some code

* update check to fix E2E tests
2025-01-30 08:21:09 -07:00
Pablo Vélez
dc06bb2155
MM-62621 - a11y fixes channel info bottom menu (#29910)
* MM-62621 - a11y fixes channel info bottom menu

* fix translations

* add back library import style

* remove unnecesary pseudo menu aria roles and turn into plain buttons

* fix translations

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-30 07:39:22 -05:00
Rajat Dabade
ed98d147ae
Fix the empty search state container stretching issue (#30045)
Automatic Merge
2025-01-30 09:50:12 +02:00
Devin Binnie
9ba9b646c3
[MM-62107] Remove the need to have the currently selected thread in the Unreads pane (#29876)
* [MM-62107] Remove the need to have the currently selected thread in the Unreads pane

* Remove selected thread from Followed Threads as well if it's not followed

---------

Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2025-01-29 14:29:59 -05:00
Jesús Espino
f1acdce42c
Removing opentracing (#29965)
* Removing opentracing

* Fixing CI
2025-01-29 07:45:13 +01:00
Georg Bremer
f37ed867c8
Update Client4.createPost type (#29770)
* Update Client4.createPost type

Creating a post does not need all fields of `Post` populated, adding
jsut the `channel_id` and `message` or `props` works fine.

* Use PartialExcept

* Adapt create types to api/v4/source/*.yml types
2025-01-28 22:44:16 +00:00
Saurabh Sharma
57711d5251
MM-61638: Ensure custom buttons provide proper name, role, and state information (#29904)
* MM-61638: Add aria-hidden to icon

* MM-61638: Add type button to sidebar header button

* MM-61638: Fix failing lint

* MM-61638: Add aria attributes in button

---------

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2025-01-28 16:24:06 +00:00
Saurabh Sharma
1999ff9263
[MA-50]: Provide fieldsets for groups of form controls (#29905)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-28 11:13:38 -05:00
Saurabh Sharma
b333902bef
[MA-49]: Removed visiblity from screen reader when theme options are collapsed (#29782)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-28 10:40:07 -05:00
ayush-chauhan233
a672aa5be5
[MM-61641]: Ensure implicit list markup is avoided (#29787)
* MM-61641: Update post options to use semantic list elements

* MM-61641: Fix lint

* Apply suggestions from code review

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2025-01-28 10:37:18 -05:00
Caleb Roseland
3b69d36643
MM-62543: CPA sequential write ops & better validation (#29933)
* sequential write operations

* group_id required

* warn against names already in use

* add tests

* fix lint

* i18n
2025-01-28 15:28:43 +01:00
Saurabh Sharma
57f13549d7
[MM-61627]: Fix focus order in sidebar (#29743) 2025-01-28 19:44:06 +05:30
ayush-chauhan233
77ab7b92c6
[MM-61595]: Removed the unnecessary dialog text from toggle button's aria-label property (#29595) 2025-01-28 19:42:39 +05:30
Asaad Mahmood
fd213358f0
MM-62655 - Updating control label overflow (#29991) 2025-01-28 15:34:42 +05:00
Weblate (bot)
79299b9f66
Translations update from Mattermost Weblate (#30012)
Automatic Merge
2025-01-28 11:50:19 +02:00
ayush-chauhan233
7cd025d1fb
[MM-61612]: Added dialog role to the emoji picker (#29690) 2025-01-28 12:54:37 +05:30
ayush-chauhan233
effe018813
[MA-43]: Updated the input grouping in notification setting tab (#29724) 2025-01-28 12:45:51 +05:30
ayush-chauhan233
ed161f31be
[MM-61674]: Added appropriate roles to the menu component of post priority (#29545) 2025-01-28 12:40:02 +05:30
Julien Tant
dbf52d670d
[MM-62193] Fix search in group channels (#29916)
* feat: Add profile loading for group channels in search autocomplete

* refactor: Use getChannelNameForSearchShortcut for channel name formatting

* refactor: Improve channel search term generation logic

* refactor: Simplify search channel provider logic and improve code readability

* fix: Improve channel search shortcut name handling with fallback

* refactor: Avoid overriding channels parameter in search channel provider

* refactor: Revert variable names to original style in search channel provider

* feat: Add getChannelNameForSearchShortcut selector for channel name retrieval

* refactor: Extract common channel name search logic into helper function

* fix text overflowing from search bar

* test: Add tests for completeDirectGroupInfo function

* test: Add type assertion for UsersState in channel_utils test

* test: add test case for completeDirectGroupInfo with omitCurrentUser false

* improve name composition for channels in search

* eslint

* lint

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-27 09:44:42 -07:00
Guillermo Vayá
6cc85c9e7d
[MM-61928] Add clarifying note on personal token permissions (#29585) 2025-01-27 17:31:14 +01:00