fix(cask): zap real @memry userData and updater caches - #898
Merged
Conversation
brew uninstall --zap only trashed aspirational MemryNote/ paths; real app state lives under Application Support/@Memry (userData is keyed by package.json name — electron-builder never writes productName into the asar). Add the verified-on-disk dirs: @Memry userData parent, @memrydesktop-updater electron-updater cache, ShipIt staging, and HTTPStorages. Vault content (~/Documents/Memry incl. .memry/*.db) is deliberately not zapped; Logs entries are owned by the electron-log dir rename change.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
PR #897 renames the runtime identity (setName + userData) from @memry/desktop to memrynote, which also renames the electron-updater cache. Add the memrynote userData/logs/updater-cache entries so the cask stays correct after that lands, plus ~/Library/Logs/@Memry which is where prod logs actually live today. @Memry* entries remain for not-yet-migrated installs; bundle-id entries are rename-independent. This makes the zap list the full union — resolve #897's cask conflict by taking this block.
Union of both lists; drop Logs/MemryNote following main's deliberate removal (path never existed and the memrynote identity supersedes it).
h4yfans
marked this pull request as ready for review
July 23, 2026 18:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
brew uninstall --zaponly trashed aspirationalMemryNotepaths and left all real app state behind: userData is keyed by package.jsonname(@memry/desktop) because electron-builder never writesproductNameinto the asar package.json.Makes the cask
zap trashlist the full union across all three naming eras (existing entries kept — harmless):Today's real dirs (verified on disk):
~/Library/Application Support/@memry— real userData parent (Chromium profile, crdt-store, models, config, secure-secrets)~/Library/Caches/@memrydesktop-updater— electron-updater download cache (app.name with/sanitized)~/Library/Caches/com.memrynote.memry.ShipIt— Squirrel.Mac update staging~/Library/HTTPStorages/com.memrynote.memry~/Library/Logs/@memry— where prod logs actually live todayPost-identity-rename dirs (PR #897 moves userData/logs/updater cache to
memrynote):~/Library/Application Support/memrynote~/Library/Caches/memrynote-updater~/Library/Logs/memrynoteAlso adds five selfcheck regression asserts pinning the
@memry, updater-cache, and memrynote entries.Deliberate decisions, for review:
<vault>/.memry/data.db|index.db, default~/Documents/Memry) — casks don't touch Documents. Zap removes app state only, which is the zap convention (--zapis an explicit opt-in; plainbrew uninstallstill preserves everything).Caches/com.memrynote.memryentry was already correct: macOS-level Caches/HTTPStorages/Preferences/ShipIt are keyed by bundle id (rename-independent), while Chromium's session cache lives inside userData (sessionDatadefaults to it). There is no~/Library/Caches/@memry.@memry*entries stay for not-yet-migrated installs; feat(app): rename the runtime identity to memrynote (logs, userData, Safe Storage) with legacy migration #897's log migration deletes the emptied@memryLogs parent anyway.Casks/memry.rbeach release), so this propagates on the next release.Release note
Homebrew:
brew uninstall --zapnow fully removes app data (settings, caches, logs, local sync state). Notes in your vault folder are never touched.Test plan
node scripts/generate-homebrew-cask.mjs --selfcheck— green, including the five new asserts~/Libraryon a machine running prod builds; confirmedApplication Support/MemryNotedoes not exist; memrynote entries match PR feat(app): rename the runtime identity to memrynote (logs, userData, Safe Storage) with legacy migration #897's rename targets (app-identity.ts)setPath('userData')override is--devicedev-profile-only (apps/desktop/src/main/index.ts:163) — prod path is stablepnpm docs:impact --base origin/main --strict— no docs-relevant changes