Skip to content

fix(beeper): report durable over-cap media skips - #648

Merged
wesm merged 1 commit into
kenn-io:mainfrom
salmonumbrella:fix/issue-632-media-size-policy
Aug 20, 2026
Merged

fix(beeper): report durable over-cap media skips#648
wesm merged 1 commit into
kenn-io:mainfrom
salmonumbrella:fix/issue-632-media-size-policy

Conversation

@salmonumbrella

Copy link
Copy Markdown
Contributor

What changed

  • Report newly persisted Beeper size-cap skips separately, including their aggregate bytes and an at least qualifier when the total is only a lower bound.
  • Keep unchanged durable size-cap skips out of retry, pending, and repeated drop counts. Raising the cap makes them eligible again.
  • Saturate attachment counts and byte totals instead of allowing large or malformed size metadata to wrap negative.
  • Preserve the existing 100 MiB default. This PR does not change configuration or schema.

Why

An over-cap attachment currently looks like generic pending work and can be revisited indefinitely even though the same configured cap will reject it again. Operators cannot tell how much media was deliberately excluded, and repeated backfills can spend the same network work without changing the archive. This makes the terminal policy outcome visible and ties retries to an actual cap change.

Usage

No usage change.

Builds on #620. Refs #632.

@roborev-ci

roborev-ci Bot commented Aug 19, 2026

Copy link
Copy Markdown

roborev: Combined Review (cd22b57)

Code review passed: no Medium, High, or Critical findings.


Reviewers: 2 done | Synthesis: codex, 6s | Total: 2m54s

@wesm
wesm merged commit ecec8f9 into kenn-io:main Aug 20, 2026
20 checks passed
wesm pushed a commit to salmonumbrella/msgvault that referenced this pull request Sep 4, 2026
Beeper, Slack, Discord, and Teams now skip attachment downloads from
conversations with more than 20 participants unless the operator sets
media_max_participants. This keeps high-volume group rooms from consuming
the archive's media budget while direct chats and small groups keep their
media.

An explicit media_max_participants = 0 still disables the cap. Skipped
occurrences keep the participant_threshold marker, so backfill retries them
only after the cap changes.

This squashed change also includes:

- feat(media): raise the chat media size default to 250 MiB

The higher Beeper, Slack, and Teams size limit keeps long voice notes, screen
recordings, and phone video from direct chats. Discord keeps its 50 MiB
default, and an explicit max_media_mb remains unchanged.

Refs kenn-io#634 kenn-io#620 kenn-io#632 kenn-io#648

Generated with Codex
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants