Skip to content

Fix collapsed bubbles, replace fake adapter previews, add tiered scoring#9

Merged
konard merged 4 commits into
mainfrom
issue-8-a2094a5fad53
May 13, 2026
Merged

Fix collapsed bubbles, replace fake adapter previews, add tiered scoring#9
konard merged 4 commits into
mainfrom
issue-8-a2094a5fad53

Conversation

@konard
Copy link
Copy Markdown
Contributor

@konard konard commented May 13, 2026

Summary

Resolves #8 — the previous gallery shipped four real defects that this PR
addresses end-to-end:

  • Message bubbles collapsed on send. The outgoing-row layout used
    direction: rtl over a 2-column grid, which dropped the bubble track to
    0px once the avatar took its 36px column. Replaced with a flexbox
    row-reverse so the bubble keeps max-width: calc(100% - 46px) and
    renders correctly for every renderer.
  • 12 of 16 profiles fell through to the same OfflineAdapterPreview.
    Hosted SDKs (Stream, Sendbird, CometChat, TalkJS, LiveChat) now render
    via a new HostedSourcePreview that shows the real published import
    source
    alongside an offline transcript, so the gallery no longer
    pretends those SDKs run locally.
  • Scoring was a binary liveBonus. Replaced with a tiered
    getLiveTier(rendererId) (A=12, B=8, C=4, D=0 pts) that distinguishes
    real local React surfaces from offline echo runtimes from hosted source
    previews. scoreProfile() exports the resulting tier and
    getComparisonMatrix() ships it to the UI.
  • The compare page was unreadable. "Yes"/"No" feature literals are
    replaced with emoji / ⚠️ / badges and a new Tier column
    with 🟢 A / 🟡 B / 🟠 C / 🔴 D chips.

Additional UX work:

  • Removed the 1480 px boxed .workspace shell so the gallery uses the
    full viewport.
  • Added a ?debug=1 URL flag that turns on verbose console.debug
    logging for sends, theme/language switches, and metric updates.
  • Added a debug chip in the header when the flag is on.

Engineering hygiene

Before / After

State Screenshot
Failing state from the issue (collapse + boxed shell) failing
Fixed gallery (full width, tier-aware) gallery
New local reply renders as a full bubble own send
Comparison page with emoji + tier chips compare
Stream profile via HostedSourcePreview stream
Stream profile after sending a reply (no collapse) stream-send
Standalone profile page route profile

Test plan

  • npm test — 50/50 unit tests pass
  • npm run test:e2e — 11/11 e2e tests pass
  • npm run check — lint, prettier, jscpd clean
  • npm run demo:build — bundles successfully
  • Playwright manual verification (gallery, compare view, hosted SDK
    profile, standalone profile route, send-message regression)
  • CI green on PR

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #8
@konard konard self-assigned this May 13, 2026
Resolves issue #8. Outgoing chat bubbles no longer collapse on send
because the adapter row now uses flexbox `row-reverse` instead of
`direction: rtl`; hosted SDK profiles (Stream, Sendbird, CometChat,
TalkJS, LiveChat) render through a new `HostedSourcePreview` that pairs
the published import source with an offline transcript instead of the
generic adapter. Profile scoring gains a renderer-derived live tier
(A real local / B offline echo / C hosted source preview / D missing)
that is surfaced in the comparison page along with emoji
✅/⚠️/❌ feature badges. The workspace is no longer boxed at 1480 px,
and a `?debug=1` flag turns on verbose console output for the demo
gallery and standalone profile pages.

Adds the `REQUIREMENTS.md` traceability matrix and the
`docs/case-studies/issue-8/` case study with before/after screenshots
captured via Playwright. Bumps version to 0.12.0 and registers a
changeset.
@konard konard changed the title [WIP] The demos display, comparison are still fake Fix collapsed bubbles, replace fake adapter previews, add tiered scoring May 13, 2026
@konard konard marked this pull request as ready for review May 13, 2026 08:26
The release-automation workflow blocks manual edits to package.json
version. The changeset under .changeset/issue-8-real-demos.md already
declares the minor bump, so the version field stays on 0.11.1 until
the release workflow processes it on merge.
@konard
Copy link
Copy Markdown
Contributor Author

konard commented May 13, 2026

Working session summary

PR #9 is ready for review with all CI checks passing on commit f836467:

  • Broken Link Checker — success
  • Chat demo pages — success
  • Checks and release — success (after reverting manual package.json version bump; the changeset alone handles the release)

PR: #9


This summary was automatically extracted from the AI working session output.

@konard
Copy link
Copy Markdown
Contributor Author

konard commented May 13, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost: $17.006637

📊 Context and tokens usage:

Claude Opus 4.7: (5 sub-sessions)

  1. 115.8K / 1M (12%) input tokens, 8.1K / 128K (6%) output tokens
  2. 109.2K / 1M (11%) input tokens, 8.4K / 128K (7%) output tokens
  3. 118.5K / 1M (12%) input tokens, 34.9K / 128K (27%) output tokens
  4. 113.9K / 1M (11%) input tokens, 26.0K / 128K (20%) output tokens
  5. 45.8K / 1M (5%) input tokens, 2.9K / 128K (2%) output tokens

Total: (12.6K new + 447.9K cache writes + 22.9M cache reads) input tokens, 107.0K output tokens, $17.006637 cost

🤖 Models used:

  • Tool: Anthropic Claude Code
  • Requested: opus
  • Model: Claude Opus 4.7 (claude-opus-4-7)

📎 Log file uploaded as Gist (8777KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
Copy link
Copy Markdown
Contributor Author

konard commented May 13, 2026

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@konard konard merged commit 505749f into main May 13, 2026
23 checks passed
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.

The demos display, comparison are still fake

1 participant