Commit Graph
359 Commits
Author SHA1 Message Date
Evgeny @ SimpleX Chat 1c296bf552 Merge branch 'master' into ab/wallet 2026-10-11 10:17:45 +00:00
EvgenyandEvgeny @ SimpleX Chat 07c363849b core, ui: invite member of one group to another group (#7682)
* rfc: invite member of one group to another group

* update

* update

* implement

* version

* update

* do not show error if contact was removed when joining group

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-11 09:50:42 +01:00
Evgeny @ SimpleX Chat 1e6fedf5c9 Merge branch 'master' into ab/wallet 2026-10-11 07:48:53 +00:00
Evgeny @ SimpleX Chat ad0eb25620 Merge branch 'master' into ab/wallet 2026-10-10 16:51:52 +00:00
EvgenyandEvgeny @ SimpleX Chat 2e56d32b52 core: badge presentations in profiles (#7573)
* badge presentation in groups

* fix tests

* badge presentations in profiles

* update simplexmq

* change types

* badge profile presentations

* improvements

* remove proof from cards, send owner public key for channel to relay

* add test

* merge migrations

* update

* prevent fallback to PHTest

* fixes

* many fixes

* fixes

* fixes

* cleanup

* improve

* query plans

* fix test

* diff

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-10 17:48:45 +01:00
EvgenyandEvgeny @ SimpleX Chat 10166454fd website: add sitemap, robots, llms.txt and markdown pages (#7670)
* website: markdown pages for llms

* website: add sitemap, robots, llms.txt and markdown pages

* faster site generation

* more faster

* faster

* update

* optimize build

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-09 07:53:40 +01:00
EvgenyandEvgeny @ SimpleX Chat f2b3fe385c core: remove legacy field to support contact connections in groups (#7671)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-09 07:00:27 +01:00
Alain Brenzikofer 61f9c51f2c doc cosmetics 2026-10-05 10:42:18 +02:00
Alain Brenzikofer a277c021ea reduce explicit types 2026-10-05 10:36:58 +02:00
Alain Brenzikofer 3141902a53 treat hidden profiles same as normal ones. they can hold accounts now 2026-10-05 10:19:56 +02:00
Evgenyandshum b79223fe5c core: call media key HKDF, expire stale calls (#7642)
* core: call media key HKDF, expire stale calls

* core: expire stale calls in bulk SQL

* core: reduce call tests

* core: remove periodic call cleanup

* core: expire calls with DELETE RETURNING

* core: skip call item update when none expired

---------

Co-authored-by: shum <github.shum@liber.li>
2026-10-04 18:44:52 +01:00
EvgenyandEvgeny @ SimpleX Chat 851ff062da core: compress messages if needed to fit envelope, even if there is no PQ e2ee in connection (#7630)
* core: compress messages if needed to fit envelope, even if there is no PQ e2ee in connection

* simplify

* remove noise

* compress messages without PQ too

* case

* update query plans

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 14:07:00 +01:00
Alain Brenzikofer 58efa813e2 fable review fixes 2026-09-30 13:22:47 +02:00
Alain Brenzikofer 4936e29a39 add down migration for db and drop redundant masterkey field in db 2026-09-30 12:30:29 +02:00
sh b1dc25dc3e badges: service group with multi-use codes (#7578)
* core: cancel the chat callback on interrupt

* badges: add multi-use codes

* badges: add the managed group

* badges: document multi-use codes and the group

* core: sign test badges with whole-second expiry

* badges: rework tracker and reply texts
2026-09-30 08:48:57 +01:00
EvgenyandEvgeny @ SimpleX Chat e863ee4c27 core: limit depth of forwarded messages (#7614)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-29 21:56:03 +01:00
Alain Brenzikofer cfe6a69acd repin to mq, derivation fallible again 2026-09-28 15:31:46 +02:00
Alain Brenzikofer 7b4ac1bb8b review iterations 2026-09-26 14:29:40 +02:00
Alain Brenzikofer 143d073980 infallibel wallet and account derivation 2026-09-26 12:34:06 +02:00
Alain Brenzikofer 5db99e96b9 refactor WalletSeed type, see mq wip 2026-09-25 12:12:37 +02:00
Alain Brenzikofer ab88104dbd self-review iteration 10 2026-09-25 08:31:31 +02:00
Alain Brenzikofer c3c3d8e3c9 self-review iteration 9 2026-09-25 08:12:51 +02:00
Alain Brenzikofer 22c3e5d067 iteration 6 2026-09-24 17:05:14 +02:00
Alain Brenzikofer 0c0a9ec57b self-review iteration 5 2026-09-24 16:39:17 +02:00
Alain Brenzikofer 24ef8bf1f5 self-review iteration 3 2026-09-24 15:47:36 +02:00
Alain Brenzikofer 68c84a9e75 self-review iteration 2 2026-09-24 11:37:21 +02:00
Alain Brenzikofer 74e724fe41 Merge remote-tracking branch 'origin/master' into ab/wallet 2026-09-24 10:26:59 +02:00
Alain Brenzikofer 04b1992f94 fix review comments 2026-09-24 10:14:37 +02:00
Alain Brenzikofer 7445e685b7 minimize diff and align style even more 2026-09-22 09:29:47 +02:00
Alain Brenzikofer 522f5dbd90 Merge remote-tracking branch 'origin/master' into ab/wallet 2026-09-21 17:11:02 +02:00
Alain Brenzikofer 768a230f21 /goal iteration 5 - unconfirmed 2026-09-21 17:03:54 +02:00
Alain Brenzikofer bfc4e1fbaa /goal iteration 4 - unconfirmed 2026-09-21 14:42:34 +02:00
Alain Brenzikofer 4f21e68972 drop BIP85 and flattenhierarche. no keyrings 2026-09-21 11:30:05 +02:00
Alain Brenzikofer 59b5a6182a shorten 2026-09-21 11:13:34 +02:00
Alain Brenzikofer 0dc0c963bf restructure RFC 2026-09-21 09:55:21 +02:00
Alain Brenzikofer b0185f2029 introduce keyring as the thing a profile binds to 2026-09-21 09:16:48 +02:00
Alain Brenzikofer 805f68ca94 change RFC wallet architecture to BIP-85 per profile and hardened paths for names 2026-09-21 08:05:05 +02:00
EvgenyandEvgeny @ SimpleX Chat 176e55895a blog: supporter badges (#7538)
* blog: supporter badges

* update post

* update date, add video image

* add image

* update

* update

* update post, add to lists

* update video

* add preview

* images

* update post and overview

* update

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-19 10:10:10 +01:00
EvgenyandEvgeny @ SimpleX Chat 000244f9a6 docs: supporter badges technical overview (#7535)
* docs: supporter badges

* improve

* update

* update

* improve

* update

* correction

* update

* simplify

* revise

* corrections

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-19 09:26:01 +01:00
Alain Brenzikofer 4255b46c04 let remote use wallet, but filter logs to avoid leaking secrets 2026-09-14 15:01:47 +02:00
Alain Brenzikofer 1b33002ee7 disencourage hidden profiles using names 2026-09-14 14:06:48 +02:00
Alain BrenzikoferandClaude Opus 5 ba673f95bf core: export says which kind of secret, so other kinds can follow
/_wallet export name <k> rather than an index straight after export. The
bare form stays the seed mnemonic, and a profile's key can be added beside
the name one without the argument having to be guessed from its shape.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-14 08:09:04 +00:00
Alain BrenzikoferandClaude Opus 5 8fcfd87b6b docs: the export argument is an index, not a name
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 15:33:54 +00:00
Alain BrenzikoferandClaude Opus 5 a5730b6210 docs: 24 words is a choice, not a default
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 15:19:34 +00:00
Alain BrenzikoferandClaude Opus 5 899d5c3a41 core: the column holds entropy, so name it entropy
The mnemonic comes back from the entropy exactly, which is what export
returns, and the seed PBKDF2 derives from the mnemonic is computed when a
key is needed and never stored. The column was the one thing called seed
that is not the seed, which is why it needed a comment saying so.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 14:19:31 +00:00
Alain BrenzikoferandClaude Opus 5 da20a039ae core: the argument is a mnemonic, so name it one
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 14:06:26 +00:00
Alain BrenzikoferandClaude Opus 5 443fd43545 core: one command for the seed, whichever way it arrives
create and import differed only in where the entropy came from and already
shared one store function, so they are one command with the source named:
/_wallet create new, or /_wallet create seed=<phrase>. Naming it means no
seed is generated by typing a prefix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 12:28:46 +00:00
Alain BrenzikoferandClaude Opus 5 bfa510cdb1 docs: rfc for names counted per device
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 12:13:20 +00:00
Alain BrenzikoferandClaude Opus 5 05508c0edd docs: give the reason for the counter before what it costs
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 07:35:39 +00:00
Alain BrenzikoferandClaude Opus 5 af1349160e docs: the reason for a key per name is that owners are public
One address owning several names links them: whoever knows one name can read
its owner and find the others. That is the reason, not the narrower export.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 07:33:29 +00:00