Skip to content

Releases: Perspective-AI/perspective

@perspective-ai/sdk@1.15.1

Choose a tag to compare

@github-actions github-actions released this 13 Jul 20:21
Immutable release. Only release title and notes can be modified.
6430727

Patch Changes

  • 86d1ddb: Forward the teaser.dismissible option through FloatBubble / useFloatBubble to the core SDK. The hook that stabilizes the teaser prop only carried enabled, delay, and sound, so it silently dropped dismissible — setting teaser={{ 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.teaser JSDoc to list dismissible among the fields it controls. The vanilla config, CDN data-perspective-teaser-dismissible attribute, and core resolution already handled dismissible correctly; only the React wrapper was dropping it.

@perspective-ai/sdk@1.15.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 17:42
Immutable release. Only release title and notes can be modified.
7f7d85d

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 (default true) or data-perspective-teaser-dismissible="false".

@perspective-ai/sdk-react@1.15.1

Choose a tag to compare

@github-actions github-actions released this 13 Jul 20:21
Immutable release. Only release title and notes can be modified.
6430727

Patch Changes

  • 86d1ddb: Forward the teaser.dismissible option through FloatBubble / useFloatBubble to the core SDK. The hook that stabilizes the teaser prop only carried enabled, delay, and sound, so it silently dropped dismissible — setting teaser={{ 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.teaser JSDoc to list dismissible among the fields it controls. The vanilla config, CDN data-perspective-teaser-dismissible attribute, and core resolution already handled dismissible correctly; only the React wrapper was dropping it.

  • Updated dependencies [86d1ddb]

    • @perspective-ai/sdk@1.15.1

@perspective-ai/sdk-react@1.15.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 17:42
Immutable release. Only release title and notes can be modified.
7f7d85d

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 (default true) or data-perspective-teaser-dismissible="false".

Patch Changes

  • Updated dependencies [30483ae]
    • @perspective-ai/sdk@1.15.0

@perspective-ai/sdk@1.14.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 22:18
Immutable release. Only release title and notes can be modified.
38ff2a1

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/config fetch resolved, and never rescheduled when the API config arrived with a custom embedSettings.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

Choose a tag to compare

@github-actions github-actions released this 09 Jul 22:18
Immutable release. Only release title and notes can be modified.
38ff2a1

Patch Changes

  • Updated dependencies [7c34250]
    • @perspective-ai/sdk@1.14.1

@perspective-ai/sdk@1.14.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 19:51
Immutable release. Only release title and notes can be modified.
49c3e70

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: local brand.primary override →
      API embed config (primaryColor / darkPrimaryColor) → Perspective
      default (#7c3aed / #a78bfa). As essential loading motion it is not
      disabled by prefers-reduced-motion.

    The scene image is applied only after it has actually loaded, layered over
    the app's default surface color (#f5f2f0 light, #15171e dark, 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 centered max-width: 672px box 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.

    LoadingOptions gains optional researchId and host (used for the scene
    URL) and apiConfig (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/-slider trigger elements — so deferred embeds open
    with the scene already cached.

@perspective-ai/sdk@1.13.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 14:18
Immutable release. Only release title and notes can be modified.
677ec68

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

Choose a tag to compare

@github-actions github-actions released this 08 Jul 19:51
Immutable release. Only release title and notes can be modified.
49c3e70

Patch Changes

  • Updated dependencies [fe18680]
    • @perspective-ai/sdk@1.14.0

@perspective-ai/sdk-react@1.13.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 14:18
Immutable release. Only release title and notes can be modified.
677ec68

Patch Changes

  • Updated dependencies [a0af14d]
    • @perspective-ai/sdk@1.13.1