hh
|
97ccfbbffd
|
fix(backend): watch times stay in utc for naive telegram dates, webhook outbox survives a database hiccup at start
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
2c56934133
|
feat(frontend): live unseen alerts badge on the menu button and in settings
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
ea3a7c0a61
|
feat(frontend): watches, webhooks and alerts panels read humanly, with chat picker, url filter, test send and delivery log
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
6a4fd6ad47
|
feat(backend): watches report alert counts, alerts carry watch params and time away, webhooks their last delivery
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
9da0c06ac1
|
feat(backend): webhooks deliver signed alerts from an outbox with retries and a test send
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
2bb8ca45fb
|
feat(backend): alerts come enriched and paged with an unseen count and a live alert frame
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
4469938f47
|
feat(backend): watches fire on new, edited and deleted messages and on coming online, legacy keyword included
|
2026-10-19 02:57:27 +00:00 |
|
hh
|
8ed9ca1951
|
fix(frontend): chat list shows its chats on the first load again
|
2026-10-19 02:57:17 +00:00 |
|
hh
|
73b8903de1
|
feat(frontend): analytics shows minutes online by hour of week and by day, sessions with start and end, says when last seen is hidden, chat status is live and in russian
|
2026-10-19 02:41:39 +00:00 |
|
hh
|
f44597b2dc
|
feat(backend): presence stats count time online from sessions in the browser time zone, capture uptime marks hours without data, presence reaches every stream of the account, message volume keeps empty days
|
2026-10-19 02:41:39 +00:00 |
|
hh
|
bb38e23f29
|
feat(frontend): my message menu shows when it was read or listened, group readers open in a right panel
|
2026-10-19 02:40:49 +00:00 |
|
hh
|
f03d7c2890
|
fix(frontend): right panel on phones stays above the sticky dates of the chat
|
2026-10-19 02:40:49 +00:00 |
|
hh
|
d8dd08d7de
|
feat(backend): read time of my messages from the archive, exact dates and group readers asked from telegram on demand
|
2026-10-19 02:40:49 +00:00 |
|
hh
|
f27943aae6
|
feat(backend): supergroup read receipts are captured like basic groups
|
2026-10-19 02:40:30 +00:00 |
|
hh
|
d8ad62fb59
|
fix(frontend): switching accounts never shows the previous account's chats for a moment
|
2026-10-19 02:33:44 +00:00 |
|
hh
|
f5a8649855
|
perf(backend): message writes look up the stored copy by its date and touch one chunk
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
23c1504001
|
feat(userbot): after a restart the userbot catches up on what it missed while down, from a saved cursor and within bounds
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
92e5e737d2
|
fix(userbot): presence, story and profile history toggles of the capture policy take effect for each user peer
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
f32b772ddc
|
fix(userbot): a deletion that arrives before its message is applied once the message is stored
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
516b8e307f
|
fix(backend): a re-captured or bot-edited message keeps its earlier text as a version, an older copy never overwrites a newer edit
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
33ceea3dfc
|
fix(backend): a bulk deletion is announced in chunks that fit the notify payload limit
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
4ce9c5d340
|
fix(backend): a session or bot that fails to start is retried and the failure is logged
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
42469eb9f1
|
fix(userbot): job queue survives a consumer failure, a flood wait defers its job instead of holding the queue
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
3373c31a02
|
fix(backend): listen connections reconnect after a dropped connection or a postgres restart and catch up on what they missed
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
17e27beb59
|
fix(userbot): repeated link rows no longer abort the message insert
|
2026-10-19 02:29:19 +00:00 |
|
hh
|
54424d0aa0
|
feat(frontend): browser tab shows the open chat, empty state speaks the chosen language
|
2026-10-19 02:06:13 +00:00 |
|
hh
|
50922ef69a
|
feat(frontend): installable on the phone with its own icon, title and manifest, missing avatars are asked again later
|
2026-10-19 02:05:41 +00:00 |
|
hh
|
a1d3552519
|
feat(frontend): main menu lists accounts with their avatars, switching opens the last chat of that account
|
2026-10-19 02:02:31 +00:00 |
|
hh
|
3460246749
|
feat(frontend): russian and english interface with a language choice in settings, soon stubs removed
|
2026-10-19 01:54:34 +00:00 |
|
renovate Bot
|
3d2f670e87
|
chore(deps): update ghcr.io/astral-sh/uv:python3.13-trixie-slim docker digest to 7dd72af (main) (#20)
Co-authored-by: renovate <renovate@hhhhh.dev>
|
2026-10-18 04:09:11 +00:00 |
|
renovate Bot
|
305de9f871
|
chore(deps): pin ghcr.io/astral-sh/uv docker tag to 40215b6 (main) (#15)
Co-authored-by: renovate <renovate@hhhhh.dev>
|
2026-10-14 04:07:55 +00:00 |
|
hh
|
dcd6786ca5
|
fix(backend): avatar job ends without a crash when telegram does not know the owner
|
2026-10-14 05:25:48 +02:00 |
|
hh
|
32d58193f3
|
fix(backend): raw update reaches every handler that declares it, contact list follows user updates
|
2026-10-14 05:25:45 +02:00 |
|
hh
|
59d0e2c8ad
|
fix(backend): shared contact card keeps its phone number in the stored message
|
2026-10-14 05:25:42 +02:00 |
|
hh
|
850d39ad6f
|
fix(frontend): cleanup block shows its failure in the error color
|
2026-10-14 05:17:58 +02:00 |
|
hh
|
b8a38092eb
|
fix(frontend): emptied chat keeps its storage head, shared-only chat explains why nothing can be bulk moved, back from a chat returns to the same place in the list, cleanup wording agrees in number
|
2026-10-14 05:15:27 +02:00 |
|
hh
|
2836dcb3a9
|
fix(backend): stale avatar is refetched again under kurigram 2.2.26, profile photos come as chat photos
|
2026-10-14 05:09:38 +02:00 |
|
hh
|
01cf01b629
|
fix(backend): rich messages of the new telegram layer read as plain text instead of no text
|
2026-10-14 05:06:35 +02:00 |
|
hh
|
7f124059be
|
feat(frontend): storage shows the heaviest chats, a chat opens its own files with selective cleanup and a whole-chat move to trash
|
2026-10-14 05:02:06 +02:00 |
|
hh
|
5eacabd101
|
feat(backend): storage lists the heaviest chats, summary and file list take a chat filter
|
2026-10-14 05:02:03 +02:00 |
|
hh
|
0362777a51
|
fix(frontend): opened policy rule stays in view while its card grows, chevrons hold one column, switch and field sizes match the rest
|
2026-10-14 04:31:18 +02:00 |
|
hh
|
dfc726976b
|
fix(frontend): policy card keeps its wells in the light theme, folder rules show their content, opened rule scrolls into view, rule removal asks first
|
2026-10-14 04:27:59 +02:00 |
|
hh
|
cb01d7dff8
|
feat(frontend): capture policy shows what each rule changes, rule card opens from folder and chat menus and can trash downloaded files, trash is paged
|
2026-10-14 04:20:38 +02:00 |
|
hh
|
f646f29ff9
|
feat(backend): policy rules show what they inherit, files of a chat or folder go to trash in one batch, trash list is paged
|
2026-10-14 04:13:13 +02:00 |
|
hh
|
945adcf879
|
fix(backend): userbot follows kurigram 2.2.26, user and chat parsing is awaited, missing chat is handled
|
2026-10-14 03:55:33 +02:00 |
|
renovate Bot
|
d213dfdf64
|
chore(deps): update dependency uv_build to >=0.13.0,<0.14.0 (dev) (#19)
Co-authored-by: renovate <renovate@hhhhh.dev>
|
2026-10-14 03:54:09 +02:00 |
|
renovate Bot
|
566ee09431
|
chore(deps): update code dependencies (dev) (#17)
Co-authored-by: renovate <renovate@hhhhh.dev>
|
2026-10-14 03:54:09 +02:00 |
|
hh
|
09c5f78061
|
fix(frontend,backend): all stories panel groups by peer again, missing trashed file answers 404, access log hides the token
|
2026-10-14 03:53:56 +02:00 |
|
hh
|
897421e7c4
|
fix(frontend): storage failures use the error colour next to the warning, shared mark on its own line in the list, trash key is visible
|
2026-10-14 03:28:29 +02:00 |
|
hh
|
3223f62dea
|
fix(frontend): selected storage chip keeps its fill in the light theme, tile label uses the medium weight
|
2026-10-14 03:24:31 +02:00 |
|