Hard navigation to /<path>/ lets zddc-server's auto-serve kick in for
canonical folders — /archive/ swaps in the archive tool, /staging/ the
transmittal tool, etc. — so double-clicking a canonical folder from
inside browse silently swapped the user out of browse, contrary to
what they expected.
Fix: client-side rescope. navigateIntoFolder() now fetches the new
directory listing via the loader, calls tree.setRoot() with virtual
canonicals re-applied, and pushes the new URL via history.pushState.
The page never reloads. A subsequent reload still works (browse loads
itself at the new URL since trailing-slash → ServeDirectory → embedded
browse SPA).
Side effects:
- augmentRoot (the canonical-folder injection helper) exposed via
window.app.modules so events.js can re-apply it on rescope.
- popstate handler: back/forward in the browser triggers the same
rescope path with the historic URL.
- Selection + preview reset on rescope; the previous file's preview
isn't carried into the new scope.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>