Narasimha-sc
b865fa6edd
android: show attachment options above the keyboard
2026-09-23 15:42:55 +00:00
spaced4ndy
0b9ae4d6de
ui: open support SimpleX screen from badge and file alerts ( #7563 )
2026-09-23 09:34:47 +00:00
spaced4ndy
fae017d5b3
ui: show close button on badges banner only after it was opened ( #7560 )
2026-09-22 13:40:56 +00:00
spaced4ndy
150897d637
core, ui: alert the user when badge renewal is failing ( #7532 )
2026-09-22 12:55:08 +00:00
spaced4ndy
a3ac420e91
ui: one banner at a time in chat list ( #7554 )
2026-09-21 16:51:14 +00:00
spaced4ndy
9a583d394f
Merge branch 'stable'
2026-09-21 20:33:31 +04:00
spaced4ndy
fd16048598
ui: replace wefunder logo with simplex logo on crowdfunding banner ( #7555 )
2026-09-21 16:28:58 +00:00
spaced4ndy
45d674c067
Merge branch 'stable'
2026-09-21 18:17:36 +04:00
spaced4ndy
7e24ecb982
ui: add wefunder logo to crowdfunding banner ( #7553 )
2026-09-21 14:16:38 +00:00
spaced4ndy
f68bccecfb
Merge branch 'stable'
2026-09-21 17:31:29 +04:00
spaced4ndy
c8c05359b5
ui: crowdfunding banner on onboarding and in chat list ( #7552 )
2026-09-21 12:01:57 +00:00
SimpleX Chat
3326f9db2a
7.1-beta.4: android 379, desktop 162, ios 357
2026-09-19 14:25:57 +00:00
Evgeny and Evgeny @ SimpleX Chat
0183a36058
ui: update text about badges ( #7544 )
...
* ui: update text about badges
* update
* update
* update
* update
* update
* update
* update kotlin
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-19 14:16:39 +01:00
Evgeny Poberezkin
25c5b3cdfd
Merge branch 'stable'
2026-09-19 12:21:53 +01:00
Narasimha-sc and Evgeny Poberezkin
ecb9d87157
android, desktop: fix Submit button not visible in passcode view in split screen ( #7497 )
...
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-09-19 10:13:52 +01:00
Narasimha-sc
463761cc8e
ui: use backward compatible Java api in stripFormattedTextLink ( #7464 )
2026-09-19 08:31:52 +01:00
Narasimha-sc
6f85f1d4f0
android, desktop: offer key verification when member profile is opened from chat ( #7486 )
...
In channels members are usually connected via relays, so they are memberCurrent
but not memberActive, and #7255 widened the condition for requesting the member
security code to cover them. It updated GroupChatInfoView and
MemberSupportChatView, but not the same code in ChatView, so "Verify security
code" is not offered when the profile is opened by tapping member avatar in the
chat, while it is offered for the same member in the members list.
2026-09-19 08:13:05 +01: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
746d33ff6d
multiplatform: remove unused strings ( #7529 )
2026-09-17 15:12:14 +00:00
spaced4ndy
dd5c47d02d
ui: "how it works" link and card styling on badge screen ( #7524 )
2026-09-16 15:13:01 +00:00
spaced4ndy
c52044f3c3
ui: show progress spinner on redeeming code ( #7523 )
2026-09-16 14:43:28 +00: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
SimpleX Chat
172c6d9ca3
7.1-beta.3: android 378, desktop 161, ios 356
2026-09-15 16:59:06 +00:00
spaced4ndy
b0a7219db2
android: show "Get your code" button in all app flavours ( #7514 )
2026-09-15 15:32:10 +00:00
spaced4ndy
56ced9bfea
Merge branch 'master' into badges
2026-09-15 18:26:13 +04:00
spaced4ndy
6a7eae2751
ui: redeem code ( #7482 )
2026-09-15 14:23:13 +00:00
SimpleX Chat
cd4225869d
ios 355
2026-09-15 12:06:36 +00:00
spaced4ndy
069efad7a2
core: consolidate badges schema ( #7513 )
2026-09-15 10:15:34 +00:00
spaced4ndy
bac8d187ba
Merge branch 'master' into badges
2026-09-14 17:13:58 +04:00
Evgeny and Evgeny @ SimpleX Chat
ae19a81201
directory: option to set observer role by default ( #7501 )
...
* directory: set role
* role
* option
* shorter help
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-13 15:17:27 +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 Poberezkin
ecdc518d4c
support bot: update welcome message
2026-09-11 07:42:01 +01:00
spaced4ndy
db4b73962d
Merge branch 'master' into badges
2026-09-10 13:23:28 +04:00
spaced4ndy
f9bab17643
core: renew badges monthly and alert when support ends ( #7448 )
2026-09-09 14:31:05 +00:00
Narasimha-sc
6e3c668fb9
ios, android, desktop: do not add loaded items of another chat to the opened chat ( #7450 )
...
* ios, android, desktop: do not add loaded items of another chat to the opened chat
apiLoadMessages could apply a loaded page to a chat it was not loaded for,
mixing messages of two chats in one list:
- the chat id was not checked at all for .last pagination, and the loading
coroutine is not cancelled when the chat is closed (PreloadItems wraps it
into NonCancellable, apiFindMessages runs in a scope of its own), so a .last
page loaded for the previously opened chat was appended to the items of the
chat opened while it was loading;
- for the other paginations the chat id was checked before the items were
loaded, but they are applied on the main thread after a dispatch, so the chat
could be switched in between.
Check the chat id (and the remote host id in kotlin) right before the items are
applied, in every pagination except .initial and opening around item that set
chat id themselves. Empty chatItems remain allowed for .last that is used for
searching.
* android, desktop: test that loaded items of another chat are not added to the opened chat
Reproduces the bug deterministically, without depending on the timing of the
race: processLoadedChat is called with a page loaded for another chat while the
opened chat has its own items.
Without the fix the items of the two chats end up in one list:
lastPageLoadedForAnotherChatIsNotAddedToOpenedChat
expected:<[101, 102]> but was:<[101, 102, 201, 202]>
beforePageLoadedForAnotherChatIsNotAddedToOpenedChat
expected:<[101, 102]> but was:<[201, 202, 101, 102]>
aroundPageLoadedForAnotherChatIsNotAddedToOpenedChat
expected:<[101, 102]> but was:<[101, 102, 201, 202]>
2026-09-05 15:28:00 +01:00
SimpleX Chat
3d5e85b180
7.1-beta.2: android 377, desktop 160, ios 352
2026-09-02 15:18:18 +00:00
SimpleX Chat
4df04bdb3f
7.0.2: android 375, desktop 159, ios 351
2026-09-02 12:22:31 +00:00
spaced4ndy
c623f4284c
Merge branch 'master' into badges
2026-09-02 13:53:35 +04:00
+6
dacbcb00e5
ui: translations ( #7446 )
...
* Translated using Weblate (Italian)
Currently translated at 100.0% (2904 of 2904 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% (2501 of 2501 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% (2903 of 2904 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2904 of 2904 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/pt_BR/
* Translated using Weblate (Slovak)
Currently translated at 29.6% (862 of 2904 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* Translated using Weblate (German)
Currently translated at 100.0% (2904 of 2904 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% (2501 of 2501 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 93.5% (2717 of 2904 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (2904 of 2904 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% (2904 of 2904 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% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (Slovak)
Currently translated at 31.6% (918 of 2904 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* Translated using Weblate (German)
Currently translated at 100.0% (2905 of 2905 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% (2905 of 2905 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% (2904 of 2905 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
* Translated using Weblate (Slovak)
Currently translated at 31.7% (921 of 2905 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* 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 (Spanish)
Currently translated at 100.0% (2905 of 2905 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% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
* Translated using Weblate (Slovak)
Currently translated at 33.0% (960 of 2905 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* 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 (Hungarian)
Currently translated at 100.0% (2905 of 2905 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/
* Translated using Weblate (French)
Currently translated at 97.0% (2827 of 2912 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (2912 of 2912 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/
* Translated using Weblate (Slovak)
Currently translated at 34.4% (1003 of 2912 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* Translated using Weblate (French)
Currently translated at 100.0% (2912 of 2912 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
* Translated using Weblate (Czech)
Currently translated at 93.4% (2722 of 2912 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (2912 of 2912 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% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (Slovak)
Currently translated at 36.1% (1053 of 2912 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* 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 (Italian)
Currently translated at 100.0% (2917 of 2917 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% (2916 of 2917 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
* Translated using Weblate (Slovak)
Currently translated at 36.6% (1068 of 2917 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* 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/
* Added translation using Weblate (Azerbaijani)
* Added translation using Weblate (Azerbaijani)
* Translated using Weblate (German)
Currently translated at 100.0% (2917 of 2917 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/
* Translated using Weblate (French)
Currently translated at 100.0% (2917 of 2917 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fr/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (2917 of 2917 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% (2917 of 2917 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% (2501 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/
* Translated using Weblate (Slovak)
Currently translated at 37.4% (1091 of 2917 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* Translated using Weblate (Azerbaijani)
Currently translated at 31.5% (789 of 2501 strings)
Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/az/
* Translated using Weblate (Slovak)
Currently translated at 37.5% (1094 of 2917 strings)
Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/sk/
* ui: process translations
* ui: fix translation errors found in review (de, es, fr, hu)
de: "you removed %1$s" was translated as an agentless passive
("%1$s wurde aus der Gruppe entfernt"), so your own removal of a member
rendered identically to a removal by someone else. The UI prepends the
member name only for rcv group events, so snd events must name the actor
themselves, as every other snd_group_event_* string does
("Sie haben %s blockiert", "Sie haben dieses Mitglied angenommen").
fr: "Unblock members for all?" was translated as "Débloquer tous les
membres ?" ("unblock ALL members"), dropping the for-all moderation scope
and mis-stating the target set. Aligned with its sibling
block_members_for_all_question ("Bloquer ces membres pour tous ?").
fr: member_info_status was left untranslated as "Status"; the file uses
"Statut" for the other InfoRow status labels.
fr: restore_passphrase_can_not_be_read_desc called the Keystore
"coffre-fort" while its near-identical sibling
restore_passphrase_can_not_be_read_enter_manually_desc called it
"Keystore".
es: "registar" -> "registrar".
hu: "[kapcsolattal] (https://...)" had a space between ] and (, so the
transport-isolation link did not render as a markdown link on iOS.
---------
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org >
Co-authored-by: Hosted Weblate user 54392 <hamburger2048@users.noreply.hosted.weblate.org >
Co-authored-by: SanctumSaturn <oraculogithub@gmail.com >
Co-authored-by: Martin Kozempel <rado2012mir@gmail.com >
Co-authored-by: mlanp <github@lang.xyz >
Co-authored-by: Ranakan <ranakan.dev@protonmail.ch >
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org >
Co-authored-by: summoner001 <summoner@disroot.org >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: No name <usir.alerts@onionmail.org >
Co-authored-by: Pablo <pyg@duck.com >
Co-authored-by: Evgeny Poberezkin <e.poberezkin@me.com >
Co-authored-by: Weblate <noreply@weblate.org >
Co-authored-by: Mireli5656 <miraliseyidli5656@gmail.com >
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com >
2026-09-02 10:26:52 +01:00
Evgeny and Evgeny @ SimpleX Chat
735662902f
core, ui: make badge expiration non-optional ( #7445 )
...
* core, ui: make badge expiration non-optional
* update
* update bot types
* fix to use non-optional badge expiry
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-02 08:14:09 +01: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
Evgeny
6b705490aa
ios: export localizations ( #7437 )
2026-08-30 10:55:19 +01:00
Evgeny Poberezkin
ed2cf1d98f
Merge branch 'master' into badges
2026-08-29 19:14:04 +01:00
Evgeny Poberezkin
070cb366b0
Merge branch 'stable'
2026-08-29 19:13:15 +01:00
Evgeny Poberezkin
2961fecc35
ui: update strings
2026-08-29 19:12:40 +01:00
Evgeny Poberezkin
498d7da837
Merge branch 'stable'
2026-08-29 18:59:49 +01:00
Evgeny and Evgeny @ SimpleX Chat
d1c6a5717a
ui: show countdown until SimpleX domains sale launch ( #7434 )
...
* ui: show countdown until SimpleX domains sale launch
* list
* ios: update
* update kotlin, ios countdown
* kotlin countdown
* fix formats
* padding
* update
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-08-29 18:59:12 +01:00
Evgeny Poberezkin
9c77703017
Merge branch 'master' into badges
2026-08-28 19:37:10 +01:00