Skip to content

Update reason copy and inputs#3588

Merged
laurakwhit merged 8 commits into
mainfrom
DT-4188-update-reason-copy
Jun 25, 2026
Merged

Update reason copy and inputs#3588
laurakwhit merged 8 commits into
mainfrom
DT-4188-update-reason-copy

Conversation

@laurakwhit

@laurakwhit laurakwhit commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Description & motivation 💭

  • Removes webui from identity field, except for the batch operations where it defaults to webui if there is no identity
  • Removes action, identity and webui from reason field
  • Adds "Reason (optional)" label to reason input when optional and makes field required when it isn't
  • Updates "Update ID" input to actually be optional and adds a "Random UUID" button instead of defaulting to a value
  • Updates styling of reason, identity and paused time on the alert when a Workflow is paused

Screenshots (if applicable) 📸

Before After
Screenshot 2026-06-24 at 1 25 42 PM Screenshot 2026-06-24 at 1 05 41 PM
Screenshot 2026-06-24 at 1 25 23 PM Screenshot 2026-06-24 at 10 53 47 AM

Design Considerations 🎨

Testing 🧪

How was this tested 👻

  • Manual testing
  • E2E tests added
  • Unit tests added

Steps for others to test: 🚶🏽‍♂️🚶🏽‍♀️

Checklists

Draft Checklist

Merge Checklist

Issue(s) closed

DT-4188

Docs

Any docs updates needed?

@vercel

vercel Bot commented Jun 23, 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 Jun 24, 2026 11:55pm

Request Review

</p>
<Input
id="pause-reason"
bind:value={reason}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • ⚠️ 'schedule.schedule' is possibly 'undefined'.
  • ⚠️ 'schedule.schedule.state' is possibly 'null' or 'undefined'.

@temporal-cicd

temporal-cicd Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor
Warnings
⚠️

📊 Strict Mode: 58 errors in 9 files (6.5% of 893 total)

src/lib/services/workflow-service.ts (20)
  • L192:6: Type 'ErrorCallback' is not assignable to type '(error: unknown, toasts?: Toaster, errors?: Writable<NetworkError | null>, isBrowser?: boolean) => void'.
  • L254:4: Type 'ErrorCallback' is not assignable to type '(error: unknown, toasts?: Toaster, errors?: Writable<NetworkError | null>, isBrowser?: boolean) => void'.
  • L293:45: Argument of type 'unknown' is not assignable to parameter of type 'WorkflowExecutionAPIResponse | undefined'.
  • L421:28: No overload matches this call.
  • L625:4: Type 'ErrorCallback' is not assignable to type '(error: unknown, toasts?: Toaster, errors?: Writable<NetworkError | null>, isBrowser?: boolean) => void'.
  • L631:10: Argument of type '(response?: WorkflowExecutionAPIResponse) => WorkflowExecution' is not assignable to parameter of type '(value: unknown) => WorkflowExecution | PromiseLike'.
  • L661:4: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'ISearchAttributes'.
  • L737:37: Argument of type 'SearchAttributeInput[]' is not assignable to parameter of type '{ type: "Unspecified" | "Keyword" | "Text" | "Int" | "Double" | "Bool" | "KeywordList" | "Datetime"; label: string; value?: any; }[]'.
  • L800:8: Type 'ErrorCallback' is not assignable to type '(error: unknown, toasts?: Toaster, errors?: Writable<NetworkError | null>, isBrowser?: boolean) => void'.
  • L816:6: 'startEvent.attributes.input.payloads' is possibly 'null' or 'undefined'.
  • L816:6: Argument of type 'IPayload | undefined' is not assignable to parameter of type 'IPayload'.
  • L821:8: 'workflow' is possibly 'undefined'.
  • L823:8: 'workflow' is possibly 'undefined'.
  • L831:8: 'workflow' is possibly 'undefined'.
  • L833:8: 'workflow' is possibly 'undefined'.
  • L1007:20: Argument of type 'WorkflowExecution | undefined' is not assignable to parameter of type 'WorkflowExecution'.
  • L1074:10: Property 'executions' does not exist on type 'WithoutNextPageToken'.
  • L1074:41: Argument of type '(token: string) => Promise' is not assignable to parameter of type '(token?: NextPageToken | undefined) => Promise'.
  • L1118:6: Type 'ErrorCallback' is not assignable to type '(error: unknown, toasts?: Toaster, errors?: Writable<NetworkError | null>, isBrowser?: boolean) => void'.
  • L1147:6: Type 'ErrorCallback' is not assignable to type '(error: unknown, toasts?: Toaster, errors?: Writable<NetworkError | null>, isBrowser?: boolean) => void'.
