Evgeny Poberezkin
70d1b99fb4
Merge branch 'stable'
2025-12-23 14:18:07 +00:00
Evgeny
bbe1c716e6
xrcp: treat any 127.x.x.x IP address as local ( #1682 )
2025-12-23 12:42:05 +00:00
Evgeny
ea70575275
agent: use server cert hash when selecting server queues to subscribe ( #1679 )
2025-12-15 11:48:17 +00:00
Evgeny
49e9ce1649
agent: skip subscribing servers without queues ( #1678 )
2025-12-14 23:01:21 +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
318ddf692a
smp server: import/export to/from PostgreSQL with one command, deprecation notice for journal storage ( #1653 )
2025-10-09 13:31:57 +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
Evgeny
9854caca33
agent: optimize subscriptions ( #1645 )
...
* agent: optimize subscriptions
* simplify
* clean up
2025-09-30 12:34:42 +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
d3754b36bc
smp server: do not use queue cache with PostgreSQL message storage ( #1637 )
...
* smp server: do not use queue cache with PostgreSQL message storage
* fix loading queues via notifier IDs
2025-09-15 07:51:27 +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
9cfdae3494
smp server: uniterruptible mask for DB operations ( #1635 )
2025-09-13 19:08:07 +01:00
Evgeny
9be9a76b42
smp server: improve message expiration ( #1634 )
...
* smp server: limit by time the queues to export journal messages for
* pass queue/msg thresholds separately
* reset db connection on errors
* Revert "smp server: limit by time the queues to export journal messages for"
This reverts commit d3bc0cba4b .
* fix test compilation
* flag to expire messages
* improve test
* expire messages newer than quota
2025-09-13 11:35:34 +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
6c66cf367a
smp server: set message counts correctly after import ( #1632 )
2025-09-12 13:08:11 +01:00
Evgeny
a137d01c90
smp server: improve counts management and expiration for postgres message store ( #1631 )
...
* smp server: improve counts management and expiration for postgres message store
* one update
* fix expiration
2025-09-12 11:39:35 +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
Evgeny
0c1030cf02
smp server: faster export ( #1626 )
...
* smp server: faster export
* flush
* export messages with PostgreSQL database
* remove flush
* batch message writes
* Revert "batch message writes"
This reverts commit 61fb3c3b9e .
* remove $!
* fast journal export
* another approach
* Revert "smp server: remove dependency of message size on the version (#1627 )"
This reverts commit 8fea15245a .
* style
* faster?
* cleanup
* cleanup
* refactor
* refactor
* concurrent read messages
* Revert "concurrent read messages"
This reverts commit 05a32e6491 .
* concurrent read/write
* parameter to export to/import from another message log file
* Revert "parameter to export to/import from another message log file"
This reverts commit 4e88b035c4 .
* Revert "concurrent read/write"
This reverts commit a8eab1f7e3 .
2025-09-10 18:22:58 +01:00
Evgeny Poberezkin
23aff6b0b1
Revert "smp server: remove dependency of message size on the version ( #1627 )"
...
This reverts commit 8fea15245a .
2025-09-09 09:56:48 +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
8fea15245a
smp server: remove dependency of message size on the version ( #1627 )
2025-09-08 11:28:42 +01:00
Evgeny Poberezkin
2a61085f07
backward compatible encoding for missing NetworkError
2025-09-07 15:04:06 +01:00
Evgeny
4386dd8b5a
smp server: option to expire messages when new message is sent (now off by default) ( #1625 )
...
* smp server: option to expire messages when new message is sent (now off by default)
* fix test
2025-09-07 09:02:32 +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
77bf76e1f9
smp server: fix in-memory server not restoring queue/service associations after 2+ restarts ( #1618 )
...
* smp server: fix in-memory server not restoring queue/service associations after 2+ restarts
* fix test, do not reuse database
2025-09-01 17:45:31 +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
96e8b4a146
smp server: wrap all queries in transactions ( #1603 )
...
* smp server: wrap all queries in transactions
* fix test
* fix schema test
2025-08-17 10:38:20 +01:00
Evgeny
2cedb66667
agent: chat relay address type for short links ( #1602 )
2025-08-15 07:24:37 +01:00
Evgeny
e345671c76
agent: extend xrcp certificate validity 1 hour in the past, to allow out of sync clocks ( #1601 )
2025-08-14 22:48:11 +01:00
Evgeny
86fb2cddc5
smp server: support short SimpleX addresses in server information / pages ( #1600 )
2025-08-12 07:31:32 +01:00
Evgeny
79ba60e3ad
agent: update contact request server hosts to match server in short link ( #1597 )
2025-08-05 12:29:50 +01:00
Evgeny
fb477b24d7
smp server: support short link URI as queue identifier in control port commands ( #1596 )
2025-08-05 08:18:39 +01:00
Evgeny
f4e7469f96
xftp server: prometheus metrics ( #1595 )
...
* xftp server: prometheus metrics
* update
Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com >
---------
Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com >
2025-07-30 16:18:49 +01:00
Evgeny
4647d69d4b
smp server: do not include previously blocked queues in stats, prevent leak of client threads ( #1593 )
2025-07-30 11:12:57 +01:00
Evgeny
c0f357d817
servers: control port session improvements ( #1591 )
...
* servers: prohibit changing role during control port session
* quota for blocked queues
* allow disabling blocking and quota
* fix test
* fix INI file
2025-07-21 15:19:43 +01:00