🐛 What happens
On the production admin-ui build (the admin_ui image from ./launch.sh), no toast ever appears. The <section aria-label="Notifications alt+T"> mounts empty and [data-sonner-toaster] never appears in the DOM, so toast.success(...) calls are silent.
Seen for "Spot retired." and the new Approve copy on the Ads page. The actions themselves succeed; only the confirmation is missing.
✅ Expected
The same toasts that show on next dev show on the built image.
🔁 Repro
BUILD=1 ./launch.sh, sign in, open Ads.
- Approve or Retire any spot.
- Inspect:
document.querySelector('[data-sonner-toaster]') → null. No toast on screen.
- Same page on
npx next dev → toast renders.
📌 Notes
🐛 What happens
On the production admin-ui build (the
admin_uiimage from./launch.sh), no toast ever appears. The<section aria-label="Notifications alt+T">mounts empty and[data-sonner-toaster]never appears in the DOM, sotoast.success(...)calls are silent.Seen for "Spot retired." and the new Approve copy on the Ads page. The actions themselves succeed; only the confirmation is missing.
✅ Expected
The same toasts that show on
next devshow on the built image.🔁 Repro
BUILD=1 ./launch.sh, sign in, open Ads.document.querySelector('[data-sonner-toaster]')→null. No toast on screen.npx next dev→ toast renders.📌 Notes
747e5649686b(built 2026-09-10) run as a throwaway container on port 3001.<Toaster />is mounted once inadmin-ui/app/(authed)/layout.tsx; sonner 2.0.8 via the@/components/ui/toastwrapper.