Repository navigation
feat: beta-launch SDK lane — Beta pill, paused-chat state, markdown fixes - #44
Merged
Merged
Conversation
The SDK is about to ship inside a consuming plugin's beta programme, and users need a visual cue that the Community feature itself is still beta. The consumer opts in via a new Config->beta flag (default false), which Page localizes into RoundtableConfig; the frontend then renders a small WP-blue "Beta" pill next to the agent name in the chat header and next to the Community page heading. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…yles
Topic list cards rendered the case summary raw, so markdown structure
("## Steps to reproduce", **bold**, fences) leaked into the one-line
excerpt. Cards now strip markdown into readable plain text via a new
pure markdownToPlainText helper; TopicRow is the single card renderer,
so the All/Participating/Started/Roadmap lists are all covered. The
detail view keeps rendering the full markdown body (now pinned by a
test).
Chat bubbles rendered headings at browser-default sizes and lists with
default margins inside the compact 13.5px bubble, and numbered lists in
the detail/comment prose had no styles at all (only ul was styled).
Added rt-ab heading/list rules and extended the rt-prose ul rule to ol.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pairs with the hub change that adds "chat_disabled": true to
GET /project/config and refuses message POSTs with a 403 carrying the
chat_disabled code. Previously a vendor pausing their chat surfaced as
a red generic error bubble, which reads as breakage to end users.
Config-driven: Page passes chat_disabled (false on hub failure) into
RoundtableConfig as chatDisabled; the chat panel then shows one calm
agent-styled notice ("The community chat is temporarily paused.") and
disables the composer.
Runtime: HubClient inspects a message 403's body for the chat_disabled
code (top-level `code`, FastAPI `detail` string, or `detail.code` —
the exact hub shape is not final) and throws a dedicated
HubException::chatDisabled, which travels the existing errorKind
mechanism (REST error.kind on the buffered path, SSE error message on
the streaming path, where the refusal body is now captured from the
frame callback). The frontend renders that kind as the same calm
notice, without error styling.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
wp_localize_script casts scalars to strings (true => "1", false => ""), so betaEnabled/chatDisabled's strict === true checks silently failed against a real WordPress payload — the Beta pill never rendered on the consuming site. Boolean flags now accept the stringified truthy forms. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…xt swaps
The '+ New topic' reset replaces the greeting text on the same mounted
Bubble (same key), but useTypewriter kept the previous text's shown-length,
clipping the longer topic intro mid-sentence ('…you can review &'). A
non-animating bubble now always snaps to its full text on text change.
Verified in the browser (renderToString tests cannot exercise effects).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Beta-launch lane for the WP SDK, verified end-to-end in the browser on the PLLAT dev site.
What's in here
beta: truein the mount config; the UI renders a "Beta" pill next to the page title and the agent header. b60fbe0 makes the flag reader acceptwp_localize_script's stringified booleans (truearrives as"1", so a strict=== truecheck silently failed against a real WordPress payload).chat_disabled, the panel shows "The community chat is temporarily paused." and disables the composer instead of erroring. Verified against the hub kill switch both ways.##/**no longer leak into the list), plus tuned bubble markdown styles.Tests / gates
composer cs, composer stan, composer test, npm test, npm run build all green;
assets/distrebuilt and committed.Merge coordination runs via the roundtable-66 session (Robbert's akkoord there). After this lands on main, PLLAT's composer lock needs a re-pin (
composer update epicwp/wp-roundtable) so the beta flag activates in the production build.🤖 Generated with Claude Code