Skip to content

[BUGFIX] Stabilize Overview variant navigation and discard approval - #69

Closed
Kanti wants to merge 1 commit into
mainfrom
fix/overview-navigation-races
Closed

Kanti wants to merge 1 commit into
mainfrom
fix/overview-navigation-races

Conversation

@Kanti

@Kanti Kanti commented Oct 8, 2026

Copy link
Copy Markdown
Member

Clicking an Overview variant while a search request was pending could let its stale response overwrite the reset tree. Missing variants or failed navigation could also leave discard approval active and bypass a later unsaved-documentation warning.

This fixes both follow-up P2 findings from #63, which is now merged into main.

  • Serialize TYPO3's existing filter pipelines, abort and settle obsolete requests before resetting, and synchronize with load promises and Lit completion. Ajax middleware reports HTTP/network/JSON failures and lets core's cancellation handler finish the pipeline, allowing searches to recover and retry.
  • Carry the existing cancelable navigation guard through each attempt. Approval covers the destination actually opened in the content iframe and is invalidated on failure, replacement attempts, new edits or unrelated unloads.
  • Await content-container navigation before persisting the target. Failed attempts restore the previous selection and preserve documentation; successful dirty navigation still prompts once. Site/language context remains covered by browser assertions.
  • Extend the real TYPO3 browser suite to 36 cases on TYPO3 13.4.35 and 14.3.7. Controlled network gates cover late and overlapping searches, failed-search recovery, deleted/renamed variants, failed/aborted resets, synchronous/asynchronous navigation failures, cancellation and native unload warnings.

Validation passed locally:

  • Complete JavaScript/browser suite: 276 tests, plus TypeScript checking, through the pinned repository runner.
  • javascriptBuildCheck: all three committed bundles verified.
  • GrumPHP on PHP 8.5 and git diff --check.
  • Eight representative regressions failed against merged main before the fix.

The browser tests use released Tree, TreeToolbar, Lit, Ajax and storage code and the shipped documentation editor. HTTP responses and unrelated backend chrome are fixture-controlled; full installed TYPO3 backend end-to-end sessions were not run.

@Kanti Kanti closed this Oct 17, 2026
@Kanti
Kanti deleted the fix/overview-navigation-races branch October 17, 2026 10:33
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