Commit Graph
313 Commits
Author SHA1 Message Date
Alain Brenzikofer 706845ae23 implement hidden derivation paths 2026-09-14 14:01:48 +02:00
Alain Brenzikofer a7205512e0 fix secret derivation path definition for hidden profiles 2026-09-14 13:31:45 +02:00
Alain BrenzikoferandClaude Opus 5 dcefd6ffdd docs: state the hidden profile case, do not argue it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-14 10:35:47 +00:00
Alain BrenzikoferandClaude Opus 5 933a8cc42d docs: what registering a name would give away, and what closes it
A reader with the seed runs the recovery scan and gets every name at an
enumerable path, so keeping no local record does not help: only a path
derived from a secret the device does not store keeps a name out of it. A
reader with a list of names comes the other way and the path does not help
there, only what the name resolves to.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-14 10:33:02 +00: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
Alain BrenzikoferandClaude Opus 5 bf5b9d5af4 docs: the wallet is not only for names
The seed, the accounts and the derivation are a wallet. Owning a name is the
first thing it is used for, not what it is, and the title and the problem it
solves now say so.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 07:16:20 +00:00
Alain BrenzikoferandClaude Opus 5 bcfa74ed9c docs: what the stealth meta address is for
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 07:09:56 +00:00
Alain BrenzikoferandClaude Opus 5 044e0fc0d6 docs: cut the rfc to what stands on its own
Drops the references to other documents and to what is or is not in a pull
request, so the design reads without them, and the list of tests, which
restated their names and would drift. 164 lines to 134, against a median of
117 for the rfcs here that define schema.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-11 06:51:10 +00:00
Alain BrenzikoferandClaude Opus 5 472ee5ef10 core: refuse an account index BIP-32 cannot harden, whichever way it arrives
The counter path checked it, the explicit one did not, and the parser is not
the only caller: processChatCommand takes APIWalletBind from library callers
too. hardened leaves an index at or above 2^31 alone, so account i and
i + 2^31 are the same key while the duplicate check compares the stored
integers, and two profiles could hold one account's names.

