fix(shared-folders): backfill pods_provisioned for route-only sidecars#36
Merged
rschumann merged 2 commits intoJul 8, 2026
Merged
Conversation
A schema-v3 progressive-sync sidecar (route-only, no pods_provisioned) reached /api/shared-folders/list as-is and blank-screened the Files and Settings sharing UIs, which map over the field unguarded (2026-07-08). normalize_shared_binding_value already backfills schema_version, slug, folder_id, sync_layout, targets, and runtime_status — pods_provisioned was the one UI-required field it skipped. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
tytus-cli | d1ee100 | Jul 08 2026, 12:26 PM |
Codex round: entry().or_insert_with only healed a missing key; a null or non-array value would still reach the UI. Coerce any non-array to []. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
What
normalize_shared_binding_valuenow insertspods_provisioned: []when a binding sidecar omits it, so every record served by/api/shared-folders/listhonors the UI contract (Binding.pods_provisioned: string[], required).Why
2026-07-08 incident: a schema-v3 progressive-sync canary sidecar (route-only:
routes_provisionedbut nopods_provisioned, written 2026-07-02 during the P6 canary run) reached the list response as-is once the v0.7.77 daemon went live. The Files and Settings sharing UIs map over the field unguarded, so the single record blank-screened both apps (Cannot read properties of undefined (reading 'map')).The normalizer's whole purpose is adapting legacy/variant sidecars for the UI — it already backfills
schema_version,slug,folder_id,sync_layout,targets, andruntime_status;pods_provisionedwas the one required field it skipped.Test
normalize_backfills_pods_provisioned_for_route_only_sidecar: route-only v3 sidecar gets[]; populated lists pass through untouched.cargo test -p tytus-tray: 242/242 pass.Companion UI hardening: traylinx/tytus-os claude-backup/shared-folders-binding-normalize.
🤖 Generated with Claude Code