Skip to content

Long-path tail hardening across config, media, shell, and GeoLocation surfaces

Summary

This bug series is merged to main.

After the larger FEAT-010 long-path work landed, a focused tail audit still found a small set of real remaining path gaps in media probing, MediaInfo.dll discovery, GeoLocation refresh/install, INI persistence, shell-picker context retention, and a few dialog current-directory save/restore paths. Those audited gaps were then hardened on main without reopening broader path architecture.

Landed Mainline Shape

Mainline commit series:

  • bb7ef92BUG-029 harden remaining audited long-path media and geolocation paths
  • ad1b165BUG-029 add file-backed fallback for long-path ini IO
  • 43ff95aBUG-029 retain shell dialog context for exact-name long paths
  • e83b82cBUG-029 remove MAX_PATH current-directory restores from dialogs
  • b7334ffBUG-029 route search persistence through long-path file seams
  • a5e4b53BUG-029 document intentional shell-bound skin profile limits
  • 08129ceBUG-029 replace misleading MAX_PATH ini formatting buffers
  • 588693bBUG-029 document shell dialog namespace boundary
  • 1e71a16BUG-029 document tray button theme path boundary

What Landed

The series fixed or hardened:

  • DRM probing through the shared long-path open seam
  • MediaInfo.dll path discovery without fixed MAX_PATH composition/existence checks
  • GeoLocation temp-file creation, install, and cleanup through shared long-path helpers
  • file-backed fallback for long or exact-name INI paths
  • shell-dialog context retention by keeping the nearest shell-safe ancestor for namespace-only paths
  • current-directory save/restore cleanup in the remaining audited dialogs
  • search persistence through the shared long-path file-open seam

The series also explicitly documented a few intentionally deferred UI-only boundaries in code comments so they are no longer ambiguous backlog debt.

Outcome

Outside the explicitly deferred shell/UI representability limits, long-path support is now in good shape across:

  • shared-file scanning
  • media metadata, MIME, and DRM probing
  • config and INI persistence
  • GeoLocation refresh/install
  • -c config-root operation

Relationship To Existing Items

  • BUG-029 is the tail hardening follow-up after FEAT-010
  • BUG-029 complements FEAT-022, because the -c profile override can now be stressed safely under deep config roots
  • BUG-029 reduces future long-path noise around CI-008 live config-stability coverage