The rfc now says what hiding a profile from /_wallet does and does not
protect: the seed is one per device, so whoever unlocks any profile can
derive every account.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-10 16:44:15 +00:00
Alain BrenzikoferandClaude Opus 5 81fd2415a5 docs: rfc for the keys that own names
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
2026-09-10 14:59:55 +00:00
EvgenyandEvgeny @ SimpleX Chat 90340b116d website: update livestream page (#7439)
* website: update livestream page

* update

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-08-31 23:41:54 +01:00
Evgeny Poberezkin 498d7da837 Merge branch 'stable' 2026-08-29 18:59:49 +01:00
sh a99541d0fe scripts: add chat relay docker setup (#7406)
* scripts: add chat relay docker setup

* docs: add docker setup to chat relay guide

* scripts: bump relay ref and add RTS options

* scripts: reduce comments in relay setup

* scripts: increase relay pool and queue size

* scripts: add relay metrics exporter

* docs: trim docker section in chat relay guide

* scripts: bump cabal for hackage key rotation

* scripts: retry cabal update on mirror failure

* scripts: split cabal update into its own layer

* scripts: allow setting relay address server

* docs: adjust systemd service limits

* docs: mention docker volume full path
2026-08-26 09:10:41 +01:00
Evgeny Poberezkin 1160215570 Merge stable 2026-08-18 17:16:21 +01:00
EvgenyandEvgeny @ SimpleX Chat 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 Poberezkin e2a3f6317a website: add links 2026-08-16 13:14:07 +01:00
Evgeny Poberezkin 0f45645afe Merge branch 'stable' 2026-08-12 15:30:16 +01:00
sh 0a61b0ddea android: add google and foss build flavors (#7328)
* android: add google and foss build flavors

* android: get the Google Play account country in the google flavor

* android, desktop: update whats new

* temp: comment out wefunder link
2026-08-12 15:28:59 +01:00
Narasimha-scandEvgeny 486c2abf26 ui: connect when a SimpleX link is pasted as a markdown hyperlink (#7348)
* ui: connect when a SimpleX link is pasted as a markdown hyperlink

* remove comments

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

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
2026-08-12 14:54:45 +01:00
Evgeny Poberezkin 9ca5cbb895 website: update links 2026-08-10 22:51:08 +01:00
Evgeny Poberezkin 302988a50b docs: add email updates signup link to contact us page 2026-08-06 23:21:45 +01:00
Evgeny 5cf03de92d blog: SimpleX public names (#7291)
* post

* update readme

* update

* typos

* the
2026-07-22 18:37:53 +01:00
Narasimha-scandEvgeny 4cf5a8d9ce docs: Improve FAQ.md (#6360)
* docs: Add FAQ

* corrections

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

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
2026-07-22 08:22:48 +01:00
shandEvgeny a81baebed5 docs: add Hosting your own Chat Relay guide (#7272)
* docs: add Hosting your own Chat Relay guide

* cli: run headless relay without a terminal

--headless (no -e) now runs via simplexChatCore instead of the terminal
UI, so the relay runs as a systemd service without a TTY (withTerminal
requires one). Drains the event queue logging only errors, and sets
stdout to line-buffering so logs reach the journal.

* docs/chat-relay: debounce service

* Apply suggestions from code review

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

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
2026-07-17 17:09:38 +01:00
sh 937c79bc3c website: fix broken GitHub links for project files in docs (#7229)
* website: fix broken GitHub links for project files in docs

* website: fix broken links across docs and pages

Render glossary tooltips through the shared replaceLink transform so
their relative links become absolute site URLs instead of 404ing when
injected across pages; add the English-only routes (downloads, faq,
jobs, reproduce, security, transparency) to supportedRoutes so the
language switcher stops emitting href="undefined"; passthrough-copy
docs/guide/images, docs/guide/diagrams and docs/themes.

Fix the SIMPLEX.md p2p anchor typo and correct image paths in CLI,
the v0.4 blog post and the fr/pl translation docs to point at the
existing shared assets.
2026-07-14 15:11:45 +01:00
shandEvgeny 0ce61a0eda docs: add name resolution setup to SMP server guide (#7251)
* docs: add name resolution setup to SMP server guide

* docs: link SMP server names section to public names overview

* link

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
2026-07-14 15:03:23 +01:00
EvgenyandEvgeny @ SimpleX Chat 6dce9e3903 docs: names overview (#7253)
* docs: names overview

* update

* language

* diagrams

* update

* minor corrections

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-07-14 14:14:11 +01:00
shandEvgeny ff58dbd6df docs: add SimpleX name registration guide (#7194)
* docs: add SimpleX name registration guide

* docs: clarify SimpleX name registration steps

Explain why registration needs two on-chain transactions with a wait
(commit-reveal prevents someone from grabbing the name mid-registration).
Mark attaching both contact and channel links as advanced usage.

* docs: switch name guide to official dapp, apply review

Use testing-names.simplex.chat and its simpler flow (both SimpleX
contact/channel fields on Create your profile; no Add profile fields
modal). Apply @epoberezkin review suggestions (intro, testing page URL,
'main names launch', claim purpose).

* Apply suggestions from code review

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

* docs: light screenshots, update name flow diagram

Use light-theme official-dapp screenshots. Rework the flow diagram:
drop the 'both' branch, split contact vs channel before step 4 (each
set in its own window), and match the reviewed connect wording (search
or type the name).

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
2026-07-04 13:25:20 +01:00
spaced4ndy 0e09b38ea6 core: public groups - roster of privileged members (#7017) 2026-06-22 10:15:41 +00:00
sh 2df131bd05 docs: add channel webpage setup guide (#7097)
* docs: add channel webpage setup guide

Step-by-step guide for channel owners to set up a web preview page:
enable the webpage in the app, copy the generated embed code, and host
the page. Includes the customizable data-* attributes and troubleshooting.

Linked from the user guide contents.

* docs: reorder channel webpage steps to recommended flow

Set up embedding first to build and test the page from any address,
and set the webpage URL last so the link is only shown to subscribers
once the page works. Also drop the incorrect 'Save and notify channel
subscribers' prompt references (that dialog only appears when leaving
with unsaved changes, not on Save).
2026-06-20 10:13:56 +01:00
Evgeny Poberezkin 507a4de61c Merge branch 'stable' 2026-05-28 23:19:54 +01:00
68abd805d4 rfc: namespace (#7001)
* rfc: namespace

* update rfc

* markdown for names

* record type, app "upgrade" alerts

* update api types

* rfc: change namespace syntax - now it is the usual namespace

* update bot types

* move types to simplexmq

* core: refactore markdown

* update simplexmq

* better names

* new names

* update nix content hashes

* fix

* change valid name function

* update simplexq, update valid name conditions

* fixes

Co-authored-by: simplex-chat-agent[bot] <287173099+simplex-chat-agent[bot]@users.noreply.github.com>

* update simplexmq

* fix localization

* simpler

* refactor

* refactor

* fix

---------

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-05-28 08:44:43 +01:00
Narasimha-sc ca4d78a502 docs: update security assessment schedule (#7007) 2026-05-25 14:20:17 +01:00
Narasimha-sc 7c88e82a26 Fix 402 payment required (#6998) 2026-05-21 15:52:32 +01:00
Evgeny Poberezkin 62a34d8481 website: fix layout 2026-05-21 06:56:24 +01:00
EvgenyandEvgeny @ SimpleX Chat 1a5c14abcc website: links page (#6992)
* website: links page

* update filters

* remove newlines and featured

* update categories

* clean up

* fewer categories

* move link

* improve

* flat categories

* categories

* dropdown

* update categories

* remove language selector

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-05-20 22:50:35 +01:00
spaced4ndy 92e9640e4f core, ui: relay reject rejoin (#6978) 2026-05-18 09:06:25 +00:00
spaced4ndy 24859e1281 core: announce added relay (#6956) 2026-05-12 12:36:23 +00:00
EvgenyandEvgeny @ SimpleX Chat fb88a0e52c website: update home page (#6948)
* website: update home page

* update credits page

* update token page

* update community credits

* update texts

* downloads

* translate

* update

* community credits

* update

* french

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-05-07 21:04:46 +01:00
EvgenyandEvgeny @ SimpleX Chat 6b6f494502 docs: channels whitepaper and chat protocol (#6911)
* docs: channels whitepaper and chat protocol

* punctuation

* amend relay functions

* authoritative state and governance layer

* correction

* v2

* update headings

* corrections

* fixed anchors

* correction

* content visibility

* correction

* correction 2

* shorter

* tighten

* in comparison corrections

* update

* correction

* update

* corrections

* rename

* remove duplication

* amend overview

* update overview

* corrections

* trim future governance models

* corrections

* restructure threat model, shorten

* corrections

* improve

* remove name

* heading levels

* correction

* improve precision

* document frame

* correction

* improve protocol doc

* shorter

* more formal

* corrections

* fix errors

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-04-30 19:31:56 +01:00
Narasimha-sc e0b8b0dbe3 docs, website: fix typos and grammar errors (#6819)
Fix spelling, grammar, and punctuation issues across documentation
and website content including subject-verb agreement, missing articles,
typos, and broken code snippets.
2026-04-21 19:10:31 +01:00
Evgeny Poberezkin a5f606f44a Merge branch 'master' into chat-relays 2026-03-31 08:52:24 +01:00