201 Commits

Author SHA1 Message Date
Aleksandr Soloshenko
f496d676a7 [push] improve metrics and introduce dashboard 2025-08-07 14:12:30 +07:00
Aleksandr Soloshenko
26bdf16931 [sse] add metrics 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
ae42e2a16d [config] configurable SSE keep-alive period 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
bbfa9a349d [sse] multiple connections support 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
63b93fbe01 [docs] update API docs 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
cefb6fa7bb [sse] add 30 minutes write timeout 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
a87adefafb [mesages] do not check push token before notification 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
4bcfc35c87 [events] introduce events module as a proxy between the app and push/sse 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
d86a0e4234 [push] migrate to Notify method where posible 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
722272df6c [sse] minor fixes 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
0fb0f54539 [handlers] expose events endpoint 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
79da361234 [sse] introduce SSE module 2025-08-05 16:22:03 +07:00
Aleksandr Soloshenko
fa8e6f55a9 [docs] minor improvements to the API docs 2025-07-11 15:35:12 +07:00
Aleksandr Soloshenko
18dabe504b [handlers] separate message status DTOs 2025-07-11 15:35:12 +07:00
Aleksandr Soloshenko
26e205d73b [messages] add device last seen filter 2025-07-11 15:35:12 +07:00
Aleksandr Soloshenko
2152e60243 [messages] improve content errors handling 2025-07-11 15:35:12 +07:00
Aleksandr Soloshenko
b9d4059a16 [health] process unknown health status 2025-07-11 15:35:12 +07:00
Aleksandr Soloshenko
289a3b2ca2 [messages] explicit device selection 2025-07-11 15:35:12 +07:00
Aleksandr Soloshenko
0e929406e6 [db] remove deprecated message field 2025-07-09 20:27:03 +07:00
Aleksandr Soloshenko
290d0e5049 [tests] fix for new structures 2025-07-07 05:43:54 +07:00
Aleksandr Soloshenko
4516fb0ccf [handlers] fix message field compatibility for mobile 2025-07-07 05:43:54 +07:00
Aleksandr Soloshenko
8f01332869 [messages] add data messages support 2025-07-07 05:43:54 +07:00
Aleksandr Soloshenko
752e9c6ed5 [settings] fix empty response for device 2025-06-27 06:47:02 +07:00
Aleksandr Soloshenko
4ce41816b5 [docs] update API docs 2025-05-28 06:10:55 +07:00
Aleksandr Soloshenko
d8f9864e52 [settings] introduce settings module 2025-05-28 06:10:55 +07:00
Aleksandr Soloshenko
dfe1341ec8 [push] unify broadcast notifications 2025-05-28 06:10:55 +07:00
Aleksandr Soloshenko
632ef462ef [webhooks] set webhooks per-device 2025-05-17 15:22:17 +07:00
Aleksandr Soloshenko
4e6b4e7f28 [push] add send retries 2025-05-13 16:48:16 +07:00
Aleksandr Soloshenko
8cdb4a1d13 [messages] add unit tests 2025-04-02 13:59:13 +07:00
Aleksandr Soloshenko
11bdf0e033 [messages] add messages priority 2025-04-02 13:59:13 +07:00
Aleksandr Soloshenko
a8b23f4dc1 [mobile] add registration by one-time code 2025-03-28 06:52:21 +07:00
Aleksandr Soloshenko
1493a05cea [config] expose database pool options to config 2025-03-16 19:16:33 +07:00
Aleksandr Soloshenko
fceb298744 [api] move devices registration rate limit to Traefik 2025-03-12 20:31:52 +07:00
Aleksandr Soloshenko
b6960a026e [devices] move device push token update method and tokens cache to devices service 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
0dfc80dc29 [docs] add tags to API docs 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
eae91efcc4 [api] return login fo device registration with an existing account 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
68f65470f0 [auth] return Unauthorized for invalid credentials by default 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
aff8cd2a41 [chore] add test case to device model-2-dto and improve device handling 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
74be198c16 [messages] select random device for sending message 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
f4188c5fdf [refactor] move reusable code to the library 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
58572fd71f [api] implement device remove endpoint 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
5d0ab47d2c [api] update API docs and comments 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
6bff672422 [api] register device with existing user 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
d19787888c [api] introduce userauth middleware and helpers 2025-02-15 20:47:31 +07:00
Aleksandr Soloshenko
70297a5007 [feature] add inbox export endpoint 2025-01-02 20:50:19 +07:00
Aleksandr Soloshenko
35c3ad3718 [api] move 3rdparty messages API to separate package 2025-01-02 20:50:19 +07:00
Aleksandr Soloshenko
fc29c5e92b [base] use 400 status for parsing errors 2024-12-05 09:10:48 +07:00
Aleksandr Soloshenko
cf6ceaef98 [auth] allow to change password from device 2024-12-03 19:33:31 +07:00
Aleksandr Soloshenko
30f9156e17 [api] migrate from apikey to keyauth 2024-11-27 06:03:13 +07:00
Aleksandr Soloshenko
34fbb47a4c [auth] use of constant time compare for registration token 2024-11-27 06:03:13 +07:00