fix(config-profiles): show Git mount refresh progress

Disable duplicate refresh requests and show in-progress feedback while Git mount sources are refreshed.
This commit is contained in:
2026-07-21 21:14:08 +02:00
parent 25e870ba43
commit 900a8e47a5
7 changed files with 44 additions and 5 deletions
@@ -14,6 +14,7 @@ Move Git Config Profile mounts to profile-scoped canonical host clones. Bind the
- In-place refresh for existing directory mounts only.
- Explicit outcomes for live refresh, restart-required topology changes, and refresh failures.
- Read-only container Git config mounts.
- An in-progress indicator that prevents duplicate refresh requests in desktop and mobile Config Profile views.
## Out of scope
@@ -21,3 +22,4 @@ Move Git Config Profile mounts to profile-scoped canonical host clones. Bind the
- Global cross-user clone sharing.
- Live mount-topology changes, direct-file mappings, or glob match-set changes.
- Atomic all-files revision switching for processes already reading the mount.
- Automatic refresh of an editor buffer that has already loaded a mounted file.
@@ -17,6 +17,7 @@ Each selected Config Profile owns canonical Git clone directories beneath:
3. Clone into a temporary sibling, then rename on initial creation.
4. For refresh, fetch and update the existing working tree in place.
5. Bind directory mappings read-only. Existing containers see changed directory contents without recreation.
6. When profile and Git mount paths overlap, the instance-local composite source must be synchronized in place during refresh; replacing its root directory would leave a running bind mount attached to the old inode.
## Boundaries
@@ -24,6 +25,7 @@ Each selected Config Profile owns canonical Git clone directories beneath:
- Refresh failure is reported without mutating a known-good checkout.
- No non-Git profile content may be copied into a Git checkout; overlapping targets are rejected or reported.
- Containers must not write to shared Git mount sources.
- A browser editor that already has a file open is not a filesystem watcher; the user must reload that editor buffer after the mounted source changes.
## Security
@@ -4,7 +4,8 @@
- [x] Make Git Config Profile mounts read-only and prevent profile-content copy into Git sources.
- [x] Add lock-protected clone/fetch/ref checkout refresh that preserves a known-good checkout on failure.
- [x] Add save/refresh outcomes for live refresh, restart-required topology, and failures.
- [x] Add desktop/mobile feedback for refresh outcomes.
- [x] Add an in-progress desktop/mobile indicator that disables duplicate Git-mount refresh requests.
- [ ] Synchronize affected instance-local composite mounts in place so live refresh reaches running containers.
- [ ] Add focused resolver/service/API/frontend tests.
- [x] Run available verification and document skipped checks.