src/lib/utilities/workflow-actions.ts (1)
  • L36:12: Variable 'translatedAction' is used before being assigned.
src/lib/components/workflow/client-actions/pause-confirmation-modal.svelte (1)
  • L50:6: Type 'string | undefined' is not assignable to type 'string'.
src/lib/components/workflow/client-actions/reset-confirmation-modal.svelte (1)
  • L72:6: Type 'string | undefined' is not assignable to type 'string'.
src/lib/components/workflow/client-actions/update-confirmation-modal.svelte (4)
  • L41:38: Property 'failure' does not exist on type 'IOutcome | null | undefined'.
  • L44:38: Property 'success' does not exist on type 'IOutcome | null | undefined'.
  • L92:6: Type 'string | undefined' is not assignable to type 'string'.
  • L121:9: 'updateDefinitions.length' is possibly 'undefined'.
src/lib/components/standalone-activities/terminate-confirmation-modal.svelte (2)
  • L36:8: Argument of type 'string | null | undefined' is not assignable to parameter of type 'string'.
  • L48:6: Type 'string | undefined' is not assignable to type 'string'.
src/lib/components/standalone-activities/start-standalone-activity-form/form.svelte (6)
  • L65:4: Type 'string | undefined' is not assignable to type 'string'.
  • L154:6: Type 'ClientValidationAdapter<{ encoding: "json/plain" | "json/protobuf"; namespace: string; identity: string; activityId: string; taskQueue: string; activityType: string; initialInterval: string; maximumInterval: string; ... 11 more ...; idConflictPolicy?: string | undefined; }, { ...; }>' is not assignable to type 'ClientValidationAdapter<Partial<{ input: string; messageType: string; scheduleToStartTimeout: string; summary: string; details: string; heartbeatTimeout: string; initialInterval: string; backoffCoefficient: null; ... 11 more ...; scheduleToCloseTimeout: string | undefined; }>, Record<...>> | ValidatorsOption<...> | ...'.
  • L319:11: Type 'string | undefined' is not assignable to type 'string'.
  • L331:11: Type 'string | undefined' is not assignable to type 'string'.
  • L397:13: Type 'null' is not assignable to type 'string'.
  • L399:13: Type 'null' is not assignable to type 'string'.
src/lib/pages/schedule-view.svelte (19)
  • L138:18: Property 'message' does not exist on type '{}'.
  • L302:20: 'schedule.schedule' is possibly 'undefined'.
  • L302:20: 'schedule.schedule.state' is possibly 'null' or 'undefined'.
  • L402:12: Type 'IScheduleActionResult[] | null | undefined' is not assignable to type 'IScheduleActionResult[] | undefined'.
  • L406:12: Type 'ITimestamp[] | null | undefined' is not assignable to type 'ITimestamp[] | undefined'.
  • L409:12: Type 'IScheduleSpec | null | undefined' is not assignable to type 'IScheduleSpec'.
  • L410:12: Type 'IScheduleState | null | undefined' is not assignable to type 'IScheduleState'.
  • L411:12: Type 'ISchedulePolicies | null | undefined' is not assignable to type 'ISchedulePolicies'.
  • L412:12: Type 'string | null | undefined' is not assignable to type 'string | undefined'.
  • L421:12: Type 'IPayloads | null | undefined' is not assignable to type 'IPayloads'.
  • L423:34: Type 'IScheduleSpec | null | undefined' is not assignable to type 'IScheduleSpec'.
  • L431:19: 'schedule.schedule' is possibly 'undefined'.
  • L431:19: 'schedule.schedule.state' is possibly 'null' or 'undefined'.
  • L440:9: 'schedule.schedule' is possibly 'undefined'.
  • L440:9: 'schedule.schedule.state' is possibly 'null' or 'undefined'.
  • L446:11: 'schedule.schedule' is possibly 'undefined'.
  • L446:11: 'schedule.schedule.state' is possibly 'null' or 'undefined'.
  • L457:23: 'schedule.schedule' is possibly 'undefined'.
  • L457:23: 'schedule.schedule.state' is possibly 'null' or 'undefined'.
