Commit Graph
1672 Commits
Author SHA1 Message Date
Evgeny Poberezkin ea454b98e1 Merge branch 'master' into ep/p2p-group-signing 2026-09-05 11:04:43 +01:00
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 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 192c08d74d Merge branch 'master' into ep/p2p-group-signing 2026-09-02 19:21:07 +01:00
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 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
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 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
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> f71b132536 core: support **text** as bold markdown (#7444)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-01 12:27:53 +01:00
Evgeny c14770ce51 core: fix test for aborting connection switching (pin to previous version) (#7418) 2026-08-25 13:13:16 +01:00
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 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
Evgeny Poberezkin 20811ec6c5 Merge branch 'master' into ep/p2p-group-signing 2026-08-21 09:03:39 +01:00
Evgeny Poberezkin 293e47d033 core: 7.1.0.3 (simplexmq 7.1.0.4) 2026-08-20 10:57:15 +01:00
shandEvgeny Poberezkin b9d38ec05d core: fast queue rotation not requiring the current server to be online (#7397)
* core: fast queue rotation not requiring the current server to be online

* simplexmq

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2026-08-20 10:39:02 +01:00
Evgeny Poberezkin e1c61cff37 Merge branch 'master' into ep/p2p-group-signing 2026-08-19 08:21:35 +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
shandEvgeny 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
Evgeny Poberezkin 1160215570 Merge stable 2026-08-18 17:16:21 +01:00
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 5e45fe1f0e directory: only create group links after approval (#7356)
* directory: only create group links after approval

* update test

* update messages

* diff

* get group and link in one query

* reduce database reads

* better errors

* typos

* query plans

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-08-18 16:35:37 +01:00
Evgeny 083fb0a705 ui: store country (#7389)
* ui: store country

* ios: 7.0.1 build 348

* update version

* android: update versions

* remove UK
2026-08-18 12:24:36 +01:00
sh 55d18efe24 core, python: fix refused renames, extend the client API (#7379)
* core: do not commit refused name changes

* feat(python): add error base and missing commands

* feat(python): let callers drive startup themselves

* style(python): satisfy the linter, skip generated types

* feat(python): expose the message of a command error

* core: update query plans

* core: fix the batch limit parse error on GHC 8.10

* feat(python): reject profile images no client can render
2026-08-17 09:02:14 +01:00
spaced4ndy 6fcfbd54c5 core: enforce allowRemoteCommand on the host (#7370) 2026-08-13 11:56:22 +00:00
spaced4ndy 493fb9cee8 core: limit the number of messages in a batch (#7364) 2026-08-13 10:04:21 +00:00
Evgeny Poberezkin 42c20c5015 Merge branch 'master' into ep/p2p-group-signing 2026-08-12 09:06:15 +01:00
EvgenyandEd 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 e04e080a3d core: prevent remote controller from writing files outside files folder (#7352) 2026-08-07 13:26:48 +00: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 Poberezkin 3f74a7cb32 update query plans 2026-08-04 08:20:11 +01:00
Evgeny @ SimpleX Chat 01bb8d8e7a fix sending messages in groups with members before version 18 2026-08-04 07:12:51 +00:00
Evgeny @ SimpleX Chat 3640e8fcd9 reduce diff 2026-08-02 19:10:49 +00:00
Evgeny @ SimpleX Chat d31bd2073b diff 2026-08-02 18:25:49 +00:00
Evgeny @ SimpleX Chat cee60fa59e remove ad hoc key sending 2026-08-02 17:07:53 +00:00
Evgeny Poberezkin ec4d8ca176 fix type 2026-08-02 16:47:53 +01:00
Evgeny Poberezkin 9c8d1b3b6d clean up 2026-08-02 13:41:12 +01:00
Evgeny Poberezkin eb0b4e0e56 rename, remove liftIO 2026-08-02 13:35:50 +01:00
Evgeny @ SimpleX Chat 54fd14b30a create key at group/member creation 2026-08-02 12:22:08 +00:00
Evgeny @ SimpleX Chat 7c6000439a revert change to createNewGroup 2026-08-02 11:01:12 +00:00
Evgeny @ SimpleX Chat 124f5e7b56 unify signing of connection info packets 2026-08-02 10:46:48 +00:00
Evgeny Poberezkin 2caf1655e1 fix test, query plans 2026-08-02 11:30:36 +01:00
Evgeny @ SimpleX Chat 112941985a fix test 2026-08-02 07:59:26 +00:00
Evgeny @ SimpleX Chat 9a4b7fa0bb mark keys sent with invitations 2026-08-02 07:15:20 +00:00
Evgeny Poberezkin 39957589e0 Merge branch 'master' into ep/p2p-group-signing 2026-08-01 21:24:34 +01:00
Evgeny @ SimpleX Chat c4675bf89f add key distribution steps, and fix some tests 2026-08-01 19:13:33 +00:00
Evgeny Poberezkin cbae9c5e87 core: 7.1.0.0 (simplexmq 7.1.0.0) 2026-08-01 13:13:40 +01:00
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 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
EvgenyandEvgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> 61012d208e core, ui: extend profile peer type (#7277)
* core, ui: extend profile peer type

* remove comments

Co-authored-by: Evgeny <evgeny@poberezkin.com>

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-07-31 23:53:12 +01:00
Evgeny Poberezkin a7d80ba105 fix bot apis 2026-07-31 16:29:19 +01:00
Evgeny @ SimpleX Chat 51a852c24d only mark as "key sent" when forwarder supports binary encoding 2026-07-31 14:58:47 +00:00
Evgeny Poberezkin 46e6835580 null 2026-07-31 12:47:00 +01:00
Evgeny Poberezkin 4b5864a945 fuse 2026-07-31 12:33:35 +01:00
Evgeny @ SimpleX Chat 53f5b810d4 split 2026-07-31 11:06:31 +00:00
Evgeny @ SimpleX Chat 20983d5baf optimize 2026-07-31 10:56:15 +00:00
Evgeny @ SimpleX Chat 6850037e21 limit attempts for key sending 2026-07-31 09:38:49 +00:00