Skip to content

Fix Dashboard auto-repair permission guidance - #348

Merged
kevintseng merged 3 commits into
mainfrom
fix/dashboard-doctor-permission
Sep 13, 2026
Merged

kevintseng merged 3 commits into
mainfrom
fix/dashboard-doctor-permission

Conversation

@kevintseng

Copy link
Copy Markdown
Contributor

The Dashboard's auto-repair button hid local write failures behind a generic unexpected-server-error message, leaving the warning and button unchanged. This change maps only recognized filesystem and owned upgrade-lock permission failures to a stable, path-free operation.permission-denied response; all 11 locales explain that the user should restart memesh serve from their own Terminal and retry. Restoring write access now lets the same button finish the repair while preserving unknown config keys and creating one backup.

The investigation also found that test:isolated could escape its throwaway HOME through an inherited npm cache, so nested npm pack failed against a damaged owner cache. The shared isolated environment now owns its npm cache as well.

Validation on 202cf69f5352b9131f67752e57ba918ea6ced0f7:

  • npm run verify:release
  • npm run test:isolated — 251 files, 3,805 passed, 9 skipped
  • npm run test:packaged
  • npm run test:packaged:upgrade — 4.5.1 and installed 4.9.4 upgrade paths
  • real Chrome replay with a denied config directory: actionable zh-TW failure, stable path-free API error, restored-permission retry, warning removal, config and backup readback
  • memory invariant audit against the owner graph

Release remains separate: the repository's post-bump-change guard requires a new version bump after this and other fixes land, followed by exact-SHA host receipts and the soak gate.

@kevintseng
kevintseng merged commit e0ed398 into main Sep 13, 2026
13 checks passed
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