Граф коммитов

4531 Коммитов

Автор SHA1 Сообщение Дата
Frank Paul Silye
efe604c05a Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.7% (4772 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
998448880c Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.2% (4738 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
master7
5f404a8426 Translated using Weblate (Polish)
Currently translated at 100.0% (6134 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-04-22 09:22:29 +00:00
Frank Paul Silye
24be88f411 Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.1% (4735 of 6134 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-22 09:22:29 +00:00
Agniva De Sarker
d8dbb6cc22 MM-56548: [AI assisted]Add support for incremental thread loading using UpdateAt timestamp (#30486)
Every time we load the RHS, we used to load the FULL thread always. Although
the actual ThreadViewer React component is virtualized, and the server side
API call is paginated, we still went through all the pages, to get the full
thread and passed it on to the ThreadViewer. This would be for first loads,
and subsequent loads of the same thread.

This was a bug originally, but then it was a necessity after we applied websocket event scope because
now we won't get emoji reactions of a thread if the user is not on the thread.

To fix that, we enhance the thread loading functionality by adding support for fetching
thread updates based on the UpdateAt timestamp. Now, for subsequent loads,
we only get the changed posts in a thread. The implementation:

- Adds new API parameters: fromUpdateAt and updatesOnly to the GetPostThread endpoint
- Updates database queries to support sorting and filtering by UpdateAt
- Implements thread state management to track the last update timestamp
- Adds client-side support to use incremental loading for improved performance
- Ensures proper validation for parameter combinations and error handling

This change enables more efficient thread loading, particularly for long threads
with frequent updates, by only fetching posts that have been updated since the
last view.

Caveats: For delta updates, the SQL query won't use the best index possible
because we have an index for (CreateAt, Id), but no index for (UpdateAt, Id).
However, from my tests, it is not as bad as it looks:

```
[loadtest] # EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM Posts WHERE Posts.DeleteAt = 0 AND Posts.RootId = 'qbr5gctu9iyg8c36hpcq6f3w8e' AND Posts.UpdateAt > 1623445795824 ORDER BY UpdateAt ASC, Id ASC LIMIT 61;
                                                                   QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=8.31..8.31 rows=1 width=216) (actual time=0.047..0.049 rows=0 loops=1)
   Buffers: shared hit=2
   ->  Sort  (cost=8.31..8.31 rows=1 width=216) (actual time=0.044..0.045 rows=0 loops=1)
         Sort Key: updateat, id
         Sort Method: quicksort  Memory: 25kB
         Buffers: shared hit=2
         ->  Index Scan using idx_posts_root_id_delete_at on posts  (cost=0.28..8.30 rows=1 width=216) (actual time=0.031..0.032 rows=0 loops=1)
               Index Cond: (((rootid)::text = 'qbr5gctu9iyg8c36hpcq6f3w8e'::text) AND (deleteat = 0))
               Filter: (updateat > '1623445795824'::bigint)
               Buffers: shared hit=2
 Planning:
   Buffers: shared hit=3
 Planning Time: 0.508 ms
 Execution Time: 0.106 ms
(14 rows)
```

We still get an index scan with index cond. Although there's a filter element, but atleast we get the whole thread with the index.
My thinking is that while the whole thread might be large, but after that, updates on a thread should be incremental.
Therefore, we should be okay without adding yet another index on the posts table.

This is just the first step in what could be potentially improved further.

1. We shouldn't even be loading the full thread always. But rather let the virtualized viewer
load more posts on demand.
2. If a post has been just reacted to, then we need not send the whole post down, but just the
reaction. This further saves bandwidth.

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

TBD: Add load-test coverage to update the thread loading code

```release-note
NONE
```
---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-22 10:43:13 +05:30
Saturn Abril
d631974e88 MM-63820 chore(e2e): update dependencies and docs (#30807)
* chore(e2e): update dependencies and docs

* update the use of postMessage, expose 8065 on test server and fix flakiness on profile popover
2025-04-22 02:02:55 +08:00
M-ZubairAhmed
502506a517 [MM-55277] Team's menu doesn't follow standard accessible keyboard behavior (#29917) 2025-04-18 19:18:54 +05:30
Jesse Hallam
4a93939359 MM-63728: Add license load metric endpoint and UI indicator (#30700)
* Add license load metric endpoint and UI indicator

Adds an API endpoint to calculate and return license usage as a load metric, and displays this metric in the About dialog. The metric is calculated as (MAU/licensed users)*100.

Additionally:
- Renamed function to be consistent with API endpoint name
- Added proper i18n strings for error messages and UI elements

* Fix TypeScript null check in about_build_modal.tsx

* MM-63728: Update OpenAPI documentation for license load metric

Update the OpenAPI documentation and code comments to correctly describe the license load metric calculation as using a multiplier of 1000 instead of percentage.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Use float for license load metric calculation

Modify the license load metric calculation to use floats throughout the computation process while still returning an integer result. This maintains the existing API but improves the precision of the calculation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* improve tests manually

* Update server/channels/api4/license_test.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>

* Update server/channels/api4/license_test.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
2025-04-17 17:29:46 -03:00
Harrison Healey
e8685a5802 MM-63313 Make theme setting radio buttons horizontal and update text (#30584)
* MM-63313 Make theme setting radio buttons horizontal and update text

* MM-63313 Add Playwright test for a11y of theme settings

* Update snapshot

* Run prettier on E2E tests

* Address feedback

* Ensure new test reliably passes on Firefox

For whatever reason, Firefox lets you tab onto the Sidebar Styles panel
while it's expanding, possibly because it's a scrollable container with
overflowing content or because other browsers don't register the
children of that panel as visible while the panel is animating open.
Either way, we can look at the CSS on the panel to confirm when the
transition is done.

* Revert previous changes made to premade theme label alignment and size

In the last PR, these were changed from generic divs to buttons, and the
default browser style for buttons adds some extra padding and centres
the button text by default, so we have to override that.

* Adjust margins on inline radio group

* Fix playwright test code styling

* Fix bad import in E2E tests
2025-04-17 12:05:35 -04:00
Scott Bishel
b19ce98a74 get custom profile fields after login (#30665)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-17 09:59:33 -06:00
Matthew Birtch
3eb007fc82 MM-63704 Hide priority label if message is deleted (#30718)
* hide priority label if message is deleted

* added unit test

* fix lint issue

* Update panel_body.test.tsx.snap

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-17 08:27:17 -04:00
Weblate (bot)
ecd92e4896 Translations update from Mattermost Weblate (#30727)
* Translated using Weblate (Polish)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 8.4% (222 of 2632 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.3% (4673 of 6117 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.1% (6062 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Finnish)

Currently translated at 48.5% (1277 of 2632 strings)

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

* Translated using Weblate (Finnish)

Currently translated at 48.5% (1277 of 2632 strings)

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

* Translated using Weblate (Finnish)

Currently translated at 48.5% (1277 of 2632 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.5% (4684 of 6117 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.1% (2557 of 2632 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.8% (4698 of 6117 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.5% (2568 of 2632 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.1% (6068 of 6117 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.8% (2627 of 2632 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.7% (2625 of 2632 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (2632 of 2632 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.9% (6116 of 6117 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (6117 of 6117 strings)

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

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 77.1% (4722 of 6117 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 77.7% (4754 of 6117 strings)

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

---------

Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: evituzas <evita.svegzdaite@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Takuya N <takninnovationresearch@gmail.com>
Co-authored-by: Arusekk <floss@arusekk.pl>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: Bohdan <bshumylo@yahoo.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 16:05:19 -03:00
Scott Bishel
583ba80c7e revert css changes, add new css (#30699)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 08:21:00 -06:00
Nick Misasi
495a49b896 Feature/audit certificate upload (#30223)
* feat: Add certificate upload option for audit logging settings

* Commit current changes

* Additions

* MM-62944 Fix fileupload settings not being clickable

* Support for uploading a cert for experimental audit logging cert. Pre cloud implementation in the backend

* Forgot to add new hook

* Add support for setting custom audit log certifcates in Cloud

* Permissions

* I18n

* Change order

* Linter fixes

* Linter fixes, add openapi spec

* additions for openapi

* More openapi fixes because it won't run locally

* Undo, cursor went rogue

* newline fix

* Align types properly

* Fix i18n

* Fix i18n AGAIN

* Fix error

* Update api/v4/source/audit_logging.yaml

---------

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 09:34:18 -04:00
Matthew Birtch
e113b3cfc8 MM-59038 Fix markdown inconsistencies in preview mode (#30719)
* fix inconsistency with markdown image sizes in preview mode

* fix preview mode in RHS so it shows HR

* Update _markdown.scss

* fix css linting issue

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-16 08:48:28 -04:00
Felipe Martin
1140ee17d6 fix: allow plugins when embedding mattermost (#30739) 2025-04-15 17:18:57 +02:00
Julien Tant
77bf047c55 [MM-63664] Fix mentions not paginating (#30671) 2025-04-15 08:06:27 -07:00
Harrison Healey
964678fc45 MM-62005 Remove FloatingFocusManager from PluginLinkTooltip (#30663)
* MM-62005 Remove FloatingFocusManager from PluginLinkTooltip

* Update tests to define more realistic plugin components

* Revert "Update tests to define more realistic plugin components"

This reverts commit c23307112c2bc5091b931980885cc79e4b945ff8.

* Revert changes to DeepPartial

* Use class component for test component
2025-04-14 14:18:26 -04:00
Jesse Hallam
6f33b721de MM-63378: Test and fix permission issues with System Manager team access (#30672)
* test PermissionView semantics

* change required ancillary permissions

`PermissionSysconsoleReadReportingTeamStatistics` doesn't strictly need `PermissionViewTeam`, but can work with whatever teams the user has access to.

* remove unnecessary timeouts

* remove redundant comment

* update snapshots

* Update e2e-tests/playwright/specs/functional/system_console/permissions/team_access.spec.ts

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>

---------

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-14 12:43:56 -03:00
Nicolas Le Cam
f7976254bb MM-57097: Add a toggle to switch between plain and JSON logs format (#28806) 2025-04-14 11:38:48 +02:00
Lucas van Beek
698de05545 Implement backslash escaping for emoticons (#30101)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-11 15:35:21 -04:00
David Krauser
88d5ad06b4 [MM-63583] Send websocket ping immediately after connecting (#30579) 2025-04-11 09:59:22 -04:00
Matthew Birtch
19bea2c8d7 MM-61891 Fix styles for attachment card overflow issue (#30544)
* Fix styles for attachment card overflow issue

* fixed style linter issues

* fix linting issues

* fixed positioning issue

* updated snapshots

* E2E fix for playwrite test

---------

Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2025-04-11 07:55:17 +00:00
Julien Tant
357aa58163 [MM-63597] Fix From: autocompletion (#30673) 2025-04-11 06:30:08 +00:00
enzowritescode
a534370010 Update permissions language to be more explicit (#29368)
* Update permissions language to be more explicit

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-10 13:53:37 -06:00
Nick Misasi
725366472f Make trial form modal-body scrollable for small vertical screens (#30682) 2025-04-10 14:37:47 +00:00
Scott Bishel
27575d50c2 MM-62703 Implement cpa for ldap/saml in System Console (#30350)
* implement cpa for ldap/saml for System Console

* i18n-extract

* update tests for changes

* revert package-lock.json

* fixes from review commnts

* import link

* fix bad merge

* more fixes

* update tests

* put behind a featureflag

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-09 10:36:51 -06:00
Matthew Birtch
b0c403f5d1 MM-62784 added tooltip to hidden formatting controls button (#30545) 2025-04-09 21:38:25 +05:30
Vishal
204fec42e9 [MM-63582] Recent Mentions Not Properly Handling Hyphenated Custom Keywords (#30578)
* quote all terms for better recent mentions accuracy

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-09 10:38:25 +00:00
Saket Soni
64ff2434ee [MM-59051] : Email notification setting 'Immediately' is unclear given the help text description [Fixed] (#29940)
* Altered the forms, some little more work to go

* Adjusted the status rendering according to chosed options when email settings dialoge is closed

* addressed linting issues

* Update snapshots

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2025-04-08 17:32:11 -04:00
Saturnino Abril
cf68cfdf4b bump playwright lib to 10.8.0, update dependencies and update snapshots (#30662) 2025-04-08 16:21:50 +08:00
MArtin Johnson
9b79dff123 Translated using Weblate (Swedish)
Currently translated at 99.8% (6092 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/sv/
2025-04-08 07:22:06 +00:00
MArtin Johnson
e08b0d20ca Translated using Weblate (Swedish)
Currently translated at 99.8% (6091 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/sv/
2025-04-08 07:22:06 +00:00
Hosted Weblate
46929ca69a Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/
2025-04-08 07:22:06 +00:00
MArtin Johnson
035af8e1c2 Translated using Weblate (Swedish)
Currently translated at 99.8% (6088 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/sv/
2025-04-08 07:22:06 +00:00
Tom De Moor
eddd486a60 Translated using Weblate (Dutch)
Currently translated at 99.9% (6099 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
3421c62a7c Translated using Weblate (Norwegian Bokmål)
Currently translated at 76.5% (4669 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Benjamin Danon
72bedf6c49 Translated using Weblate (French)
Currently translated at 82.3% (5025 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
ac96929073 Translated using Weblate (Norwegian Bokmål)
Currently translated at 76.0% (4639 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
fd1a4914aa Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.9% (4632 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
29650e23f1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.2% (4590 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
39bfc2ee47 Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.1% (4587 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
000f4ef53e Translated using Weblate (Norwegian Bokmål)
Currently translated at 73.8% (4505 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
74646a1c8b Translated using Weblate (Norwegian Bokmål)
Currently translated at 72.4% (4417 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
2ec5858852 Translated using Weblate (Norwegian Bokmål)
Currently translated at 72.0% (4393 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Bohdan
fb5b0051f2 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (6100 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/uk/
2025-04-08 07:22:06 +00:00
Benjamin Danon
c56ea61b4f Translated using Weblate (French)
Currently translated at 82.3% (5024 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/
2025-04-08 07:22:06 +00:00
Frank Paul Silye
8f95ac7fd6 Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.4% (4361 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nb_NO/
2025-04-08 07:22:06 +00:00
Bohdan
af8694a188 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (6100 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/uk/
2025-04-08 07:22:06 +00:00
master7
f5d9c9b7fc Translated using Weblate (Polish)
Currently translated at 100.0% (6100 of 6100 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/
2025-04-08 07:22:06 +00:00