Skip to content

Paginate the Archived Threads settings page and add Delete all - #394

Merged
Tryanks merged 2 commits into
mainfrom
archived-pagination
Sep 10, 2026
Merged

Tryanks merged 2 commits into
mainfrom
archived-pagination

Conversation

@Tryanks

@Tryanks Tryanks commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Why

Settings → Archived Threads rendered every archived thread as a row with two buttons and click listeners. With thousands of archived threads the page froze on open.

What

  • Render 50 rows per page, grouped by project as before, with a "x–y of N" caption and Previous/Next buttons (disabled at each end). A project spanning a page boundary repeats its caption on the next page.
  • Add a Delete all danger button that always confirms (independent of the skip-confirm preference) and then dispatches one DeleteSession per archived thread.
  • Locale strings in en and zh-CN; DESIGN.md updated.

Skipped a virtual list: the settings page scrolls as a whole, and 50 rows per page is cheap.

Evidence

  • cargo fmt --all --check, cargo clippy --workspace --all-targets --locked -- -D warnings: clean
  • cargo test --workspace --locked --no-fail-fast: all passing, including the new page_bounds unit test and the locale parity test

Rendering every archived thread as a row with two buttons froze the page
once thousands were archived. Render 50 rows per page with a range caption
and Previous/Next, and add a Delete all button that always confirms before
permanently deleting every archived thread.
@Tryanks
Tryanks enabled auto-merge (squash) September 10, 2026 09:55
@Tryanks
Tryanks merged commit 14c2fc1 into main Sep 10, 2026
6 checks passed
@Tryanks
Tryanks deleted the archived-pagination branch September 10, 2026 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant