[Task] Add pagination and windowing for large address and calendar views #261

Closed
opened 2026-07-14 00:13:18 +02:00 by zemion · 1 comment
Owner

Objective

Prevent large address books and wide calendar ranges from slowing page open by making data windows explicit and paginated.

Context

The first performance slice removed an initial duplicate address contact fetch and parallelized calendar metadata loading. Remaining costs scale with data size:

  • Address book page fetches contacts with limit: 500 and should move toward explicit paging/search windows.
  • Calendar continuous mode can request a broad event range and should use clearer windows, deltas, and loading states.

Scope

  • Owning repositories: govoplan-addresses, govoplan-calendar, with core webui integration checks.
  • Add address contact pagination or virtualized window loading.
  • Add calendar range/window defaults that keep first paint fast while preserving useful continuous mode behavior.
  • Keep search and list membership workflows usable.

Checklist

  • Define address contact page size and UI behavior.
  • Add API cursor/offset support if current endpoint shape is insufficient.
  • Define calendar first-load event window and follow-up load behavior.
  • Verify large local datasets manually.

Verification Target

  • Core webui build.
  • Address and calendar API tests for page/window parameters.
  • Manual timing with large address/calendar datasets.
## Objective Prevent large address books and wide calendar ranges from slowing page open by making data windows explicit and paginated. ## Context The first performance slice removed an initial duplicate address contact fetch and parallelized calendar metadata loading. Remaining costs scale with data size: - Address book page fetches contacts with `limit: 500` and should move toward explicit paging/search windows. - Calendar continuous mode can request a broad event range and should use clearer windows, deltas, and loading states. ## Scope - Owning repositories: `govoplan-addresses`, `govoplan-calendar`, with core webui integration checks. - Add address contact pagination or virtualized window loading. - Add calendar range/window defaults that keep first paint fast while preserving useful continuous mode behavior. - Keep search and list membership workflows usable. ## Checklist - [ ] Define address contact page size and UI behavior. - [ ] Add API cursor/offset support if current endpoint shape is insufficient. - [ ] Define calendar first-load event window and follow-up load behavior. - [ ] Verify large local datasets manually. ## Verification Target - Core webui build. - Address and calendar API tests for page/window parameters. - Manual timing with large address/calendar datasets.
zemion added the area/apicodex/readymodule/core
priority
p2
status
ready
type
task
labels 2026-07-29 14:15:06 +02:00
Author
Owner

Codex State: done

Summary

  • Addresses now exposes exact totals and offset windows; its WebUI uses 50-row pages with list-aware server filtering.
  • Calendar continuous mode starts with ten weeks and moves a bounded ten-week event window with the virtualized viewport, ignoring stale requests.

Changed Files

  • govoplan-addresses@bf1d7c9
  • govoplan-calendar@b1cf001

Verification

  • govoplan-addresses: 28 tests passed
  • govoplan-calendar: test:calendar-page passed
  • 10,000-contact SQLite benchmark: count 8.16 ms; final 50-row page 36.34 ms
  • tools/checks/check-focused.sh passed, including 31 WebUI module permutations
## Codex State: done ### Summary - Addresses now exposes exact totals and offset windows; its WebUI uses 50-row pages with list-aware server filtering. - Calendar continuous mode starts with ten weeks and moves a bounded ten-week event window with the virtualized viewport, ignoring stale requests. ### Changed Files - `govoplan-addresses@bf1d7c9` - `govoplan-calendar@b1cf001` ### Verification - `govoplan-addresses: 28 tests passed` - `govoplan-calendar: test:calendar-page passed` - `10,000-contact SQLite benchmark: count 8.16 ms; final 50-row page 36.34 ms` - `tools/checks/check-focused.sh passed, including 31 WebUI module permutations`
zemion removed the
status
ready
codex/ready
labels 2026-07-30 05:28:50 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-core#261