Skip to content

fix: handle explorer directory path segments - #27

Merged
thiennamdinh merged 1 commit into
mainfrom
fix-explorer-directory-pairs
Jun 17, 2026
Merged

fix: handle explorer directory path segments#27
thiennamdinh merged 1 commit into
mainfrom
fix-explorer-directory-pairs

Conversation

@thiennamdinh

@thiennamdinh thiennamdinh commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Parse ledger directory pair entries like [name, type] without stringifying the whole pair as a child name.
  • Add Explorer-side R7RS/percent path segment encoding for create, upload, and rename paths.
  • Decode percent-escaped ledger path segments for Explorer display while preserving encoded path segments for API calls.
  • Ignore non-string directory keys that are invalid for the current public path contract.
  • Bump platform metadata and compose image defaults to 1.3.2 for an immutable patch release tag.
  • Adjust release CI so versioned main merges promote branch-validated SHA images instead of rebuilding expensive multi-arch images on main.
  • Refresh related WebDAV/path/release docs, including API-token auth, path escaping, and Windows client limitations.

Testing

  • cd services/explorer && npm test -- --watchAll=false
  • cd services/explorer && npm run build
  • API check confirmed ['*state*', 'tdinh', 'hello-2.txt'] returns a byte-vector while the previous bad path hello-2.txt,value returns nothing.
  • Live Playwright checks against djali.net confirmed:
    • existing file content renders instead of nothing;
    • creating/selecting a document with spaces succeeds without path-error;
    • the UI displays the decoded space-containing name while the ledger stores the percent-escaped symbol.
  • User confirmed the initial fixed Explorer behavior on djali.net after redeploy.
  • CI validation image workflows have been dispatched for the final PR head so the 1.3.2 main merge can promote SHA-tagged artifacts.

Notes/Risks

  • The deployed djali.net Explorer has been temporarily rebuilt locally with this fix under the 1.3.1 image tag; this PR bumps the official release target to 1.3.2 rather than reusing the published 1.3.1 tag.
  • Recreating Explorer required recreating Router afterward so nginx resolved the new Explorer container address.
  • Windows built-in WebClient/MiniRedir remains best-effort; the docs now recommend a dedicated client such as rclone with WinFsp when the built-in client cannot resolve the WebDAV URL.

@thiennamdinh
thiennamdinh force-pushed the fix-explorer-directory-pairs branch from 16076d1 to bd365b8 Compare June 17, 2026 17:35
@thiennamdinh thiennamdinh changed the title fix: parse explorer directory entry pairs fix: handle explorer directory path segments Jun 17, 2026
Summary

- Parse ledger directory pair entries without stringifying the entry type into child path segments.
- Add Explorer-side R7RS/percent path segment encoding for create, upload, and rename operations.
- Decode escaped path segments for display while preserving encoded segments for API calls.
- Bump the release metadata and compose image defaults to 1.3.2.
- Update release CI so versioned main merges promote branch-validated SHA images instead of rebuilding expensive main-branch multi-arch images.
- Refresh WebDAV/path/release docs for API-token auth, service-side escaping, Windows client limitations, and cargo-chef cache expectations.

Testing

- cd services/explorer && npm test -- --watchAll=false
- cd services/explorer && npm run build
- Live Playwright checks against djali.net verified existing file content renders, files with spaces can be created and selected, and decoded names are displayed while encoded symbols are used at the ledger boundary.

Notes/Risks

- The hosted Explorer was temporarily rebuilt locally under the 1.3.1 tag; this release moves official artifacts to 1.3.2 rather than reusing 1.3.1.
- Windows built-in WebClient/MiniRedir remains best-effort; dedicated clients such as rclone with WinFsp are documented as the fallback.
@thiennamdinh
thiennamdinh force-pushed the fix-explorer-directory-pairs branch from 190a3a6 to 8076de7 Compare June 17, 2026 17:59
@thiennamdinh
thiennamdinh merged commit 8d30758 into main Jun 17, 2026
32 checks passed
@thiennamdinh
thiennamdinh deleted the fix-explorer-directory-pairs branch June 24, 2026 21:22
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