Releases: Perspective-AI/perspective
Release list
@perspective-ai/sdk@1.15.1
Patch Changes
-
86d1ddb: Forward the
teaser.dismissibleoption throughFloatBubble/useFloatBubbleto the core SDK. The hook that stabilizes the teaser prop only carriedenabled,delay, andsound, so it silently droppeddismissible— settingteaser={{ dismissible: false }}had no effect when using the React package (the × dismiss button still rendered). It is now forwarded alongside the other teaser fields.Also corrects the
EmbedConfig.teaserJSDoc to listdismissibleamong the fields it controls. The vanilla config, CDNdata-perspective-teaser-dismissibleattribute, and core resolution already handleddismissiblecorrectly; only the React wrapper was dropping it.
@perspective-ai/sdk@1.15.0
Minor Changes
- 30483ae: Add an × dismiss button to the float teaser bubble so users can close it without opening the chat. Dismissing removes the teaser and the notification dot, and persists for the rest of the browser session (per agent). Configurable via
teaser.dismissible(defaulttrue) ordata-perspective-teaser-dismissible="false".
@perspective-ai/sdk-react@1.15.1
Patch Changes
-
86d1ddb: Forward the
teaser.dismissibleoption throughFloatBubble/useFloatBubbleto the core SDK. The hook that stabilizes the teaser prop only carriedenabled,delay, andsound, so it silently droppeddismissible— settingteaser={{ dismissible: false }}had no effect when using the React package (the × dismiss button still rendered). It is now forwarded alongside the other teaser fields.Also corrects the
EmbedConfig.teaserJSDoc to listdismissibleamong the fields it controls. The vanilla config, CDNdata-perspective-teaser-dismissibleattribute, and core resolution already handleddismissiblecorrectly; only the React wrapper was dropping it. -
Updated dependencies [86d1ddb]
- @perspective-ai/sdk@1.15.1
@perspective-ai/sdk-react@1.15.0
Minor Changes
- 30483ae: Add an × dismiss button to the float teaser bubble so users can close it without opening the chat. Dismissing removes the teaser and the notification dot, and persists for the rest of the browser session (per agent). Configurable via
teaser.dismissible(defaulttrue) ordata-perspective-teaser-dismissible="false".
Patch Changes
- Updated dependencies [30483ae]
- @perspective-ai/sdk@1.15.0
@perspective-ai/sdk@1.14.1
Patch Changes
- 7c34250: Fix float teaser delay from dashboard embed settings being ignored. Script-tag embeds armed the welcome sequence at mount with the default 3s delay before the async
/embed/configfetch resolved, and never rescheduled when the API config arrived with a customembedSettings.teaser.delay. The teaser is now deferred until the config resolves (it can no longer fire early while the fetch is in flight) and then fires at the resolved delay measured from mount, crediting the time already waited. Delay changes on a still-pending teaser reschedule it against the same anchor; a delivered or cancelled teaser is never re-armed by a late config refresh.
@perspective-ai/sdk-react@1.14.1
Patch Changes
- Updated dependencies [7c34250]
- @perspective-ai/sdk@1.14.1
@perspective-ai/sdk@1.14.0
Minor Changes
-
fe18680: Replace the loading skeleton with the interview's real chrome.
Instead of a skeleton that mirrors the interview UI's internal layout (welcome
card, message, input pill) — which drifts whenever that UI changes — the
loading state now renders what the interview actually looks like from the
outside in:- the research's scene image (fetched from
{host}/interview/{researchId}/scene-image) behind - a frosted translucent card (55% panel + backdrop blur, matching the
app's card treatment), with - a circular loader centered in the card (40px) — a conic-gradient arc
with a fading tail over a faint track, tinted with the brand primary
resolved with the SDK's usual precedence: localbrand.primaryoverride →
API embed config (primaryColor/darkPrimaryColor) → Perspective
default (#7c3aed/#a78bfa). As essential loading motion it is not
disabled byprefers-reduced-motion.
The scene image is applied only after it has actually loaded, layered over
the app's default surface color (#f5f2f0light,#15171edark, or a custom
brand.bg) — so a research without a scene (404), a slow network, or a
blocked request cleanly degrades to a solid color.Because the loading state renders in the host page DOM (an overlay sibling of
the cross-origin iframe), responsiveness is driven by CSS container
queries on the slot the consumer provides — not viewport media queries. The
card's sizing mirrors the interview app's own container queries (full-bleed
below 672px width; a centeredmax-width: 672pxbox above it, with vertical
padding stepping 4px → 48px → 80px at the app's 448px/768px container-height
breakpoints), so the card doesn't jump at handoff. Breakpoints are in px, not
the app's rem: the overlay lives in the host page, so rem would resolve against
the host's (uncontrolled) root font-size, whereas the card must match the
iframe's fixed pixels.LoadingOptionsgains optionalresearchIdandhost(used for the scene
URL) andapiConfig(used for the loader tint); all embed types pass them
automatically.A new
prefetchSceneImage(researchId, host?)export warms the scene image on
intent signals — the SDK wires it to float-bubble hover/focus and to
data-perspective-popup/-slidertrigger elements — so deferred embeds open
with the scene already cached. - the research's scene image (fetched from
@perspective-ai/sdk@1.13.1
Patch Changes
- a0af14d: Change the float launcher's default icon from a microphone to lucide's AudioLines icon for the voice and voice+text channels.
@perspective-ai/sdk-react@1.14.0
Patch Changes
- Updated dependencies [fe18680]
- @perspective-ai/sdk@1.14.0
@perspective-ai/sdk-react@1.13.1
Patch Changes
- Updated dependencies [a0af14d]
- @perspective-ai/sdk@1.13.1