whiteducksoftware / whiteducksoftware/flock
[1.0] Fix historical pagination and artifact detail lookup
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 120
- Forks
- 14
- Avg merge
- 19h 32m
- Merged PRs (30d)
- 8
Description
Changing the historical page offset recreates a callback whose effect reloads the first page. Artifact details search only the first 100 list results rather than the existing detail endpoint.
Scope
- Keep loaded history pages when loading older results and reset pagination only for an intentional filter change.
- Fetch artifact details by their ID through the existing authorized detail endpoint.
- Expose failed loads and stale requests without showing results for an old filter/selection.
Acceptance criteria
- Loading multiple older pages retains previous pages without resetting to page one or duplicating results.
- An authorized artifact beyond the first 100 entries can be opened directly; forbidden and missing items remain distinguishable only as permitted.
- Changing filters or selection during an outstanding request cannot overwrite the current view with stale data.
Boundaries
No generic frontend state-management rewrite.
References
- Parent topic: #374.
- Implementation dependencies: #432.
- src/flock/frontend/src/components/modules/HistoricalArtifactsModule.tsx
- src/flock/frontend/src/components/details/MessageDetailWindow.tsx
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/flock/frontend/src/components/modules/HistoricalArtifactsModule.tsx to trace pagination, filter changes, and request lifecycles, then inspect src/flock/frontend/src/components/details/MessageDetailWindow.tsx for artifact lookup. Verify that older pages remain loaded, authorized details can be opened by ID, failures are exposed, and stale requests cannot replace the current view.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100