Skip to content

fix(shared-folders): backfill pods_provisioned for route-only sidecars#36

Merged
rschumann merged 2 commits into
mainfrom
claude-backup/shared-folders-pods-provisioned-backfill
Jul 8, 2026
Merged

fix(shared-folders): backfill pods_provisioned for route-only sidecars#36
rschumann merged 2 commits into
mainfrom
claude-backup/shared-folders-pods-provisioned-backfill

Conversation

@rschumann

Copy link
Copy Markdown
Contributor

What

normalize_shared_binding_value now inserts pods_provisioned: [] when a binding sidecar omits it, so every record served by /api/shared-folders/list honors the UI contract (Binding.pods_provisioned: string[], required).

Why

2026-07-08 incident: a schema-v3 progressive-sync canary sidecar (route-only: routes_provisioned but no pods_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, and runtime_status; pods_provisioned was 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

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>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 8, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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>
@rschumann
rschumann merged commit a389b6e into main Jul 8, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant