Commit Graph

18087 Commits

Author SHA1 Message Date
Harshil Sharma
97a23d791e
New report router and user reporting refactoring (#25713)
* Added materialized view migration

* Renamed mat view

* Added channel membership mat view and indexes

* Added channel membership mat view and indexes

* Added new index

* WIP

* Simplifying user reporting code

* Created app and API layer for cahnnel reporting, reporting refactoring in general

* New router

* Remobved channel reporting meanwhile

* Upodated autogenerated stuff

* Lint fix

* Fixed typo

* api vet

* i18n fix

* Fixed API vetting and removed channel reporting constants

* yaml

* removed app pagination tests
2023-12-14 10:49:19 -05:00
Pulkit Garg
32880efa25
[MM-55110] Replace usage of LocalizedIcon in 'custom_theme_chooser.tsx' with i/span tags (#25537) 2023-12-14 11:51:31 +00:00
Daniel Espino García
acd413ef69
Add plugin user settings (#25517)
* Add plugin user settings

* Feedback and UI improvements

* Extract the plugin configuration instead of just validating it

* Fix lint

* Fix lint

* Divide between settings and sections

* i18n-extract

* Adjust icon location

* Add tests

* Improve documentation

* Force plugin id

* Fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-14 11:30:31 +01:00
Ben Schumacher
563f51f3db
Allow developers to set a custom go version via env variables (#25650) 2023-12-14 09:58:11 +01:00
Agniva De Sarker
9ae451a121
MM-55476: Optimize PostStore.Get (#25448)
While loading a thread, we were unnecessarily re-counting the replies
for all posts in a thread even if they would be the same number.

While this is needed in other queries where the posts can be from different
threads or they can be random ids, but to load a single post thread, there
is no need to recompute it again and again.

Therefore, we use a CTE to precompute the replycount and then just plug in
the value in the subsequent query. This gives an improvement in the query
plan as well:

OLD:
```
explain (analyze, buffers) SELECT p.id, p.rootid, p.createat, (SELECT count(*) FROM Posts WHERE Posts.RootId = (CASE WHEN p.RootId = '' THEN p.Id ELSE p.RootId END) AND Posts.DeleteAt = 0) as ReplyC
ount FROM Posts p WHERE (p.Id = 'h3cer597jb8abbcbitpghpomua' OR p.RootId = 'h3cer597jb8abbcbitpghpomua') AND p.DeleteAt = 0;
                                                                            QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on posts p  (cost=45.39..1042149.61 rows=2748 width=49) (actual time=3.156..7906.215 rows=5353 loops=1)
   Recheck Cond: (((id)::text = 'h3cer597jb8abbcbitpghpomua'::text) OR (((rootid)::text = 'h3cer597jb8abbcbitpghpomua'::text) AND (deleteat = 0)))
   Filter: (deleteat = 0)
   Heap Blocks: exact=5308
   Buffers: shared hit=610244
   ->  BitmapOr  (cost=45.39..45.39 rows=2748 width=0) (actual time=0.918..0.920 rows=0 loops=1)
         Buffers: shared hit=47
         ->  Bitmap Index Scan on posts_pkey  (cost=0.00..1.68 rows=1 width=0) (actual time=0.028..0.028 rows=1 loops=1)
               Index Cond: ((id)::text = 'h3cer597jb8abbcbitpghpomua'::text)
               Buffers: shared hit=4
         ->  Bitmap Index Scan on idx_posts_root_id_delete_at  (cost=0.00..42.34 rows=2747 width=0) (actual time=0.889..0.890 rows=5352 loops=1)
               Index Cond: (((rootid)::text = 'h3cer597jb8abbcbitpghpomua'::text) AND (deleteat = 0))
               Buffers: shared hit=43
   SubPlan 1
     ->  Aggregate  (cost=378.10..378.11 rows=1 width=8) (actual time=1.474..1.474 rows=1 loops=5353)
           Buffers: shared hit=604889
           ->  Index Only Scan using idx_posts_root_id_delete_at on posts  (cost=0.57..343.85 rows=13699 width=0) (actual time=0.016..1.039 rows=5352 loops=5353)
                 Index Cond: ((rootid = (CASE WHEN ((p.rootid)::text = ''::text) THEN p.id ELSE p.rootid END)::text) AND (deleteat = 0))
                 Heap Fetches: 0
                 Buffers: shared hit=604889
 Planning Time: 0.194 ms
 Execution Time: 7906.846 ms
```

NEW:
```
explain analyze with replycount as (select count(*) as num from posts where rootid='h3cer597jb8abbcbitpghpomua' and deleteat=0)
select id, rootid, createat, replycount.num from posts, replycount where id='h3cer597jb8abbcbitpghpomua' or rootid='h3cer597jb8abbcbitpghpomua' and deleteat=0;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Nested Loop  (cost=123.16..3215.48 rows=2748 width=49) (actual time=2.960..9.775 rows=5353 loops=1)
   ->  Aggregate  (cost=77.78..77.79 rows=1 width=8) (actual time=1.455..1.456 rows=1 loops=1)
         ->  Index Only Scan using idx_posts_root_id_delete_at on posts posts_1  (cost=0.57..70.91 rows=2747 width=0) (actual time=0.056..1.145 rows=5352 loops=1)
               Index Cond: ((rootid = 'h3cer597jb8abbcbitpghpomua'::text) AND (deleteat = 0))
               Heap Fetches: 0
   ->  Bitmap Heap Scan on posts  (cost=45.39..3110.20 rows=2748 width=41) (actual time=1.501..7.747 rows=5353 loops=1)
         Recheck Cond: (((id)::text = 'h3cer597jb8abbcbitpghpomua'::text) OR (((rootid)::text = 'h3cer597jb8abbcbitpghpomua'::text) AND (deleteat = 0)))
         Heap Blocks: exact=5308
         ->  BitmapOr  (cost=45.39..45.39 rows=2748 width=0) (actual time=0.797..0.798 rows=0 loops=1)
               ->  Bitmap Index Scan on posts_pkey  (cost=0.00..1.68 rows=1 width=0) (actual time=0.014..0.014 rows=1 loops=1)
                     Index Cond: ((id)::text = 'h3cer597jb8abbcbitpghpomua'::text)
               ->  Bitmap Index Scan on idx_posts_root_id_delete_at  (cost=0.00..42.34 rows=2747 width=0) (actual time=0.782..0.782 rows=5352 loops=1)
                     Index Cond: (((rootid)::text = 'h3cer597jb8abbcbitpghpomua'::text) AND (deleteat = 0))
 Planning Time: 0.220 ms
 Execution Time: 10.052 ms
(15 rows)
```

Observe the `loops=5353` in the first query, and `loops=1` in the next.

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

```release-note
Optimize createPost performance
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-14 14:09:29 +05:30
Syed Ali Abbas Zaidi
e644f4e4bb
[MM-56009] Convert ./components/post_view/embedded_bindings/embedded_bindings.tsx from Class Component to Function Component (#25717)
* [MM-56009] Convert `./components/post_view/embedded_bindings/embedded_bindings.tsx` from Class Component to Function Component

* refactor: use Map instead of forEach
2023-12-14 09:36:28 +01:00
Daniel Espino García
917a032baf
Fix MM53181 (#25684)
* Fix MM53181

* Add tests
2023-12-14 09:32:41 +01:00
Siddhanth M
9d6bfc77ae
[MM-55100] Replace usage of LocalizedIcon in 'create_user_groups_modal/create_user_groups_modal.tsx' with i/span tags (#25617) 2023-12-13 18:15:10 +00:00
Aditi Patel
440039ba98
Migrate ./components/widgets/icons/fa_warning_icon.tsx from Class Component to Function Component (#25644)
* chore: migrate fa_warning_icon to functional component

* test: updated snapshots

* removed injectIntl funtion call

* test: updated snapshots
2023-12-13 16:16:02 +01:00
Syed Ali Abbas Zaidi
f8d191b7cb
[MM-56007] Convert ./components/get_public_link_modal/get_public_link_modal.tsx from Class Component to Function Component (#25672)
* [MM-56007] Convert `./components/get_public_link_modal/get_public_link_modal.tsx` from Class Component to Function Component

* refactor: improve code based on suggestions

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-13 16:12:36 +01:00
k srisri reddy
3e16d621a0
MM-56010: changed accordion_toggle_icon.tsx to functional component (#25651)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-13 16:06:14 +01:00
Ibrahim Serdar Acikgoz
62a359299a
bump the server/public module revision to an existing commit (#25701) 2023-12-13 14:45:09 +01:00
Agniva De Sarker
c42ae47948
MM-56071: Thread presence indicator (#25694)
We also track the channelID of the thread opened.

Additionally on every connection create or re-connect
with an existing queue, we reset the active state to empty
to avoid any edge-cases.

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

```release-note
NONE
```
2023-12-13 13:58:40 +05:30
Agniva De Sarker
45ba1dc196
MM-55655: Fix unbounded concurrency in outgoing webhooks (#25511)
We were simply spawning goroutines within goroutines.

For each post, we would spawn one goroutine per hook,
and then one goroutine per callback URL within that hook.
And to top it off, this whole thing was itself within
a goroutine.

To fix it, we remove the goroutine spawning at a per
hook level. And then use a waitgroup to wait
until all hooks from each callback URL is complete.

While here, some other optimizations that we do:
1. We already had the channel object, but inspite of
that, we were calling channel.get again in CreatePostMissingChannel.
We just use CreatePost now and pass the channel.
2. We pre-compile the regex.
3. We store the http.Client in the server to reuse TCP connections.

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

```release-note
NONE
```
2023-12-13 09:39:22 +05:30
Agniva De Sarker
b946dad78d
MM-55987: Bypass uploading to S3 for local mode mmctl import (#25591)
We directly instruct the server to read from the local filesystem
in case the local_mode key is set.

There is now no need to upload the file in --local mode and a warning
is thrown accordingly.

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

```release-note
Now the mmctl bulk import process command in local mode supports processing an import file without actually uploading it to the server. Simply pass the file path to the import file and the server will directly read from it, and pass the --bypass-upload flag. There is no need to use the import upload command. NOTE: all of this is applicable only in local mode.
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-13 09:38:00 +05:30
Sinan Sonmez (Chaush)
bd5832609b
Delete not needed gitpod.yml file in the webapp (#25667)
* Delete webapp/channels/.gitpod.yml

* Delete api/.gitpod.yml
2023-12-12 16:25:42 -05:00
Christopher Poile
ad1236f26f
MM-56178 - Update prepackaged calls to v0.22.1 (#25710) 2023-12-12 15:53:30 -05:00
Harrison Healey
b589e3a54c
MM-56094 Add dedicated tests for RemoveMarkdown renderer (#25661)
* MM-56094 Add dedicated tests for RemoveMarkdown renderer

* Fix a related test
2023-12-12 13:08:22 -05:00
Aditi Patel
07bf343e46
Migrate ./components/channel_header_mobile/show_search_button/show_search_button.tsx from Class component to functional component (#25636)
* chore: migrate show_search_button.tsx to functional component

* chore: styled show_search_button to match the pattern

* test: updated snapshots
2023-12-12 11:17:25 +01:00
Agniva De Sarker
e0b5b951f1
MM-56060: Create base scaffolding for websocket pub-sub (#25654)
We create a new websocket action called "presence" which
can contain the active_channel and the active_team for a given
client connection.

On the client side, for every channel or team switch, we send
out this message.

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

```release-note
NONE
```
2023-12-12 08:49:09 +05:30
Christopher Poile
f35b0a3781
MM-56164 - Update prepackaged calls to v0.22.0 (#25691) 2023-12-11 18:19:44 -05:00
Nick Misasi
f0a336ba07
Feature: Wrangler (#23602)
* Migrate feature/wrangler to mono-repo

* Add wrangler files

* Fix linters, types, etc

* Fix snapshots

* Fix playwright

* Fix pipelines

* Fix more pipeline

* Fixes for pipelines

* More changes for pipeline

* Fix types

* Add support for a feature flag, but leave it defaulted on for spinwick usage for now

* Update snapshot

* fix js error when removing last value of multiselect, support CSV marshaling to string array for textsetting

* Fix linter

* Remove TODO

* Remove another TODO

* fix tests

* Fix i18n

* Add server tests

* Fix linter

* Fix linter

* Use proper icon for dot menu

* Update snapshot

* Add Cypress UI tests for various entrypoints to move thread modal, split SCSS out from forward post into its own thing

* clean up

* fix linter

* More cleanup

* Revert files to master

* Fix linter for e2e tests

* Make ForwardPostChannelSelect channel types configurable with a prop

* Add missing return

* Fixes from PR feedback

* First batch of PR Feedback

* Another batch of PR changes

* Fix linter

* Update snapshots

* Wrangler system messages are translated to each user's locale

* Initially translate Wrangler into system locale rather than initiating user

* More fixes for PR Feedback

* Fix some server tests

* More updates with master. Fixes around pipelines. Enforce Enterprise license on front/back end

* Add tests for dot_menu

* More pipeline fixes

* Fix e2etests prettier

* Update cypress tests, change occurrences of 'Wrangler' with 'Move Thread'

* Fix linter

* Remove enterprise lock

* A couple more occurrences of wrangler strings, and one more enterprise lock

* Fix server tests

* Fix i18n

* Fix e2e linter

* Feature flag shouldn't be on by default

* Enable move threads feature in smoke tests (#25657)

* enable move threads feature
* add @prod tag

* Fix move_thread_from_public_channel e2e test

* Fix e2e style

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2023-12-11 15:27:34 -05:00
Weblate (bot)
bfb8320afd
Translations update from Mattermost Weblate (#25671)
* Translated using Weblate (Polish)

Currently translated at 100.0% (2518 of 2518 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (5785 of 5785 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (2518 of 2518 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (2518 of 2518 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (5780 of 5780 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (2518 of 2518 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (French)

Currently translated at 83.0% (4801 of 5780 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

Translated using Weblate (French)

Currently translated at 82.7% (4783 of 5780 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5783 of 5783 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5780 of 5780 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.9% (5775 of 5780 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (5785 of 5785 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/

* Translated using Weblate (Russian)

Currently translated at 100.0% (5785 of 5785 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (5785 of 5785 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (5783 of 5783 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/sv/

Translated using Weblate (Swedish)

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/sv/

* Translated using Weblate (Dutch)

Currently translated at 99.9% (5783 of 5785 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/

* Translated using Weblate (Kazakh)

Currently translated at 6.0% (348 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/kk/

Translated using Weblate (Kazakh)

Currently translated at 5.4% (314 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/kk/

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (5783 of 5783 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/

Translated using Weblate (English (Australia))

Currently translated at 99.9% (2518 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/

* Translated using Weblate (Lithuanian)

Currently translated at 92.7% (5365 of 5783 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/lt/

Translated using Weblate (Lithuanian)

Currently translated at 0.6% (16 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/lt/

* Translated using Weblate (German)

Currently translated at 100.0% (2519 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/

* Translated using Weblate (German)

Currently translated at 100.0% (5792 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5792 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Russian)

Currently translated at 100.0% (5792 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (5792 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2518 of 2518 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5792 of 5792 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (German)

Currently translated at 99.9% (2518 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/

* Translated using Weblate (Dutch)

Currently translated at 99.8% (2516 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2527 of 2527 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (German)

Currently translated at 99.9% (2526 of 2527 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/

* Translated using Weblate (English (Australia))

Currently translated at 99.9% (2526 of 2527 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2527 of 2527 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (2527 of 2527 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/

* Translated using Weblate (German)

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/

* Translated using Weblate (Russian)

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (5799 of 5799 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

---------

Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: Arthur <arthur.hareng@gmail.com>
Co-authored-by: ThrRip <coding@thrrip.space>
Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: Kap Dev <admin@kapdev.ru>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Akbar Abdrakhmanov <kz.akbar@gmail.com>
Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au>
Co-authored-by: Andrius Petrauskis <andrius@petrauskis.com>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: DevLine <SeregaAlain@gmail.com>
2023-12-11 16:21:35 -04:00
Scott Bishel
514151cebe
check state, not config for setting value (#25631)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-11 12:28:17 -07:00
unified-ci-app[bot]
147717a0ed
chore: Update NOTICE.txt file with updated dependencies (#25670)
Automatic Merge
2023-12-11 21:08:57 +02:00
Siddhanth M
16268aaafa
[MM-25111] Replace usage of LocalizedIcon in 'channel_members_rhs/header.tsx' with i/span tags (#25616) 2023-12-11 18:42:08 +00:00
Daniel Espino García
4890715b81
[MM-43331] No autofocus after RHS supression (#25593)
* No autofocus after RHS supression

* Add tests and some fixes

* Address feedback

* Fix test
2023-12-11 11:32:44 +01:00
Ben Schumacher
5b6b425cfc
[MM-56061] Only render where field in model.AppError when it's present (#25648)
* Only render where field in model.AppError when it's present

* Remove trailing comma from permission error
2023-12-11 10:27:51 +01:00
Agniva De Sarker
a54f927e3d
MM-56039: Skip flaky test TestUserStore/LocalCache+PostgreSQL/SearchNotInTeam/ (#25638)
https://mattermost.atlassian.net/browse/MM-56039

```release-note
NONE
```
2023-12-11 10:25:39 +01:00
Saakshi Raut
7cd8dbec30
[MM-54821] Convert "revoke_token_button.tsx" from Class Component to Function Component (#24943) 2023-12-11 05:49:46 +00:00
Agniva De Sarker
88bd7b65f0
MM-55589: Throw warn logs for MySQL < 8 (#25637)
We just throw a warn log for now. Support will be completely
removed next ESR.

https://mattermost.atlassian.net/browse/MM-55589
```release-note
MySQL 5.7 is at EOL. We recommend all customers to upgrade to atleast 8.x. For now, we are logging a warning. From version 9.5 onwards, which is the next ESR, we will stop supporting 5.7 altogether.
```


Co-authored-by: Neil B <93996140+nab-77@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-11 09:21:18 +05:30
M-ZubairAhmed
c7f24dfa06
[MM-56028] Decouple system_users components for drop in replacement of list (#25613) 2023-12-08 17:29:58 +00:00
Harrison Healey
b1e745894b
MM-55468 Ensure custom status emojis exist (#25501)
* MM-55468 Ensure custom status emojis exist

* Fix plugin API unit test

* Print underlying error as detailed error message

* Convert CustomStatusModal tests to React Testing Library and improve a11y

* Don't suggest custom statuses with non-existent emojis

* Silence test error by providing fake translation strings
2023-12-08 10:35:15 -05:00
Devin Binnie
109f4643c6
[MM-55017] Add API method to get users for Admin Reporting (#25499)
* Add store method to get reporting data

* Some store changes

* Added app layer

* Added API call, some miscellaneous fixes

* Fix lint

* Fix serialized check

* Add API docs

* Fix user store tests leaking users

* Fix test

* PR feedback

* Add filtering for role/team/activated user, filter out bot users

* Fix mock

* Fix test

* Oops

* Switch to using struct filter

* More PR feedback

* Fix gen

* Fix test

* Fix API docs

* Fix test

* Fix possible SQL injection, some query optimization

* Fix migrations

* Oops

* Add role to API

* Fix check

* Add Client4 API call for load testing

* Fix test

* Update server/channels/store/storetest/user_store.go

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>

* PR feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2023-12-08 10:30:08 -05:00
Syed Ali Abbas Zaidi
7afc14de36
[MM-56005] Convert ./components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx from Class Component to Function Component (#25646)
* [MM-56005] Convert `./components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx` from Class Component to Function Component

* refactor: use classNames to apply class

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-08 09:37:09 -05:00
Ben Cooke
a11b27d1f2
[MM-54594] Adding new global relay type (#24672)
* adding new global relay type, custom
2023-12-07 16:39:10 -05:00
unified-ci-app[bot]
769c7da7c5
chore: Update NOTICE.txt file with updated dependencies (#25619)
Automatic Merge
2023-12-07 16:38:57 +02:00
ludvigbolin
16925b3f16
[MM-54457] Suggestion list UI discrepancy from Add <user> to a Channel modal (#25340)
* Adjust inputRect dimensions to make suggestion list above/below

Now, the suggestion list will not be placed directly on the input and both
can be seen at once

* Remove position arguments to make suggestion-list correct

When choosing bottom, now the position not overwritten and thus the position will be correct.

Earlier adjustments has been reverted after feedback

* revert adjustments which was faulty

With the new way of configuring the suggestion list, we no longer need to
change the top and bottom

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-12-06 15:52:43 -05:00
Arun_dadhwal
da442cb52c
changed SaveAcknowledgementForPost to DeleteAcknowledgementForPost (#25562) 2023-12-06 15:43:08 -05:00
Adam Warner
3fe68e73bf
[MM-48860] / [GH-21863] Change regex to reduce false positive transforms on incoming webhook text (#21852)
* Change regex to reduce false positive transforms on incoming webhook text

Adds an additional condition to the 2nd capture group to ensure we don't match another `|` char

See https://github.com/mattermost/mattermost-server/issues/21800 for details

* Add test per suggested comment (switch Pi-hole URL out for Mattermost one 😉)

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

---------

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
2023-12-06 11:12:31 -08:00
Nick Misasi
a24ef3f07d
[CLD-6778] Update IP filtering docs linkouts (#25643)
* Update IP filtering docs linkouts to be directly to the IP filtering page

* Update webapp/channels/src/components/admin_console/ip_filtering/add_edit_ip_filter_modal.tsx

* Update webapp/channels/src/components/admin_console/ip_filtering/enable_section.tsx
2023-12-06 10:13:10 -05:00
unified-ci-app[bot]
1ea8f2bc8f
Update latest minor version to 9.4.0 (#25641)
Automatic Merge
2023-12-06 17:10:07 +02:00
Sapna Sivakumar
0a8197f858
[MM-55117] Replace usage of LocalizedIcon in 'view_user_group_modal_header.tsx' with i/span tags (#25486) 2023-12-06 13:54:40 +00:00
Rohit Chaudhari
109b074d92
[MM-55329] Convert ./plugins/test/post_type.test.jsx from Class Component to Function Component (#25487) 2023-12-06 07:36:04 +00:00
k srisri reddy
82b7eef563
[MM-53475] Migrate 'components/suggestion/emoticon_provider.test.jsx' to TypeScript (#25610) 2023-12-06 07:33:48 +00:00
Aditi Patel
c234cc1238
[MM-56012] Convert ./components/admin_console/team_channel_settings/channel/channel_settings.tsx from Class Component to Function Component (#25634) 2023-12-06 07:27:02 +00:00
Syed Ali Abbas Zaidi
7cca62f56f
[MM-55328] Convert './components/toggle_modal_button/toggle_modal_button.test.tsx' from Class Component to Function Component (#25523) 2023-12-06 07:16:51 +00:00
Joram Wilander
e0a36cf60a
mmctl: add listing oauth apps (#25497)
* mmctl: add listing oauth apps

* Fix tests

* Update mmctl docs

* Fix tests

* Update server/cmd/mmctl/commands/oauth.go

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>

* Update server/cmd/mmctl/commands/oauth.go

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>

* Add paging

* Update docs

---------

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2023-12-05 12:25:35 -05:00
Andrius Petrauskis
df6c8c5f5e Translated using Weblate (Lithuanian)
Currently translated at 92.7% (5365 of 5783 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/lt/

Translated using Weblate (Lithuanian)

Currently translated at 0.6% (16 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/lt/
2023-12-05 16:10:07 +02:00
Matthew Williams
ee19af566d Translated using Weblate (English (Australia))
Currently translated at 100.0% (5783 of 5783 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/

Translated using Weblate (English (Australia))

Currently translated at 99.9% (2518 of 2519 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/
2023-12-05 16:10:07 +02:00