holger krekel
4d6f520f18
finally use persistent queue items with random file names, simplifying the flows
2024-04-04 12:57:49 +02:00
holger krekel
9da626dfc8
proper doc string for Notifier
2024-04-04 12:57:49 +02:00
holger krekel
1cca9aa441
fix failing CI (uncovering real bug)
2024-04-04 12:57:49 +02:00
holger krekel
3d054847a0
split metadata and notifier into separate files
2024-04-04 12:57:49 +02:00
holger krekel
a31d998e67
separate notification thread into own class, and test start_notification_threads
2024-04-04 12:57:49 +02:00
holger krekel
d313bea97f
some more renaming
2024-04-04 12:57:49 +02:00
holger krekel
da04226594
fix
2024-04-04 12:57:49 +02:00
holger krekel
f5652cdbc4
better naming
2024-04-04 12:57:49 +02:00
holger krekel
13172c92f3
some refinements and extending the tests
2024-04-04 12:57:49 +02:00
holger krekel
09df636183
extend testing
2024-04-04 12:57:49 +02:00
holger krekel
2b45ace3ba
refine testing and code
2024-04-04 12:57:49 +02:00
holger krekel
9e05a7d1eb
more precision
2024-04-04 12:57:49 +02:00
holger krekel
21e7c09c43
remove redundant test code for requests mocking
2024-04-04 12:57:49 +02:00
holger krekel
14d96e0a9b
snap somewhat working again
2024-04-04 12:57:49 +02:00
holger krekel
459ffcabd6
better preserve notification order, using a queue again
2024-04-04 12:57:49 +02:00
link2xt
5e55cc205d
Run chatmail-metadata and doveauth as vmail
2024-03-30 23:08:42 +01:00
link2xt
080ae058d8
Remove non-existent file pattern from MANIFEST.in
2024-03-30 09:14:01 +00:00
link2xt
3a50d82657
Move systemd unit templates to cmdeploy
...
They are part of deployment rather than service itself.
Different deployments may have different users,
filesystem layout etc.
2024-03-28 16:38:30 +01:00
holger krekel
c640087498
fix error string
2024-03-28 16:11:00 +01:00
holger krekel
2089f3ab58
persist pending notifications to directory so that they survive a restart
2024-03-28 16:11:00 +01:00
holger krekel
cbaa6924c1
use json instead of python's marshal
2024-03-28 16:11:00 +01:00
holger krekel
6ab3e9657d
test and fix for edge case
2024-03-28 16:11:00 +01:00
holger krekel
554c33423f
various naming refinements
2024-03-28 16:11:00 +01:00
holger krekel
5d5e2b199c
remove timeout support, it's not needed
2024-03-28 16:11:00 +01:00
holger krekel
989ce70f97
refine logging
2024-03-28 16:11:00 +01:00
holger krekel
f5dc4cb71e
more resilience
2024-03-28 16:11:00 +01:00
holger krekel
76512dfa2d
move persistentdict into own file, rename
2024-03-28 16:11:00 +01:00
holger krekel
850112502f
extend imap online test to cover multi-device
2024-03-28 16:11:00 +01:00
holger krekel
888fa88aa3
back to using marshal, and a filelock
2024-03-28 16:11:00 +01:00
holger krekel
15e7458666
add a persistent dict impl
2024-03-28 16:11:00 +01:00
holger krekel
0a93c76e66
add multi-token support
2024-03-28 16:11:00 +01:00
holger krekel
312f86223c
fix target dir
2024-03-28 16:11:00 +01:00
holger krekel
27a60418ad
use "devicetoken" consistently and take it from a var
2024-03-28 16:11:00 +01:00
holger krekel
46d31a91da
properly startup metadata service and add online test for metadata
2024-03-28 16:11:00 +01:00
holger krekel
a8765d8847
store metadata in a per-mbox dir
2024-03-28 16:11:00 +01:00
holger krekel
8ee6ca1b80
store tokens on a per-maildir basis
2024-03-28 16:11:00 +01:00
holger krekel
1a2b73a862
store tokens in guid-directories
2024-03-28 16:11:00 +01:00
link2xt
c44f4efced
Store raw tokens instead of dictionaries in metadata
2024-03-28 16:11:00 +01:00
holger krekel
33353ccaf6
don't warn on hello
2024-03-26 23:37:01 +01:00
link2xt
75fcbd03ce
echobot: ignore info messages
2024-03-25 14:38:41 +00:00
link2xt
377121bdee
Fix echobot logging
...
Do not put log messages into format string
and enable INFO level when bot is started
via main() as it happens with systemd.
2024-03-25 14:38:41 +00:00
holger krekel
63d3e05674
remove superflous check in tests
2024-03-20 19:10:44 +01:00
holger krekel
e466a03055
fixes
2024-03-20 19:10:44 +01:00
holger krekel
1819a276cb
implement persistence via marshal
2024-03-20 19:10:44 +01:00
holger krekel
9ec6430b71
make notifier take a directory
2024-03-20 19:10:44 +01:00
link2xt
edc593586b
Implement "iterate" command in metadata server
...
Otherwise Dovecot times out when trying to iterate over metadata
of the folder. Apparently it happens when attempting to delete
folder from the server over IMAP.
2024-03-08 05:39:59 +01:00
holger krekel
1e229ad2de
Add tests to metadata/token handling and post notifications in background thread ( #224 )
2024-03-08 01:56:33 +00:00
link2xt
42e50b089f
Push notification extension
...
This change adds XDELTAPUSH capability.
Delta Chat clients detecting this capability
can set /private/devicetoken IMAP metadata
on the inbox to subscribe for Apple (APNS)
notifications.
Notifications are implemented in a new
`chatmail-metadata` service
which handles requests to set /private/devicetoken
IMAP metadata from Delta Chat clients
and /private/messagenew requests from
push_notification_lua script.
To avoid sending notifications for
MDNs, webxdc updates and Delta Chat sync messages,
messages with Auto-Submitted header are ignored
by setting $Auto keyword (flag) on them in Sieve script
and skipping such messages in push_notification_lua script.
Outgoing messages are also ignored.
2024-03-06 19:00:04 +00:00
missytake
926de76010
tests: make maildata work with python3.9
2024-02-17 09:27:02 +00:00
link2xt
5b9debfbdf
Test dict protocol handler as a separate function
2024-01-30 23:49:17 +00:00