Commit Graph
6782 Commits
Author SHA1 Message Date
Narasimha-sc ac1f0f69f9 Merge branch 'master' into nd/fix-profile-unread-count
# Conflicts:
#	apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt
2026-10-22 16:32:48 +00:00
Narasimha-sc cc3f49f794 android, desktop: fix chat preview and unread counter updating wrong chat (#7072)
* android, desktop: fix chat preview and unread counter updating wrong chat

While "Chat with admins", a member support chat or the reports view was
open, ChatsContext.addChatItem in the secondary context looked up the
chat's index in its own list but read and wrote the main chat list at
that index (chatsContext.chats[i]), so an unrelated chat in the main
list got the message as its preview and its unread count went up.

Use the context's own list at all four sites again. The main-list
qualifier had also made a pending invitee's sent support messages reach
the group's preview in the main list (at a secondary-list index), so
send that update to the main list explicitly: addSentChatItem passes a
sent item to the main chat list context as well when it is sent from a
secondary view and belongs in the main list (inMainChatList, the same
rule addChatItem uses for previews). Count unread stats only in the
main chat list context, so the revert does not make the open secondary
view count main-list messages in its own list.

* plans: wrong-chat preview and unread fix
2026-10-21 22:36:34 +01:00
Narasimha-sc 87e3f8c3f6 ui: open a page once when its button is clicked again or double-clicked (#7725)
* desktop: open a pending connection's "Learn more" and "Incognito" pages once

On desktop the connection view stays clickable in the center pane, so each
click on these rows pushed another modal onto the right pane. Close the
right-pane modals first, as ChatView does when the connection opens. The page
is closed and shown again in one event, so its content is keyed by its
ModalData to start fresh.

Desktop only: on Android the view can itself be the open modal of the shared
manager ("Set contact name"), and the new page already covers the row.

Fixes #6270

* ui: open a modal once when its button is double-clicked

A modal slides in over 250 ms, and until it covers the button that opened it the button still takes clicks, so a double click opened two copies (left-pane pages and most stacked center and right-pane pages on desktop, animated modals on Android). When a modal opens, the page it covers draws an empty pointerInput box over itself while it slides out; when a pane's first modal slides in, the empty page sliding out covers the view under the pane. The page sliding in already takes clicks, and nothing is blocked when a page closes.

* ui: add isTopModalOpen, which ignores modals that are sliding out

A modal closed with animation stays in modalViews until it has slid out, and isLastModalOpen counts it. A check-then-closeModal() on it would close the modal under it. Uses the same index as isLastModal; isLastModalOpen and its callers are unchanged.

* desktop: don't open a second badges page or profile form

These buttons stay clickable on desktop while their page is shown in another pane, so each click opened another copy:
- "Support SimpleX" in the chat's large-file and badge alerts (Badges on the right): the alerts skip while Badges is open, on desktop only, as on Android the page covers the button;
- "+ Add profile" in Your chat profiles and "Create chat profile" in the picker (form in the center): skip while the form is on top, keeping what was typed, before asking for authentication; the picker row still hides the picker.

* desktop: replace a page of the same kind on top instead of stacking another

These buttons stay clickable on desktop while their page is shown in another pane, so each click pushed another copy:
- the chat banner's bio "Read more" (right pane);
- a markdown file clicked in a support chat (viewer in the center);
- message "Info" in the main chat while a support or reports chat is open on the right.
Their content depends on what was clicked and the pane can hold other pages (a support chat), so a page of the same kind on top is replaced. The new page is drawn where the old one was, so its content is keyed by its ModalData to start fresh. The markdown file and Info load on a background thread; their close and show now run on the main thread. The markdown check is desktop only, as on Android the viewer covers its file once it has loaded.

* plans: a page opens again on every click of its button (#6270)

* plans: D2 is valid at 80 ms only
2026-10-21 22:35:29 +01:00
EvgenyandEvgeny @ SimpleX Chat 3126d9b544 ios: set default proxy mode (#7790)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-21 14:35:41 +01:00
spaced4ndy 9a1d3e4969 ci: test the Android app in an emulator on GitHub's runners (#7786) 2026-10-20 16:55:54 +00:00
spaced4ndy 5834179be6 ci: start app tests only by hand (#7777) 2026-10-20 16:48:47 +00:00
SimpleX Chat fcef2ad008 7.1-beta.7: android 387, desktop 168, ios 363 v7.1.0-beta.7-armv7a v7.1.0-beta.7 2026-10-20 12:34:51 +00:00
+104 8af38dc33e ui: translations (#7782)
* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.5% (2501 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2453 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/

* Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 96.4% (2424 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hant/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Dutch)

Currently translated at 81.3% (2044 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/nl/

* Translated using Weblate (Dutch)

Currently translated at 81.3% (2044 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/nl/

* Translated using Weblate (Dutch)

Currently translated at 81.3% (2044 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/nl/

* Translated using Weblate (Dutch)

Currently translated at 81.3% (2044 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/nl/

* Translated using Weblate (Dutch)

Currently translated at 81.3% (2044 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/nl/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Japanese)

Currently translated at 48.7% (1224 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 35.6% (896 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pt_BR/

* Translated using Weblate (Croatian)

Currently translated at 1.8% (47 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hr/

* Translated using Weblate (Arabic)

Currently translated at 29.2% (735 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ar/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Ukrainian)

Currently translated at 85.6% (2152 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/

* Translated using Weblate (Lithuanian)

Currently translated at 1.5% (38 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/lt/

* Translated using Weblate (Finnish)

Currently translated at 44.2% (1113 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fi/

* Translated using Weblate (Finnish)

Currently translated at 44.2% (1113 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fi/

* Translated using Weblate (Finnish)

Currently translated at 44.2% (1113 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fi/

* Translated using Weblate (Korean)

Currently translated at 17.5% (441 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ko/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Polish)

Currently translated at 86.2% (2168 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/

* Translated using Weblate (Portuguese)

Currently translated at 6.0% (153 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pt/

* Translated using Weblate (Greek)

Currently translated at 1.0% (27 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/el/

* Translated using Weblate (Hebrew)

Currently translated at 26.3% (661 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/he/

* Translated using Weblate (Thai)

Currently translated at 42.9% (1079 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/th/

* Translated using Weblate (Thai)

Currently translated at 42.9% (1079 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/th/

* Translated using Weblate (Bengali)

Currently translated at 0.1% (3 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/bn/

* Translated using Weblate (Bulgarian)

Currently translated at 61.4% (1544 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 61.4% (1544 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 61.4% (1544 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/bg/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Turkish)

Currently translated at 85.4% (2147 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Azerbaijani)

Currently translated at 47.0% (1183 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Azerbaijani)

Currently translated at 47.0% (1183 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Bulgarian)

Currently translated at 80.9% (2430 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/bg/

* Translated using Weblate (Russian)

Currently translated at 93.9% (2820 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/

* Translated using Weblate (German)

Currently translated at 96.5% (2898 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (Lithuanian)

Currently translated at 56.6% (1701 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lt/

* Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 92.0% (2763 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hant/

* Translated using Weblate (Thai)

Currently translated at 42.2% (1269 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/th/

* Translated using Weblate (Polish)

Currently translated at 82.0% (2463 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pl/

* Translated using Weblate (Greek)

Currently translated at 81.7% (2454 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/el/

* Translated using Weblate (Croatian)

Currently translated at 48.5% (1457 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hr/

* Translated using Weblate (Czech)

Currently translated at 89.4% (2685 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 96.5% (2898 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt_BR/

* Translated using Weblate (Hebrew)

Currently translated at 69.1% (2074 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/he/

* Translated using Weblate (Persian)

Currently translated at 81.1% (2434 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fa/

* Translated using Weblate (Dutch)

Currently translated at 78.0% (2342 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/nl/

* Translated using Weblate (Indonesian)

Currently translated at 88.3% (2650 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/

* Translated using Weblate (Bengali)

Currently translated at 1.7% (53 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/bn/

* Translated using Weblate (Arabic)

Currently translated at 94.2% (2827 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (Korean)

Currently translated at 49.5% (1488 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ko/

* Translated using Weblate (Italian)

Currently translated at 96.5% (2898 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Hungarian)

Currently translated at 96.5% (2898 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Finnish)

Currently translated at 47.9% (1438 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fi/

* Translated using Weblate (French)

Currently translated at 96.5% (2898 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/

* Translated using Weblate (Romanian)

Currently translated at 82.0% (2463 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ro/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 96.5% (2897 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Azerbaijani)

Currently translated at 0.3% (10 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/az/

* Translated using Weblate (Ukrainian)

Currently translated at 86.3% (2590 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/

* Translated using Weblate (Japanese)

Currently translated at 91.1% (2735 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ja/

* Translated using Weblate (Turkish)

Currently translated at 92.8% (2787 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/

* Translated using Weblate (Spanish)

Currently translated at 96.5% (2898 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/

* Translated using Weblate (Portuguese)

Currently translated at 39.3% (1180 of 3001 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt/

* Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/

* ios: remove empty targets, restore az/cs strings

* ios: import and export localizations

* ios: fix broken placeholders in translations

* ios: restore cs draft translations

* ios: fix more broken placeholders and link

---------

Co-authored-by: mlanp <mlanp@users.noreply.hosted.weblate.org>
Co-authored-by: Anonymous <anonymous@users.noreply.hosted.weblate.org>
Co-authored-by: Pixelcode <{pixelcode|git}@pgp.forgoodeyesonly.eu>
Co-authored-by: Evgeny Poberezkin <epoberezkin@users.noreply.hosted.weblate.org>
Co-authored-by: tn <tr4jan@users.noreply.hosted.weblate.org>
Co-authored-by: J. Lavoie <edanas@users.noreply.hosted.weblate.org>
Co-authored-by: J R <jrs@users.noreply.hosted.weblate.org>
Co-authored-by: Sarfaraz Ahmed <sahmed@users.noreply.hosted.weblate.org>
Co-authored-by: sith-on-mars <sith-on-mars@users.noreply.hosted.weblate.org>
Co-authored-by: TheFirstMonster <thefirstmonster@users.noreply.hosted.weblate.org>
Co-authored-by: khalidbelk <khalidbelk@users.noreply.hosted.weblate.org>
Co-authored-by: Near <near8954@users.noreply.hosted.weblate.org>
Co-authored-by: thedmdim <thedmdim@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate user 107176 <zhuk2@users.noreply.hosted.weblate.org>
Co-authored-by: Artem Vorotnikov <vorot93@users.noreply.hosted.weblate.org>
Co-authored-by: Paul <acornacre@users.noreply.hosted.weblate.org>
Co-authored-by: А О <twofish85@users.noreply.hosted.weblate.org>
Co-authored-by: whoami11 <whoami021992@users.noreply.hosted.weblate.org>
Co-authored-by: Skyward Copied <skywardcopied@users.noreply.hosted.weblate.org>
Co-authored-by: Evgeny <esp@users.noreply.hosted.weblate.org>
Co-authored-by: Игорь Линчевский <insrtnqme@users.noreply.hosted.weblate.org>
Co-authored-by: Name Lastname <simplex-edit0r@users.noreply.hosted.weblate.org>
Co-authored-by: Ophiushi <41908476+ishi-sama@users.noreply.github.com>
Co-authored-by: Mqlx <mqlx@users.noreply.hosted.weblate.org>
Co-authored-by: Ranakan <ranak4n@users.noreply.hosted.weblate.org>
Co-authored-by: Karl Rinneberg <hundertwasser@users.noreply.hosted.weblate.org>
Co-authored-by: indiandoc <indiandoc@users.noreply.hosted.weblate.org>
Co-authored-by: cedev-1 <121963179+cedev-1@users.noreply.github.com>
Co-authored-by: Deleted User <deleted-6980@users.noreply.hosted.weblate.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Float <float@users.noreply.hosted.weblate.org>
Co-authored-by: Deleted User <dnstxqet@users.noreply.hosted.weblate.org>
Co-authored-by: BlacAmDK <blacamdk@users.noreply.hosted.weblate.org>
Co-authored-by: re me <jisizhang001@users.noreply.hosted.weblate.org>
Co-authored-by: Aaron H <chieferino@users.noreply.hosted.weblate.org>
Co-authored-by: Loping151 <loping151@users.noreply.hosted.weblate.org>
Co-authored-by: cllih <cllih@users.noreply.hosted.weblate.org>
Co-authored-by: Zhiyounihao <zhiyouni@users.noreply.hosted.weblate.org>
Co-authored-by: M Sarmad Qadeer <msarmadqadeer@users.noreply.hosted.weblate.org>
Co-authored-by: Albert Bob <vicdorke@users.noreply.hosted.weblate.org>
Co-authored-by: 小连招 <onecombo666@users.noreply.hosted.weblate.org>
Co-authored-by: Yay <yay9hbx5otn5@users.noreply.hosted.weblate.org>
Co-authored-by: Frank Yang <frankyang96@users.noreply.hosted.weblate.org>
Co-authored-by: Citrus <citrus@users.noreply.hosted.weblate.org>
Co-authored-by: Ross Li <ross89223@users.noreply.hosted.weblate.org>
Co-authored-by: No name <certainbot@users.noreply.hosted.weblate.org>
Co-authored-by: Luis Morillo Najarro <lsmor@users.noreply.hosted.weblate.org>
Co-authored-by: Darío Hereñú <kant@users.noreply.hosted.weblate.org>
Co-authored-by: Víctor <vzamanillo@users.noreply.hosted.weblate.org>
Co-authored-by: kudebug <kudebug@users.noreply.hosted.weblate.org>
Co-authored-by: Carlos Perez <charlieper@users.noreply.hosted.weblate.org>
Co-authored-by: Isaac ALejandro Lopez <justanormalguy@users.noreply.hosted.weblate.org>
Co-authored-by: gacarel <gacarel@users.noreply.hosted.weblate.org>
Co-authored-by: John m <jvanmanen@users.noreply.hosted.weblate.org>
Co-authored-by: M1K4 <mika-nl@users.noreply.hosted.weblate.org>
Co-authored-by: a4318 <a4318@users.noreply.hosted.weblate.org>
Co-authored-by: Miyu Sakatsuki <miyu-dev@users.noreply.hosted.weblate.org>
Co-authored-by: ikyhtr <ikyhtr@users.noreply.hosted.weblate.org>
Co-authored-by: 小林照幸 <koba-ninkigumi@users.noreply.hosted.weblate.org>
Co-authored-by: proudmuslim-dev <proudmuslim-dev@users.noreply.hosted.weblate.org>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Co-authored-by: Rei <rei_@users.noreply.hosted.weblate.org>
Co-authored-by: yokoba0413 <yokoba0413@users.noreply.hosted.weblate.org>
Co-authored-by: ryokky3 <ryokky3@users.noreply.hosted.weblate.org>
Co-authored-by: koreirozzu <koreirozzu@users.noreply.hosted.weblate.org>
Co-authored-by: daydreamer-json <daydreamer-json@users.noreply.hosted.weblate.org>
Co-authored-by: acevif <acevif@users.noreply.hosted.weblate.org>
Co-authored-by: ActiveTK. <webmaster@activetk.jp>
Co-authored-by: Dima Sivan <dimasivan@users.noreply.hosted.weblate.org>
Co-authored-by: zenobit <zenobit@disroot.org>
Co-authored-by: Mehmed <don43@users.noreply.hosted.weblate.org>
Co-authored-by: mslr8 <hosted.weblate.org.poncho089@passmail.net>
Co-authored-by: Pluto <offplutonium@users.noreply.hosted.weblate.org>
Co-authored-by: idk <ciganzelezo@users.noreply.hosted.weblate.org>
Co-authored-by: Nenad <nenadmirkovic00@gmail.com>
Co-authored-by: Magorak Magorov <magorakmagorov@users.noreply.hosted.weblate.org>
Co-authored-by: Maksym Lukashenko <prototypem995@users.noreply.hosted.weblate.org>
Co-authored-by: Max <prototypem95@users.noreply.hosted.weblate.org>
Co-authored-by: ghost <ghosthamster@users.noreply.hosted.weblate.org>
Co-authored-by: rider of the storm <passat-b6-tdi@users.noreply.hosted.weblate.org>
Co-authored-by: Deleted User <mgorpinic2005@gmail.com>
Co-authored-by: Hotripak <hotr1pak@users.noreply.hosted.weblate.org>
Co-authored-by: Groovy394 <groovy394@users.noreply.hosted.weblate.org>
Co-authored-by: aquaticexpectancy <aquaticexpectancy@users.noreply.hosted.weblate.org>
Co-authored-by: Andrii Sudak <andrii-sudak@users.noreply.hosted.weblate.org>
Co-authored-by: sr sr <sr1919os@users.noreply.hosted.weblate.org>
Co-authored-by: petri <petrik@users.noreply.hosted.weblate.org>
Co-authored-by: Jiri Grönroos <artnay@users.noreply.hosted.weblate.org>
Co-authored-by: B.O.S.S <BxOxSxS@protonmail.com>
Co-authored-by: Jester Hodl <jesterhodl@users.noreply.hosted.weblate.org>
Co-authored-by: Kszyche <hostedweblate001user@users.noreply.hosted.weblate.org>
Co-authored-by: Wiesław Fijołek <percival@users.noreply.hosted.weblate.org>
Co-authored-by: Arturro43 <arturro43@users.noreply.hosted.weblate.org>
Co-authored-by: Omikorin <git@omikor.in>
Co-authored-by: Titapa (PunPun) Chaiyakiturajai <titapapunne@users.noreply.hosted.weblate.org>
Co-authored-by: elgratea <flantito@users.noreply.hosted.weblate.org>
Co-authored-by: 109247019824 <109247019824@users.noreply.hosted.weblate.org>
Co-authored-by: Kaanito <kaanito@users.noreply.hosted.weblate.org>
Co-authored-by: Abdullah Koyuncu <wiseweb-works@users.noreply.hosted.weblate.org>
Co-authored-by: goknarbahceli <goknarbahceli@users.noreply.hosted.weblate.org>
Co-authored-by: Dennis <dennnis@users.noreply.hosted.weblate.org>
Co-authored-by: cervezagua <cervezagua@users.noreply.hosted.weblate.org>
Co-authored-by: Deleted User <deleted-65564@users.noreply.hosted.weblate.org>
Co-authored-by: Egehan KAHRAMAN <vastsea0@users.noreply.hosted.weblate.org>
Co-authored-by: Omer <abulomer@users.noreply.hosted.weblate.org>
Co-authored-by: xe1st <xe1st@users.noreply.hosted.weblate.org>
Co-authored-by: echoloji <echoloji@users.noreply.hosted.weblate.org>
Co-authored-by: U.S. <usnetiz@users.noreply.hosted.weblate.org>
Co-authored-by: summoner001 <summoner@disroot.org>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: d4f5409d <d4f5409d@users.noreply.hosted.weblate.org>
Co-authored-by: Mireli5656 <mireli5656@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-10-20 09:27:01 +01:00
EvgenyandEvgeny @ SimpleX Chat 7ffe252659 packages: npm public access (#7779)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 23:03:50 +01:00
EvgenyandEvgeny @ SimpleX Chat 46eb5cc001 packages: SimpleX Chat MCP server (#7752)
* packages: simplex-chat MCP server

* update

* standing approvals per chat, leave tool, simplify

* fixes

* add error messages

* LICENSE

* specification

* migration

* update simplex-chat, tests, fixes

* update simplex-chat libraries

* use agent peer type

* better server and tool descriptions

* short readme

* reference

* images

* update readme

* update readme

* update

* change links to master

* fix links to point to master branch

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 22:57:25 +01:00
EvgenyandEvgeny @ SimpleX Chat 16618c26cc ci: reduce runners (#7778)
* ci: reduce runners

* ram disk in mac tests

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 22:36:12 +01:00
Narasimha-sc ef6c913f78 Merge branch 'master' into nd/fix-profile-unread-count 2026-10-19 19:37:51 +00:00
Narasimha-sc b48b86f37d plans: profile unread count: resume re-read races 2026-10-19 19:37:40 +00:00
Narasimha-sc 377e656e50 plans: profile unread count: pending members' support items 2026-10-19 19:23:45 +00:00
Narasimha-sc 9f8224af56 plans: profile unread count: iOS app badge 2026-10-19 19:02:43 +00:00
Evgeny Poberezkin 61a57d3835 libs: nodejs 7.1.0-beta.6.6 2026-10-19 19:54:16 +01:00
Narasimha-sc 879c490d67 plans: profile unread count: picker refresh conditions, iOS resume race 2026-10-19 18:51:06 +00:00
EvgenyandEvgeny @ SimpleX Chat 46b2cf9f85 nodejs: add tests to library (#7694)
* nodejs: add tests to library

* new tests

* remove message splitting

* fix race

* docs

* replace extract-zip with yauzl that it wraps (high severity issue)

* fix ci tests

* skip server tests on macos and win unless SMP_SERVER is set

* fix win test

* fix win test

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 19:49:44 +01:00
Narasimha-sc 8a6fc06c4a plans: profile unread count: support-chat seed, stacked PR, test rows 2026-10-19 18:38:44 +00:00
Narasimha-sc c4973033fe plans: profile unread count: Kotlin picker refresh 2026-10-19 17:52:13 +00:00
Narasimha-sc 5f2b3dbe9b plans: profile unread count: which builds were compared 2026-10-19 17:38:37 +00:00
EvgenyandEvgeny @ SimpleX Chat ba9269a3ad desktop: fix race condition when searching for address (#7776)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 17:54:57 +01:00
Narasimha-sc d12aa56a90 plans: profile unread count: test results 2026-10-19 16:50:17 +00:00
Narasimha-sc 0958204291 plans: profile unread count: residual races 2026-10-19 15:32:51 +00:00
Narasimha-sc db971ed986 plans: profile unread count 2026-10-19 15:23:38 +00:00
EvgenyandEvgeny @ SimpleX Chat fc3f3abd0e website: update link relations (#7775)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 16:15:06 +01:00
Evgeny Poberezkin 82d44a951f libs: 7.1.0-beta.6.5 2026-10-19 16:13:15 +01:00
Narasimha-sc 9519650447 ios: take unread contributions from the listed chat
updateChatSettings read the contribution before and after from the chat it
was passed, after the API call. After a resume SimpleXApp.updateChats lists
new Chat objects while an open ChatView keeps the old one, so the stats it
read could be stale and its settings never changed by updateContact/
updateGroup. And an item event processed during the call can already carry
the new settings (addChatItem -> updateChatInfo), so reading the settings
after the call gave before == after. The contribution before is now the
listed chat's stats with the listed chat's settings from before the call,
and after is the listed chat's, as the Kotlin updateChatSettings does.

The "keep conversation" re-add in deleteContactChat likewise carries over
the listed chat's stats, taken before removeChat, rather than the passed
chat's.
2026-10-19 15:07:08 +00:00
Narasimha-sc 522c27f1f9 fix: compute the settings change's unread contribution from the settings before the call
updateChatSettings read the chat's contribution and unread tag before the
change from the listed chat after apiSetSettings returned. An item event
processed during the call can already carry the new settings (addChatItem
-> updateChatInfo), so before equalled after: the count and the unread tags
kept the chat's old contribution. Before is now the listed chat's stats
with the listed chat's settings from before the call.
2026-10-19 15:07:08 +00:00
Narasimha-sc 9c74c54f3c fix: lower the profile unread count when a loaded chat has fewer unread
Opening a chat replaces its chatStats with the server's on Android and
desktop. When the chat was already listed and the server reports fewer
unread items than the list had (e.g. items expired or were read on
another path), the count now drops by the chat's contribution
difference, like every other stats writer.

A content-filtered initial load of a group returns zero stats when no
unread item matches the filter (otherwise the full counts), so a load
with a content filter doesn't move the count (statsFiltered). A search
never reaches this branch: the core rejects initial pagination with a
search.

It only moves down. A chat from outside the 5000-chat window can be
listed with empty stats before it is opened, while the seed already
counted its unread items; moving up on its first open would count them
twice. Chats the load adds come with the server's stats, which the seed
already counted, so the count stays as it is for them. Upward drift
corrects itself at the next reseed: resume on Android and iOS, a profile
switch, opening the profile picker, or changing the chat item TTL.

If a new item arrives between the load's query and its stats
replacement, the downward move can drop the count below the database
until the next reseed.

iOS keeps the listed chat's stats on load, so there is nothing to move there.
2026-10-19 15:06:31 +00:00
Evgeny Poberezkin 3e2c487ad9 Merge branch 'stable' 2026-10-19 16:03:47 +01:00
Narasimha-sc 787827c16a Merge branch 'master' into nd/fix-profile-unread-count 2026-10-19 14:54:58 +00:00
Narasimha-sc 8050fc1e9b fix: maintain the profile unread count by the same rule that seeds it
The count is seeded by getUsersInfo, which counts RcvNew items where ntfsEnabled
holds - every item for an unmuted chat, only mentions for a mentions-only one,
none for a muted one. The deltas that maintain it afterwards did not follow that
rule for the active profile: addChatItem incremented for every item regardless
of the chat's notification setting; on Android and desktop the mark-read helpers
subtracted the full unread count, while on iOS Mark read and Clear followed the
mentions-only setting but subtracted the full count for muted chats, and
per-item reads forwarded the raw delta; removeChat left a deleted chat's unread
behind; and changing the setting moved a chat between rules without moving the
count.

Chat.userUnreadCount names what a chat contributes, and it is not a new rule:
totalUnreadCountForAllUsers already computed exactly this inline for the app
badge, and now calls it. The sites that change a chat's stats, its settings or
its presence report the contribution before and after, and the count moves by
the difference - apart from the exceptions noted at the end.

For that to hold the stats it reads have to be maintained, so on Android and
desktop decreaseCounterInPrimaryContext now decrements unreadMentions alongside
unreadCount when the item was a mention. Without it a mentions-only chat's
contribution never moved on any of that function's three paths - a deleted item,
a moderated member item, or an item going from New to Read. iOS already passed
the mention delta on its deletion paths.

This is visible beyond the profile picker, which badges only other profiles: the
desktop tray dot sums the count across profiles including the active one, and on
iOS these same deltas drive the app icon badge. So on iOS, muting a chat with
unread now drops the badge by its contribution, deleting a chat drops it, and a
message in a muted chat no longer raises it - each of which now agrees with
totalUnreadCountForAllUsers, which the badge is also set from.

addChat is deliberately not the mirror of removeChat: adding a chat means it is
being loaded into view, and its items were already counted by the seed, so
counting them again on ChatItemsLoader's addChat would double them. The one
place that removes and re-adds a chat while keeping its items - deleting a
contact in "keep conversation" mode on iOS - now carries its stats across and
restores the contribution explicitly, since the core keeps both the contact row
and its items there and the seed still counts them.

Wherever the chat list is re-read wholesale the counts are re-read with it: both
resume paths, and setting a chat item TTL, which deletes the active profile's
items without per-item events and so leaves its count stale. They are assigned
before the chats, which matters on iOS because updateChats recomputes the app
badge from users there. Reading users is best effort on both
platforms - losing them must not cost us the chats already fetched.

This does not make the count exact. getUsersInfo has no group_scope_tag filter
where the query behind chatStats.unreadCount does, so the seed counts
support-scope items that no client-side rule can, and the count steps up by the
outstanding support unread on each reseed. replaceChat also installs a whole
chatStats without moving the count: on Android and desktop from a snapshot taken
before the API call, in ChatListNavLinkView's markChatRead and markChatUnread
and ChatView's markUnreadChatAsRead, and on iOS from the server in the
receivedContactRequest handler in SimpleXAPI. Settings changes that arrive in
events through updateChatInfo do not move it either.
2026-10-19 14:54:58 +00:00
EvgenyandEvgeny @ SimpleX Chat 1ad402d06b docs: update discovery spec (#7774)
* docs: update discovery spec

* rename

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 15:51:03 +01:00
Evgeny Poberezkin 7361a029ac docs: update web discovery 2026-10-19 14:31:21 +01:00
EvgenyandEvgeny @ SimpleX Chat 03d789aed7 website: add link relations, update spec (#7773)
* website: add link relations, update spec

* wellknown

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 14:28:35 +01:00
EvgenyandEvgeny @ SimpleX Chat 85cae84809 docs: web discovery and LLM agent protocols (#7769)
* docs: web discovery and LLM agent protocols

* update

* update

* update

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 13:50:32 +01:00
EvgenyandEvgeny @ SimpleX Chat e41ee3a851 docs: web discovery and LLM agent protocols (#7769)
* docs: web discovery and LLM agent protocols

* update

* update

* update

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 13:49:56 +01:00
Evgeny Poberezkin 5a02b906e6 core: 7.1.0.14 (simplexmq 7.1.0.14) 2026-10-19 13:25:55 +01:00
bddbe5afaf website: translations (#7771)
* website: disable badge page temporarily (#7516)

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>

* Translated using Weblate (Czech)

Currently translated at 99.2% (376 of 379 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/cs/

* Translated using Weblate (Indonesian)

Currently translated at 95.5% (362 of 379 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/

* website: remove duplicate index-hero-invest key in Indonesian translation

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
Co-authored-by: zenobit <zenobit@disroot.org>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com>
2026-10-19 12:25:00 +00:00
+9 5b61fd5c99 ui: translations (#7770)
* website: disable badge page temporarily (#7516)

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>

* Translated using Weblate (German)

Currently translated at 100.0% (2921 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (French)

Currently translated at 100.0% (2921 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2921 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.9% (2920 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (2911 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt_BR/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2921 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Azerbaijani)

Currently translated at 32.9% (827 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Kurdish)

Currently translated at 29.3% (858 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ku/

* Translated using Weblate (Kurdish)

Currently translated at 32.8% (961 of 2921 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ku/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.9% (2929 of 2930 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2930 of 2930 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2930 of 2930 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Kurdish)

Currently translated at 38.3% (1123 of 2930 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ku/

* Translated using Weblate (German)

Currently translated at 100.0% (2930 of 2930 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (Azerbaijani)

Currently translated at 33.2% (835 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.6% (2903 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.8% (2909 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Italian)

Currently translated at 98.0% (2913 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 97.9% (2911 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (French)

Currently translated at 99.3% (2952 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Arabic)

Currently translated at 97.1% (2888 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (French)

Currently translated at 99.8% (2967 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/

* Translated using Weblate (Spanish)

Currently translated at 99.0% (2943 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.9% (2971 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2513 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.1% (2886 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt_BR/

* Translated using Weblate (Azerbaijani)

Currently translated at 37.4% (942 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (French)

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/

* Translated using Weblate (Czech)

Currently translated at 90.8% (2701 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/

* Translated using Weblate (Azerbaijani)

Currently translated at 42.6% (1071 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Czech)

Currently translated at 91.0% (2705 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/

* Translated using Weblate (Czech)

Currently translated at 50.2% (1264 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/cs/

* Translated using Weblate (Azerbaijani)

Currently translated at 45.2% (1136 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Azerbaijani)

Currently translated at 45.3% (1140 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2972 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt_BR/

* Translated using Weblate (Azerbaijani)

Currently translated at 46.2% (1162 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* Translated using Weblate (Portuguese)

Currently translated at 37.2% (1108 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt/

* Translated using Weblate (Portuguese)

Currently translated at 40.1% (1193 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt/

* Translated using Weblate (Portuguese)

Currently translated at 40.2% (1195 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt/

* Translated using Weblate (Slovak)

Currently translated at 36.6% (1089 of 2972 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/

* Translated using Weblate (Azerbaijani)

Currently translated at 47.0% (1183 of 2513 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/

* android, desktop: remove unused translations

* ui: fix translations (stale badge texts, missing placeholder, inverted and verbless strings)

- de, es, fr, hu, it, pt-BR, zh-Hans: re-translate badge strings from the current English (#7544 rewrote them after they were translated), restore the %1$s detail in badges_error_bad_service_response
- es, pt-BR: badges_savings is a discount, not "store"
- zh-Hans: Legend badge tier is 传奇, not a chart legend
- ku: "removed you" read as "you removed"; removed status is derxistî
- pt: verb buttons (Open, Archive, Save address settings, Paste link / Scan), link vs address in onboarding, accepted/removed %1$s events
- az (iOS): Mark deleted/verified/read, Keep conversation, Forward, Lock after, broken bold
- pt-BR: Monthly badge period, "shown on your profile" caption
- de: Support SimpleX as an action (it is also an alert button)
- cs (iOS): %d day singular, Test relay caption grammar

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
Co-authored-by: mlanp <github@lang.xyz>
Co-authored-by: Ranakan <ranakan.dev@protonmail.ch>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate user 54392 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: SanctumSaturn <oraculogithub@gmail.com>
Co-authored-by: summoner001 <summoner@disroot.org>
Co-authored-by: Mireli5656 <miraliseyidli5656@gmail.com>
Co-authored-by: Terciman <ter.distant121@passinbox.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org>
Co-authored-by: No name <usir.alerts@onionmail.org>
Co-authored-by: zenobit <zenobit@disroot.org>
Co-authored-by: Fábio Pereira (Serzedo) <fpereira-84@users.noreply.hosted.weblate.org>
Co-authored-by: Martin Kozempel <martin1928@users.noreply.hosted.weblate.org>
Co-authored-by: Mireli5656 <mireli5656@users.noreply.hosted.weblate.org>
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com>
2026-10-19 12:24:24 +00:00
EvgenyandEvgeny @ SimpleX Chat 3e6fd3836b core: round down time of sent messages to prevent replies showing above if they are within one second (#7695)
* core: round down time of sent messages to prevent replies showing above if they are within one second

* fix item timestamps

* query plans

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 12:47:25 +01:00
spaced4ndy d04510f66f ci: add a placeholder for the Android app test workflow, so it can be started by hand on its branch (#7772) 2026-10-19 11:26:22 +00:00
sh 58bc94bc74 core: carry ICE restart session in call extra info (#7718) 2026-10-19 12:22:10 +01:00
2ea1ec0d50 ui: reconnect call (#7711)
* Update Call.hs

* Update Internal.hs

* add reconnecting string

* Update WebRTC.kt

* desktop: show reconnecting state, keep call duration

* android keep connection time correct wiith adding reconnecting

* Update CallTypes.swift add reconnecting status on IOS

* Update WebRTC.swift add reconnecting

* add reconnecting and make sure call duration is correct

* Update call.ts

* core: regenerate call.js from call.ts

* Update Call.hs revert call status change

minimization

* Update Internal.hs rever to minimize changes

* Update CallTypes.swift minimize changes

* Update WebRTC.kt minimize changes

* Update CallView.desktop.kt desktop shows reconnecting without sending to core

* Update CallView.android.kt show reconnecting without sending it to the core

* Update ActiveCallView.swift show reconnecting to ui without sending to core

* Update CallView.desktop.kt add reconnecting sound on reconnect

* Update CallView.android.kt add reconnecting sound

* Update ActiveCallView.swift play reconnecting sound when reconnecting

* Update RecAndPlay.desktop.kt

* rebuild

* refactor

* build

* android, desktop: restart ICE to reconnect calls

* ios: restart ICE to reconnect calls

* webrtc: add call reconnection e2e tests

* android, desktop: fix lost call commands

---------

Co-authored-by: GuavaGoat <320862384+GuavaGoat@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 12:17:16 +01:00
EvgenyandEvgeny @ SimpleX Chat 634fa5ecff core: autoincrement database IDs (#7766)
* core: autoincrement database IDs

* migration

* update simplexmq

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 12:14:19 +01:00
EvgenyandEvgeny @ SimpleX Chat 1cbbe82517 ci: fix mac library build to sign and notarize library (#7765)
* ci: fix mac library build to sign and notarize library

* script

* sign and notarize to test

* remove test build

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 11:59:43 +01:00
spaced4ndy 7ac7d00025 ci: start the app tests from run tags only on f/ branches (#7768) 2026-10-19 10:25:26 +00:00
spaced4ndy 35bc0b66d9 ci: app test workflows save no caches, reuse their builds as artifacts, and run Claude in its own job (#7767) 2026-10-19 09:31:38 +00:00
spaced4ndy 0eeac1bb92 docs: normalize badge in-app checkout wireframe 2026-10-19 13:00:31 +04:00