fix: address PR #133 review findings — AG-UI queue, composer, banner, docs generator - #134
Conversation
Functional fixes:
- agui runtime: implement the type-ahead queue — enqueueMessage buffers
drafts into RuntimeState.queued and drains one per natural turn end
(never after stop()); removeQueuedMessage works. Previously a no-op
silently dropped drafts composed mid-run.
- Composer.send(): keep uploading/error attachment slots (only done ones
are consumed) and reset dictation buffers so recognized text can't
repopulate the textarea after sending.
- ConnectionBanner: drop flashRecovered from the effect deps — the
self-triggered re-run cancelled its own timeout, leaving the
'Reconnected' flash on screen forever.
- WorkflowCanvas: interactive-driven flags now come after {...rest} with
per-flag override support, so the spread can't silently undo them.
- Transcription: assign-only active ref — backward seeks no longer wipe
the ref via the stale segment's null-clear.
- FileTree renderer: implement the documented trailing-annotation cleanup
((dir) suffixes, double-space columns).
- API docs generator: forbid '*/' inside the JSDoc capture (backtracking
welded earlier comments + code onto the next symbol), count only
parentheses in function-signature scanning ('>' in arrows corrupted the
depth), and emit real anchor ids matching the index links. Regenerated:
275 symbols (previously-swallowed declarations now extracted).
Docs/examples:
- artifact.md: import the icon used; demoSources artifact snippet made
self-contained; branch-picker.md content mirrors its active version;
connection-banner.md runtime link fixed.
Hygiene:
- web/src/styles.css: all @imports moved before other at-rules (late
imports are spec-invalid).
- Deprecated CSS replaced (word-break: break-word, clip); canvas.css
stylelint spacing; smoke script self-comparison lint.
- Packaging: ./package.json export on both packages; selftest artifacts
excluded from the core tarball.
Versions: jcode-ui-core 0.2.1, jcode-ui 0.2.2 (publish after merge, with
pnpm publish).
Generated with Jack AI bot
|
Warning Review limit reached
Next review available in: 30 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (21)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
fix: address PR #133 review findings — AG-UI queue, composer, banner, docs generator
What
Follow-up to #133: triaged all CodeRabbit review findings on the merged PR and fixed everything that held up (18 of 18 actionable items), plus two packaging nits found during the npm release verification.
Functional fixes
enqueueMessagebuffered nothing, so pressing Enter mid-run cleared the textarea and silently dropped the draft. Drafts now land inRuntimeState.queued(rendered by the composer's queue chips), drain one per natural turn end, and are never fired after a userstop().removeQueuedMessageimplemented. Selftest still 6/6.doneslots are consumed — in-flight uploads stay visible, failed ones remain retryable); dictation buffers reset on send so recognition results can't resurrect sent text.flashRecoveredremoved from the effect deps — the self-triggered re-run cancelled its own timeout, leaving the "Reconnected" flash on screen forever.interactivecontract can no longer be silently overridden by{...rest}; explicit per-flag overrides still work.API docs generator (three root causes)
*/and weld an earlier comment plus intervening code onto the next symbol's doc — now structurally forbidden.</>(arrows and comparisons corrupted the depth and swallowed following declarations) — now counts parentheses only.#pkg-symbolanchors that were never emitted — sections now carry real anchor ids.Docs / hygiene
web/src/styles.css: all@imports moved before other at-rules (late imports are spec-invalid; the bundler tolerated it, browsers wouldn't).word-break: break-word→overflow-wrap,clip→clip-path); stylelint/Biome nits../package.jsonadded to both packages' exports; selftest artifacts excluded from the published core tarball.Versions
jcode-ui-core→ 0.2.1,jcode-ui→ 0.2.2 (changelog updated). Publish after merge — withpnpm publish(core first, then ui).Verification
core/ui build + typecheck green · AG-UI selftest 6/6 · markdown smoke 25/25 · web typecheck + build green ·
make build-webgreen · site tsc + vite build green.Generated with Jack AI bot