Evgeny
963d7b2f75
fix small bugs ( #1740 )
...
* fix small bugs
* toChunks
2026-03-20 08:59:38 +00:00
Evgeny
c6e3a4d80f
add missing exports ( #1722 )
...
* add missing exports
* fix dependency
2026-03-04 07:31:46 +00:00
Evgeny
f3408d9bb6
explicit exports ( #1719 )
...
* explicit exports
* more empty exports
* add exports
* reorder
* use correct ControlProtocol type for xftp router
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-03-02 17:34:01 +00:00
Evgeny Poberezkin
d7b90b8415
Merge branch 'stable'
2026-01-28 22:52:33 +00:00
Evgeny
3c5ec8d9a1
agent: improve error handling ( #1707 )
...
* agent: improve error handling
* simplify
* report critical error when subscriber crashes
* fix test
2026-01-28 21:54:41 +00:00
Evgeny
d10e05b796
agent: split creating connection to two steps to prepare connection link in advance ( #1704 )
...
* agent: split creating connection to two steps to prepare connection link in advance
* linkEntityId, newOwnerAuth
* simplify
2026-01-27 10:54:13 +00:00
Evgeny
66cc06738e
agent: fix tests for short links ( #1703 )
2026-01-26 00:11:50 +00:00
spaced4ndy
89b81d151f
agent: getConnShortLinkAsync; implement joinConnectionAsync for contact connections; narrow setConnShortLinkAsync only to Contact connections ( #1694 )
...
* agent: getConnShortLinkAsync
* enable all tests
* comment
* comment
* join conn async for contact URI (wip)
* fix test
* remove enableNtfs param
* FixedLinkData
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-01-20 08:40:35 +00:00
Evgeny
3e5b654109
agent: support multiple link owners in link data ( #1701 )
...
* agent: support multiple link owners in link data
* fix
2026-01-19 22:08:11 +00:00
spaced4ndy
ca26c69937
db: withSavepoint; agent: correctly handle errors in createWithRandomId for postgres ( #1693 )
...
* db: withSavepoint; agent: correctly handle errors in createWithRandomId
* comment
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-01-15 14:59:45 +00:00
Evgeny
1000107259
agent: clean up old records in batches ( #1692 )
...
* agent: clean up old records in batches
* update
* update
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* stabilize tests
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2026-01-13 19:11:46 +00:00
Evgeny
6aadcf1f3f
agent: lock rows for concurrent queries in PostgreSQL ( #1688 )
...
* agent: lock rows for concurrent queries in PostgreSQL
* fix race conditions in workers
* refactor
2026-01-08 11:09:58 +00:00
spaced4ndy
07604a146f
agent: async command to set connection short link (setConnShortLinkAsync) ( #1680 )
2026-01-07 15:12:52 +00:00
Evgeny
c4b687ba64
agent: reset schema after changes ( #1690 )
2026-01-05 20:37:50 +00:00
Evgeny
a7b43b1a3e
agent: use strict tables ( #1686 )
...
* agent: use strict tables
* migrate existing tables to strict
* test: verify that all tables are strict
* fix column types for device_token and ntf_mode
* fix encodings and column types for ntf_sub_action and ntf_sub_smp_action
* update schema
* remove debug.trace
* log
2026-01-03 17:19:18 +00:00
Evgeny
ea70575275
agent: use server cert hash when selecting server queues to subscribe ( #1679 )
2025-12-15 11:48:17 +00:00
spaced4ndy
92a9579e69
agent: option to add SQLite aggregates to DB connection ( #1673 )
...
* agent: add build_relations_vector function to sqlite
* update aggregate
* use static aggregate
* remove relations
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-12-04 08:58:14 +00:00
Evgeny
cf9b7e5b6a
agent: option to add SQLite functions to DB connection ( #1674 )
...
* agent: option to add SQLite functions to DB connection
* add module
2025-12-03 16:10:35 +00:00
spaced4ndy
3016b929b4
agent: make createConnection and setConnShortLink apis support setting all link data fields ( #1665 )
...
* agent: make createConnection and setConnShortLink apis support setting all link data fields
* add functions
* refactor
* refactor
* fix tests
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-11-05 07:08:33 +00:00
Evgeny
1329fc726f
smp: support client notices ( #1659 )
...
* agent: support client notices
* improve
* fix, test
* rename
* cleanup
* send and process notices in more cases
* dont delete
* dont remove notice on other permanent errors
* dont remove notice if there is no notice ID in queue
* add server to error
* allow deleting
* only use notice if key hash matches
2025-10-17 18:34:59 +01:00
spaced4ndy
234aeb81dd
agent: add subscription status to connection stats ( #1658 )
...
* agent: add subscription status to connection stats
* wip
* conn status
* format
* refactor
* refactor
* m
* shorter
* shorter
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
2025-10-13 17:53:28 +01:00
spaced4ndy
1dbc15b2e6
agent: sync connections ( #1654 )
...
* agent: sync subscriptions
* remove comment
* add shouldDelete flag
* compare api
* remove instance
* query
* rename
* refactor
* functor
* JSON instances
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-10-10 05:41:42 +00:00
Evgeny
80aa56cbcc
agent: track which queues need subscribing for iOS NSE ( #1657 )
...
* agent: track which queues need subscribing for iOS NSE
* fix down migration
* fix, cleanup
2025-10-09 18:33:27 +01:00
Evgeny
9cda20381f
agent: subscribe all connections ( #1655 )
...
* agent: subscribe all connections
* query, version
* BoolInt
* add query to errors
* Revert "add query to errors"
This reverts commit 32a1f7fe11 .
* fix optional field
* version
* limit number of in-flight subscriptions to 35000
2025-10-09 13:43:48 +01:00
Evgeny
11a4859f8e
agent: batch processing of subscription results and errors ( #1652 )
...
* agent: batch processing of subscription results and errors
* run agent tests with in-memory server storage
* version
* non empty errors
* size
2025-10-07 14:49:38 +01:00
Evgeny
a3d1a72eb0
agent: optimize subscriptions memory usage ( #1651 )
...
* agent: optimize subscriptions memory usage more (do not store subscribed queues in memory) WIP
* use new session subscriptions data
* version
* remove old data structure
* remove version
* batch deletions
* test TSessionSubs
* comment
2025-10-06 15:21:17 +01:00
Evgeny
779222d1a7
agent: optimize subscriptions memory usage ( #1649 )
...
* agent: optimize subscriptions memory usage
* version
* remove typeclass
* disable subscription to test memory usage
* disable delivery and commands
* disable reading connections
* enable subscriptions
* RcvQueueCred
* RcvQueueCred postgres
* fix
* optimize keys
* version
* rename
* comments
2025-10-05 13:35:54 +01:00
spaced4ndy
c8b551dcf7
agent: fix file reception error in postgres ( #1647 )
2025-09-30 08:32:45 +01:00
Evgeny
99f40ae109
support for additional database migrations ( #1644 )
2025-09-27 11:21:38 +01:00
Evgeny
7b7616ce7e
agent: batch loading of connections with PostgreSQL client ( #1639 )
...
* agent: batch loading of connections with PostgreSQL client
* batch more
* optimize getPendingCommandServers
* fix Bool conversion
* enable all tests
* cleanup
2025-09-16 14:28:06 +01:00
Evgeny Poberezkin
112cd9d5f4
Merge branch 'stable'
2025-09-14 14:42:05 +01:00
Evgeny
8a7991a376
agent: option to set SQLite database backup path ( #1636 )
...
* agent: option to set SQLite database backup path
* fix test compilation
2025-09-14 12:41:49 +01:00
Evgeny Poberezkin
80f7be6dd7
Merge branch 'master' into db-messages
2025-09-13 09:31:23 +01:00
Evgeny
83721240a4
reset db connection on errors ( #1633 )
2025-09-13 09:30:01 +01:00
Evgeny
bac6ea6e91
smp server: store messages in PostgreSQL ( #1622 )
...
* smp server: store messages in PostgreSQL
* stored procedures to write and to expire messages
* function to export messages
* move all message functions to PostgreSQL, remove delete trigger
* comments
* import messages to db
* fix message import, add export
* fix export
* fix export
* fix compilation flags
* import messages line by line
* fix server start with database storage
* fix compilation
* comments
2025-09-11 20:22:55 +01:00
spaced4ndy
a4f049d8da
agent: parameterize withWork, getWorkItem with StoreError; parameterized Binary for SQLite ( #1617 )
...
* agent: parameterize withWork StoreError
* getWorkItem
* export
* binary
* remove handleWrkErr AnyStoreError constraint
* put AnyError in AnyStoreError constraint
* move typeclass
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-09-08 16:38:08 +01:00
Evgeny
cb3250e7b4
servers: better socket leak prevention during TLS handshake, add NetworkError type to better diagnose connection errors ( #1619 )
...
* servers: better socket leak prevention during TLS handshake
* log tcp connection errors
* more detailed network error
* log full address
* rename error
* add encodings for NetworkError
* refactor
* comment
* bind
* style
* remove parameters of NETWORK error from encoding
2025-09-02 16:07:37 +01:00
Evgeny
beafac1f73
agent: make agent workers usable from other contexts ( #1614 )
2025-08-29 08:33:55 +01:00
Evgeny
e48bedeaf2
servers: fix server pages when source code is not specified, include commit SHA in printed version and in web page. ( #1608 )
...
* smp server: fix server pages when source code is not specified
* servers: include git commit in version
* flexible alpn
* fix test
* fix ghc 8.10.7 build
2025-08-23 19:59:00 +01:00
spaced4ndy
46035af9a3
agent: add context to SEMsgNotFound error ( #1604 )
2025-08-18 10:59:57 +01:00
Evgeny
2cedb66667
agent: chat relay address type for short links ( #1602 )
2025-08-15 07:24:37 +01:00
Evgeny
86fb2cddc5
smp server: support short SimpleX addresses in server information / pages ( #1600 )
2025-08-12 07:31:32 +01:00
Evgeny
2a90a2c552
smp protocol: create notification credentials via NEW command that creates the queue ( #1586 )
...
* smp protocol: create notification credentials via NEW command that creates the queue
* create ntf subscription for queues created with ntf credetials
* do not create ntf credentials when switching connection to another queue
2025-07-16 16:46:45 +01:00
Evgeny
36f05e272e
agent: support different timeouts for interactive and background requests ( #1582 )
...
* agent: support different timeouts for interactive and background requests
* fix tests
* use one constructor for the first request and for retries
2025-07-07 09:38:52 +01:00
spaced4ndy
c5eb66038b
agent: allow to accept contact requests after address is deleted ( #1580 )
2025-07-03 09:29:39 +00:00
Evgeny
b4bcfd325b
agent: better handling errors during connection handshake retries ( #1578 )
...
* agent: handle invitation connection handshake errors
* fix/test retries for connecting via address
2025-06-25 19:06:00 +01:00
Evgeny
976bd3a389
agent: short link encodings ( #1577 )
2025-06-24 10:06:44 +01:00
Evgeny
79c67f2026
agent: JSON encoding for connection mode ( #1576 )
2025-06-19 11:21:29 +01:00
Evgeny
c5b7d3c7af
agent: use flexible (small/large) string encoding for contact link data, for backward/forward compatibility ( #1569 )
...
* agent: use large string encoding for contact link data
* size-dependent user link data encoding
* tag large user data encoding with \255
2025-06-16 11:11:59 +01:00
Evgeny Poberezkin
27b1f48929
Merge branch 'stable'
2025-06-14 21:05:59 +01:00