Skip to content

fix(plugins): stop creating a stray Application%20Support folder for the registry cache - #3677

Merged
datlechin merged 2 commits into
mainfrom
fix/registry-cache-percent-path
Oct 19, 2026
Merged

datlechin merged 2 commits into
mainfrom
fix/registry-cache-percent-path

Conversation

@datlechin

Copy link
Copy Markdown
Member

Summary

  • The plugin registry cache uses URLCache(memoryCapacity:diskCapacity:diskPath:). On macOS 15 and earlier the directory: initializer opens the cache at the percent-encoded path (FB9117600), which created ~/Library/Application%20Support/TablePro/Registry/URLCache.
  • New RegistryStorageSweep, run after launch in production, removes:
  • apple/scripts/probes/check-urlcache-directory-path.sh reports where each initializer puts Cache.db.

Test plan

  • RegistryStorageSweepTests: the cache under a root with a space opens at the file-system path; the sweep removes the misplaced tree and empty encoded parents, keeps a parent holding other files, leaves a cache whose path has nothing to encode, and removes the retired manifests and keys while keeping the others.
  • The cache location test also passes on main on macOS 27, which CI runs, because the bug is gone there. It can fail on main only on macOS 15 and earlier; no such Mac was available here.
  • Probe on macOS 27.0.1: both initializers write to the real path.

Fixes #3676

@datlechin datlechin added the backport release/0.82 Merged into main; pick onto release/0.82 label Oct 19, 2026
@datlechin
datlechin merged commit 481058a into main Oct 19, 2026
17 checks passed
@datlechin
datlechin deleted the fix/registry-cache-percent-path branch October 19, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport release/0.82 Merged into main; pick onto release/0.82

Projects

None yet

Development

Successfully merging this pull request may close these issues.

~/Library/Application%20Support/TablePro/Registry/URLCache folder created at startup

1 participant