TS strict (3/3): runtime model/form/service changes + enable strict mode - #3688
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
tegan-temporal
force-pushed
the
strict/3-behavior
branch
from
July 17, 2026 16:46
c174bec to
441f4e9
Compare
tegan-temporal
force-pushed
the
strict/2-mechanical
branch
from
July 17, 2026 16:46
81d60a7 to
71501db
Compare
Mechanical null-safety: nullish-coalescing defaults, optional chaining,
{#if} render guards, and generics-driven refactors. Behavior-preserving.
Rebased onto main after the base PR (#3686) merged.
WorkflowExecution optional fields (with their snapshot tests), schedule-form zod default seeding, standalone-activity retry fields as strings coerced at the boundary, duration-input defaults, and requestFromAPI's Promise<T | undefined>.
tegan-temporal
force-pushed
the
strict/2-mechanical
branch
from
July 17, 2026 17:36
c4adac5 to
8e9e26e
Compare
tegan-temporal
force-pushed
the
strict/3-behavior
branch
from
July 17, 2026 17:36
441f4e9 to
a6e10b3
Compare
Fold the strict: true flip + Danger warn->fail into this PR. The standalone-activity form's superForm types only resolve correctly under strictNullChecks, so the behavior changes can't type-check on a strict:false main — the flag must land with them. Supersedes the separate flag PR (#3640).
tegan-temporal
marked this pull request as ready for review
July 17, 2026 21:55
andrewzamojc
approved these changes
Jul 20, 2026
andrewzamojc
left a comment
Contributor
There was a problem hiding this comment.
Awesome. I was able to go through each runtime change and see why it's safe or that its covered by a test etc. Good stuff 👍
laurakwhit
added a commit
that referenced
this pull request
Jul 29, 2026
Auto-generated version bump from 2.52.1 to 2.53.0 Bump type: minor Changes included: - [`b1602800`](b160280) Make serverless worker Terraform template configurable (COM-216) (#3671) - [`d1ec2795`](d1ec279) Support markdown tables in Workflow details (#3673) - [`5eae94c7`](5eae94c) Show IANA region names in schedule timezone picker (DT-4250) (#3668) - [`f454220c`](f454220) fix(DT-4269): namespace selector tooltip overflow (#3676) - [`b563bfff`](b563bff) Update format of Execution Duration (#3677) - [`17f6d7a7`](17f6d7a) Add download json button to Standalone Activities table (#3675) - [`6f45cc07`](6f45cc0) Migrate old column labels (#3678) - [`af5c9408`](af5c940) Update to use formatDurationAbbreviated (#3679) - [`066a662c`](066a662) feat(timeline): HTML virtualization + collapse idle time (#3627) - [`eee96c60`](eee96c6) Update empty state for Standalone Activities (#3681) - [`51164cb4`](51164cb) [COM-193] Lock compute provider for new deployment versions (#3674) - [`0b700a38`](0b700a3) refactor: add es-toolkit (#3652) - [`bf4ee86f`](bf4ee86) chore(proto): add local @temporalio/proto codegen tooling (#3684) - [`892163b2`](892163b) TS strict (1/4): type annotations and dead-code cleanup (#3686) - [`b06e30e7`](b06e30e) Fix live timeline refresh for completed event groups (#3689) - [`51f04f87`](51f04f8) TS strict (2/4): strictNullChecks null-safety guards (#3687) - [`41dfc531`](41dfc53) Shared SavedViews component updates (#3670) - [`ee6348b1`](ee6348b) Fix max height for paginated table in saved query views (#3691) - [`60e4b6c0`](60e4b6c) TS strict (3/3): runtime model/form/service changes + enable strict mode (#3688) - [`ddde6e70`](ddde6e7) Activity commands for Standalone Activities (#3564) - [`40baeae6`](40baeae) Associate Combobox hints with form fields (#3667) - [`9940a389`](9940a38) Start delay for standalone activities (#3650) - [`02aa74e9`](02aa74e) Add ExecutionTime search attribute for standalone activities (#3666) - [`c84732e3`](c84732e) Fix TypeError in workflow JSON navigator on empty events (#3696) - [`839bc0d5`](839bc0d) [DT-4154] Add Cloud Run replica scaling controls (#3694) - [`32a49e4b`](32a49e4) fix(events): reflect pending-activity commands without reload (#3693) - [`9f8ddee6`](9f8ddee) Add Batch Operations to Standalone Activities (#3695) - [`d2eb9444`](d2eb944) Use standaloneActivityOperatorCommands ns capability check (#3698) - [`ea731e45`](ea731e4) Fix state unsafe mutation error in EndTimeInterval (#3715) - [`7a081c88`](7a081c8) Update holocene empty-state to runes syntax (#3701) - [`9693355c`](9693355) Update holocene navigation-item to runes syntax (#3702) - [`1b5b267e`](1b5b267) Update holocene table to runes syntax (#3711) - [`e418bdbb`](e418bdb) Update holocene navigation-badge to runes syntax (#3703) - [`4f45e370`](4f45e37) Remove unused compatibility-badge component (#3704) - [`596740cd`](596740c) Update holocene navigation-button to runes syntax (#3705) - [`9ac2f525`](9ac2f52) Remove unused expandable/button component (#3706) - [`240561dc`](240561d) Update holocene copyable/button to runes syntax (#3707) - [`4fc08c48`](4fc08c4) Update holocene radio-input and radio-card to runes syntax (#3708) - [`d6e839f7`](d6e839f) Update holocene table-row and table-header-row to runes syntax (#3710) - [`99a9ff71`](99a9ff7) fix: surgical security upgrades for Dependabot alerts (#3709) - [`9b105b47`](9b105b4) fix(serverless-workers): interpolate form values into Terraform snippet (COM-216) (#3716) - [`d126ea8a`](d126ea8) Fix deployment connection validation status refresh (#3718) - [`f0edfbd7`](f0edfbd) [DT-4296] Add Terraform setup instructions to the GCP Cloud Run deployment form (#3700) - [`38453f90`](38453f9) Fix event id param (#3745) - [`bc70844a`](bc70844) Add runes button component (strangler migration, part 1) (#3727) - [`a559c6fe`](a559c6f) Migrate app-level button consumers to runes button (#3728) - [`3a7eaa19`](3a7eaa1) Migrate holocene-internal button renderers and stories to runes button (#3729) - [`5a72155d`](5a72155) Migrate icon-button to runes with onclick prop (#3730) - [`08654d88`](08654d8) Migrate split-button to runes with onclick prop (#3731) - [`40ae4943`](40ae494) Migrate toggle-button to runes button (part 6) (#3732) - [`9fc25bca`](9fc25bc) Finalize button migration: delete legacy, rename runes button (#3733) - [`7ce3f72f`](7ce3f72) Bump API to v1.63.4 (#3723) Co-authored-by: laurakwhit <15069288+laurakwhit@users.noreply.github.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.
Final PR of the strict-mode split (base #3686 and mechanical #3687 already merged).
Contains the genuine runtime-affecting changes and the
strict: trueflip, because they're coupled: the standalone-activity form's superForm types only resolve correctly understrictNullChecks, so this code can't type-check on astrict: falsemain — the flag has to land together with it. (Supersedes the separate flag PR #3640, now closed.)Promise<T | undefined>strict: trueintsconfig.jsonVerified:
svelte-checkreports 0 errors under strict on this branch.