Conversation
Remove unsupported server search and use a bounded, cancellable scan with ascending cursors and lookahead. Preserve owner scope and navigation, recover empty pages, and make advanced filters explicit and accessible. Cover API failures, scan boundaries, cs/en member/admin flows and mobile layout. Document the remaining upstream ordering guarantee and VM gate.
CI caught a history entry showing page-one rows at a page-two URL. Read the committed cursor during render for URL-restoring lists rather than waiting for an effect to repair an optimistic local index. Request empty-page recovery only once per result while navigation is pending. Add regression tests for the first render and filter restoration.
Record the authorized backend PR and retain the real API/UI integration gate so fixture evidence cannot be mistaken for server certification.
Validate the pending cursor adapter with the deployed auth and resource fixes before dependent IP-history work and isolated API integration.
This was referenced Sep 24, 2026
Document the exact joint UI/API pins and four browser variants, including member/admin owner boundaries and verified cleanup of 212 templates. Keep broader cursor and adversarial timestamp coverage explicitly pending.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Latest isolated verification / Nejnovější izolované ověření
Real VM verification now passes on integrated UI
3ac1be67(this PR's productcode
c01f09ff) and API44320af0e15. Four configured browser variants(cs/en, desktop/mobile) each verify member and administrator views: three
pages (25/25/1), format/local search, owner scope, end, reload and browser Back.
The actual API rejects foreign reads and malformed cursors. All 212 disposable
templates were deleted and each deletion verified. No VPS deployment occurred.
KB runner:
codex/clankerdev-kb/5f616e9; receipts retain exact UI/API pins.The new PR commit
3fd3a5ddonly records this evidence. Broader #189 resources,live adversarial timestamps and shared API rollout remain separate gates.
Skutečné VM ověření prošlo na uvedených přesných pinech ve čtyřech kombinacích
jazyka a velikosti obrazovky, vždy jako člen i administrátor. Ověřené jsou tři
stránky, filtry, vlastník, konec seznamu, reload/Zpět a skutečné chybové odpovědi
API. Všech 212 syntetických šablon je prokazatelně smazaných. Další kurzorové
zdroje, adversariální časová data a sdílené nasazení nadále nejsou hotové.
English
Fixes #241. User-data search sent unsupported
q, Next used a descending cursor againstid > from_id, and exact final pages exposed a false Next action. This fresh PR replaces those behaviors with supported owner/format parameters and bounded client-side label/exact-ID search; it does not reopen or merge #242.The adapter validates observed ascending IDs, retains one hidden matching row for Next, and stops with an explicit error on malformed pages, request failure, or an inconclusive 1,000-row scan (plus one existence probe). Query cancellation and explicit advanced-filter confirmation prevent obsolete scans and per-keystroke request chains. Fresh forward cursors, empty-page recovery, accessible filters and wrapping controls preserve member/admin navigation on mobile.
Verification:
npm test: 1,441 tests passed, including adapter pagination and two hook regressions that fail before the fix.npm run typecheck,npm run lint,npm run audit:i18n,npm run audit:i18n-structure,npm run audit:component-contracts,npm run audit:mutations:check, andnpm run buildpassed.audit:structuralstill fails on unchanged main; reproduced from a clean archive of base fbb02a0 with identical existing violations (62 files over 500 lines vs budget 53 and unrelated cast regressions). No baseline or CI checks were changed.Limitations of the earlier tests below: these are fixture tests. The new isolated evidence is described above. The currently deployed API lacks explicit
ORDER BY id ASC; the authorized backend PR44 adds it at320af0e15. Promotion requires the matching API ordering change; a frontend validator cannot detect every omitted row. #189 remains a beta gate. The search cap is explicit and can require a narrower format scope. Seedocs/contracts/user-data-pagination.mdfor the contract, evidence checklist and minimal backend proposal. No upstream PR or deployment is included.URL-restoring keyset lists derive their cursor from the committed router URL during render, preventing page 1 content from remaining under the restored page 2 URL. Empty-page recovery runs once per result while navigation is pending. These changes also affect the opt-in VPS, exports and known-device lists covered above.
Validation notes: the first CI smoke run failed on history navigation before the fix. One local unit run hit an unrelated asynchronous advisory assertion; its isolated suite and the subsequent complete unit run passed without changing that test. GitHub static/unit and Smoke E2E passed for the tested product head
67b0c2d3; the follow-up only updates the backend dependency documentation.Česky
Oprava #241 odstraňuje nepodporované
q, obrácený kurzor a falešné tlačítko Další na poslední plné stránce. Hledání názvu/přesného ID probíhá omezeným čtením podporovaných API stránek se zachováním vlastníka a formátu. Staré PR #242 se neobnovuje ani nemerguje.Nové řešení kontroluje vzestupná ID, skryje záznam sloužící k určení pokračování, ruší zastaralé požadavky a při neúplném hledání nebo chybě ukáže výslovnou chybu. Pokročilé filtry se potvrzují najednou. Opravené jsou navazující kurzory, návrat po smazání posledního řádku, přístupné názvy filtrů a mobilní zalamování.
Prošlo 1 441 unit testů, 52 relevantních Playwright scénářů pro user-data/VPS/exporty/známá zařízení včetně desktopu/mobilu, cs/en a member/admin, navíc 14 opakování user-data na Linuxu. Prošly typecheck, lint, uvedené audity a build. Strukturální audit má shodné již existující chyby i na čistém výchozím main; kontroly se neobcházely.
Backendová záruka pořadí (#189) je připravena ve schváleném API PR44, commit
320af0e15. Nové společné izolované ověření je uvedeno nahoře; sdílené API zatím tuto změnu neobsahuje. Fixture testy toto nenahrazují. Limit hledání je přiznaný; případně je nutné zúžit formát. Součástí není upstream PR ani nasazení.Kurzor seznamů s obnovou URL se bere z potvrzené URL při renderování, což opravuje starý obsah po navigaci Zpět. Návrat z prázdné stránky se neopakuje během čekání na navigaci. Dva nové regresní testy před opravou selhaly. Původní CI selhalo na historii; na testovaném produktovém commitu
67b0c2d3prošly static/unit i Smoke E2E; následná změna upravuje pouze dokumentaci backendové závislosti. Jeden dřívější lokální unit běh selhal na nesouvisející async assertion advisory; izolovaná sada a následný celý běh prošly bez změny tohoto testu.Current release integration / Integrace aktuálního release
Merged current main
67bbb6bbinto this branch (c01f09ff) without conflicts.Combined verification with the dependent IP audit: 44 targeted unit tests,
14 user-data Playwright cases (cs/en, member/admin, desktop/mobile), typecheck,
lint and build passed. This earlier run is fixture evidence; see the later actual API44 evidence above.
Aktuální main
67bbb6bbje zapojen bez konfliktů. Společně s navazující historiíIP prošlo 44 unit testů, 14 user-data browser scénářů, typecheck, lint a build.
Nové skutečné ověření user-data s API44 je uvedeno nahoře; další zdroje zůstávají otevřené.