Update technical notes for latest search improvements

This commit is contained in:
Ivo Oskamp 2026-02-16 16:28:49 +01:00
parent 2beba3bc9d
commit fcbf67aeb3
2 changed files with 8 additions and 0 deletions

View File

@ -20,6 +20,7 @@ This file documents all changes made to this project via Claude Code.
- Changed global search to support per-section pagination (previous/next) so results beyond the first 10 can be browsed per section while preserving the current query/state - Changed global search to support per-section pagination (previous/next) so results beyond the first 10 can be browsed per section while preserving the current query/state
- Changed Daily Jobs search result metadata to include expected run time, success indicator, and run count for the selected day - Changed Daily Jobs search result metadata to include expected run time, success indicator, and run count for the selected day
- Changed Daily Jobs search result links to open the same Daily Jobs modal flow via `open_job_id` (instead of only navigating to the overview page) - Changed Daily Jobs search result links to open the same Daily Jobs modal flow via `open_job_id` (instead of only navigating to the overview page)
- Changed `docs/technical-notes-codex.md` to include search pagination query params, Daily Jobs modal-open search behavior, and latest successful test-build digest
### Fixed ### Fixed
- Fixed `/search` page crash (`TypeError: 'builtin_function_or_method' object is not iterable`) by replacing Jinja dict access from `section.items` to `section['items']` in `templates/main/search.html` - Fixed `/search` page crash (`TypeError: 'builtin_function_or_method' object is not iterable`) by replacing Jinja dict access from `section.items` to `section['items']` in `templates/main/search.html`

View File

@ -279,8 +279,13 @@ All pages use **explicit link-based queries** (no date-based logic):
- `*` wildcard is supported and translated to SQL `%`. - `*` wildcard is supported and translated to SQL `%`.
- Automatic contains behavior is applied per term (`*term*`) when wildcard not explicitly set. - Automatic contains behavior is applied per term (`*term*`) when wildcard not explicitly set.
- Multi-term queries use AND across terms and OR across configured columns within each section. - Multi-term queries use AND across terms and OR across configured columns within each section.
- Per-section pagination is supported via query params: `p_inbox`, `p_customers`, `p_jobs`, `p_daily_jobs`, `p_run_checks`, `p_tickets`, `p_overrides`, `p_reports`.
- Pagination keeps search state for all sections while browsing one section.
- Grouped sections: - Grouped sections:
- Inbox, Customers, Jobs, Daily Jobs, Run Checks, Tickets, Existing overrides, Reports. - Inbox, Customers, Jobs, Daily Jobs, Run Checks, Tickets, Existing overrides, Reports.
- Daily Jobs search result details:
- Meta now includes expected run time, success indicator, and run count for the selected day.
- Link now opens Daily Jobs with modal auto-open using `open_job_id` query parameter (same modal flow as clicking a row in Daily Jobs).
- Access control: - Access control:
- Search results are role-aware and only show sections/data the active role can access. - Search results are role-aware and only show sections/data the active role can access.
- `run_checks` results are restricted to `admin`/`operator`. - `run_checks` results are restricted to `admin`/`operator`.
@ -299,6 +304,8 @@ All pages use **explicit link-based queries** (no date-based logic):
- Pushed image: `gitea.oskamp.info/ivooskamp/backupchecks:dev`. - Pushed image: `gitea.oskamp.info/ivooskamp/backupchecks:dev`.
- 2026-02-16: Test build + push succeeded on branch `v20260216-02-global-search`. - 2026-02-16: Test build + push succeeded on branch `v20260216-02-global-search`.
- Pushed image digest: `sha256:6996675b9529426fe2ad58b5f353479623f3ebe24b34552c17ad0421d8a7ee0f`. - Pushed image digest: `sha256:6996675b9529426fe2ad58b5f353479623f3ebe24b34552c17ad0421d8a7ee0f`.
- 2026-02-16: Additional test build + push cycles succeeded on `v20260216-02-global-search`.
- Latest pushed image digest: `sha256:8ec8bfcbb928e282182fa223ce8bf7f92112d20e79f4a8602d015991700df5d7`.
- Delete strategy: - Delete strategy:
- soft delete by default, - soft delete by default,
- permanent delete only for admins and only after soft delete. - permanent delete only for admins and only after soft delete.