feat(backend): edit versions are kept in groups and channels by default

This commit is contained in:
hh committed 2026-10-19 02:58:51 +00:00
1 parent 0dd14c5d5e
commit 45c19cac20
3 files changed
+35 -3

No files matched your search

@@ -0,0 +1,32 @@
"""edit versions everywhere
Revision ID: a2c4e6f8b1d3
Revises: c9e2a7f4b1d8
Create Date: 2026-10-19 02:30:00.000000
"""
from collections.abc import Sequence
from alembic import op
revision: str = "a2c4e6f8b1d3"
down_revision: str | None = "c9e2a7f4b1d8"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None
def upgrade() -> None:
op.execute(
"UPDATE capture_policy SET track_edits_deletes = TRUE, updated_at = now() "
"WHERE scope_type IN ('default_group', 'default_channel') "
"AND NOT track_edits_deletes"
)
def downgrade() -> None:
op.execute(
"UPDATE capture_policy SET track_edits_deletes = FALSE, updated_at = now() "
"WHERE scope_type IN ('default_group', 'default_channel') "
"AND track_edits_deletes"
)
+1 -1
View File
@@ -25,7 +25,7 @@ async def on_edited_message(client: PyroClient, message: Message) -> None:
meta = meta_from_chat(chat, ctx.contacts.ids)
await ctx.watches.on_edit(seen_message(chat_id, message))
toggles = ctx.resolve(meta)
if not toggles.track_edits_deletes:
if not (toggles.messages and toggles.track_edits_deletes):
return
changed = await repository.add_version(
ctx.pool, ctx.account_id, message_row(message, chat_id, message.date)
+2 -2
View File
@@ -1,8 +1,8 @@
from utils.policy.models import CaptureToggles, ChatKind
DEFAULTS: dict[ChatKind, CaptureToggles] = {
ChatKind.CHANNEL: CaptureToggles(),
ChatKind.GROUP: CaptureToggles(messages=True),
ChatKind.CHANNEL: CaptureToggles(track_edits_deletes=True),
ChatKind.GROUP: CaptureToggles(messages=True, track_edits_deletes=True),
ChatKind.DM: CaptureToggles(
messages=True,
media=True,