shum
a1cd38f88a
Merge remote-tracking branch 'origin/master' into sh/fix-ntf-store
...
# Conflicts:
# tests/CoreTests/MsgStoreTests.hs
2026-10-16 15:31:43 +00:00
sh
4b8d31a476
smp-server: remove deleted queues from store maps ( #1947 )
2026-10-16 09:46:09 +01:00
sh and Evgeny @ SimpleX Chat
e91711c7d7
smp-server: remove journal store leftovers ( #1946 )
...
* smp-server: remove postgres queue cache
* smp-server: remove queue locks
* smp-server: simplify message store class
* smp-server: remove unused functions and exports
* tests: remove journal leftovers
* agent: remove unused lock exports
* fix
* fixes
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-15 19:36:45 +01:00
f1f079044c
smp-server: remove journal message store ( #1919 )
...
Co-authored-by: sh <github.shum@liber.li >
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-15 17:37:49 +01:00
Evgeny and Evgeny @ SimpleX Chat
9d83c0378e
tests: execute in parallel, agent: fix race condition with files and when switching queue ( #1932 )
...
* tests: execute in parallel
* fix test
* fix postgresql build
* fix test
* fix test
* fix some tests
* fix tests
* fix tests
* fix test
* update schema
* fix test
* update schemas
* diff
* fix race
* fixes
* update schemas
* fix tests
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-15 14:10:04 +01:00
sh
1d39da91c5
smp-server: enforce command concurrency limit ( #1944 )
...
* smp-server: hold command slot until completion
* smp-server: command slot wait timeout and stats
* smp-server: clarify command slot comments
* smp-server: simplify command slot fork
* smp-server: limit direct RSLV per client
* smp-server: distinct error for RSLV slot timeout
* smp-server: client command slot wait timeout
* smp-server: reply to forwarded RSLV slot timeout
* smp-server: raise default concurrency limits
* smp-server: simplify command slot wait
2026-10-15 13:58:07 +04:00
shum
44d7d7b9e5
tests: generate MsgId for ntf store test
2026-10-14 16:23:28 +00:00
shum
eb136c3d1b
Merge remote-tracking branch 'origin/master' into sh/fix-ntf-store
...
# Conflicts:
# tests/CoreTests/MsgStoreTests.hs
2026-10-14 15:37:59 +00:00
Evgeny Poberezkin
cba1382356
7.1.0.11
2026-10-11 22:33:06 +01:00
Evgeny and Evgeny @ SimpleX Chat
b5e8a4b8cc
fix tests on ghc 8.10.7 ( #1939 )
...
* fix tests on ghc 8.10.7
* fix test
* fix schema dump test
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-11 20:36:51 +01:00
Evgeny and Evgeny @ SimpleX Chat
3db4029bb9
ci: build cache ( #1938 )
...
* ci: build cache
* update build job
* rename steps, cache all builds, patch timestamps for ghc 8.10.7
* refactor, save O0 caches in master and stable builds
* update build to include toolchain fingerprint
* do not save cache on exact match
* remove caching docker from prs
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-11 11:52:24 +01:00
Evgeny and Evgeny @ SimpleX Chat
8a80727fa5
smp server: delayed AUTH responses ( #1937 )
...
* smp server: delayed AUTH responses
* plan
* update
* simplify
* simplify
* stat when sent without delay
* update schema
* round up response time to the nearest delay multiple
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-11 07:37:33 +01:00
Evgeny and Evgeny @ SimpleX Chat
a2f985dc68
agent: prepare invitation link, create ratchet when connection is prepared ( #1880 )
...
* agent: prepare invitation link
* simplify
* refactor
* fix
* change min SMP version to 15
* remove dead code for SMP version <= 15
* update
* diff
* create ratchet when connection is prepared
* createRatchetIfNotExists
* clean up, only check client notices for contacts, fix orphan record
* simplify
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-10 23:15:19 +01:00
Evgeny and Evgeny @ SimpleX Chat
c18e0297c4
agent: migration to add index to read queues ( #1934 )
...
* agent: migration to add index to read queues
* update postgres schema
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-08 17:07:55 +01:00
Evgeny and Evgeny @ SimpleX Chat
e24d537eaa
agent: fix race when switching reception to the new queue ( #1933 )
...
* agent: fix race when switching reception to the new queue
* return bool
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-08 16:03:06 +01:00
sh
7754f8624e
smp-server: copy entity IDs out of received block ( #1906 )
2026-10-08 15:28:38 +01:00
Evgeny and Evgeny @ SimpleX Chat
8d81f775b1
smp protocol: require fixed size corr ID when used as nonce, and min size msg ID to use as nonce ( #1925 )
...
* smp protocol: require fixed size corr ID when used as nonce, and min size msg ID to use as nonce
* simpler
* fixes
* randomMsgId
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-08 09:32:11 +01:00
Evgeny and Evgeny @ SimpleX Chat
c0a1b7bd2d
agent: fail database transaction instantly when database is closed, prevent race conditions in command processing, fix race when uploading files ( #1885 )
...
* agent: fail database transaction instantly when database is closed
* update direct-sqlcipher
* update direct-sqlcipher, fixes
* autoincrement command ID
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-06 13:01:55 +01:00
Evgeny and Evgeny @ SimpleX Chat
4ab5376a6e
smp: reduce min supported version to 15 (short links support, 3/30/2025) ( #1931 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-05 11:31:57 +01:00
Evgeny
aaffb5b07d
Merge pull request #1922 from simplex-chat/ratchet
...
Improve double ratchet
2026-10-05 08:07:04 +01:00
Evgeny and Evgeny @ SimpleX Chat
65893a359a
agent: resolve potential race conditions in double ratchet ( #1923 )
...
* agent: resolve potential race conditions in double ratchet
* update
* improve
* diff
* diff
* diff
* simpler
* more races
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-04 22:28:50 +01:00
Evgeny and Evgeny @ SimpleX Chat
fcc5670ae2
agent: keep ratchet hashes for connection lifetime, up to some cap, to prevent replay of expired ratchets ( #1893 )
...
* agent: keep ratchet hashes for connection lifetime, to prevent replay of expired ratchets
* cap
* simpler
* simpler2
* split
* one query
* simplify
* performance
* migration
* fix schema
* comment
* improve
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-04 14:43:21 +01:00
Evgeny and shum
18440c0d17
smp-server: check queue is not secured in link store ( #1917 )
...
Co-authored-by: shum <github.shum@liber.li >
2026-10-04 13:41:48 +01:00
Evgeny and Evgeny @ SimpleX Chat
64c5d19fc4
agent: aggregate cap on skipped message keys ( #1903 )
...
* agent: aggregate cap on skipped message keys
* migration
* update migration
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-04 10:18:41 +01:00
Evgeny and Evgeny @ SimpleX Chat
e11dfb985d
consider IP address protected only if it is used for the chosen host ( #1895 )
...
* consider IP address protected only if it is used for the chosen host
* simplify
* simplify
* simplify
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-03 22:45:44 +01:00
Evgeny and shum
76248dd767
sntrup761: bound KeyGen retries on R3 inversion ( #1918 )
...
Co-authored-by: shum <github.shum@liber.li >
2026-10-03 17:01:36 +01:00
brenzi
9c641fed91
reject e2e params with kem_ct and without kem_key ( #1901 )
2026-10-03 15:10:42 +01:00
sh
91e070cb5e
crypto: document 16-byte GCM IV in double ratchet ( #1914 )
2026-10-03 15:00:18 +01:00
sh
9fe3745401
docs: use role names for key exchange parties ( #1912 )
2026-10-03 14:59:22 +01:00
Evgeny and Evgeny @ SimpleX Chat
24036368f8
xrcp: limit multicast validity time window ( #1899 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-03 14:51:48 +01:00
sh
acd5c0f530
docs: add cryptographic primitive registry ( #1913 )
2026-10-03 14:21:21 +01:00
Evgeny and Evgeny @ SimpleX Chat
ead8f10f26
smp protocol: bind agreed version of forwarded command ( #1915 )
...
* smp protocol: bind agreed version of forwarded command
* refactor
* pass proxied relay version range via config
* simplify
* refactor
* packZipWith
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-03 08:56:19 +01:00
sh
053e83b704
resolver: multicall reads, keep-alive, workers and structured logs ( #1883 )
...
* resolver: queue up to 128 pending connections
* resolver: reuse connections to the node
* resolver: read each round in one multicall
* resolver: run worker processes, log durations
* resolver: keep smp-server connections alive
* resolver: test with pytest, lock dependencies
* resolver: structured logs and real client addresses
* resolver: refuse requests with a body
* resolver: harden pool, health and odd answers
* resolver: pin images, rotate logs
* resolver: stricter body check, redact RPC URL
* resolver: ship .env as .env.example
* resolver: pass settings from .env
* resolver: name the image snrc-resolve:local
2026-10-01 09:10:42 +01:00
sh
234b5cd856
smp-server: rework message expiration ( #1873 )
...
* smp server: rework message expiration
* smp server: paginate message expiration sweep
2026-10-01 09:08:16 +01:00
Evgeny Poberezkin
38fdc0c544
7.1.0.10
2026-09-30 13:03:16 +01:00
shum
d02eedeea9
smp-server: remove delivered notification keys
2026-09-30 11:31:35 +00:00
shum
2b57651e14
smp-server: remove expired notification store keys
2026-09-30 11:20:16 +00:00
Evgeny and Evgeny @ SimpleX Chat
b4c288c597
docs: clarify security model ( #1902 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 10:18:52 +01:00
Evgeny and Evgeny @ SimpleX Chat
0e1ecdcff6
xftp server: validate paths in store log ( #1894 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 09:36:45 +01:00
Evgeny and Evgeny @ SimpleX Chat
c1776dc5a4
server: improve control port auth ( #1898 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 09:04:28 +01:00
Evgeny and Evgeny @ SimpleX Chat
e2df2e1b7c
docs: update SMP protocol ( #1900 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 08:10:35 +01:00
Evgeny and Evgeny @ SimpleX Chat
267e2e0727
agent: fix ratchet - dont save if body auth failed ( #1892 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-29 21:32:21 +01:00
Evgeny and Evgeny @ SimpleX Chat
551a79d99b
smp server: validate client version in forwarded command ( #1890 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-29 19:52:15 +01:00
Evgeny and Evgeny @ SimpleX Chat
972e50e768
docs: update XRCP doc to make code verification optional for known connections ( #1891 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-29 18:08:54 +01:00
Evgeny Poberezkin
5eecd99bc2
7.1.0.9
2026-09-26 12:52:57 +01:00
69eb28b3ab
agent: share server value across subscription rows of server-keyed queries ( #1877 )
...
* agent: share server value across subscription rows of server-keyed queries
* reduce fields in query
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-26 12:05:20 +01:00
Evgeny and Evgeny @ SimpleX Chat
875ba7d53f
agent: make QUOTA error temporary for async commands ( #1881 )
...
* agent: make QUOTA error temporary for async commands
* retry commands on quota
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-25 18:13:49 +01:00
Evgeny and Evgeny @ SimpleX Chat
35f1b145a7
xftp: fix race when sending the file ( #1879 )
...
* xftp: fix race when sending the file
* simpler test
* fix tests
* test
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-25 11:59:06 +01:00
sh
c7163afa3a
ci: cancel stale runs ( #1878 )
2026-09-24 15:33:22 +01:00
Evgeny and Evgeny @ SimpleX Chat
5294b7d8b7
agent: PQ rachet security code, store AD and pqAD in database, bulk reading ( #1874 )
...
* agent: PQ rachet security code, store AD and pqAD in database, bulk reading
* rename to verify code
* diff
* refactor
* query
* reduce transactions
* request binding
* simplify
* fix query and security code derivation
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-23 21:21:09 +01:00