Skip to content

Conversation

@jumski
Copy link
Contributor

@jumski jumski commented Nov 9, 2025

No description provided.

@changeset-bot
Copy link

changeset-bot bot commented Nov 9, 2025

⚠️ No Changeset found

Latest commit: 96d0289

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor Author

jumski commented Nov 9, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge:queue - adds this PR to the back of the merge queue
  • hotfix:queue - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@nx-cloud
Copy link

nx-cloud bot commented Nov 9, 2025

🤖 Nx Cloud AI Fix Eligible

An automatically generated fix could have helped fix failing tasks for this run, but Self-healing CI is disabled for this workspace. Visit workspace settings to enable it and get automatic fixes in future runs.

To disable these notifications, a workspace admin can disable them in workspace settings.


View your CI Pipeline Execution ↗ for commit 96d0289

Command Status Duration Result
nx affected -t lint typecheck test --parallel -... ❌ Failed 15s View ↗

☁️ Nx Cloud last updated this comment at 2025-11-11 14:45:40 UTC

@github-actions
Copy link
Contributor

github-actions bot commented Nov 9, 2025

🔍 Preview Deployment: Website

Deployment successful!

🔗 Preview URL: https://pr-332.pgflow.pages.dev

📝 Details:

  • Branch: feat-demo-synth-events
  • Commit: 8794c84f6f7d62a797e6b1326467d70aa3d8eb02
  • View Logs

_Last updated: _

@github-actions
Copy link
Contributor

github-actions bot commented Nov 9, 2025

🔍 Preview Deployment: Demo

Deployment successful!

🔗 Preview URL: https://pr-332-pgflow-demo.jumski.workers.dev

📝 Details:

  • Branch: feat-demo-synth-events
  • Commit: 8794c84f6f7d62a797e6b1326467d70aa3d8eb02
  • View Logs

_Last updated: _

@jumski jumski marked this pull request as ready for review November 9, 2025 15:37
@jumski jumski force-pushed the feat-demo-synth-events branch from dd7cb02 to 63d7289 Compare November 10, 2025 12:39
Comment on lines +248 to +250
stateVersion;
return run?.step(stepSlug).status || 'created';
},
Copy link
Contributor

Choose a reason for hiding this comment

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

Critical bug: Optional chaining is incomplete. When run is null, run?.step(stepSlug) returns undefined, then accessing .status on undefined will throw a TypeError.

// Current (broken):
return run?.step(stepSlug).status || 'created';

// Fixed:
return run?.step(stepSlug)?.status || 'created';

This affects all property getters in the step() function (status, output, error, started_at, completed_at, failed_at) and will crash whenever these properties are accessed before a run is started or after it's cleared.

Suggested change
stateVersion;
return run?.step(stepSlug).status || 'created';
},
stateVersion;
return run?.step(stepSlug)?.status || 'created';
},

Spotted by Graphite Agent

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

Comment on lines +214 to +215
// Ensure reactivity to step status changes by accessing flowState.run
void flowState.run;
Copy link
Contributor

Choose a reason for hiding this comment

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

Replace 'void flowState.run' with a proper $effect block or use $: to track the dependency. For example: '$: ({ run } = flowState);' or create an $effect that uses flowState.run properly.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

let lastEventCount = $state(0);
$effect(() => {
const currentEventCount = flowState.events.length;
const currentEventCount = flowState.timeline.length;
Copy link
Contributor

Choose a reason for hiding this comment

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

Ensure the timeline implementation uses SvelteDate instead of the built-in Date class for reactivity. If the timeline is created in pgflow-state.svelte, make sure all Date instances are replaced with SvelteDate there.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

Comment on lines +166 to +167
// Use reactive step() method from runState
return flowState.step(stepSlug).status === 'started';
Copy link
Contributor

Choose a reason for hiding this comment

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

The comment here is redundant since the code already clearly shows we're using the step() method. Consider removing the comment to make the code cleaner.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

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