Skip to content

fix: replace raw NUL bytes in project run statuses - #8529

Open
sohan87654 wants to merge 1 commit into
nexu-io:mainfrom
sohan87654:fix/8475-nul-byte
Open

sohan87654 wants to merge 1 commit into
nexu-io:mainfrom
sohan87654:fix/8475-nul-byte

Conversation

@sohan87654

Copy link
Copy Markdown

Fixes #8475

Why

The web app had raw NUL bytes (0x00) inside string literals in useProjectRunStatuses.ts, which could cause a syntax error in Chromium/V8.

Changes

  • Replaced the 3 raw NUL bytes with the \u0000 escape sequence.
  • Kept the existing join/split behavior unchanged.

Testing

  • Verified the source contained 3 raw NUL bytes before the fix.
  • Verified it contains 0 raw NUL bytes after the fix.
  • Started the web app locally and confirmed the page loads successfully.
  • Ran git diff --check.

@lefarcen lefarcen added risk/medium Medium risk: regular code changes size/XS PR changes <20 lines type/bugfix Bug fix labels Sep 30, 2026
@lefarcen

Copy link
Copy Markdown
Contributor

Thanks @sohan87654 — this is a focused fix for the raw NUL-byte parsing issue in project run statuses. We’ve queued it for review.

@lefarcen
lefarcen requested a review from PerishCode September 30, 2026 07:05
@lefarcen lefarcen added the needs-validation Runtime change detected; needs human or /explore agent validation. label Sep 30, 2026
@lefarcen

Copy link
Copy Markdown
Contributor

🧪 This PR has changes that need a manual QA pass before merge — please hold off self-merging for now; we’ll loop QA in once it’s merge-ready (and design/product have signed off, where applicable).

@lefarcen lefarcen left a comment

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.

The existing Why, Changes, and Testing sections make the intent clear. Could you add the Surface area checklist (including the affected user-facing surface) and a short Bug fix verification entry that explicitly records the reported browser-load failure before and after this change? That will make the release-facing impact and regression check easy to trace.

@PerishCode PerishCode left a comment

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.

@sohan87654 I verified the three changed literals now use the source-safe \u0000 escape while preserving the same runtime NUL delimiter for sorting, subscription IDs, and summary lookup. The live patch contains no raw NUL bytes, and the change is tightly scoped to the reported browser parsing issue. Nice focused fix—thank you for preserving the existing join/split behavior.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@github-actions

Copy link
Copy Markdown
Contributor

Visual regression review

Head: a30e04f · Base: 5b19dfa

0 changed · 53 unchanged · 0 new without baseline · 0 failed

Unchanged cases
Case Main PR Diff
visual-avatar-local-agent-list
0 px (0.00%)
main pr diff
visual-avatar-local-agent-list-panel
0 px (0.00%)
main pr diff
visual-avatar-menu
0 px (0.00%)
main pr diff
visual-avatar-menu-panel
0 px (0.00%)
main pr diff
visual-avatar-open-design-model-picker
0 px (0.00%)
main pr diff
visual-critical-settings
0 px (0.00%)
main pr diff
visual-critical-workspace
0 px (0.00%)
main pr diff
visual-critical-workspace-preview
0 px (0.00%)
main pr diff
visual-deepseek-unpaid-campaign-600
0 px (0.00%)
main pr diff
visual-deepseek-unpaid-campaign-short-height
0 px (0.00%)
main pr diff
visual-design-system-detail
0 px (0.00%)
main pr diff
visual-design-systems
0 px (0.00%)
main pr diff
visual-home
0 px (0.00%)
main pr diff
visual-home-catalog
0 px (0.00%)
main pr diff
visual-home-context-picker
0 px (0.00%)
main pr diff
visual-home-context-picker-popover
0 px (0.00%)
main pr diff
visual-home-plugin-filter
0 px (0.00%)
main pr diff
visual-home-plugin-use-staged
0 px (0.00%)
main pr diff
visual-home-plugin-use-with-query
0 px (0.00%)
main pr diff
visual-home-staged-attachment
0 px (0.00%)
main pr diff

Visual diff is advisory only and does not block merging.

@lefarcen

Copy link
Copy Markdown
Contributor

Heads-up: PR #8476 is also open for the same browser parsing failure. Both PRs modify apps/web/src/hooks/useProjectRunStatuses.ts with the same three raw-NUL-to-source-escape replacements; please compare approaches so the maintainers can select one without duplicating the fix.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-validation Runtime change detected; needs human or /explore agent validation. risk/medium Medium risk: regular code changes size/XS PR changes <20 lines type/bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Web app crashes on load — raw NUL bytes in useProjectRunStatuses.ts cause 'literal not terminated' SyntaxError

3 participants