Skip to content

Load css first#47

Merged
rockwellll merged 13 commits into
mainfrom
load-css-first
Jun 2, 2026
Merged

Load css first#47
rockwellll merged 13 commits into
mainfrom
load-css-first

Conversation

@rockwellll
Copy link
Copy Markdown
Collaborator

@rockwellll rockwellll commented Jun 2, 2026

Note

Medium Risk
Changes when and whether the webchat appears (stylesheet gate) and how messages, Action Cable URL, and carousel/quick-reply flows behave in production embeds.

Overview
This PR tightens webchat mounting so widget HTML is not inserted until the Hellotext business stylesheet has loaded (or aborts with a warning if CSS fails), with tests for Business stylesheet promises and Webchat.rendered / mounted behavior.

Configuration gains tests that actionCableUrl is derived from apiRoot when not set explicitly, keeping WebSocket endpoints aligned with custom API hosts.

Webchat UX coverage expands for locale-aware message timestamps, failure reasons on failed sends (including broadcast reason), capture-phase Escape to close the popover, open animation hooks, compose focus that does not steal focus from the emoji picker, and teaser “seen” keys scoped by teaser version.

Message / carousel tests document page-aligned carousel scrolling (next/previous page helpers), gradient fade edge cases, and quick replies that work without a product card (body fallbacks and null optional FormData fields).

Reviewed by Cursor Bugbot for commit 820735e. Bugbot is set up for automated code reviews on this repo. Configure here.

pelcasandra and others added 13 commits May 31, 2026 16:28
- Allow plain quick reply buttons to send messages without product card data
- Scope teaser session visibility to the rendered teaser version
- Add a transient opening class so popover animation only runs when opening
- Update generated lib and dist builds
- Add tests for quick replies, teaser versioning, and popover open animation
…o explicit cable URL is provided. This keeps local and custom API environments connected to the matching websocket endpoint while preserving explicit actionCableUrl overrides.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 820735e7bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/models/webchat.js
@rockwellll rockwellll merged commit 9271242 into main Jun 2, 2026
3 checks passed
@rockwellll rockwellll deleted the load-css-first branch June 2, 2026 04:41
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