Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Complete persistent project history (paging, retention, and migrations)

Open
#49 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@andyintheshell is already working on this.

Since Oct 23, 2026.

Assessment

This issue has not been assessed yet.

Description

enhancement help wanted priority: p0

Context

0.1.0 keeps HTTP history in memory, bounded by --history-limit and
--history-bytes. Closing the app loses captured exchanges, notes, site-map
state, and search material. Persistent, searchable history is the largest
remaining Milestone 3 item and the workflow research's only P0 gap.

Scope

  • Add a SQLite-backed store with schema versioning and forward migrations.
  • Persist exchange metadata, request/response heads and retained bodies,
    timestamps/durations, lifecycle state, notes, and source information needed by
    the site map.
  • Enforce bounded retention on disk: exchange count, retained-body bytes, and a
    configurable database path/budget. Keep the current "retain one oversized
    exchange" behavior.
  • Load a bounded recent window at startup and page older rows on demand. Do not
    load every body into memory.
  • Make history filtering, Search, and the site map work against the store.
    FTS5 can index searchable text, but decoded-body matching must still handle
    gzip/deflate/Brotli and bounded previews.
  • Provide Clear history and database deletion actions. Document what is stored,
    where it lives, that it is local, and whether it is encrypted.
  • Handle missing, locked, corrupt, and read-only databases without taking down
    the proxy or UI. Use WAL/checkpointing safely.

Acceptance criteria

  • Restart restores retained HTTP history and notes; Search finds restored
    exchanges.
  • Disk usage respects configured retention bounds and evicts oldest first.
  • The app remains usable with a missing, locked, or corrupt database and
    reports the problem.
  • Migrations, retention, and corruption recovery have automated coverage.
  • Safety, workbench, parity, roadmap, and packaging docs describe the store
    and its deletion/retention behavior.

References

Dominant language
Rust
Stars
1
Forks
0
Avg merge
34m
Merged PRs (30d)
66

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from andyintheshell/perseid

All issues in andyintheshell/perseid

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.