src/lib/pages/start-workflow.svelte (4)
  • L140:17: Property 'message' does not exist on type '{}'.
  • L161:20: 'pollers' is possibly 'null' or 'undefined'.
  • L240:20: Argument of type 'string | null' is not assignable to parameter of type 'string'.
  • L321:15: Type 'SearchAttributeInput[]' is not assignable to type '{ type: "Unspecified" | "Keyword" | "Text" | "Int" | "Double" | "Bool" | "KeywordList" | "Datetime"; label: string; value?: any; }[]'.

Generated by 🚫 dangerJS against bb73066

@laurakwhit
laurakwhit force-pushed the DT-4188-update-reason-copy branch from a27f7e8 to e3cc2b3 Compare June 24, 2026 22:51
@laurakwhit laurakwhit changed the title Update reason copy Update reason copy and inputs Jun 24, 2026
@laurakwhit
laurakwhit force-pushed the DT-4188-update-reason-copy branch from e3cc2b3 to 4b7e52c Compare June 24, 2026 23:25
@laurakwhit
laurakwhit force-pushed the DT-4188-update-reason-copy branch from 4b7e52c to bb73066 Compare June 24, 2026 23:37
@@ -35,19 +35,6 @@ export const getPlaceholder = (

return translate('workflows.workflow-action-reason-placeholder', {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • ⚠️ Variable 'translatedAction' is used before being assigned.

@laurakwhit
laurakwhit force-pushed the DT-4188-update-reason-copy branch from bb73066 to 55ba22e Compare June 24, 2026 23:54
@laurakwhit
laurakwhit marked this pull request as ready for review June 25, 2026 01:17
@laurakwhit
laurakwhit requested a review from a team as a code owner June 25, 2026 01:17
@laurakwhit
laurakwhit requested a review from rossedfort June 25, 2026 01:18
@laurakwhit
laurakwhit merged commit ca4104a into main Jun 25, 2026
18 of 20 checks passed
@laurakwhit
laurakwhit deleted the DT-4188-update-reason-copy branch June 25, 2026 17:59
temporal-cicd Bot pushed a commit that referenced this pull request Jul 2, 2026
Auto-generated version bump from 2.51.1 to 2.52.0

Bump type: minor

Changes included:
- [`9c6fcd54`](9c6fcd5) Add direct SSO redirect and backend logout (#3590)
- [`feab0d90`](feab0d9) a11y(4.1.3): Toaster role="log" → per-toast role="status"/"alert" for correct AT announcement semantics (#3560)
- [`d7bbfb01`](d7bbfb0) a11y(2.5.8): toast — replace bare close button with IconButton (36×36 px) (#3553)
- [`4efd6ab6`](4efd6ab) a11y(3.3.1): Holocene input primitives — add aria-invalid, aria-describedby, and uniform live-region error announcement (#3554)
- [`0600b700`](0600b70) Use green only (#3599)
- [`94107549`](9410754) Clarify activity pause timeout behavior (#3600)
- [`9f88d5a8`](9f88d5a) Bump node version to 22.23.1 or newer to fix issue from previous security release (#3604)
- [`ca4104ae`](ca4104a) Update reason copy and inputs (#3588)
- [`51db73fa`](51db73f) Update batch operation reason input hint (#3605)
- [`836d7c55`](836d7c5) a11y(2.4.3): route navigation — move focus to the main landmark on afterNavigate, not just scroll (#3538)
- [`4ee95696`](4ee9569) Improve re-renders for large encoded event histories (#3592)
- [`fa5e7aa1`](fa5e7aa) feature/schedules (#3603)
- [`0d9467fd`](0d9467f) Default includeHeartbeatDetails and includeLastFailure to true for getActivityExecution and pollActivityExecution (#3521)
- [`e5bc514e`](e5bc514) fix schedules: duplicate key (#3612)
- [`f1eb489f`](f1eb489) Remove preview badge (#3581)
- [`1e5173b4`](1e5173b) Add existing versions to worker create deployment version form (#3601)
- [`a8552bae`](a8552ba) fix schedules -e.trim not a function (#3613)
- [`0442f847`](0442f84) Fix width of ComputeBadge in VersionTableRow (#3615)
- [`ddbeb54f`](ddbeb54) fix(cloud-nav): animate and stabilize side-nav collapse (#3606)
- [`3cfc684b`](3cfc684) fix - schedules recent/upcoming runs - sort issue (#3616)
- [`92b8875b`](92b8875) Move timestamp out of translate (#3617)
- [`901258af`](901258a) Fix SAA and WF consistency (#3614)
- [`99593d97`](99593d9) DT-4001 - standalone nexus operations (#3496)
- [`f10d1bf1`](f10d1bf) Clamp codeblock to container width (#3621)
- [`0a9d93ce`](0a9d93c) Remove unnecessary bottom-0 (#3623)
- [`9dabb522`](9dabb52) chore(deps-dev): bump vite from 6.4.2 to 6.4.3 (#3610)
- [`5c1854d3`](5c1854d) News Feed (#3596)
temporal-cicd Bot pushed a commit that referenced this pull request Jul 8, 2026
Auto-generated version bump from 2.51.1 to 2.52.0

Bump type: minor

Changes included:
- [`9c6fcd54`](9c6fcd5) Add direct SSO redirect and backend logout (#3590)
- [`feab0d90`](feab0d9) a11y(4.1.3): Toaster role="log" → per-toast role="status"/"alert" for correct AT announcement semantics (#3560)
- [`d7bbfb01`](d7bbfb0) a11y(2.5.8): toast — replace bare close button with IconButton (36×36 px) (#3553)
- [`4efd6ab6`](4efd6ab) a11y(3.3.1): Holocene input primitives — add aria-invalid, aria-describedby, and uniform live-region error announcement (#3554)
- [`0600b700`](0600b70) Use green only (#3599)
- [`94107549`](9410754) Clarify activity pause timeout behavior (#3600)
- [`9f88d5a8`](9f88d5a) Bump node version to 22.23.1 or newer to fix issue from previous security release (#3604)
- [`ca4104ae`](ca4104a) Update reason copy and inputs (#3588)
- [`51db73fa`](51db73f) Update batch operation reason input hint (#3605)
- [`836d7c55`](836d7c5) a11y(2.4.3): route navigation — move focus to the main landmark on afterNavigate, not just scroll (#3538)
- [`4ee95696`](4ee9569) Improve re-renders for large encoded event histories (#3592)
- [`fa5e7aa1`](fa5e7aa) feature/schedules (#3603)
- [`0d9467fd`](0d9467f) Default includeHeartbeatDetails and includeLastFailure to true for getActivityExecution and pollActivityExecution (#3521)
- [`e5bc514e`](e5bc514) fix schedules: duplicate key (#3612)
- [`f1eb489f`](f1eb489) Remove preview badge (#3581)
- [`1e5173b4`](1e5173b) Add existing versions to worker create deployment version form (#3601)
- [`a8552bae`](a8552ba) fix schedules -e.trim not a function (#3613)
- [`0442f847`](0442f84) Fix width of ComputeBadge in VersionTableRow (#3615)
- [`ddbeb54f`](ddbeb54) fix(cloud-nav): animate and stabilize side-nav collapse (#3606)
- [`3cfc684b`](3cfc684) fix - schedules recent/upcoming runs - sort issue (#3616)
- [`92b8875b`](92b8875) Move timestamp out of translate (#3617)
- [`901258af`](901258a) Fix SAA and WF consistency (#3614)
- [`99593d97`](99593d9) DT-4001 - standalone nexus operations (#3496)
- [`f10d1bf1`](f10d1bf) Clamp codeblock to container width (#3621)
- [`0a9d93ce`](0a9d93c) Remove unnecessary bottom-0 (#3623)
- [`9dabb522`](9dabb52) chore(deps-dev): bump vite from 6.4.2 to 6.4.3 (#3610)
- [`5c1854d3`](5c1854d) News Feed (#3596)
- [`340da30f`](340da30) a11y(2.1.1): guard global r/R keydown so text inputs can receive the letter (#3589)
- [`dd97a9d1`](dd97a9d) fix(markdown-editor): disable chromatic snapshot for preview story (#3631)
- [`7db61ab9`](7db61ab) a11y(4.1.2): Table / ProgressBar / Loading primitives — expose aria-busy on data-refresh regions (#3555)
- [`d2111ecf`](d2111ec) a11y(4.1.3): Add live-region wrappers for workflow status, event count, filter counts, and Banner (#3561)
- [`24eabaec`](24eabae) a11y(2.4.6): guard DrawerContent against empty <h2> when title is omitted (#3595)
- [`3552e307`](3552e30) Fix CodeMirror Lezer dependency mismatch (#3632)
- [`7ac37199`](7ac3719) Update defaults to match workflow defaults (#3634)
- [`c1f02865`](c1f0286) Draft fix for link variant handling (#3620)
- [`bbbf2b8c`](bbbf2b8) Add connection status and optional Latest Version column to deployments (DT-4174) (#3618)
- [`76f266f4`](76f266f) DurationInput updates (#3633)
- [`07da53c5`](07da53c) COM-191 - prefill CloudFormation template params in Launch Stack link (#3619)
- [`90946e0b`](90946e0) Schedules - Timeout empty defaults (#3637)
- [`97f9ad39`](97f9ad3) fix(cloud-nav): smooth label fade on side-nav collapse/expand (#3628)
- [`a399ed35`](a399ed3) Improve Search Attribute deletion messaging (#3629)
- [`ad976d94`](ad976d9) Pass through source prop for News Feed Widget (#3638)
- [`6ef84fe3`](6ef84fe) Restrict select-all to exclude workflow status (#3639)
- [`4c3729f8`](4c3729f) Reduce news feed markdown whitespace (#3642)
- [`aa04a9b6`](aa04a9b) feat(nexus-operations): add loading state to standalone nexus operations list page header (#3643)
- [`dce2f804`](dce2f80) chore: remove unused generate-holocene-props script (#3644)
- [`760bc7bc`](760bc7b) Make megaphone icon bigger (#3645)
- [`c047384a`](c047384) refactor(nexus): replace hand-rolled types with @temporalio/proto (#3646)
rossedfort added a commit that referenced this pull request Jul 8, 2026
Auto-generated version bump from 2.51.1 to 2.52.0

Bump type: minor

Changes included:
- [`9c6fcd54`](9c6fcd5) Add direct SSO redirect and backend logout (#3590)
- [`feab0d90`](feab0d9) a11y(4.1.3): Toaster role="log" → per-toast role="status"/"alert" for correct AT announcement semantics (#3560)
- [`d7bbfb01`](d7bbfb0) a11y(2.5.8): toast — replace bare close button with IconButton (36×36 px) (#3553)
- [`4efd6ab6`](4efd6ab) a11y(3.3.1): Holocene input primitives — add aria-invalid, aria-describedby, and uniform live-region error announcement (#3554)
- [`0600b700`](0600b70) Use green only (#3599)
- [`94107549`](9410754) Clarify activity pause timeout behavior (#3600)
- [`9f88d5a8`](9f88d5a) Bump node version to 22.23.1 or newer to fix issue from previous security release (#3604)
- [`ca4104ae`](ca4104a) Update reason copy and inputs (#3588)
- [`51db73fa`](51db73f) Update batch operation reason input hint (#3605)
- [`836d7c55`](836d7c5) a11y(2.4.3): route navigation — move focus to the main landmark on afterNavigate, not just scroll (#3538)
- [`4ee95696`](4ee9569) Improve re-renders for large encoded event histories (#3592)
- [`fa5e7aa1`](fa5e7aa) feature/schedules (#3603)
- [`0d9467fd`](0d9467f) Default includeHeartbeatDetails and includeLastFailure to true for getActivityExecution and pollActivityExecution (#3521)
- [`e5bc514e`](e5bc514) fix schedules: duplicate key (#3612)
- [`f1eb489f`](f1eb489) Remove preview badge (#3581)
- [`1e5173b4`](1e5173b) Add existing versions to worker create deployment version form (#3601)
- [`a8552bae`](a8552ba) fix schedules -e.trim not a function (#3613)
- [`0442f847`](0442f84) Fix width of ComputeBadge in VersionTableRow (#3615)
- [`ddbeb54f`](ddbeb54) fix(cloud-nav): animate and stabilize side-nav collapse (#3606)
- [`3cfc684b`](3cfc684) fix - schedules recent/upcoming runs - sort issue (#3616)
- [`92b8875b`](92b8875) Move timestamp out of translate (#3617)
- [`901258af`](901258a) Fix SAA and WF consistency (#3614)
- [`99593d97`](99593d9) DT-4001 - standalone nexus operations (#3496)
- [`f10d1bf1`](f10d1bf) Clamp codeblock to container width (#3621)
- [`0a9d93ce`](0a9d93c) Remove unnecessary bottom-0 (#3623)
- [`9dabb522`](9dabb52) chore(deps-dev): bump vite from 6.4.2 to 6.4.3 (#3610)
- [`5c1854d3`](5c1854d) News Feed (#3596)
- [`340da30f`](340da30) a11y(2.1.1): guard global r/R keydown so text inputs can receive the letter (#3589)
- [`dd97a9d1`](dd97a9d) fix(markdown-editor): disable chromatic snapshot for preview story (#3631)
- [`7db61ab9`](7db61ab) a11y(4.1.2): Table / ProgressBar / Loading primitives — expose aria-busy on data-refresh regions (#3555)
- [`d2111ecf`](d2111ec) a11y(4.1.3): Add live-region wrappers for workflow status, event count, filter counts, and Banner (#3561)
- [`24eabaec`](24eabae) a11y(2.4.6): guard DrawerContent against empty <h2> when title is omitted (#3595)
- [`3552e307`](3552e30) Fix CodeMirror Lezer dependency mismatch (#3632)
- [`7ac37199`](7ac3719) Update defaults to match workflow defaults (#3634)
- [`c1f02865`](c1f0286) Draft fix for link variant handling (#3620)
- [`bbbf2b8c`](bbbf2b8) Add connection status and optional Latest Version column to deployments (DT-4174) (#3618)
- [`76f266f4`](76f266f) DurationInput updates (#3633)
- [`07da53c5`](07da53c) COM-191 - prefill CloudFormation template params in Launch Stack link (#3619)
- [`90946e0b`](90946e0) Schedules - Timeout empty defaults (#3637)
- [`97f9ad39`](97f9ad3) fix(cloud-nav): smooth label fade on side-nav collapse/expand (#3628)
- [`a399ed35`](a399ed3) Improve Search Attribute deletion messaging (#3629)
- [`ad976d94`](ad976d9) Pass through source prop for News Feed Widget (#3638)
- [`6ef84fe3`](6ef84fe) Restrict select-all to exclude workflow status (#3639)
- [`4c3729f8`](4c3729f) Reduce news feed markdown whitespace (#3642)
- [`aa04a9b6`](aa04a9b) feat(nexus-operations): add loading state to standalone nexus operations list page header (#3643)
- [`dce2f804`](dce2f80) chore: remove unused generate-holocene-props script (#3644)
- [`760bc7bc`](760bc7b) Make megaphone icon bigger (#3645)
- [`c047384a`](c047384) refactor(nexus): replace hand-rolled types with @temporalio/proto (#3646)

Co-authored-by: rossedfort <[email protected]>
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