Skip to content

fix(schedules): tolerate duplicate schedule IDs - #3751

Merged
rossnelson merged 1 commit into
mainfrom
fix/inc-1849-schedules-duplicate-key
Jul 29, 2026
Merged

fix(schedules): tolerate duplicate schedule IDs#3751
rossnelson merged 1 commit into
mainfrom
fix/inc-1849-schedules-duplicate-key

Conversation

@rossnelson

@rossnelson rossnelson commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • remove the schedule-row key so duplicate IDs remain renderable
  • keep the schedules list available when the API returns duplicate schedule IDs
  • add a Playwright regression test covering the INC-1849 response shape

Incident

INC-1849 exposed three records with the same murmur-usage-rollup schedule ID in one response page. The schedule list keyed rows by schedule ID alone, causing Svelte to throw each_key_duplicate and blank the page. Schedule rows do not retain editable local state, so the list can safely use Svelte's unkeyed reconciliation.

Test plan

  • Confirmed the regression test fails before the fix with each_key_duplicate
  • Targeted Playwright regression test passes on desktop and mobile
  • pnpm lint:ci
  • pnpm check
  • pnpm build:local

Release path

After this merges, the downstream UI pack workflow will open the Cloud UI release PR for the merged UI commit.

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
holocene Ready Ready Preview, Comment Jul 29, 2026 6:33pm

Request Review

@rossnelson
rossnelson marked this pull request as ready for review July 29, 2026 18:57
@rossnelson
rossnelson requested a review from a team as a code owner July 29, 2026 18:57
@rossnelson
rossnelson merged commit 359c80b into main Jul 29, 2026
20 checks passed
@rossnelson
rossnelson deleted the fix/inc-1849-schedules-duplicate-key branch July 29, 2026 18:57
laurakwhit added a commit that referenced this pull request Aug 5, 2026
Auto-generated version bump from 2.53.0 to 2.53.1

Specific version: 2.53.1

Changes included:
- [`e3f08379`](e3f0837) Update holocene accordion-light to runes syntax (#3714)
- [`2cfa9b43`](2cfa9b4) Update holocene toggle-switch to runes syntax (#3715) (#3719)
- [`e884c326`](e884c32) Update holocene textarea to runes syntax (#3724)
- [`bda6e133`](bda6e13) Update holocene checkbox to runes syntax (#3725)
- [`11fe6ff3`](11fe6ff) Remove unused collapsible-divider component (#3726)
- [`bdc0fa77`](bdc0fa7) Update holocene skeleton table to runes syntax (#3734)
- [`56a34a69`](56a34a6) Update holocene accordion to runes syntax (#3736)
- [`1a0b0422`](1a0b042) Remove unused banner component (#3712)
- [`11da928d`](11da928) Update holocene range-input to runes syntax (#3713)
- [`d73bbde9`](d73bbde) Remove deprecated api-pagination component (#3739)
- [`9cb5e28a`](9cb5e28) Update holocene number-input to runes syntax (#3735)
- [`e4cec29c`](e4cec29) Update holocene tabs and tab-button to runes syntax (#3737)
- [`6f6f7139`](6f6f713) Update holocene drawer-content to runes syntax (#3740)
- [`4f2cef58`](4f2cef5) Update holocene tooltip to runes syntax (#3743)
- [`6e01537e`](6e01537) Update holocene link to runes syntax (#3741)
- [`b6775092`](b677509) Update holocene orderable-list to runes syntax (#3742)
- [`447fad67`](447fad6) Update holocene pagination to runes syntax (#3738)
- [`359c80ba`](359c80b) fix(schedules): tolerate duplicate schedule IDs (#3751)
- [`8e81a4f0`](8e81a4f) fix(workers): use default Cloud Run runner identity (#3748)
- [`3b37bbe6`](3b37bbe) Enable server-scaled deployments by default (#3672)
- [`d9f9a99c`](d9f9a99) feat(workers): add release stage badges to compute provider picker (#3773)
- [`7e8f2830`](7e8f283) Update holocene time-picker to runes syntax (#3754)
- [`053f060a`](053f060) Update holocene drawer to runes syntax (#3755)
- [`9dff9c9f`](9dff9c9) fix(workers): gate deployment actions by compute config (#3779)
- [`bd9b3f60`](bd9b3f6) Update holocene copyable to runes syntax (#3756)
- [`46afcfff`](46afcff) Update holocene toast to runes syntax (#3753)
- [`17f64bcc`](17f64bc) Update holocene orderable-list-item to runes syntax (#3758)
- [`d9ab4aa7`](d9ab4aa) Migrate event-link and event-details-link to runes syntax (#3760)
- [`c09f94ac`](c09f94a) Migrate start-workflow-button and workflow-detail to runes syntax (#3761)
- [`7bce9c5d`](7bce9c5) Remove dead workflow-filters component (#3762)
- [`30255dba`](30255db) Sweep remaining on: directives to runes event syntax (#3771)
- [`ad696bcf`](ad696bc) Migrate batch-operations header to runes syntax (#3764)
- [`64f7302c`](64f7302) Migrate workflow-family-node-tree to runes syntax (#3765)
- [`dc56c890`](dc56c89) Migrate start-workflow and workflow-query pages to runes syntax (#3768)
- [`f989d43a`](f989d43) Migrate payload-input-with-encoding to runes syntax (#3763)
- [`b19c43a0`](b19c43a) Migrate paginated-table cluster to runes syntax (#3750)
- [`84414160`](8441416) Update holocene zoom-svg to runes syntax (#3757)
- [`8c245928`](8c24592) Migrate holocene modal to runes syntax (#3759)
- [`ef33b255`](ef33b25) Upgrade to Storybook 10 and migrate stories to defineMeta (#3772)
- [`d8af57d8`](d8af57d) Enable runes mode by default (#3770)
- [`1923c928`](1923c92) Use WorkflowTaskFailedCause enum (#3775)
- [`b4a272ee`](b4a272e) Track pointerDown and ignore subsequent click (#3776)
- [`96a06250`](96a0625) Pluralize batch operation execution type (#3784)
- [`ee4652ac`](ee4652a) Resolve deployment compute config from routed version summaries (#3789)
- [`7b614625`](7b61462) Standalone Activity fixes (#3788)

Co-authored-by: laurakwhit <15069288+laurakwhit@users.noreply.github.com>
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.

2 participants