spaced4ndy
b6f141d6e5
Merge branch 'master' into f/directory-integration-plan
2026-09-24 16:37:55 +04:00
Evgeny and Evgeny @ SimpleX Chat
9a9ce70b2f
core: fix connecting via prepared connection with contact card ( #7575 )
...
* core: fix connecting via prepared connection with contact card
* simplify
* merge transactions
* update query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-24 08:11:29 +01:00
Evgeny and Evgeny @ SimpleX Chat
23136f1cd5
core: update agent API for connections ( #7574 )
...
* core: update agent API for connections
* update simplexmq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-23 21:29:41 +01:00
spaced4ndy
1c8ca01fb0
Merge branch 'master' into f/directory-integration-plan
2026-09-22 20:32:41 +04:00
spaced4ndy
150897d637
core, ui: alert the user when badge renewal is failing ( #7532 )
2026-09-22 12:55:08 +00:00
spaced4ndy
54ed1d846a
review fixes
...
- core: reject service payloads nested deeper than 32 levels, so a hostile service cannot crash the app's JSON decoder
- core: one parseServiceBody (decompress, decode, depth check) at all three decode points: incoming requests, sendServiceRequestTo, redeemBadgeCode
- directory: '%' and '_' in search text match literally instead of acting as LIKE wildcards
- directory: search text over 100 characters is rejected over RPC
- directory: a new directory creates its address with DR keys, so service requests work without a manual key rotation
- directory: service requests are always processed; the --service-requests switch is no longer needed for the directory
- directory: the in-flight service request cap is a DirectoryOpts field (default 8) instead of a hardcoded constant
- directory: the page-fit check compresses the exact response object that is sent, not a proxy with a different key order and cursor
- directory: search entries omit the full link when a short link exists, saving hundreds of bytes per entry in the envelope
- ios: add DirectorySearch.swift and DirectorySearchView.swift to the Xcode project; the app did not build without them
- ios: in the onboarding state the search bar is at the bottom in one-hand mode, as in the chat list
- ios: in the onboarding state a failed search shows the retry row instead of returning to the cards
- ios: a search with no results shows a "No results" row
- ios: the "No chats found" overlay no longer covers directory results, the retry row or the no-results row
- ios: directory rows are rendered by one builder for both the onboarding and chat-list branches
- ios: retrying after a failed "Show more" resumes from the cursor instead of restarting the search
- ios: cancelling the spinner, or tapping a result mid-search, drops the pending request without clearing results already shown
- ios: typing during a search stops the spinner, and a stale response no longer clears a newer search's spinner
- ios: repeated Search taps for the same text while a search is in flight are ignored
- ios: channel results show the subscriber count and channel icon; group results show the group icon
- ios: remove the unused searchText parameter of SearchInDirectoryRow
- android: a directory search timeout no longer pops the retry alert (the UI will show a retry row)
- tests: RPC paging by the echoed cursor, literal wildcards and the length bound, rejection over the cap, page fitting to the envelope, nested payload rejection
2026-09-18 16:45:42 +04:00
Evgeny and Evgeny @ SimpleX Chat
c8466b2010
core: refactor groups ( #7503 )
...
* core: refactor groups
* refactor
* refactor
* refactor
* refactor
* refactor
* rename
* refactor
* remove
* rename
* diff
* simplify
* relay requests
* bot types
* check useRelays
* refactor
* query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-18 10:18:10 +01:00
spaced4ndy
c7b3e362ec
core, ui: badge credential details in developer tools ( #7527 )
2026-09-17 16:18:04 +00:00
spaced4ndy
125bd0e3dd
Merge branch 'master' into f/directory-integration-plan
2026-09-17 13:34:26 +04:00
spaced4ndy
f38c7e0f2b
core, ui: badge redeem errors and fixes ( #7515 )
...
- redeem errors are typed (CEBadgeRedeemError) instead of matched by text in the apps
- service timeout (A_SERVICE) decodes in the apps and offers Retry via the existing retry alert
- unexpected redeem errors show the error itself instead of a generic message
- service error codes are a typed enum in the apps (BadgeServiceErrorCode)
- CRBadgeRedeemed returns badge state, so the apps skip a second round-trip after redeem
- setBadgeAlertAcked is scoped to user_id
- badgeChanged updates non-active profiles, so other profiles' badges don't go stale
- pitch banner is not shown to a profile that already has a badge
- one badgeTypeName per platform, used by the badge screen and the badge info alert
- BadgeAlertKind and BadgeAlertPrice decode via standard JSON, no custom decoders
- dead "Support ended" title branch removed from Your Badge view
- kotlin: users from badge responses carry remoteHostId
- kotlin: redeem code field keeps the IME's cursor and composition state
- kotlin: "Get your code" shown in all flavours
- kotlin: "Don't show again" -> "Dismiss", matching iOS
- kotlin: parseBadgeCode moved next to its FFI in platform/Core.kt
- kotlin: BadgesView no longer cross-fades on badge state updates
- kotlin: section title not uppercased
- ios: redeem code field parses once per change
- ios: A_SERVICE rejected reason is not decoded
- CLI: "cannot redeem badge code: ..." with the source of the error
- comments clarified
2026-09-16 14:15:11 +00:00
brenzi
9af6fb00e6
minimal adjustment to make client compile against SMP-v22 PR ( #7520 )
...
* minimal adjustment to make client compile against SMP-v22 PR
* repin after upstream merge
2026-09-16 10:07:18 +01:00
spaced4ndy
6a7eae2751
ui: redeem code ( #7482 )
2026-09-15 14:23:13 +00:00
spaced4ndy
bac8d187ba
Merge branch 'master' into badges
2026-09-14 17:13:58 +04:00
Evgeny and Evgeny @ SimpleX Chat
237409890e
core: stop all workers on chat controller stop ( #7502 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-13 17:19:15 +01:00
Evgeny and Evgeny @ SimpleX Chat
ca114a7a2a
core: option to limit the max number of loaded chats ( #7499 )
...
* core: option to limit the max number of loaded chats
* update bot api
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-13 12:23:39 +01:00
Evgeny and Evgeny @ SimpleX Chat
5ffbe733a8
core: attach badge proofs to files over size limit ( #7455 )
...
* core: attach badge proofs to files over size limit
* types
* more types
* implement file badge proofs
* tests
* move file limits to config, add tests
* more tests, work correctly in "send as group" case
* fix races in tests
* group badge tests
* query plans
* add history support, fixes
* simplify
* refactor
* refactor
* type
* restructure schema for proofs
* rename, refactor
* refactor
* fix, refactor
* refactor
* ui
* comments
* alerts
* update nix, ios library
* updare sharing
* update simplexmq
* update text
* improve messages
* api types
* postgres schema
* fix
* test
* query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-12 14:33:52 +01:00
Evgeny and Evgeny @ SimpleX Chat
44773d0412
core: support message signing in p2p groups ( #7312 )
...
* core: support message signing in p2p groups
* improve
* add member key
* distribute keys and sign
* refactor
* better query
* map
* sign in relay groups too
* clean up
* list
* fix test
* update bot types
* some refactor
* remove unnecessary condition
* simplify
* refactor
* simplify
* move
* clean up
* diff
* diff
* limit attempts for key sending
* optimize
* fix test
* split
* fuse
* null
* only mark as "key sent" when forwarder supports binary encoding
* fix bot apis
* fix some tests
* add key distribution steps, and fix some tests
* fix test
* increase timeout
* fix tests
* fix more tests
* simplify
* disable test output
* mark keys sent with invitations
* fix test
* fix test, query plans
* unify signing of connection info packets
* revert change to createNewGroup
* create key at group/member creation
* rename, remove liftIO
* clean up
* fix type
* remove ad hoc key sending
* update bot api
* diff
* reduce diff
* failing test
* fix sending messages in groups with members before version 18
* remove test delays
* update query plans
* update test
* add tests
* fix tests
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-11 12:33:07 +01:00
spaced4ndy
bd97e4df34
core: verify the badge ledger sent by the service ( #7480 )
2026-09-11 09:41:23 +00:00
spaced4ndy
f9bab17643
core: renew badges monthly and alert when support ends ( #7448 )
2026-09-09 14:31:05 +00:00
spaced4ndy
c623f4284c
Merge branch 'master' into badges
2026-09-02 13:53:35 +04:00
Evgeny and Evgeny @ SimpleX Chat
f99c474ca6
core: send badge ZK-proofs to XFTP servers, add file expiry time ( #7430 )
...
* core: send badge ZK-proofs to XFTP servers
* update simplexmq, use keys and header from simplexmq
* core: add file expiry time
* refactor
* remove posix module
* rename migrations
* bot api
* update UI
* import
* show item from loaded information
* ios: update core library
* text
* send entitlements in handshake
* simplexmq
* query plans
* update simplexmq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-01 23:16:15 +01:00
spaced4ndy
3ddf17dce5
core: redeem badge codes ( #7438 )
2026-09-01 12:06:51 +00:00
spaced4ndy
7af42558c5
Merge branch 'master' into f/directory-integration-plan
2026-08-27 13:11:04 +04:00
Evgeny and Evgeny @ SimpleX Chat
17cdef1692
core: include channel link and name when forwarding messages ( #7409 )
...
* core: include channel link and name when forwarding messages
* wip
* simplify
* add member ID
* refactor
* refactor
* refactor
* update api types
* store forward source group type
* rename
* api types
* simpler layout
* layout, translations
* refactor ios
* public
* simpler
* refactor kotlin
* padding
* padding
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-08-24 21:36:57 +01:00
ecb008b792
core, ui: auto-accept group invitations per user profile ( #7377 )
...
* core, ui: auto-accept group invitations per user profile
Add a per-profile toggle for auto-accepting group invitations, and regroup it
with the existing contact-requests setting under a single Auto-accept section
in Privacy & Security, relabelled "Contact requests in groups".
The join is fully async. processGroupInvitation already had an async accept
path, used when the invitation matches a group link the user opened:
prepareAgentJoin + createMemberConnectionAsync + joinAgentConnectionAsync,
with the outcome reported later against the CFJoinConn command id. Auto-accept
takes that same path instead of going through APIJoinGroup, so it works while
the app is closed and never blocks message processing.
An auto-accepted invitation still records a CIRcvGroupInvitation item in the
chat with the inviting contact, so there is a record of who added the user to
which group.
Two details worth noting for review:
hostContact is reported to clients only for group links. Clients respond to it
by replacing the transient host connection view with the group and removing
that chat - correct for a group link, where the contact is a placeholder, but
wrong for a plain invitation, where it is a real contact.
A resent invitation returns the existing group, because createGroupInvitation
is idempotent on inv_queue_info. The join therefore only runs while the
membership is still GSMemInvited, so a resend cannot open a second connection.
* booldef
* order
* refactor
* update translation key
* query plans
* ios: export translations
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2026-08-19 00:10:54 +01:00
sh and Evgeny Poberezkin
cbfdf63f4b
core: drop agent versions in simplexmq ( #7360 )
...
* core: adapt to dropped agent versions
* refactor
* remove comments
* api types, protocol tests
* fix test
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-08-18 22:50:59 +01:00
spaced4ndy
9170a3041f
wip
2026-08-13 21:07:22 +04:00
spaced4ndy
6fcfbd54c5
core: enforce allowRemoteCommand on the host ( #7370 )
2026-08-13 11:56:22 +00:00
spaced4ndy
261e6103f8
wip
2026-08-12 18:31:55 +04:00
Evgeny and Ed Asriyan
24816b66fe
core: enhance server test result handling with additional server info ( #7357 )
...
* core: enhance server test result handling with additional server info
* simpler
* nix
---------
Co-authored-by: Ed Asriyan <service.github@asriyan.me >
2026-08-09 16:09:29 +01:00
spaced4ndy
8c9c0211f9
core: prohibit admission review in channels, don't send history to pending members ( #7347 )
2026-08-05 14:52:45 +00:00
Evgeny and Evgeny @ SimpleX Chat
e1a349b90f
core: support contact addresses with DR keys, service requests ( #7310 )
...
* core: use double ratchet keys in contact address (#7278 )
* core: use double ratchet keys in contact address
* use PQ from the first message
* query plans
* update simplexmq
* api to rotate keys, option to show full links in CLI
* shorter description
* ui: add error parameters
* disable DR in addresses
* core: parameter for create address command to configure ratchet keys
* add pqRatchet param to address-related commands
* query plan
* fix parser
* fix kotlin
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* core: contact request rejection and service requests (#7292 )
* update simplexmq
* implement service requests and rejections
* tests
* migration
* fix migration
* add api event and response
* bot api, postgres migration
* nix shas
* bot types, rename property
* update bot type
* sign service requests
* update bots api
* query plan
* update plan
* update simplexmq
* fix test, update bot api
* fix bot api
* resolve name for service request
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* update simplexmq
* update simplexmq
* test delays
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-08-01 12:51:03 +01:00
Evgeny and Evgeny @ SimpleX Chat
f1418f9e55
core: drop support of chat versions older than 08/2024 ( #7319 )
...
* core: drop support of chat versions older than 08/2024
* fix encoding tests
* skip failing tests
* rename
* fix
* query plans
* remove unused legacy code
* remove more unused
* remove unused
* remove unused names
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-07-29 19:06:20 +01:00
Narasimha-sc
dc3c106bda
core: remove SimpleX Status preset contact ( #7231 )
...
* core: remove SimpleX Status preset contact
Preset contact cards are only created at user record creation
(createPresetContactCards), so this affects new profiles only;
existing profiles keep their stored SimpleX Status contact.
Removing the card shifts contact ids allocated after /create user
down by one, hence the test id updates.
* plans: justify SimpleX Status preset contact removal
2026-07-24 09:05:12 +01:00
spaced4ndy
8ec4b424cb
core: prohibit to change or assign relay role ( #7284 )
2026-07-22 19:39:05 +00:00
Narasimha-sc
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
spaced4ndy
966c9f7947
core: fail compilation on name shadowing ( #7283 )
2026-07-20 13:20:37 +00:00
spaced4ndy
ba6f5386c8
core: allow moderators to change member <-> observer roles in groups ( #7279 )
2026-07-20 12:56:23 +00:00
spaced4ndy
93831a0f24
core: signed history in channels, auto-sign based on preference ( #7257 )
2026-07-17 19:44:51 +00: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
0fef34914d
core, ui: security code verification in channels (verify member key) ( #7255 )
2026-07-15 10:46:31 +00:00
sh
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
spaced4ndy
e53508ecca
core, ui: make msgVerified optional ( #7247 )
2026-07-13 21:20:36 +00:00
Evgeny @ SimpleX Chat
751ff10eac
directory: fix group link verification ( #7242 )
...
* add logs
* more logs
* fix
* fix
2026-07-13 10:27:28 +01:00
Evgeny and Evgeny @ SimpleX Chat
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
spaced4ndy
51ad366e8b
core, ui: message signing ( #7115 )
2026-07-10 19:55:10 +00:00
+53
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
sh
d183f48fca
core: fix armv7a build (incomplete record update) ( #7205 )
2026-07-06 12:12:36 +01:00
Evgeny and Evgeny @ SimpleX Chat
6150b35a2f
core, ui: resolve untyped domains ( #7198 )
...
* core: resolve untyped domains
* CPError
* only add domain when it has link of correct type
* resolve first
* handle errors
* remove CPError
* update UI types
* remove unused name
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* refactor connection plan
* kotlin: show domain and alternative chat, haskell tests for dual domains
* view/tests
* update kotlin
* dual domains accounting for business chats
* refactor, fix
* fix kotlin
* remove comment
* search
* add resolve mode
* local resolution
* refactor, bot types
* search both contact and channel by name
* fix
* fix searching business chats by name
* fix ui
* ios
* fix ios
* fix icon
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-07-06 08:50:03 +01:00
spaced4ndy
6bb1da9e8d
core: request roster ( #7121 )
2026-07-03 19:32:29 +00:00