Skip to content

[Feature Request] Built-in keyframe retention for recording storage #331

Description

@smartLanny

Problem

Changing the capture interval (see #286) helps, but it is not enough for users who want rich timeline coverage while keeping local screen-history storage bounded.

On my Mac, Dayflow v2.0.1 (build 118) stores full-resolution JPEG recordings (typically 1662x1080 or 1920x1080). The active recording set currently has 3,646 frames and uses about 1.2 GB over 15 days, with an average file size of about 337 KB per frame.

For timeline reconstruction, many adjacent screenshots are redundant. A screen recording can still be useful after retaining the beginning and end of a continuous work segment, periodic time keyframes, and frames where the screen meaningfully changes.

Feature request

Add a built-in, opt-in keyframe retention policy for processed recordings.

Suggested behavior:

  1. Preserve the first and last screenshot of each continuous capture run.
  2. Preserve one periodic keyframe at a configurable interval, for example every 2 or 5 minutes.
  3. Optionally preserve additional frames when a perceptual-difference / scene-change threshold is exceeded.
  4. Do not compact the most recent configurable window, so pending model analysis always has full context.
  5. Apply compaction only after the frame is no longer needed for pending processing; keep timeline cards and observations intact.
  6. Treat idle recording separately: offer an option to stop after an idle threshold, or keep only a sparse idle heartbeat rather than a full capture cadence.

UX / safety

  • Show a dry-run storage estimate before applying the policy.
  • Make the policy reversible where possible (for example, soft-delete metadata first, then reclaim files according to the selected retention mode).
  • Clearly show the active policy and estimated disk usage in Settings.

This would complement configurable capture intervals: users could retain high-fidelity capture while working, but keep their long-term local journal compact without external scripts.

Environment

  • Dayflow v2.0.1 (build 118)
  • macOS Tahoe 26.5.2, Apple Silicon
  • Local JPEG recordings

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions