Skip to content

feat(DT-3565): Schedules Redesign#3405

Draft
tegan-temporal wants to merge 79 commits into
mainfrom
tegan/schedules-update
Draft

feat(DT-3565): Schedules Redesign#3405
tegan-temporal wants to merge 79 commits into
mainfrom
tegan/schedules-update

Conversation

@tegan-temporal
Copy link
Copy Markdown
Contributor

@tegan-temporal tegan-temporal commented May 18, 2026

Description & motivation 💭

Scehdules Redesign

Screenshots (if applicable) 📸

Design Considerations 🎨

https://www.figma.com/design/tzggy7x7JIM0payi0D4Xr4/Cloud-UI-Redesign?node-id=943-9543&m=dev

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 https://temporalio.atlassian.net/browse/DT-3565

Docs

Any docs updates needed?

@tegan-temporal tegan-temporal self-assigned this May 18, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

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

Project Deployment Actions Updated (UTC)
holocene Ready Ready Preview, Comment Jun 8, 2026 1:03am

Request Review

<Loading />
{:then { schedule, searchAttributes }}
<ScheduleFormView onConfirm={handleEdit} {schedule} {searchAttributes} />
<ScheduleFormView
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.

  • ⚠️ Argument of type 'ISchedule | undefined' is not assignable to parameter of type 'ISchedule'.

<ScheduleFormView onConfirm={handleEdit} {schedule} {searchAttributes} />
<ScheduleFormView
onSubmit={handleEdit(schedule)}
{schedule}
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.

  • ⚠️ Type 'ISearchAttributes | null | undefined' is not assignable to type 'ISearchAttributes | undefined'.

@temporal-cicd
Copy link
Copy Markdown
Contributor

temporal-cicd Bot commented May 18, 2026

Warnings
⚠️

📊 Strict Mode: 131 errors in 31 files (15.1% of 870 total)

src/lib/i18n/index.ts (2)
  • L36:2: Property 'count' of type 'number | undefined' is not assignable to 'string' index type 'string | number | boolean'.
  • L37:2: Property 'ordinal' of type 'boolean | undefined' is not assignable to 'string' index type 'string | number | boolean'.
src/lib/components/schedule/utilities/form-data-to-request-data.ts (4)
  • L150:4: Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.
  • L159:10: Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.
  • L199:4: Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.
  • L211:10: Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.
src/lib/components/schedule/utilities/form-data-to-request-data.test.ts (33)
  • L61:26: 'body.schedule.action' is possibly 'undefined'.
  • L71:11: 'body.schedule.action' is possibly 'undefined'.
  • L84:11: 'body.schedule.action' is possibly 'undefined'.
  • L96:11: 'body.schedule.spec' is possibly 'undefined'.
  • L97:11: 'body.schedule.spec' is possibly 'undefined'.
  • L98:11: 'body.schedule.spec' is possibly 'undefined'.
  • L99:11: 'body.schedule.spec' is possibly 'undefined'.
  • L107:11: 'body.schedule.spec' is possibly 'undefined'.
  • L125:11: 'body.schedule.spec' is possibly 'undefined'.
  • L152:11: 'body.schedule.spec' is possibly 'undefined'.
  • L175:11: 'body.schedule.spec' is possibly 'undefined'.
  • L176:11: 'body.schedule.spec' is possibly 'undefined'.
  • L177:11: 'body.schedule.spec' is possibly 'undefined'.
  • L185:11: 'body.schedule.spec' is possibly 'undefined'.
  • L204:11: 'body.schedule.state' is possibly 'undefined'.
  • L211:11: 'body.schedule.action' is possibly 'undefined'.
  • L224:23: 'body.searchAttributes' is possibly 'null' or 'undefined'.
  • L224:23: No overload matches this call.
  • L234:26: 'body.schedule.action' is possibly 'undefined'.
  • L263:11: 'body.schedule.action' is possibly 'undefined'.
  • L264:11: 'body.schedule.action' is possibly 'undefined'.
  • L277:11: 'body.schedule.action' is possibly 'undefined'.
  • L289:11: 'body.schedule.action' is possibly 'undefined'.
  • L312:4: 'schedule.action' is possibly 'null' or 'undefined'.
  • L312:4: 'schedule.action.startWorkflow' is possibly 'null' or 'undefined'.
  • L314:28: Property 'startWorkflow' does not exist on type 'IScheduleAction | null | undefined'.
  • L322:11: 'body.schedule.action' is possibly 'undefined'.
  • L322:11: 'body.schedule.action.startWorkflow.header' is possibly 'null' or 'undefined'.
  • L322:11: 'body.schedule.action.startWorkflow.header.fields' is possibly 'null' or 'undefined'.
  • L327:11: 'schedule.action' is possibly 'null' or 'undefined'.
  • L327:11: 'schedule.action.startWorkflow' is possibly 'null' or 'undefined'.
  • L327:11: 'schedule.action.startWorkflow.header' is possibly 'null' or 'undefined'.
  • L327:11: 'schedule.action.startWorkflow.header.fields' is possibly 'null' or 'undefined'.
src/lib/holocene/button.svelte (6)
  • L109:13: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L110:13: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L112:13: Type 'null' is not assignable to type 'string'.
  • L113:13: Type 'null' is not assignable to type 'string'.
  • L114:13: Type 'null' is not assignable to type 'string'.
  • L102:7: Argument of type '$$Props' is not assignable to parameter of type '{ variant?: "primary" | "secondary" | "ghost" | "destructive" | "table-header" | null | undefined; size?: "xs" | "sm" | "md" | "lg" | null | undefined; disabled?: boolean | undefined; ... 9 more ...; class?: string | undefined; }'.
src/lib/holocene/radio-input/radio-input.svelte (1)
  • L14:7: Argument of type '$$Props' is not assignable to parameter of type '{ value: T; id: string; label: string; description?: string | undefined; labelHidden?: boolean | undefined; disabled?: boolean | undefined; group?: Writable | undefined; name?: string | undefined; class?: string | undefined; }'.
src/lib/services/schedule-service.ts (3)
  • L36:2: Type '(pageSize?: number, token?: string) => Promise<{ items: IScheduleListEntry[]; nextPageToken: string; } | { items: IScheduleListEntry[] | null | undefined; nextPageToken: string; }>' is not assignable to type 'PaginatedSchedulesPromise'.
  • L76:4: Type 'IScheduleListEntry[] | null | undefined' is not assignable to type 'IScheduleListEntry[]'.
  • L170:28: No overload matches this call.
src/lib/stores/schedules.ts (7)
  • L92:69: Property 'message' does not exist on type '{}'.
  • L127:69: Property 'message' does not exist on type '{}'.
  • L170:18: Property 'message' does not exist on type '{}'.
  • L210:20: Property 'message' does not exist on type '{}'.
  • L250:18: Property 'message' does not exist on type '{}'.
  • L297:18: Property 'message' does not exist on type '{}'.
  • L304:49: Argument of type 'null' is not assignable to parameter of type 'Promise<DescribeFullSchedule | null> | undefined'.
src/lib/holocene/combobox/combobox.svelte (10)
  • L154:4: Type 'null' is not assignable to type 'string'.
  • L157:4: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L159:4: Type 'null' is not assignable to type 'keyof T'.
  • L244:4: 'inputElement' is possibly 'null'.
  • L245:4: 'inputElement' is possibly 'null'.
  • L251:14: Argument of type 'string | T | undefined' is not assignable to parameter of type 'string | T'.
  • L256:14: Argument of type 'string | T | undefined' is not assignable to parameter of type 'string | T'.
  • L300:60: Function lacks ending return statement and return type does not include 'undefined'.
  • L393:10: Type 'HTMLLIElement | null' is not assignable to type 'HTMLLIElement'.
  • L393:43: 'menuElement' is possibly 'null'.
src/lib/holocene/input/input.svelte (2)
  • L49:4: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L98:27: Type 'boolean | null' is not assignable to type 'boolean | undefined'.
src/lib/holocene/code-block.svelte (6)
  • L152:32: 'editorView.contentHeight' is possibly 'undefined'.
  • L172:24: Type 'number | boolean' is not assignable to type 'boolean'.
  • L180:23: Type 'number | undefined' is not assignable to type 'number'.
  • L180:34: Type 'number | undefined' is not assignable to type 'number'.
  • L193:8: 'editorView' is possibly 'undefined'.
  • L292:30: Type 'boolean | 0' is not assignable to type 'boolean | undefined'.
src/lib/components/workflow-status.svelte (2)
  • L102:16: 'count' is possibly 'undefined'.
  • L103:9: 'count' is possibly 'undefined'.
src/lib/holocene/checkbox.svelte (3)
  • L34:13: Type 'undefined' is not assignable to type 'T'.
  • L35:13: Type 'undefined' is not assignable to type 'T[]'.
  • L13:12: Argument of type '$$Props' is not assignable to parameter of type '{ id?: string | undefined; checked?: boolean | undefined; label?: string | undefined; labelHidden?: boolean | undefined; indeterminate?: boolean | undefined; disabled?: boolean | undefined; ... 6 more ...; class?: string | undefined; }'.
src/lib/holocene/select/select.svelte (3)
  • L71:4: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L91:30: Argument of type 'T | undefined' is not assignable to parameter of type 'T'.
  • L123:36: Argument of type 'T | undefined' is not assignable to parameter of type 'T'.
src/lib/holocene/input/number-input.svelte (3)
  • L9:13: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L20:13: Type 'undefined' is not assignable to type 'number'.
  • L21:13: Type 'undefined' is not assignable to type 'number'.
src/lib/components/schedule/schedule-action-modals/pause-schedule-modal.svelte (1)
  • L39:6: Type 'boolean | undefined' is not assignable to type 'boolean'.
src/lib/components/schedule/schedule-form/schedule-input-payload.svelte (1)
  • L95:18: Type 'IPayloads | undefined' is not assignable to type 'object | IPayloads | IPayload'.
src/lib/components/schedule/schedule-form/schedule-details-card.svelte (5)
  • L43:37: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
  • L223:17: Type 'number | undefined' is not assignable to type 'number'.
  • L273:11: Type 'string | undefined' is not assignable to type 'string'.
  • L276:11: Type 'string | undefined' is not assignable to type 'string'.
  • L277:6: Type 'IPayloads | null | undefined' is not assignable to type 'IPayloads | undefined'.
src/lib/components/schedule/schedule-form/schedule-policies-drawer.svelte (4)
  • L219:8: Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.
  • L259:6: Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.
  • L277:6: Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.
  • L292:6: Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.
src/lib/components/schedule/schedule-form/spec-type-interval.svelte (2)
  • L28:9: Type 'string | undefined' is not assignable to type 'string'.
  • L46:9: Type 'string | undefined' is not assignable to type 'string'.
src/lib/components/schedule/schedule-form/spec-type-month.svelte (2)
  • L196:13: Type 'string | undefined' is not assignable to type 'string'.
  • L219:13: Type 'string | undefined' is not assignable to type 'string'.
src/lib/components/schedule/schedule-form/spec-type-week.svelte (3)
  • L135:4: Type '(type: "custom" | "everyday" | "weekdays" | "weekends") => void' is not assignable to type '(value: string) => void'.
  • L192:13: Type 'string | undefined' is not assignable to type 'string'.
  • L215:13: Type 'string | undefined' is not assignable to type 'string'.
src/lib/holocene/tab/tab.svelte (3)
  • L31:4: Type 'null' is not assignable to type 'string'.
  • L32:4: Type 'null' is not assignable to type 'string'.
  • L34:4: Type 'null' is not assignable to type 'boolean'.
src/lib/components/schedule/schedule-view/advanced-settings-card.svelte (1)
  • L81:11: 'state' is possibly 'null' or 'undefined'.
src/lib/components/schedule/schedule-view/schedule-spec-card.svelte (1)
  • L20:6: Type 'ISchedule | undefined' is not assignable to type 'ISchedule | null'.
src/lib/holocene/pill-container/pill-container.svelte (2)
  • L26:38: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
  • L41:10: Type 'string | null' is not assignable to type 'string'.
src/lib/holocene/pill-container/pill.svelte (3)
  • L30:4: Type 'null' is not assignable to type 'boolean'.
  • L31:4: Type 'null' is not assignable to type '"search" | "link" | "success" | "error" | "action" | "activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | ... 142 more ... | "xmark-square"'.
  • L32:4: Type 'null' is not assignable to type 'number'.
src/lib/components/schedule/schedule-view/workflow-runs-recent.svelte (6)
  • L59:45: Argument of type 'WorkflowExecutionStatus | null | undefined' is not assignable to parameter of type 'WorkflowStatus | WorkflowExecutionStatus'.
  • L68:14: Type 'string | null | undefined' is not assignable to type 'string'.
  • L68:24: 'run.startWorkflowResult' is possibly 'null' or 'undefined'.
  • L69:14: Type 'string | null | undefined' is not assignable to type 'string'.
  • L69:19: 'run.startWorkflowResult' is possibly 'null' or 'undefined'.
  • L73:13: 'run.startWorkflowResult' is possibly 'null' or 'undefined'.
src/lib/components/schedule/schedule-view/workflow-runs-card.svelte (1)
  • L42:6: Type 'string | undefined' is not assignable to type 'string'.
src/lib/components/schedule/schedule-view/schedule-view.svelte (7)
  • L87:22: 'currentSchedule.schedule' is possibly 'undefined'.
  • L87:22: 'currentSchedule.schedule.state' is possibly 'null' or 'undefined'.
  • L103:20: Type 'string | undefined' is not assignable to type 'string'.
  • L125:24: Argument of type 'string | null | undefined' is not assignable to parameter of type 'string'.
  • L149:17: 'currentSchedule.info' is possibly 'null' or 'undefined'.
  • L251:12: Type 'IPayloads | null | undefined' is not assignable to type 'IPayloads'.
  • L260:6: Type 'boolean | null | undefined' is not assignable to type 'boolean | undefined'.
src/lib/components/schedule/schedules-list/schedule-frequency.svelte (2)
  • L18:4: 'spec.structuredCalendar.length' is possibly 'undefined'.
  • L19:8: 'spec.structuredCalendar' is possibly 'null' or 'undefined'.
src/lib/pages/schedule-edit.svelte (2)
  • L37:25: Argument of type 'ISchedule | undefined' is not assignable to parameter of type 'ISchedule'.
  • L39:5: Type 'ISearchAttributes | null | undefined' is not assignable to type 'ISearchAttributes | undefined'.

Generated by 🚫 dangerJS against 0c9e12e

@tegan-temporal tegan-temporal force-pushed the tegan/schedules-update branch from 23923a6 to f6459bf Compare May 18, 2026 22:38
@tegan-temporal tegan-temporal changed the title WIP: schedules updates feat(DT-3565): Schedules Redesign May 28, 2026
@tegan-temporal tegan-temporal force-pushed the tegan/schedules-update branch from 61bbcf7 to b0bed58 Compare May 29, 2026 18:38
@tegan-temporal tegan-temporal changed the base branch from main to tegan/date-picker-refactor May 29, 2026 18:39
Base automatically changed from tegan/date-picker-refactor to main June 2, 2026 20:09
<NumberInput
id="endAfterOccurrences"
label={translate('schedules.occurrences-label')}
labelHidden
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.

  • ⚠️ Type 'number | undefined' is not assignable to type 'number'.

let body: ScheduleRequestBody;
try {
body = await formDataToCreateScheduleRequest(formData);
} catch (e) {
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.

  • ⚠️ Property 'message' does not exist on type '{}'.

let body: ScheduleRequestBody;
try {
body = await formDataToEditScheduleRequest(formData, schedule, scheduleId);
} catch (e) {
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.

  • ⚠️ Property 'message' does not exist on type '{}'.

} catch (e) {
actionPending.set(false);
serverError.set(
translate('schedules.delete-schedule-error', {
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.

  • ⚠️ Property 'message' does not exist on type '{}'.

isPaused
? 'schedules.pause-schedule-error'
: 'schedules.unpause-schedule-error',
{
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.

  • ⚠️ Property 'message' does not exist on type '{}'.

} catch (e) {
actionPending.set(true);
serverError.set(
translate('schedules.trigger-schedule-error', {
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.

  • ⚠️ Property 'message' does not exist on type '{}'.

} catch (e) {
actionPending.set(true);
serverError.set(
translate('schedules.backfill-schedule-error', {
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.

  • ⚠️ Property 'message' does not exist on type '{}'.

}
}

export const currentScheduleFetch =
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.

  • ⚠️ Argument of type 'null' is not assignable to parameter of type 'Promise<DescribeFullSchedule | null> | undefined'.

on:confirmModal={() =>
submitPauseSchedule(reason, {
scheduleId,
namespace,
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.

  • ⚠️ Type 'boolean | undefined' is not assignable to type 'boolean'.

<Panel class="flex w-full flex-col gap-4 border-subtle p-6" as="section">
<header class="mb-1 flex items-center justify-between">
<h2 class="text-2xl font-medium">{translate('schedules.workflow-runs')}</h2>
<Link
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.

  • ⚠️ Type 'string | undefined' is not assignable to type 'string'.

class="grid grid-cols-[max-content_1fr] gap-x-2 gap-y-1 border-b border-subtle py-2 sm:grid-cols-[minmax(max-content,7rem)_1fr_max-content]"
>
<div class="col-start-1 row-start-1 flex items-center">
<WorkflowStatus
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.

  • ⚠️ Argument of type 'WorkflowExecutionStatus | null | undefined' is not assignable to parameter of type 'WorkflowStatus | WorkflowExecutionStatus'.

class="col-span-2 row-start-2 flex justify-center sm:col-span-1 sm:col-start-2 sm:row-start-1 sm:justify-start"
>
<Link
href={routeForWorkflow({
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.

  • ⚠️ 'run.startWorkflowResult' is possibly 'null' or 'undefined'.
  • ⚠️ Type 'string | null | undefined' is not assignable to type 'string'.

>
<Link
href={routeForWorkflow({
workflow: run.startWorkflowResult.workflowId,
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.

  • ⚠️ 'run.startWorkflowResult' is possibly 'null' or 'undefined'.
  • ⚠️ Type 'string | null | undefined' is not assignable to type 'string'.

run: run.startWorkflowResult.runId,
namespace,
})}
>
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.

  • ⚠️ 'run.startWorkflowResult' is possibly 'null' or 'undefined'.

let isFullSpecVisible = $state(false);

const formSchedule = $derived(
scheduleToFormData({
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.

  • ⚠️ Type 'ISchedule | undefined' is not assignable to type 'ISchedule | null'.

id="catchup-window-policy-duration"
label={translate('schedules.catchup-window-label')}
inputmode="numeric"
bind:value={$policies.catchupWindow}
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.

  • ⚠️ Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.

id="task-timeout-duration"
label={translate('schedules.task-timeout')}
inputmode="numeric"
bind:value={$policies.taskTimeout}
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.

  • ⚠️ Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.

id="run-timeout-duration"
label={translate('schedules.run-timeout')}
inputmode="numeric"
bind:value={$policies.runTimeout}
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.

  • ⚠️ Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.

id="execution-timeout-duration"
label={translate('schedules.execution-timeout')}
inputmode="numeric"
bind:value={$policies.executionTimeout}
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.

  • ⚠️ Type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)" | undefined' is not assignable to type '"month(s)" | "day(s)" | "hour(s)" | "minute(s)" | "second(s)"'.

baseFormData({ name: ' my-schedule ' }),
);

expect(body.schedule_id).toBe('my-schedule');
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.

  • ⚠️ 'body.schedule.action' is possibly 'undefined'.

existingSchedule(),
'real-id',
);

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.

  • ⚠️ 'body.schedule.action' is possibly 'undefined'.

});

it('encodes header fields without mutating the source schedule', async () => {
const schedule = existingSchedule();
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.action' is possibly 'null' or 'undefined'.
  • ⚠️ 'schedule.action.startWorkflow' is possibly 'null' or 'undefined'.

it('encodes header fields without mutating the source schedule', async () => {
const schedule = existingSchedule();
schedule.action.startWorkflow.header = {
fields: { greeting: 'hello' },
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.

  • ⚠️ Property 'startWorkflow' does not exist on type 'IScheduleAction | null | undefined'.

schedule,
'real-id',
);

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.

  • ⚠️ 'body.schedule.action' is possibly 'undefined'.
  • ⚠️ 'body.schedule.action.startWorkflow.header' is possibly 'null' or 'undefined'.
  • ⚠️ 'body.schedule.action.startWorkflow.header.fields' is possibly 'null' or 'undefined'.

metadata: { encoding: 'json/plain' },
data: '"hello"',
});
// source schedule is untouched
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.action' is possibly 'null' or 'undefined'.
  • ⚠️ 'schedule.action.startWorkflow' is possibly 'null' or 'undefined'.
  • ⚠️ 'schedule.action.startWorkflow.header' is possibly 'null' or 'undefined'.
  • ⚠️ 'schedule.action.startWorkflow.header.fields' is possibly 'null' or 'undefined'.

</Input>
</div>

<ScheduleInputPayload
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.

  • ⚠️ Type 'string | undefined' is not assignable to type 'string'.

<ScheduleInputPayload
bind:input={$form.input}
bind:editInput={$form.editInput}
bind:encoding={$form.encoding}
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.

  • ⚠️ Type 'string | undefined' is not assignable to type 'string'.

bind:input={$form.input}
bind:editInput={$form.editInput}
bind:encoding={$form.encoding}
bind:messageType={$form.messageType}
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.

  • ⚠️ Type 'IPayloads | null | undefined' is not assignable to type 'IPayloads | undefined'.

structuredCalendar: spec.excludeStructuredCalendar,
}) || translate('common.none')
: translate('common.none'),
)}
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.

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

class="flex select-all flex-wrap items-center gap-2 text-3xl"
data-testid="schedule-name"
>
<WorkflowStatus
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.

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

?.name}
<div class="flex items-center gap-2">
<Link
class="block p-1"
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.

  • ⚠️ Type 'string | undefined' is not assignable to type 'string'.

class="p-1 text-secondary"
onclick={(e) => {
copy(
e,
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.

  • ⚠️ Argument of type 'string | null | undefined' is not assignable to parameter of type 'string'.

{$timestamp(currentSchedule?.info?.createTime)}
</dd>
</div>

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.

  • ⚠️ 'currentSchedule.info' is possibly 'null' or 'undefined'.


<div class="flex w-full flex-col gap-4 xl:w-1/3">
<ScheduleInputCard
{scheduleId}
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.

  • ⚠️ Type 'IPayloads | null | undefined' is not assignable to type 'IPayloads'.

</div>
<PauseScheduleModal
{scheduleId}
{namespace}
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.

  • ⚠️ Type 'boolean | null | undefined' is not assignable to type 'boolean | undefined'.

}

return {
schedule_id: formData.name.trim(),
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.

  • ⚠️ Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.

workflowId: formData.workflowId,
workflowType: { name: formData.workflowType },
taskQueue: { name: formData.taskQueue },
input: payloads ? { payloads } : null,
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.

  • ⚠️ Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.

const header = await encodeHeaderFields(startWorkflow.header);

return {
schedule_id: scheduleId,
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.

  • ⚠️ Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.

taskQueue: { name: formData.taskQueue },
...(formData.editInput && {
input: payloads ? { payloads } : null,
}),
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.

  • ⚠️ Type '{ indexedFields: { indexedFields?: { [k: string]: IPayload; } | null | undefined; }; } | null' is not assignable to type 'ISearchAttributes | null | undefined'.

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.

3 participants