* Fix multiple timer issue in CopyButton by using useRef
This commit resolves a bug where rapidly clicking the Copy button in the CopyButton component would initiate multiple overlapping timers, leading to unpredictable copy state toggling. By utilizing useRef, we now ensure a single timer instance is managed and cleared appropriately, stabilizing the copy functionality.
* Remove null assignment to timerRef.current before setting new timeout
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
invalidateCacheForChannelPosts invalidated the pinned post count
and the lastPostTime cache.
But not all endpoints actually pins or unpins the post. That's only
possible via the UpdatePost or PatchPost methods. Therefore, we remove
the unnecessary cache invalidation.
This is also important because this gets called for every single
channel load, and every new post would invalidate this cache.
https://mattermost.atlassian.net/browse/MM-56925
```release-note
NONE
```
* Restrict post metadata to allow for potentially unsafe links
* Enhance tests to test tests.
* Restrict prop to only be active if set to 'true'
* Adress feedback.
* Fix existing test using invalid permalink.
* Fix more tests
We do not send the typing event when the originating
channel is not the active channel or active channel thread.
https://mattermost.atlassian.net/browse/MM-56201
```release-note
NONE
```
Co-authored-by: harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
* POC for API handler opts modifier
* Made upload POSt api a file upload API
* Specified file upload local API
* Specified file upload local API
* Specified file upload API
* Simplified handler params
* Added basic security checks
* Fixed i18n
* used type for API handler options
* Removed limited reader from util deserializers (#26263)
* add new sections
* remove section related code
* add some todos
* convert team setting to functional component
* remove unused props from main_menu
* remove unused collapseModal
* create 2 sections files
* clean info section
* cleanup access tab
* further clean team info setting component
* fix input fields
* fix description input field
* reorganize files
* add team icon when there is no team image
* improve layout
* fix autofocus
* delete empty file
* add note related to learna bout teams link
* add edit icon
* add upload functionality
* finish image upload
* implement logic for handle save
* add remove icon button
* fix remove button color
* fix styling on image remove and upload
* fix image remove feature
* show remove image button dynamically
* fix height
* update haveImageChanges on handleTeamIconRemove cl
* fix spacing inside input
* fix cursor point
* access tab basis
* add some todo
* add baseline for client error
* handle desc and image client errors
* move folders
* rename section to tab
* move the name section to new file
* dedicated description component
* dedicated image section
* convert to functional component
* remove unnecessary fetchTeam
* remove havechanges state
* remove not needed folder
* rename from section to tab
* convert access tab to FC
* fix invite section input
* finalize team invite code section
* add checkbox
* add select_text_input
* finish allowed domains
* fix save changes panel style
* convert open_invite
* add logic for show save changes panel globally
* handle server errors
* combine client errors
* fix save changes issue
* clean colors used in css
* fix style
* fix type issues
* fix another type
* fix allowed domains
* fix type error
* add save changes panel to access tab
* add success state to save changes panel
* remove unused prop
* cleanup css
* fix save changes modal position
* fix title font size
* remove not used prop
* fix mobile view width
* fix mobile view
* add group constraint text
* handle invite code error
* update snapshots
* fix input height
* fix tests
* write tests for open_invite
* write tests for team_info_tab
* write tests for team_access_tab
* Refactor setTeamIcon test in teams.test.ts
* Refactor team access and team info tabs for save changes panel
* Add useEffect hook to set inviteId in AccessTab component
* fix lint
* fix lint
* fix i18
* remove old todo
* fix text
* fix css
* fix css
* fix padding
* fix mobile view
* update snapshot
* performance improvements
* fix type
* improve translation passing to components
* fix lint
* rename saving to editing
* fix empty allowed domains
* complete renaming of saving
* seperate AllowedDomainsSelect
* seperate InviteSectionInput
* fix i18n
* capitalize translation id
* final fix for i18n
* remove empty file
* fix lint and test
* fix rgb values
* remove action related types from index file
* add last_team_icon_update to Team type
* fix unnecessary null check operator
* fix more types
* add new features for text selector
* update text for select text input
* fix style issues on save changes
* fix lint check
* add animation for save changes panel
* remove unused type
* fix test
* fix theming issues
* fix MM-T385
* fix MM-T388
* fix MM-T387 and MM-T2341
* fix MM-T391
* Fix MM-T2318, MM-T2317, MM-T2312, MM-T2322, MM-T2335
* fix top padding
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* updated go mod and sum files
* Revert "updated go mod and sum files"
This reverts commit 088dd00a84.
* wrapped mlog in and io.Writer func to pass to TraceOn
* fixed var and func receiver names
* removed the underscore in the func receiver.
* passed a pointer of s3Trace to TraceOn
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* refactor: convert channel_sidebar.js to ts
- convert file to typescript
* refactor: add type for category on channel_sidebar.ts
- create interface Category into channel_sidebar.ts
- remove file with type category.d.ts
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Fix types of entities.admin.analytics and entities.admin.teamAnalytics
* Fix type of entities.channels.channelsInTeam
* Fix types of entities.users.stats and entities.users.filteredStats
* Fix types of various profilesInX fields in entities.users
* Fix incorrect field name last_password_update_at used when updating password
We never noticed this bug before because the settings modal reloads the current user after updating their password.
* MM-56760 Fix users not being removed from state.entities.users properly