Skip to content

Bug: Toasts (including "update available") must render at the outer top-right #2803

Description

@yannickmonney

Problem

Toasts such as the changelog “update available” prompt are not painted at the outer top-right of the viewport. They should all render in that corner, outermost (above other chrome), consistently.

Current behaviour

  • Global Toaster (app/components/ui/feedback/toaster.tsx) defaults to top-right and portals the viewport to document.body at z-100.
  • The viewport intentionally adds large top padding — pt-[calc(4rem+var(--safe-top))] — to clear the app/sheet header (see comment citing Improvement: Integrations — global "Tale is ready to work offline" toast overlaps the integration panel title #1986). That pushes toasts down from the outer top-right rather than flush to the corner.
  • Changelog toast: ChangelogToastTriggertoast({…}) via use-changelog-notification.ts (no custom position; inherits default).
  • Some auth flows still force position: 'top-center' (log-in / 2FA routes), so not every toast is top-right.

Proposed change

  • Place the toast stack at the outer top-right of the viewport (flush with safe-area insets), without the header-clearing offset that pulls them inward — or replace that offset with a solution that keeps outer placement while avoiding the Improvement: Integrations — global "Tale is ready to work offline" toast overlaps the integration panel title #1986 overlap regression (e.g. higher z-index / avoid covering interactive header controls another way).
  • Ensure changelog “update available” and ordinary success/error toasts share that same outer top-right placement.
  • Decide whether auth top-center toasts should stay an exception; default product toasts must be top-right outer.

Acceptance criteria

Affected service

Platform (web app)

Related

Closed: #1986 (toast under sheet title), #2552 (changelog toast re-fire), #2361 (toast duration).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions