Skip to content

fix: preserve R submission lifecycle across async parsing - #60

Open
Fred-Wu wants to merge 6 commits into
mainfrom
fix/main-submission-p1
Open

Fred-Wu wants to merge 6 commits into
mainfrom
fix/main-submission-p1

Conversation

@Fred-Wu

@Fred-Wu Fred-Wu commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Scope

Fix the five P1 issues confirmed on main only, without porting the previous submission PR implementation.

  • Snapshot Enter and multiline paste input before asynchronous completeness checks; keep subsequent typing independent.
  • Preserve accepted batch order and execute each complete R expression as it is parsed, without waiting for the remaining batch.
  • Retain incomplete trailing expressions for editing.
  • Cancel queued and parsing work after a successful Ctrl+C interrupt.
  • Handle rejected backend delivery without leaving the console executing and restore unsent code.

Regression tests

New tests/unit/submission.test.cjs covers delayed parsing, live typing, editor vs console Enter/paste ordering, incremental execution, continuation, interruption, and delivery rejection.

Draft to run the complete CI matrix before review.

- Commit Enter and paste snapshots synchronously while leaving typing editable.
- Reserve FIFO submission positions and stream complete expressions to R.
- Retain incomplete source tails and cancel queued work on interruption.
- Restore unsent work on rejected backend delivery.
- Add delayed-parser, ordering, cancellation, and recovery regression tests.
@Fred-Wu
Fred-Wu force-pushed the fix/main-submission-p1 branch 2 times, most recently from 29407bd to b4ddd16 Compare October 29, 2026 05:50
Serialize completeness checks in reservation order and transfer incomplete input to the next accepted submission, including tails waiting behind execution. Keep the existing parser policy and release parsing state on cancellation without speculative checks or prefix caches.

Fix native parse timeout rejection so busy R sessions reach the existing local fallback instead of leaving the queue waiting forever. Add unit regressions and real-R frontend integration coverage to the cross-platform CI runtime suite.

Validated on Linux: 244 unit tests, both real-R integration tests, and the production type-check/bundle.
@Fred-Wu
Fred-Wu marked this pull request as ready for review October 30, 2026 09:35
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.

1 participant