Widget:
- home background stays pinned while the content scrolls, fade sits on it
- one radius and shadow scale across cards, buttons and inputs
- live search in the help tab with a "no results" state
- attachment-only messages show "Image" in the conversation preview
- launcher and panel use the same shadows as the header
Admin:
- preview column is a fixed width so zoom does not resize it, hidden on small screens
- preview matches the real widget again
- search spinner replaces the magnifier instead of covering the page
Fixes:
- deleting a proactive message did nothing, the dialog cleared the pending
id before the handler read it
- an inbox created through the API could not be saved from the form, it
jumped to the pre-chat tab with no error
Adds livechatWidgetTabs.cy.js covering the proactive message and help
center tabs.
The launcher grows a little on hover and springs back when the pointer
leaves. Also adds a black launcher logo for light backgrounds, softens
the launcher shadow, and expands the widget when help opens on an article.
Idle agents still get auto-assigned tickets. Only the manual away
statuses skip them. The amber away dot made other agents think the
idle person would not get tickets. The agent picker, widget header
and the agents report now treat idle as online.
Move the translation_group_id migration into v2.9.0 and drop the slug backfill. Existing articles each get their own group and admins link translations from the new UI. The public article page now builds its language links from the group instead of the slug, so translations with different slugs no longer 404.
The handoff tool used to reassign the conversation right away, so the
assistant's own reply was dropped and the customer saw nothing. It now
records the intent, the reply goes out, then the handoff runs.
Expand widget conversations with audience-specific forms, AI handoffs, message previews, and help article translations. Keep existing inbox settings compatible and reject invalid live chat configuration.