hh
|
c8d485fe0e
|
fix(backend): migration vacuums profile history so change reads stay index only
|
2026-10-19 02:57:49 +00:00 |
|
hh
|
b86e2627d8
|
feat(backend): mcp get_person returns everything the archive knows about one person
|
2026-10-19 02:57:49 +00:00 |
|
hh
|
8f9ceb6af8
|
feat(backend): person overview with real profile changes, shared groups, joins and leaves, deleted count and group title changes
|
2026-10-19 02:57:49 +00:00 |
|
hh
|
0c9c848fb1
|
fix(backend): profile history gets a row only when a field really changed, partial snapshots keep the known phone and username
|
2026-10-19 02:57:49 +00:00 |
|
hh
|
aa41bbbc74
|
fix(backend): group title changes found by enrichment are recorded, enrichment and syncs skip unchanged profiles
|
2026-10-19 02:57:49 +00:00 |
|
hh
|
efc431c969
|
fix(backend): watched bot enriches a group at most once in six hours
|
2026-10-19 02:57:49 +00:00 |
|
hh
|
7d7cf3cbbb
|
feat(backend): history keys cover the profile fields, group snapshots keyed by time, indexes for memberships and job lookups
|
2026-10-19 02:57:49 +00:00 |
|
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
|
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
|
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
|
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
|
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 |
|
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
|
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
|
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
|
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
|
580927da0a
|
fix(frontend,backend): storage categories keep one hue in both themes, trash counted in the total, undo keeps the list, larger touch targets
|
2026-10-14 03:18:59 +02:00 |
|
hh
|
55634984fd
|
feat(frontend,backend): storage panel with weight rows and trash, heavy media streams by url in the viewer
|
2026-10-14 03:09:37 +02:00 |
|
hh
|
f2c245707a
|
feat(backend): storage trash with seven day retention, trashed files are not fetched again automatically
|
2026-10-14 02:52:21 +02:00 |
|
renovate Bot
|
c20e132872
|
chore(deps): pin timescale/timescaledb docker tag to b346edc (main) (#16)
Co-authored-by: renovate <renovate@hhhhh.dev>
|
2026-10-10 23:22:30 +00:00 |
|
hh
|
4d16105e92
|
feat(frontend)!: sveltekit 3 on the v0.7.0 template, typescript 6, adapter-auto dropped; backend base moves to trixie
|
2026-10-10 23:18:57 +00:00 |
|
hh
|
b1ffebe858
|
fix(infra): timescaledb image 2.27.1 to 2.30.2, the high advisory fixed in 2.29.1 was still open
|
2026-10-10 20:50:06 +00:00 |
|
hh
|
56146e4e8d
|
chore(backend,infra): resolve template update conflicts, import check knows the watcher and the api login
|
2026-10-10 20:59:12 +02:00 |
|
hh
|
5fb8f8a534
|
style(backend): one-line import, ruff 0.17 keeps the pragma out of the line width
|
2026-10-10 20:59:12 +02:00 |
|
renovate Bot
|
8eb31ed4d3
|
chore(backend): update template to v0.6.0, conflicts left
|
2026-10-10 20:59:12 +02:00 |
|
hh
|
869f8291fb
|
fix(api): access log keeps the mcp path but not its query, the token rode in it
|
2026-10-09 02:44:01 +00:00 |
|
hh
|
283eab1eb0
|
feat(mcp): download any message file via share link
|
2026-10-08 21:22:59 +02:00 |
|
hh
|
114058e6ae
|
chore(backend): update template to v0.4.0
|
2026-10-08 21:22:59 +02:00 |
|