Skip to content

Release v1.8.1 - #253

Merged
Gnathonic merged 2 commits into
mainfrom
develop
Jul 6, 2026
Merged

Release v1.8.1#253
Gnathonic merged 2 commits into
mainfrom
develop

Conversation

@Gnathonic

Copy link
Copy Markdown
Owner

Hotfix release: MEGA ghost-node sync failure.

Fixed

  • Fixed MEGA sync repeatedly failing with 'not found' errors

A node deleted server-side became a permanent "ghost" in megajs's in-memory tree (its reload() is purely additive and its sc delete handler never evicts from storage.files), which made every subsequent sync fail with ENOENT (-9). See aab1965 for the full breakdown.

🤖 Generated with Claude Code

Gnathonic and others added 2 commits July 6, 2026 13:03
A node deleted server-side becomes a permanent "ghost" in megajs's
storage.files: the sc delete handler only unlinks parent.children, and
reload() is purely additive (_importFile skips known handles). Since the
provider enumerates from storage.files, a ghost volume-data.json made
every sync fail: the download discarded the readable copy (Promise.all),
and the pre-upload replace delete hit server ENOENT (-9) with a
cache-refresh retry that could never evict the ghost.

- reinitialize(): rebuild storage.files from an empty map so the reload
  mirrors the server exactly (evicts ghosts); restore the old tree on
  transient reload failure. Also strip the stacked api 'sc' listeners
  megajs re-attaches on every reload — double-processed delete packets
  splice(-1) and corrupt sibling arrays in long sessions.
- uploadFile(): replace-all semantics (delete every same-name copy, not
  just the first) and treat a server "already gone" delete answer as
  converged instead of failing the upload.
- downloadVolumeDataFile(): Promise.allSettled — merge the readable
  duplicates, skip not-found ghosts, keep the first readable copy, and
  tolerate NOT_FOUND when deleting the extras. Transient errors still
  propagate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mokuro-reader Building Building Jul 6, 2026 8:37pm
mokuro-reader (develop) Ready Ready Preview, Comment Jul 6, 2026 8:37pm

Request Review

@Gnathonic
Gnathonic merged commit 5135740 into main Jul 6, 2026
14 checks passed
adrian-tompkins pushed a commit to adrian-tompkins/mokuro-reader that referenced this pull request Aug 2, 2026
fix: Add missing leading slash in WebDAV upload path
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