* Avoids returning an error if sharing a direct channel fails after its creation
* Update logline to use snake-case
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Changes the default content disposition for WebP attachments
from *download* to *inline*.
Add WebP codec support side-effect to decode.go. To prevent future
issues caused by possible changes in emoji.go.
Rationale
As seen below, we can deduce that the memory consumption of the reducers related to user status was the maximum, given that the app is idle with 50,000 users logged in and posting 35 messages per second. The memory consumption of the affected reducer (35%) is even more than that of the functions responsible for the incoming messages (27%). This implementation iterated over the received statuses multiple times across different reducers, each time processing a subset of the same data. This comes with the overhead of array function calls, creation of intermediary objects, and arrays.
Changes
Modified the getStatusesByIds action to process received statuses once, extracting and transforming all necessary data for statuses, dndEndTimes, isManualStatuses, and lastActivity reducer in a single iteration.
Improvements
By avoiding multiple iterations, we reduce the runtime complexity from O(4n) to O(n), where n is number of statuses.
Simplified reducer for user statuses, which includes statuses, dndEntTimes, isManualStatuses, lastActivity. Also created for single and multiple items of these reducers.
* Explicitly have the client tell the server when it should expect an ACK
* Don't count missing profile errors for your own posts, added comment
* Fix test
* Make postedAck a parameter in WebSocketClient
* Snapshot fixes
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Statuses and user profiles on each new messages have to be fetched for the post users and its mentions (Blue bar), to solve that polling of these can be done. However after we did that we saw the polling of statuses and user profiles requests got considerably down but the requests to threads was relatively still higher (Pink bar).
So this improvement doesn't not fetch the root post along with the complete threads of the incoming new post from another channel.
This improved the calls to threads from 120 to just 8 calls per 2 mins an improvement of 93%.
* [MM-57718] Convert `./components/post_view/message_attachments/action_button/action_button.tsx` from Class Component to Function Component
* :refactor: improve code structure
* [MM-57722] Convert `./components/admin_console/team_channel_settings/group/group_list.tsx` from Class Component to Function Component
* :refactor: improve code structure
* Ensure your own posts are never ACKed
* Don't ACK mobile websocket notifications
* Add counter for the unsupported Desktop Apps
* Count only push messages when checking for acks
* Fix generated
* Add tests, fix comment
* Fix help string
* Check for nil session
* Deprecate Self Serve: First Pass
* Fix ci
* Fix more ci
* Remmove outdated server tests
* Fix a missed spot opening purchase modal in Self Hosted
* Fix i18n
* Clean up some more server code, fix webapp test
* Fix alignment of button
* Fix linter
* Fix i18n server side
* Add back translation
* Remove client functions
* Put back client functions
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-57713] Convert `./components/sidebar_right_menu/sidebar_right_menu.tsx` from Class Component to Function Component
* 🎨 Improve code quality
* :refactor: Improve constants and remove unused code
This was spurious code left from old times. It's not
needed now, and it was causing a race condition with the server
side where we were setting the status to offline on
websocket disconnect. So if this request reached the server
after the status was set to offline, the status would
reset to online.
https://mattermost.atlassian.net/browse/MM-57885
```release-note
Fixed a bug where status would incorrectly get stuck to online
after user closes the tab.
```
* admin_console/license_settings/trial_banner
* invitation_modal and associated utils
* overlay trigger
* Change TrialBanner to not use makeGetCategory
* Address feedback
* Fixing unit tests D:
* Address further feedback
* Fix one last test
* tweaked dark themes and quartz theme
* refinements to themes
* tweaked denim global header color
* updates to quartz and sapphire themes
* tweaked quartz theme
* tweaks to indigo theme
* minor tweaks to themes
* update snapshots
* updated hex colors to consistent casing and updated snapshots
* [MM-57723] Convert `./components/admin_console/system_user_detail/team_list/team_list_dropdown.tsx` from Class Component to Function Component
* 🎨 Improve code quality
The error reporte when moving channels and failing has been improved to show
that the problem was the repeated name on the team.
The error message has been unified with MM-53756
Co-authored-by: Mattermost Build <build@mattermost.com>
* Bulk import: stream file attachments uploads
* Add comment with context on buffer size
* Add file name to logs
* Use sha256 to do checksum
* Fix bad merge
* Fix import file
* Update test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>