Skip to content

refactor(pages): consolidate island action submissions - #632

Merged
cpojer merged 1 commit into
voidzero-dev:mainfrom
yangshun:codex/consolidate-island-actions
Oct 29, 2026
Merged

cpojer merged 1 commit into
voidzero-dev:mainfrom
yangshun:codex/consolidate-island-actions

Conversation

@yangshun

@yangshun yangshun commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

React, Vue, Svelte, and Solid each duplicated island-form JSON submission and response handling. Extract submitIslandAction into the existing void/pages-client entry and reuse it across all four adapters, including the existing action-error decoder.

These HTTP submission and response rules are unlikely to differ across frameworks; sharing them ensures fixes apply consistently to every adapter.

The adapters retain their state updates, success timers, navigation, reloads, and Promise-based submission APIs. This removes 98 net production lines and adds 47 regression cases covering redirect precedence, validation, HTTP error classification, body decoding, usage-limit metadata, and request failures.

Validation:

  • vp run --no-cache test:all --maxWorkers=4 passed: formatting, lint, package/playground builds, build-artifact checks, workspace typechecking, and 15,073 tests (31 skipped).
  • Island-form browser contract passed for all four adapters: 8 cases.
  • The separate packed-consumer full matrix remained incomplete after initializer timeouts in the npm React and Vue cases.

@cpojer cpojer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you!

@cpojer
cpojer marked this pull request as ready for review October 29, 2026 05:45
@cpojer
cpojer merged commit 588703d into voidzero-dev:main Oct 29, 2026
2 checks passed
@yangshun
yangshun deleted the codex/consolidate-island-actions branch October 29, 2026 05:46
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