Narasimha-sc and GitHub
7fc2a6e6bd
android, desktop: fix draft loss when switching to chat where user cannot send messages ( #7239 )
...
* android, desktop: save draft when switching to chat where user cannot send messages
On desktop, chat and chatId change in the same recomposition when another
chat is opened from the always-visible chat list. The effect clearing
compose state of a non-sendable chat (observer, channel subscriber,
review by admins) was composed before the draft-saving KeyChangeEffect
and ran first, wiping the live compose state before it could be saved
and then clearing the previously saved draft via clearPrevDraft.
Effects launch in composition order, so the clearing effect is moved
after KeyChangeEffect: the previous chat's draft is saved first, and
clearCurrentDraft is a no-op for it because draftChatId no longer
matches the opened chat. Clearing the opened chat's own draft when it
cannot send is preserved, as is clearing when the open chat itself
becomes non-sendable (only the sendMsgEnabled key changes).
* plans: investigation and justification for draft message loss fix
2026-07-22 08:32:37 +01:00
Narasimha-sc and GitHub
9586c97439
ui: show XFTP servers used for a file in message info ( #7088 )
...
Surface the XFTP servers that hosted a file's chunks in the message info
screen (Android, desktop, iOS), so a user can see which servers they are
downloading from (or, for sent files, uploading to) whenever they want to know.
APIGetChatItemInfo now returns fileXftpServers, derived from the stored file
description (private snd descr for sent items, rcv descr for received items);
extraction is best-effort and never fails the call.
2026-07-22 08:28:54 +01:00
4cf5a8d9ce
docs: Improve FAQ.md ( #6360 )
...
* docs: Add FAQ
* corrections
Co-authored-by: Evgeny <evgeny@poberezkin.com >
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
2026-07-22 08:22:48 +01:00
sh and GitHub
afdae36ea3
tests: enable names role for directory channel name tests ( #6643 )
2026-07-21 09:25:49 +01:00
sh and GitHub
451bb5148f
core: fix missing ": " in CLI display name prompt ( #7280 )
2026-07-21 09:25:22 +01:00
Evgeny Poberezkin
52f1f7403d
core: update query plans
2026-07-20 17:50:22 +01:00
2ea5940e81
core, ui: per-server roles for self-hosted servers ( #7254 )
...
* core, ui: plan per-server roles for self-hosted servers
* core: add per-server roles field to UserServer
* core: add nullable role columns to protocol_servers
* core: persist per-server roles
* core: validate server coverage using per-server roles
* test: cover per-server roles resolution and coverage
* multiplatform: per-server role toggles for self-hosted servers
* ios: per-server role toggles for self-hosted servers
* core: per-server role overrides with per-role defaults
* test: cover three-state per-server role resolution
* fix: derive Eq for ServerRolesOverride
* multiplatform: three-state role dropdowns on saved servers
* ios: three-state role pickers on saved servers
* test: per-server roles independent across two servers
* test: enable names role in name-resolution tests
* style: trim comments in per-server roles code
* chore: rename server_roles migration to 20260716 (last)
* core: per-server roles override operator roles, inherit when unset
* multiplatform: per-server role default inherits from operator
* ios: per-server role default inherits from operator
* refactor(servers): tidy per-server roles per review
- dedup no-operator default into ServerRoles.noOperatorDefault (Kotlin/Swift)
- iOS: move roles-section control flow to the call site via a named gate,
and parse the server address once instead of up to three times
- Kotlin: collapse redundant derivedState; revert defaultOn->default rename
for cross-platform parity
- drop unused Hashable conformance on Swift ServerRoles
- add agentServerCfgs test for names inheritance from an operator
- remove no-op enableNamesRole calls from dormant DirectoryTests
- fix ChatClient import ordering
* chore(migration): date server_roles migration 20260720
* only show roles when server is enabled, move section above QR code
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-07-20 16:35:13 +01:00
spaced4ndy and GitHub
966c9f7947
core: fail compilation on name shadowing ( #7283 )
2026-07-20 13:20:37 +00:00
spaced4ndy and GitHub
ba6f5386c8
core: allow moderators to change member <-> observer roles in groups ( #7279 )
2026-07-20 12:56:23 +00:00
SimpleX Chat and Evgeny Poberezkin
bd55fedc2d
7.0.0-beta.4: android 363, desktop 152, ios 342
v7.0.0-beta.4
2026-07-20 10:25:58 +01:00
Narasimha-sc and GitHub
147355b76a
desktop: don't delete shared temp dirs from a transient second instance ( #7168 )
...
On an incoming call the desktop window blinked continuously (FileNotFoundException
from SoundPlayer.start writing into a missing ...\Temp\simplex).
Root cause: Files.desktop top-level val initializers run in any process that
touches the facade class, including a transient second instance (which reaches
acquireSingleInstance -> dataDir). Two of them deleted shared state used by the
running primary:
- tmpDir had .also { deleteOnExit() } - the second instance's normal exit deleted
...\Temp\simplex, so the primary then failed to write call sounds/recordings.
- preferencesTmpDir had .also { deleteRecursively() } - the second instance's
<clinit> wiped configPath\tmp (same anti-pattern, firing even earlier).
Make both declarations pure and do the destructive cleanup in Main, past the
single-instance check, so only the owning instance performs it (preferencesTmpDir
kept early, before any settings write). The remaining val-initializer side effects
are idempotent creations (mkdirs) that destroy nothing and are left in place.
2026-07-18 20:34:34 +01:00
+16
fb3357c638
ui: translations ( #7275 )
...
* ui: what's new in 7.0 (#7265 )
* docs: add Hosting your own Chat Relay guide (#7263 )
* docs: add Hosting your own Chat Relay guide
* cli: run headless relay without a terminal
--headless (no -e) now runs via simplexChatCore instead of the terminal
UI, so the relay runs as a systemd service without a TTY (withTerminal
requires one). Drains the event queue logging only errors, and sets
stdout to line-buffering so logs reach the journal.
* docs/chat-relay: debounce service
* Apply suggestions from code review
Co-authored-by: Evgeny <evgeny@poberezkin.com >
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* Translated using Weblate (German)
Currently translated at 100.0% (2868 of 2868 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% (2465 of 2465 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% (2465 of 2465 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 96.5% (2381 of 2465 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 96.5% (2381 of 2465 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 96.5% (2381 of 2465 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 93.6% (2309 of 2465 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% (2868 of 2868 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% (2465 of 2465 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% (2867 of 2868 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 98.6% (2431 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (2868 of 2868 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% (2465 of 2465 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 82.5% (2035 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/nl/
* Translated using Weblate (Arabic)
Currently translated at 29.8% (735 of 2465 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 87.0% (2145 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/
* Translated using Weblate (Polish)
Currently translated at 87.6% (2161 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/pl/
* Translated using Weblate (Turkish)
Currently translated at 86.8% (2140 of 2465 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 86.8% (2140 of 2465 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 100.0% (2868 of 2868 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/
* Translated using Weblate (Turkish)
Currently translated at 100.0% (2868 of 2868 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (2868 of 2868 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% (2465 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (Indonesian)
Currently translated at 94.8% (2719 of 2868 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (2867 of 2867 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% (2465 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (German)
Currently translated at 100.0% (2867 of 2867 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% (2465 of 2465 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% (2880 of 2880 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/
* Translated using Weblate (Italian)
Currently translated at 100.0% (2880 of 2880 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% (2880 of 2880 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% (2465 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (German)
Currently translated at 100.0% (2885 of 2885 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/
* Translated using Weblate (Italian)
Currently translated at 100.0% (2885 of 2885 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 99.3% (2450 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/
* Translated using Weblate (German)
Currently translated at 100.0% (2885 of 2885 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/
* Translated using Weblate (Italian)
Currently translated at 100.0% (2885 of 2885 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 99.9% (2884 of 2885 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (2885 of 2885 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (2885 of 2885 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (2885 of 2885 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% (2465 of 2465 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 100.0% (2886 of 2886 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 99.9% (2885 of 2886 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% (2886 of 2886 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/
* Translated using Weblate (Italian)
Currently translated at 100.0% (2890 of 2890 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 99.9% (2889 of 2890 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% (2890 of 2890 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (2890 of 2890 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/
* Translated using Weblate (German)
Currently translated at 100.0% (2890 of 2890 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (2890 of 2890 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% (2465 of 2465 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* process translations
* restore and fix
* process xliff
* ui: fix translation typos and mistranslations (de, es, it, tr, hu, id, ar, zh-CN)
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
Co-authored-by: Evgeny <evgeny@poberezkin.com >
Co-authored-by: mlanp <github@lang.xyz >
Co-authored-by: Pixelcode <pixelcode@dismail.de >
Co-authored-by: J R <jr@simplex.chat >
Co-authored-by: Evgeny Poberezkin <e.poberezkin@me.com >
Co-authored-by: Evgeny <ep@simplex.chat >
Co-authored-by: Ophiushi <41908476+ishi-sama@users.noreply.github.com >
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: re me <jisizhang001@gmail.com >
Co-authored-by: No name <usir.alerts@onionmail.org >
Co-authored-by: M1K4 <oomikaoo@gmail.com >
Co-authored-by: Muhammad <muhammad.aem@outlook.com >
Co-authored-by: Max <worklmaksim@gmail.com >
Co-authored-by: B.O.S.S <BxOxSxS@protonmail.com >
Co-authored-by: Abdullah Koyuncu <wisewebworks@outlook.com >
Co-authored-by: Omer <abulomer2001@gmail.com >
Co-authored-by: echoloji <mehmetksm@tuta.io >
Co-authored-by: summoner001 <summoner@disroot.org >
Co-authored-by: Rafi <rafimuhmad90@protonmail.com >
Co-authored-by: BlacAmDK <BD1079259369@gmail.com >
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org >
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com >
2026-07-18 20:33:10 +01:00
Narasimha-sc and GitHub
c125836d85
android, desktop: fix empty area below wide images (beta.3 regression) ( #7223 )
...
Wide images size their preview box with a fixed width of DEFAULT_MAX_IMAGE_WIDTH
(500dp). #7125 switched the box from .aspectRatio() to a fixed .height() computed
from that nominal width; on screens narrower than 500dp, .width(500dp) is clamped
to the available width but the fixed height is not, so the top-aligned FillWidth
image is shorter than its box, leaving an empty strip below.
Compute the height from the width actually granted via a small Modifier.layout so
it tracks the clamped width, restoring the self-correcting behaviour .aspectRatio()
had. coerceAtMost(w) keeps the box within its nominal width (and bounds the
unbounded intrinsic-measurement pass), and coerceAtLeast(0) mirrors what
Modifier.width()'s SizeNode does for a negative w on a tiny window - so both
dimensions stay in range and the #7123 Constraints overflow crash cannot recur.
2026-07-18 14:58:25 +01:00
590707915c
website: translations ( #7273 )
...
* ui: what's new in 7.0 (#7265 )
* docs: add Hosting your own Chat Relay guide (#7263 )
* docs: add Hosting your own Chat Relay guide
* cli: run headless relay without a terminal
--headless (no -e) now runs via simplexChatCore instead of the terminal
UI, so the relay runs as a systemd service without a TTY (withTerminal
requires one). Drains the event queue logging only errors, and sets
stdout to line-buffering so logs reach the journal.
* docs/chat-relay: debounce service
* Apply suggestions from code review
Co-authored-by: Evgeny <evgeny@poberezkin.com >
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 47.9% (179 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/zh_Hant/
* Translated using Weblate (Turkish)
Currently translated at 63.0% (235 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/tr/
* Translated using Weblate (Indonesian)
Currently translated at 95.7% (357 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
Co-authored-by: Evgeny <evgeny@poberezkin.com >
Co-authored-by: HUGOALH <hugoalh@users.noreply.hosted.weblate.org >
Co-authored-by: Omer <abulomer2001@gmail.com >
Co-authored-by: Rafi <rafimuhmad90@protonmail.com >
2026-07-18 14:55:32 +01:00
Narasimha-sc and GitHub
7adadfe2cd
desktop: show only desktop .deb packages for current architecture in updater ( #7270 )
2026-07-18 14:20:53 +01:00
a1325c9788
ios, desktop, android: clearer error message when connecting via removed link (AUTH) ( #7268 )
...
* ios, desktop, android: clearer error message when connecting via removed link (AUTH)
* Update apps/ios/Shared/Model/SimpleXAPI.swift
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* android, desktop: use concise AUTH error message to match iOS
* update localizations
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
2026-07-18 08:45:07 +01:00
Evgeny Poberezkin
5d67cf8969
ios: export localizations
2026-07-18 08:19:14 +01:00
d95f924b73
ui: improve profile descriptions ( #7262 )
...
* ui: improve profile descriptions
* update
* fix
* improve layout
* fix alert
* more improvements
* recizable iOS field
* change max lines
* fixes
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-07-18 08:13:05 +01:00
Evgeny Poberezkin
79660e1dc6
core: 7.0.0.9 (simplexmq 7.0.0.5)
2026-07-18 08:09:23 +01:00
spaced4ndy and GitHub
93831a0f24
core: signed history in channels, auto-sign based on preference ( #7257 )
2026-07-17 19:44:51 +00:00
a81baebed5
docs: add Hosting your own Chat Relay guide ( #7272 )
...
* docs: add Hosting your own Chat Relay guide
* cli: run headless relay without a terminal
--headless (no -e) now runs via simplexChatCore instead of the terminal
UI, so the relay runs as a systemd service without a TTY (withTerminal
requires one). Drains the event queue logging only errors, and sets
stdout to line-buffering so logs reach the journal.
* docs/chat-relay: debounce service
* Apply suggestions from code review
Co-authored-by: Evgeny <evgeny@poberezkin.com >
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
2026-07-17 17:09:38 +01:00
sh and GitHub
27da94e11d
desktop: fix low-quality image previews from over-downsampling ( #7267 )
...
getLoadedImage subsampled with an OR cap on the larger side, so tall
images (e.g. phone screenshots) were reduced far below the display size
and rendered blurry. Mirror Android's calculateInSampleSize (keep the
smaller side at the target) so previews stay sharp, and add a decoded-
pixel ceiling so extreme aspect ratios can't blow up decode memory.
2026-07-17 16:58:40 +01:00
sh and GitHub
bd86d6f403
website: add Chat Relay guide to the docs navbar ( #7271 )
...
Adds a 'Host Chat Relay' entry to the Reference dropdown, after 'Host
XFTP Server', linking to /docs/chat-relay.html.
2026-07-17 16:57:21 +01:00
Narasimha-sc and GitHub
11f0b6bd51
desktop: show startup errors in a copyable window instead of bare "Failed to launch JVM" ( #7261 )
...
* desktop: show startup errors in a copyable window instead of bare "Failed to launch JVM"
When any exception escapes main() before the app window appears - a missing
DLL, a failed migration, broken AWT init - the jpackage launcher shows only
"Failed to launch JVM" and the cause is recorded nowhere: the launcher runs
without a console, so stderr is lost. Every report in #4146 stalled on this.
Catch the error and show it in a native Win32 window laid out like a message
box: an error icon and message, two clickable report links (the GitHub issue
tracker and the support email) above a read-only selectable box with the stack
trace, and an OK button. The links are SS_NOTIFY statics opened with
ShellExecute (browser for the URL, mail client for the email). Native, not
Swing, because broken AWT initialization is one of the failure causes. On
Windows the process then exits cleanly so the launcher does not also show its
own box; on other systems the error is rethrown to stderr.
* docs: plan justifying desktop startup error window (#4146 )
2026-07-17 15:41:54 +01:00
spaced4ndy
d60da754dc
ui: what's new in 7.0 ( #7265 )
2026-07-17 18:36:45 +04:00
Narasimha-sc and GitHub
cbd625d57a
desktop: fix "Failed to launch JVM" on Windows when Java Access Bridge is enabled (one cause of #4146 ) ( #7260 )
...
* desktop: bundle jdk.accessibility to fix "Failed to launch JVM" when assistive technologies are enabled (#4146 )
The jlinked runtime shipped in desktop packages did not include the
jdk.accessibility module. On Windows, when Java Access Bridge is enabled
(jabswitch -enable, "Enable Java Access Bridge" in Ease of Access, or a
screen reader creating %USERPROFILE%\.accessibility.properties), AWT
throws AWTError "Assistive Technology not found:
com.sun.java.accessibility.AccessBridge" during Toolkit init, before any
window or log output, and the jpackage launcher reports "Failed to
launch JVM".
* docs: plan justifying jdk.accessibility fix for Windows JVM launch (#4146 )
* desktop: bundle jdk.accessibility only when building the Windows package
2026-07-16 13:49:10 +01:00
spaced4ndy and GitHub
73b9127360
ui: add search to subscribers list view; android, desktop: lazy list ( #7264 )
...
* ui: add search to subscribers list view; android, desktop: lazy list
* wip
2026-07-16 12:17:38 +01:00
Evgeny Poberezkin
c00f9620e1
bots api
2026-07-15 19:38:02 +01:00
6375457685
core: add optional profile description ( #7256 )
...
* core: add optional profile description
* bot types
* kotlin ui
* query plans
* postgres schema
* fix ui
* fix UI
* refactor
* description in business chats
* share address
* sign address card when shared by owner
* from owner string
* remove unused string
* refactor
* fix
* ProfileDescriptionText
* refactor modals
* ios ui
* nix config
* correction
Co-authored-by: simplex-chat-agent[bot] <287173099+simplex-chat-agent[bot]@users.noreply.github.com>
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: simplex-chat-agent[bot] <287173099+simplex-chat-agent[bot]@users.noreply.github.com>
2026-07-15 17:54:21 +01:00
spaced4ndy and GitHub
0fef34914d
core, ui: security code verification in channels (verify member key) ( #7255 )
2026-07-15 10:46:31 +00:00
sh and GitHub
6e2995cab6
cli: add name, image and relay server address flags ( #6944 )
...
* cli: add --relay-address-server option for chat relay
New CLI flag --relay-address-server SERVER selects the SMP server used
for the chat relay address link created at startup. Only valid together
with --relay; errors out otherwise.
Threads Maybe SMPServerWithAuth through APICreateMyAddress to the new
agent createConnection parameter.
* cli: add --user-display-name option
Selects or creates the active user non-interactively:
- no active user: create one with the given display name
- active user with matching localDisplayName: continue
- active user with different name: exit with error
Mutually exclusive with --create-bot-display-name.
* cli: add --user-image-file option
Sets the active user's profile image from a .png/.jpg/.jpeg file at
startup. Reads file, base64-encodes as data URL, and updates the user
profile directly in the DB - no notification is sent to existing
contacts. Skips the update if the stored image already matches.
Requires --user-display-name.
* cli: address PR review comments
- rename APICreateMyAddress field srv_ to server_
- extract repeated `loop` and putStrLn from createActiveUser via
prompt where-clause
- fuse u_ inspection: validate active user display name in the same
case that creates the user when missing
* cli: enforce profile image size limit in --user-image-file
Reject the file if the encoded data URL exceeds 12500 bytes - matches
the cap mobile and desktop UIs pass to resizeImageToStrSize for profile
images. Without this, oversized images would be silently set on the
user profile.
* core: validate profile image size in chat commands
Enforced in CreateActiveUser, updateProfile_, newGroup, runUpdateGroupProfile
via checkProfileImageSize; max 12500 bytes (matches mobile UIs).
* fix: thread new ChatOpts/CoreChatOpts fields through bot/test constructors
* bots/docs: filter hidden params before type introspection
Hide APICreateMyAddress server_ field so the bot doc generator does not
try to introspect SMPServerWithAuth (an unregistered type).
* core: validate full encoded profile size
Add checkProfileSize / checkGroupProfileSize that encode the full
ChatMessage and check against maxEncodedInfoLength, so a long
displayName/bio combined with a near-max image is also caught at
command time instead of failing later at send time with CEException.
Run alongside the existing checkProfileImageSize (image-only cap of
12500 bytes, matching mobile UIs) in CreateActiveUser, updateProfile_,
newGroup, runUpdateGroupProfile. Update genProfileImg to fit the cap.
* cli: add --headless option for chat relay
Skips interactive prompts (relay address creation, display name) so the
chat relay can run non-interactively as a service. Requires --relay;
creating a new profile also requires --user-display-name.
* test: cover profile image size limit and address server
Adds tests for two new capabilities:
- profile image size validation rejects oversized images
- /_address with a server pins the address to the requested SMP server
* core: update simplexmq (pass optional SMP server to prepareConnectionLink)
* cli: add /set profile image file, fix image flag
Add "/set profile image file <path>" command to set the profile image
from a .png/.jpg/.jpeg file in a running session.
Make --user-image-file create-only: for an existing user it now no-ops
with a note instead of failing with "chat not started" (the update ran
before the chat controller was started).
* core: unify image loading and profile size checks
- loadImageFile (CLI) and readProfileImageFile (command) now share one
loadImageData; removes the duplicated mime/base64 encoding and its
decodeUtf8/safeDecodeUtf8 divergence. A missing --user-image-file no
longer crashes with an uncaught IOException, and empty files are rejected.
- checkProfileSize/checkGroupProfileSize share checkInfoSize.
- --relay-address-server/--headless requires-relay checks use
errorWithoutStackTrace, matching the adjacent validation (no callstack dump).
* bots/docs: document UpdateProfileImageFromFile as a CLI command
2026-07-15 09:31:19 +01:00
sh and GitHub
937c79bc3c
website: fix broken GitHub links for project files in docs ( #7229 )
...
* website: fix broken GitHub links for project files in docs
* website: fix broken links across docs and pages
Render glossary tooltips through the shared replaceLink transform so
their relative links become absolute site URLs instead of 404ing when
injected across pages; add the English-only routes (downloads, faq,
jobs, reproduce, security, transparency) to supportedRoutes so the
language switcher stops emitting href="undefined"; passthrough-copy
docs/guide/images, docs/guide/diagrams and docs/themes.
Fix the SIMPLEX.md p2p anchor typo and correct image paths in CLI,
the v0.4 blog post and the fr/pl translation docs to point at the
existing shared assets.
2026-07-14 15:11:45 +01:00
0ce61a0eda
docs: add name resolution setup to SMP server guide ( #7251 )
...
* docs: add name resolution setup to SMP server guide
* docs: link SMP server names section to public names overview
* link
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
2026-07-14 15:03:23 +01:00
6dce9e3903
docs: names overview ( #7253 )
...
* docs: names overview
* update
* language
* diagrams
* update
* minor corrections
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-07-14 14:14:11 +01:00
Evgeny Poberezkin
882257e12c
ci: update query plans
2026-07-14 10:03:36 +01:00
spaced4ndy and GitHub
e53508ecca
core, ui: make msgVerified optional ( #7247 )
2026-07-13 21:20:36 +00:00
spaced4ndy and GitHub
d7af648d2a
ui: hide message signing preference, etc. ( #7246 )
2026-07-13 13:06:25 +00:00
spaced4ndy and GitHub
2b4a9c3d73
tests: create separate tmp folders for test clients ( #7244 )
2026-07-13 11:05:59 +00:00
Evgeny @ SimpleX Chat and GitHub
751ff10eac
directory: fix group link verification ( #7242 )
...
* add logs
* more logs
* fix
* fix
2026-07-13 10:27:28 +01:00
c1cc568704
core, web: correctly process name verification for channels, show names in directory ( #7238 )
...
* core, web: correctly process name verification for channels, show names in directory
* remove duplicate verification
* remove plan
* refactor
* remove comments
* stabilize tests
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-07-12 18:52:45 +01:00
414f4b6ce1
core, ui: show domain for business chat in CLI, test, improve UI ( #7235 )
...
* core: preserve domain during group handshake
* query plans
* ui changes
* remove unnecessary change
* improve ui
* name UI
* card layout
* fix footers, entry field
* error icon
* fix height
* fix layout
* fix layout
* remove unused string
* focus name field
* refactor, fix
* improve button
* refactor
* fix ios race
* core: add domain to channel /i output
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-07-12 09:41:05 +01:00
5d54362ca8
multiplatform: bound shared file URI copies ( #7075 )
...
* Bound shared file URI copies
* test: cover multi-read path in bounded URI file copy
* android, desktop: bound URI copies by sender badge file limit
* android, desktop: show file-too-large alert on bounded URI copy overrun
---------
Co-authored-by: Paul Bottinelli <paul.bottinelli@trailofbits.com >
2026-07-11 09:18:05 +01:00
Evgeny Poberezkin
f329744c3b
core: update query plans
2026-07-10 20:58:29 +01:00
spaced4ndy and GitHub
51ad366e8b
core, ui: message signing ( #7115 )
2026-07-10 19:55:10 +00:00
+54
ee51168374
core, ui: improve name resolution ( #7209 )
...
* ios: debug name resolution
* remove log
* ui: translations (#7210 )
* Translated using Weblate (French)
Currently translated at 84.1% (2390 of 2840 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 98.4% (2795 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/
* Translated using Weblate (Spanish)
Currently translated at 98.2% (2790 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/
* Translated using Weblate (Dutch)
Currently translated at 83.9% (2385 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/nl/
* Translated using Weblate (Hindi)
Currently translated at 9.6% (275 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hi/
* Translated using Weblate (Czech)
Currently translated at 95.4% (2710 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/
* Translated using Weblate (Ukrainian)
Currently translated at 87.2% (2477 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/
* Translated using Weblate (Finnish)
Currently translated at 50.3% (1430 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fi/
* Translated using Weblate (Korean)
Currently translated at 51.6% (1466 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ko/
* Translated using Weblate (Polish)
Currently translated at 88.7% (2520 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pl/
* Translated using Weblate (Portuguese)
Currently translated at 33.0% (939 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt/
* Translated using Weblate (Hebrew)
Currently translated at 72.6% (2062 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/he/
* Translated using Weblate (Thai)
Currently translated at 43.5% (1236 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/th/
* Translated using Weblate (Thai)
Currently translated at 43.5% (1236 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/th/
* Translated using Weblate (Bulgarian)
Currently translated at 87.2% (2479 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/bg/
* Translated using Weblate (Turkish)
Currently translated at 86.0% (2445 of 2840 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/
* Translated using Weblate (German)
Currently translated at 100.0% (2843 of 2843 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/
* Translated using Weblate (Italian)
Currently translated at 100.0% (2843 of 2843 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 98.5% (2803 of 2843 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% (2843 of 2843 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (2843 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/
* Translated using Weblate (Vietnamese)
Currently translated at 84.2% (2396 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/vi/
* Translated using Weblate (Italian)
Currently translated at 100.0% (2439 of 2439 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% (2842 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
* Translated using Weblate (Vietnamese)
Currently translated at 85.5% (2433 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/vi/
* Translated using Weblate (German)
Currently translated at 100.0% (2843 of 2843 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/
* Translated using Weblate (Hindi)
Currently translated at 9.8% (281 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hi/
* Translated using Weblate (Indonesian)
Currently translated at 89.5% (2547 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 88.1% (2149 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/
* Translated using Weblate (Russian)
Currently translated at 97.4% (2771 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
* Translated using Weblate (French)
Currently translated at 78.9% (1926 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 89.3% (2180 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 98.1% (2789 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/
* Translated using Weblate (Japanese)
Currently translated at 49.5% (1209 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/
* Translated using Weblate (Hindi)
Currently translated at 10.2% (292 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hi/
* Translated using Weblate (Czech)
Currently translated at 95.5% (2717 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/
* Translated using Weblate (Romanian)
Currently translated at 88.3% (2511 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ro/
* Translated using Weblate (Vietnamese)
Currently translated at 86.1% (2449 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/vi/
* Translated using Weblate (Indonesian)
Currently translated at 94.3% (2683 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
* Translated using Weblate (Danish)
Currently translated at 30.7% (875 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/da/
* Translated using Weblate (Spanish)
Currently translated at 98.8% (2411 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* Translated using Weblate (Ukrainian)
Currently translated at 89.9% (2557 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 87.8% (2143 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/
* Translated using Weblate (Vietnamese)
Currently translated at 87.4% (2485 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/vi/
* Translated using Weblate (Vietnamese)
Currently translated at 87.4% (2485 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/vi/
* Translated using Weblate (Ukrainian)
Currently translated at 90.0% (2559 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 93.7% (2664 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 93.7% (2664 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 93.7% (2664 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 88.0% (2148 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/
* Translated using Weblate (Greek)
Currently translated at 1.0% (25 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/el/
* Translated using Weblate (Spanish)
Currently translated at 99.7% (2837 of 2843 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 99.7% (2432 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 89.4% (2182 of 2439 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 47.0% (1148 of 2439 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 99.7% (2433 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* Translated using Weblate (Turkish)
Currently translated at 88.4% (2514 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/
* Translated using Weblate (Indonesian)
Currently translated at 94.4% (2686 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
* Translated using Weblate (Russian)
Currently translated at 97.5% (2774 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
* Translated using Weblate (Russian)
Currently translated at 97.6% (2382 of 2439 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 80.8% (1972 of 2439 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% (2439 of 2439 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 100.0% (2439 of 2439 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 98.7% (2808 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hant/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (2439 of 2439 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% (2843 of 2843 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% (2843 of 2843 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% (2439 of 2439 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% (2439 of 2439 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* Translated using Weblate (Indonesian)
Currently translated at 94.7% (2694 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
* 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/
* Translated using Weblate (German)
Currently translated at 100.0% (2439 of 2439 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 85.4% (2084 of 2439 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (2843 of 2843 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* Translated using Weblate (Japanese)
Currently translated at 99.0% (2815 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ja/
* Translated using Weblate (Indonesian)
Currently translated at 95.4% (2713 of 2843 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
* Translated using Weblate (German)
Currently translated at 100.0% (2439 of 2439 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 87.5% (2136 of 2439 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 87.5% (2136 of 2439 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 88.0% (2147 of 2439 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 89.2% (2178 of 2439 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% (2439 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/
* Translated using Weblate (German)
Currently translated at 100.0% (2866 of 2866 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% (2439 of 2439 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% (2439 of 2439 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 94.9% (2316 of 2439 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% (2866 of 2866 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 99.9% (2865 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
* Translated using Weblate (Japanese)
Currently translated at 49.9% (1219 of 2439 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (2866 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (2866 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/
* Translated using Weblate (Russian)
Currently translated at 97.9% (2807 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
* Translated using Weblate (Russian)
Currently translated at 97.9% (2807 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
* Translated using Weblate (Russian)
Currently translated at 97.9% (2807 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
* Translated using Weblate (Turkish)
Currently translated at 98.7% (2829 of 2866 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/
* process localizations
* fix android translations
* ui: fix translation errors and revert Turkish vandalism (PR #7206 review)
Corrects issues found reviewing the incoming translations across 20 languages.
CRITICAL:
- Turkish: revert 8 vandalized strings to faithful translations — the
"Open external link?" security dialog, app-upgrade prompt, relay-status
labels, and the "Privacy: for owners and subscribers" line had been
replaced with joke/offensive text.
- Ukrainian: fix a files/media privacy toggle that showed an unrelated
"chat with admins" string.
HIGH/MEDIUM: badge voice/tense inversions (uk, vi, ro, de), meaning
mistranslations (fr, es, id, vi, zh-Hans, ja, nl, ru), the Danish relay-bar
"/" separator loss, re-added role-name quotes (de, es, it, ar, ru, zh-Hans,
zh-Hant), restored dropped \n line breaks and sentences (id), and typos
(hu, es, uk, ro, cs, bg).
Placeholders, XML well-formedness, and .strings validity verified intact.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* ui: revert residual Turkish vandalism (Owner→Emperor)
Second-pass review caught vandalized strings missed in the first fix round:
- member_info_section_title_owner: "İmparator" (Emperor) → "Sahip" (Owner)
- channel_members_section_owners: "İmparatorlar ve katkıda bulunanlar"
(Emperors and contributors) → "Sahipler ve katkıda bulunanlar"
- migrate: "Göç" (emigration) → "Taşı" (correct verb for the Migrate action)
Same vandal (mehmetksm@tuta.io ) as the strings reverted in 9b5486bfa .
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* ui: translate romanized Hindi connect-flow strings
Second-pass reconciliation caught 6 Hindi strings left as broken "Hinglish"
(English words in Devanagari / untranslated) that were missed in the first
fix round — now proper Hindi:
- connect_via_contact_link, connect_via_invitation_link,
connect_use_current_profile, connect_use_new_incognito_profile,
connect_use_incognito_profile, profile_will_be_sent_to_contact_sending_link
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Ophiushi <41908476+ishi-sama@users.noreply.github.com >
Co-authored-by: Deleted User <noreply+6980@weblate.org >
Co-authored-by: No name <usir.alerts@onionmail.org >
Co-authored-by: John m <jvanmanen@gmail.com >
Co-authored-by: Deleted User <noreply+59251@weblate.org >
Co-authored-by: zenobit <zenobit@disroot.org >
Co-authored-by: Maksym Lukashenko <livelmaxim@gmail.com >
Co-authored-by: petri <pkajander@gmail.com >
Co-authored-by: okmepro <ix28@proton.me >
Co-authored-by: B.O.S.S <BxOxSxS@protonmail.com >
Co-authored-by: Paulo Alexandre Pereira <github@paapereira.com >
Co-authored-by: Roee Hershberg <roihershberg@protonmail.com >
Co-authored-by: Anonymous <noreply@weblate.org >
Co-authored-by: Titapa (PunPun) Chaiyakiturajai <titapapunne@gmail.com >
Co-authored-by: elgratea <weblate@fastmail.com >
Co-authored-by: xe1st <dnzkckali@gmail.com >
Co-authored-by: mlanp <github@lang.xyz >
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: summoner001 <summoner@disroot.org >
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org >
Co-authored-by: Thu Pham-Anh <satoneken@gmail.com >
Co-authored-by: SquiralDot...🖤 <siaspride@gmail.com >
Co-authored-by: andiasriefail <andiasriefail2004@gmail.com >
Co-authored-by: Frank Yang <yangchuanxu@live.cn >
Co-authored-by: Artemchik Dornikov <artemchikdornikov@gmail.com >
Co-authored-by: cedev-1 <cedevserver@gmail.com >
Co-authored-by: cllih <a1482007736@163.com >
Co-authored-by: Aliet Expósito García <disturbed.prayer@gmail.com >
Co-authored-by: koreirozzu <trueworldfacts+asjfsajfhajfh@proton.me >
Co-authored-by: Bharadwaj <saibharadwajreddy09@gmail.com >
Co-authored-by: slrslr <adm@prnet.info >
Co-authored-by: Filip Ionut <iiiff222@gmail.com >
Co-authored-by: Nguyễn Xuân Cảm <nguyenxuancamit@gmail.com >
Co-authored-by: Dimas Alfa Pratama <world.russia.soviet.russia@gmail.com >
Co-authored-by: Mathias Pedersen <mathias.k.pedersen@hotmail.com >
Co-authored-by: kudebug <joel.hazas@outlook.es >
Co-authored-by: rider of the storm <pukhnobg@gmail.com >
Co-authored-by: Nguyen Thanh Long <longnt121004@gmail.com >
Co-authored-by: Fill Vj <screen4fill@gmail.com >
Co-authored-by: Stonepilot <lojide7802@httpsu.com >
Co-authored-by: Bugatsinho <bugatsinho@protonmail.com >
Co-authored-by: Darío Hereñú <magallania@gmail.com >
Co-authored-by: Loping151 <wangkailing151@gmail.com >
Co-authored-by: pahiy <ayazdoruck@gmail.com >
Co-authored-by: M Yusup Hamdani <dani.webdev@gmail.com >
Co-authored-by: lazizkhalilov <ssilkavtaganrog@icloud.com >
Co-authored-by: Игорь Линчевский <insrtnqme@gmail.com >
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca >
Co-authored-by: Irnovi Albaweny <huiralb@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: SHE LINGZHAO <rottesya@gmail.com >
Co-authored-by: Rafi <rafimuhmad90@protonmail.com >
Co-authored-by: ryokky3 <ryoxnasan@outlook.jp >
Co-authored-by: Auri <serg_sarov@mail.ru >
Co-authored-by: kkpanfilov <kkpanfilov@outlook.com >
Co-authored-by: echoloji <mehmetksm@tuta.io >
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* website: translations (#7207 )
* Translated using Weblate (French)
Currently translated at 75.3% (281 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/
* Translated using Weblate (French)
Currently translated at 75.3% (281 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/
* Translated using Weblate (Czech)
Currently translated at 100.0% (373 of 373 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 94.1% (351 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (373 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/es/
* Translated using Weblate (French)
Currently translated at 75.3% (281 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/
* Translated using Weblate (French)
Currently translated at 75.3% (281 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/
* Translated using Weblate (Czech)
Currently translated at 100.0% (373 of 373 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 94.1% (351 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (373 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/es/
* Translated using Weblate (Japanese)
Currently translated at 79.6% (297 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ja/
* Translated using Weblate (German)
Currently translated at 100.0% (373 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/
* Translated using Weblate (Russian)
Currently translated at 87.9% (328 of 373 strings)
Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ru/
* website: fix mistranslated security/feature terms (PR #7207 review)
- Japanese: "Repudiation" (deniability) was rendered as 否認防止
(non-repudiation, the opposite property) — corrected to 否認可能性;
"2-factor key exchange" was 2ファクタ認証 (authentication) — corrected
to 2ファクタ鍵交換.
- French: message padding ("Briar pads messages to ... bytes") was
translated as a size limit ("limite la taille") — corrected to padding
("complète les messages à une taille arrondie à ...").
- Simplified Chinese: the "Community Credits" feature name was rendered as
社区声望 (community reputation) — restored to "Community Credits".
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: N4TH4NOT <n4th4not@gmail.com >
Co-authored-by: cedev-1 <cedevserver@gmail.com >
Co-authored-by: slrslr <adm@prnet.info >
Co-authored-by: huzaifah <huzaifahasif3@gmail.com >
Co-authored-by: kudebug <joel.hazas@outlook.es >
Co-authored-by: ryokky3 <ryoxnasan@outlook.jp >
Co-authored-by: mlanp <github@lang.xyz >
Co-authored-by: Auri <serg_sarov@mail.ru >
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* dont change font for unverified names
* better verified names view
* better layout for verified status
* shift icon
* move icon
* set domain on business chat
* change padding
* fix, test
* add params to log
* add domain to the usual group
* add domain to BusinessChatInfo
* bot types
* remove comment
* remove comment
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* fix query
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: Ophiushi <41908476+ishi-sama@users.noreply.github.com >
Co-authored-by: Deleted User <noreply+6980@weblate.org >
Co-authored-by: No name <usir.alerts@onionmail.org >
Co-authored-by: John m <jvanmanen@gmail.com >
Co-authored-by: Deleted User <noreply+59251@weblate.org >
Co-authored-by: zenobit <zenobit@disroot.org >
Co-authored-by: Maksym Lukashenko <livelmaxim@gmail.com >
Co-authored-by: petri <pkajander@gmail.com >
Co-authored-by: okmepro <ix28@proton.me >
Co-authored-by: B.O.S.S <BxOxSxS@protonmail.com >
Co-authored-by: Paulo Alexandre Pereira <github@paapereira.com >
Co-authored-by: Roee Hershberg <roihershberg@protonmail.com >
Co-authored-by: Anonymous <noreply@weblate.org >
Co-authored-by: Titapa (PunPun) Chaiyakiturajai <titapapunne@gmail.com >
Co-authored-by: elgratea <weblate@fastmail.com >
Co-authored-by: xe1st <dnzkckali@gmail.com >
Co-authored-by: mlanp <github@lang.xyz >
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: summoner001 <summoner@disroot.org >
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org >
Co-authored-by: Thu Pham-Anh <satoneken@gmail.com >
Co-authored-by: SquiralDot...🖤 <siaspride@gmail.com >
Co-authored-by: andiasriefail <andiasriefail2004@gmail.com >
Co-authored-by: Frank Yang <yangchuanxu@live.cn >
Co-authored-by: Artemchik Dornikov <artemchikdornikov@gmail.com >
Co-authored-by: cedev-1 <cedevserver@gmail.com >
Co-authored-by: cllih <a1482007736@163.com >
Co-authored-by: Aliet Expósito García <disturbed.prayer@gmail.com >
Co-authored-by: koreirozzu <trueworldfacts+asjfsajfhajfh@proton.me >
Co-authored-by: Bharadwaj <saibharadwajreddy09@gmail.com >
Co-authored-by: slrslr <adm@prnet.info >
Co-authored-by: Filip Ionut <iiiff222@gmail.com >
Co-authored-by: Nguyễn Xuân Cảm <nguyenxuancamit@gmail.com >
Co-authored-by: Dimas Alfa Pratama <world.russia.soviet.russia@gmail.com >
Co-authored-by: Mathias Pedersen <mathias.k.pedersen@hotmail.com >
Co-authored-by: kudebug <joel.hazas@outlook.es >
Co-authored-by: rider of the storm <pukhnobg@gmail.com >
Co-authored-by: Nguyen Thanh Long <longnt121004@gmail.com >
Co-authored-by: Fill Vj <screen4fill@gmail.com >
Co-authored-by: Stonepilot <lojide7802@httpsu.com >
Co-authored-by: Bugatsinho <bugatsinho@protonmail.com >
Co-authored-by: Darío Hereñú <magallania@gmail.com >
Co-authored-by: Loping151 <wangkailing151@gmail.com >
Co-authored-by: pahiy <ayazdoruck@gmail.com >
Co-authored-by: M Yusup Hamdani <dani.webdev@gmail.com >
Co-authored-by: lazizkhalilov <ssilkavtaganrog@icloud.com >
Co-authored-by: Игорь Линчевский <insrtnqme@gmail.com >
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca >
Co-authored-by: Irnovi Albaweny <huiralb@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: SHE LINGZHAO <rottesya@gmail.com >
Co-authored-by: Rafi <rafimuhmad90@protonmail.com >
Co-authored-by: ryokky3 <ryoxnasan@outlook.jp >
Co-authored-by: Auri <serg_sarov@mail.ru >
Co-authored-by: kkpanfilov <kkpanfilov@outlook.com >
Co-authored-by: echoloji <mehmetksm@tuta.io >
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: N4TH4NOT <n4th4not@gmail.com >
Co-authored-by: huzaifah <huzaifahasif3@gmail.com >
2026-07-10 20:53:14 +01:00
56040adf28
multiplatform: improve image processing ( #7082 )
...
* Bound attachment image decoding
* desktop: downsample attachment images like android; keep user picks uncapped
---------
Co-authored-by: Paul Bottinelli <paul.bottinelli@trailofbits.com >
2026-07-10 09:02:27 +01:00
Narasimha-sc and GitHub
41379907f2
ios: show spinner for database operations moved to sub-screen ( #7228 )
...
The settings reorganization (#7005 ) moved Export, Import and Start chat
into the pushed "Database passphrase & export" sub-screen, but the
progress spinner stayed as an overlay on the parent screen, hidden
behind it. Add the same overlay to the sub-screen so the spinner is
visible during these operations, matching DatabaseEncryptionView.
2026-07-09 23:36:32 +01:00
spaced4ndy and GitHub
00f8adb461
core: don't create group-only feature items in channels ( #7220 )
2026-07-09 09:36:39 +00:00
sh and GitHub
a4e3a1ea11
simplex-chat: sync nodejs and python libs with 7.0.0-beta.3 types ( #7219 )
2026-07-08 09:01:17 +01:00
Evgeny Poberezkin
8b537fbc3a
website: update whitepaper
2026-07-07 23:28:32 +01:00