Commit Graph
6549 Commits
Author SHA1 Message Date
Evgeny Poberezkin fea9f482cf core: update bot api and query plans 2026-09-16 19:48:57 +01: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
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
Evgeny Poberezkin 5e8bff5a60 website: update 2026-09-16 00:09:04 +01:00
SimpleX Chat 172c6d9ca3 7.1-beta.3: android 378, desktop 161, ios 356 v7.1.0-beta.3 2026-09-15 16:59:06 +00:00
spaced4ndy dabaf29cd8 kotlin: add assets 2026-09-15 20:06:04 +04:00
spaced4ndy b0a7219db2 android: show "Get your code" button in all app flavours (#7514) 2026-09-15 15:32:10 +00:00
Evgeny Poberezkin 2bfbcd75a2 7.1.0.6 2026-09-15 15:30:09 +01:00
spaced4ndy d36e8608fa supporter badges (#7350) 2026-09-15 14:27:47 +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 a7aed3ebd5 core: update query plans 2026-09-15 15:26:53 +04:00
spaced4ndy 069efad7a2 core: consolidate badges schema (#7513) 2026-09-15 10:15:34 +00:00
Evgeny Poberezkin dd416e9ca6 website: redirect to badges 2026-09-15 10:22:57 +01:00
Evgeny Poberezkin ebabcc4053 core: 7.1.0.5 (simplexmq 7.1.0.6) 2026-09-15 10:13:10 +01:00
spaced4ndy bac8d187ba Merge branch 'master' into badges 2026-09-14 17:13:58 +04:00
EvgenyandEvgeny @ 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
EvgenyandEvgeny @ 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
EvgenyandEvgeny @ 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
EvgenyandEvgeny @ SimpleX Chat be673038ab core: optimize transactions during message delivery (#7498)
* core: optimize transactions during message delivery

* merge more transactions

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-13 11:01:51 +01:00
EvgenyandEvgeny @ SimpleX Chat f409680fa4 website: update link (#7496)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-12 16:22:32 +01:00
EvgenyandEvgeny @ 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
47d32b674a bots: add APIs (#7494)
* docs: fix bot API surface

- Fix missing space in APIShareMyAddress syntax expression which
  resulted in parse errors

- Document missing `Connect` responses: `CRConnectionPlan`, `CRSentInvitationToContact`,
  `CRStartedConnectionToContact`, and `CRStartedConnectionToGroup` (relay channel links).

- Document missing `CRUserProfileNoChange` responsed returned when `APISetProfileAddress` doesn't change the profile.

- Expose remote control APIs to bots

* website: improve sign-up forms (#7484)

* website: improve sign-up forms

* name

---------

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

* rename field

* generic

---------

Co-authored-by: a1akris <alkrivitskiy@pm.me>
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-12 14:13:11 +01:00
EvgenyandEvgeny @ SimpleX Chat 9631e0b1b9 website: improve sign-up forms (#7484)
* website: improve sign-up forms

* name

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-12 07:22:59 +01:00
EvgenyandEvgeny @ 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 c2c70fa114 core: fix flaky badge presentation catch-up test 2026-09-11 14:26:32 +04:00
spaced4ndy bd97e4df34 core: verify the badge ledger sent by the service (#7480) 2026-09-11 09:41:23 +00: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
EvgenyandEvgeny @ SimpleX Chat d90798e90a website: fix link (#7479)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-09 17:16:00 +01:00
spaced4ndy 47b499dcc4 core: change badge code prefix to "SB" (#7478) 2026-09-09 14:42:52 +00:00
spaced4ndy f9bab17643 core: renew badges monthly and alert when support ends (#7448) 2026-09-09 14:31:05 +00:00
EvgenyandEvgeny @ SimpleX Chat 209f0a5f85 website: crowdfunding page (#7474)
* website: crowdfunding page

* styles

* update

* images

* update

* images

* buttons

* form

* thankyou

* forms

* deck

* improve layout

* footer

* safe areas

* correction

* move page

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-09 11:52:30 +01:00
EvgenyandEvgeny @ SimpleX Chat e8fd58bc59 website: improve livestream signup form (#7473)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-08 13:46:46 +01:00
EvgenyandEvgeny @ SimpleX Chat 2caacecf6a website: subscription confirmation page (#7472)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-08 12:14:26 +01:00
EvgenyandEvgeny @ SimpleX Chat d2b7b1ec81 website: update thankyou page (#7470)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-08 09:08:09 +01:00
EvgenyandEvgeny @ SimpleX Chat c9a0f62d38 website: fix livestream form (#7469)
* website: fix livestream form

* target

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-07 23:49:48 +01:00
Evgeny dcef344bab blog: post by Nick Rogers (#7467) 2026-09-07 21:30:26 +01:00
EvgenyandEvgeny @ SimpleX Chat 46a1cdbce6 website: subscription thank you page (#7466)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-07 21:03:56 +01:00
Evgeny Poberezkin 5847fa7f31 website: update crowdfunding post/page 2026-09-05 21:21:49 +01: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
EvgenyandEvgeny @ SimpleX Chat 76a577afb3 core: use file expiration time when sending history (#7454)
* core: use file expiration time when sending history

* simplify

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-05 11:03:57 +01:00
Evgeny Poberezkin a0b6643932 Merge branch 'stable' 2026-09-02 19:20:55 +01:00
SimpleX Chat 3d5e85b180 7.1-beta.2: android 377, desktop 160, ios 352 v7.1.0-beta.2 2026-09-02 15:18:18 +00:00
SimpleX Chat 4df04bdb3f 7.0.2: android 375, desktop 159, ios 351 v7.0.2 2026-09-02 12:22:31 +00:00
Evgeny Poberezkin 4bb7e0f1bf core: 7.1.0.4 (simplexmq 7.1.0.5) 2026-09-02 11:08:06 +01:00
spaced4ndy c623f4284c Merge branch 'master' into badges 2026-09-02 13:53:35 +04:00