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
0a3d014f5d
ntf server: priority db pool for notifications and client commands, concurrent resubscriptions, CLI options ( #1529 )
...
* ntf server: option to skip specific tokens when importing store log
* logs
* batch later
* subscribe in parallel, bigger queues
* ntf server: test schema and migrations
* optimize subscriptions
* log level
* resubscribe before starting
* better subscribing
* pooled concurrent resubscriptions
* 5
* async resubscribe
* typo
* priority pool
* db batch size
2025-04-30 11:40:32 +01:00
Evgeny
850d2fa423
ntf server: PostgreSQL database storage ( #1519 )
...
* ntf server: PostgreSQL database storage
* ntf server: import/export stubs
* ntf server postgres db functions
* some notifications tests pass
* notifications tests pass
* import/export notification store logs
* fix ntf server CLI
* log in parralel
* update subscription statuses using executeMany
* fix import/export
* refactor
* fix queries
* prohibit token_id and subscription_id updates, dont update tokens and subscriptions on conflict, improve server insertion, remove duplicate tokens for import, remove subscriptions without tokens for import
* comment
* remame
* increase test delay
2025-04-25 16:47:39 +01:00
Evgeny
5dbe6337ea
ntf server: additional statistics, new invalid token reasons ( #1451 )
...
* agent: check ntf token status on registration
* remove check
* update on check
* refactor
* version
* fix
* ntf server: additional statistics
* swap
* version
* more stats
* test, verify invalid
* rename
* exclude test token from stats
* increase delay
* handle invalid token in retry, more reasons
* focus tests
* disable new tests in CI
* fix
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-02-07 12:19:11 +00:00
Evgeny
944a22a2fb
ntf server: record token invalidation reason, add date of the last token activity ( #1449 )
...
* ntf server: record token invalidation reason, add date of the last token activity
* update time
* rename
* optional
* include token ID in delivery error
* version
* protocol version
* fix, log error
2025-02-06 17:11:35 +00:00
spaced4ndy
a8471eed5b
ntf: get messages for multiple last notifications ( #1378 )
...
* ntf: get messages for multiple last notifications (#1352 )
* ntf: separate get ntf conns api (#1379 )
* ntf: separate get ntf conns api
* nonempty
* update
* update
* remove single get api
* fix test
* refactor
* refactor
* ntf: batch get connections (#1387 )
* ntf: batch get apis
* works
* fix
* fix
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-10-25 15:39:41 +04:00
spaced4ndy
092ed088ca
ntf: support for multiple messages encoding ( #1305 )
2024-09-09 16:03:17 +04:00
Evgeny Poberezkin
3dab330480
use throwE instead of throwError ( #1187 )
...
* use throwE instead of throwError
* test delay
2024-06-05 11:20:50 +01:00
Alexander Bondarenko
a4cfcfcc85
ntf-server: fix test token handling ( #1083 )
...
* use formatted logger
* fix DeviceToken parser for apns_null
* exclude PPNull from token stats
2024-04-04 14:46:40 +01:00
Evgeny Poberezkin
84b8c8417b
revert base64 change ( #1081 )
2024-04-03 09:27:36 +01:00
Alexander Bondarenko
ee90ea6a69
replace base64-bytestring with base64 ( #1065 )
...
* replace base64-bytestring with base64
* minify
* use bytestring-0.10 compatible fork
PR pending...
* bump base64 fork with text compat
* move compat details to modules
* switch repo
* add back module
* cleanup
* minify
* clean imports
* rename
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-27 23:35:09 +00:00
Evgeny Poberezkin
51be2fea20
agent: test NTF server ( #1000 )
2024-02-17 14:55:40 +00:00
Evgeny Poberezkin
13a60d1d39
use ChaChaDRG as the source of randomness ( #920 )
...
* use ChaChaDRG as the source of randomness
* remove functions using entropy directly
* comment
2023-12-21 00:12:08 +00:00
Evgeny Poberezkin
511d793b92
derive JSON instances with TH ( #869 )
...
* derive JSON instances with TH
* defaultJSON
* remove ToJSON
2023-10-26 09:20:30 +01:00
Evgeny Poberezkin
9d12d76078
add fourmolu ( #868 )
...
* add fourmolu
* linebreak
* simplify
* comment
2023-10-22 09:20:14 +01:00
Moritz Angermann
002f36dde0
5.4.0.0: use ghc 9.6.2 ( #791 )
...
* Add 9.6 compat
* compile with GHC9.6.2: dependencies, imports, code
* refactor typeclasses
* refactor record dot
* update cabal version
* update github actions
* update direct-sqlcipher
* 5.4.0.0
* update cabal.project
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-08-24 20:22:02 +01:00
Evgeny Poberezkin
781f8e0000
xftp: increase timeouts for file uploads, show progress ( #658 )
...
* xftp: increase timeouts for file uploads, show progress
* refactor
* use default port 443
* typo
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* upload/download to/from chosen servers concurrently
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-27 13:42:15 +00:00
Evgeny Poberezkin
bbf9e28696
xftp: add server to client encryption layer with cryptobox ( #646 )
...
* xftp: add server to client encryption layer with cryptobox
* workarounds for http2
* update http2 commit
* remove TODOs
2023-02-22 09:03:18 +00:00
Stanislav Dmitrenko
bccef0ba47
files: server and client spike - basic upload/download ( #591 )
...
* Files: main, env, stats, storeLog
* Better + transport
* Executable
* Env
* Update Client.hs, Server.hs, and 4 more files...
* Answer on request
* Delay
* Temp file
* Bypass cert check
* update package.yml, rename
* update store log
* extend HTTP2 transport
* refactor caStore
* HTTP2 body
* update server stats
* file server/client framework
* verify server commands
* process FNEW command, CLI test works
* simple XFTP server test (fails)
* fix test, refactor
* upload chunk works
* receive file chunk in the client
* remove transport handshake
* typo
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* fix names
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-13 13:36:02 +00:00
Evgeny Poberezkin
b342b1dc59
extend HTTP2 transport ( #632 )
...
* extend HTTP2 transport
* refactor caStore
* HTTP2 body
* enable test
* remove maxBodySize
2023-02-09 23:09:24 +00:00
JRoberts
11c235a8a3
check token status when sending verification notification ( #594 )
2023-01-06 19:16:55 +04:00
Evgeny Poberezkin
1d3a604988
refactor SMP client, NTF server store ( #580 )
...
* refactor SMP client, NTF server store
* remove undefined
2022-12-26 18:54:28 +00:00
JRoberts
d9a0e78b04
add optional client data field to ConnectionRequestUri ( #551 )
...
* add optional auxiliary data field to ConnectionRequestUri
* remove import
* fix, test
* fix StrEncoding Char
* data only in sync command, type
* fixing
* queryParamStr
* safeDecodeUtf8
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-11-01 13:42:44 +04:00
Evgeny Poberezkin
7a238812b7
ntf server: fix resubscribing to SMP server after it was restarted, test ( #465 )
2022-07-08 14:46:01 +01:00
JRoberts
09b51dc44f
ntf: retry to deliver notification with new push client ( #437 )
...
* ntf: retry to deliver notification with new push client
* update statuses
* remove token update
* increase tokenTTL
2022-06-28 22:03:06 +04:00
Evgeny Poberezkin
85d507d5d3
ntf-server store log ( #435 )
...
* ntf-server store log
* ntf serevr: restore log when server is started, save compacted store log
* log ntf server store changes
* test, store log works
* update ntf-server exe
2022-06-28 17:10:50 +01:00
Evgeny Poberezkin
0c7c0d066d
support dev/prod APNS hosts ( #433 )
...
* support dev/prod APNS hosts
* fix test
2022-06-27 19:20:23 +01:00
Evgeny Poberezkin
b82452fe03
add category to mutable content notification ( #424 )
2022-06-24 15:35:50 +01:00
Evgeny Poberezkin
0ab44b1836
get multiple messages when notification is processed ( #411 )
...
* get multiple messages when notification is processed
* change notification property
2022-06-19 13:23:35 +01:00
JRoberts
ec70429106
ntf: getNotificationMessage' ( #406 )
...
* ntf: getNotificationMessage'
* refactor
* ntfTs
* fix parser
* length
* fix test
* fix encryption, test
* remove test focus
* getActiveNtfToken
* rename
* Update src/Simplex/Messaging/Protocol.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* getNtfRcvQueue
* refactor
* don't fail
* Update src/Simplex/Messaging/Notifications/Protocol.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* Update src/Simplex/Messaging/Notifications/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* Update src/Simplex/Messaging/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* import
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-06-18 18:21:35 +04:00
Evgeny Poberezkin
b5c5a8ad2a
rename Subscriptions.hs/Store.hs
2022-04-20 11:54:37 +01:00
Evgeny Poberezkin
17888f89a9
test notification token with agent and notifications server ( #353 )
...
* test notification token with agent and notifications server
* notification server test with APNS mock
* set environment variables in the test
* use base64url encoding in encrypted notification data
2022-04-18 08:57:55 +01:00
Evgeny Poberezkin
9d8a9c4fe4
interval notifications (TCRN command) ( #352 )
...
* notifications: periodic notifications
* agent: allow repeat token registrations, delete old tokens from notification server (e.g., when database is moved to another device)
* decrypt token verification code in the agent
* check token status, send TCRN on registration if it was enabled
* fix http2/apns response handling for error responses (also, APNS seems not to send content-length header?)
2022-04-17 10:34:51 +01:00
Evgeny Poberezkin
45ddecc4b8
APNS/HTTP2 push client for notifications server ( #350 )
...
* APN push client (WIP)
* APNS push client works
* TODO comments
* comment
* send notification and process the response
* config
* e2e encryption for notification parameter
* read apns key filename and ID from env
* connect APNS client to server, fix notification JSON encoding to use dash case
* do not connect to APNS on start to pass CI tests
* fix CI test
* remove redundant import
2022-04-14 11:33:17 +01:00