Remaining shared feedback parity
The Oct 4 releases restored the launcher on desktop, tablet and phone, but the deployed npm 0.2.1 form still requires email and lacks the current shared component consent/privacy and focus management. This is a remaining requirement for the approved 02 Direct line rollout, not a new visual direction.
Bounded implementation
Keep the catalog publishable-key resolver, timeout, fail-closed behavior and focused/shared route suppression. Replace the legacy form with the existing first-party hosted https://sassmaker.com/feedback-launcher.js module, loaded only when the owner-approved hover feedback trigger is used. Mount the maintained shared form into an empty child node; preserve React ownership boundaries. Reopen with openSharedFooterFeedback; unmount on cleanup and use a fresh mount node after failure/unmount, since the current launcher retains its data marker. No new production dependency, credential or production configuration is required.
Use the deployed official shared component rather than an unverified npm version: npm latest is 0.4.0, while current source is 0.4.1 and that version is not published. Do not blindly bump the dependency.
Acceptance
- Optional email; explicit unchecked consent; working privacy link.
- Keyboard focus entry, trap, Escape dismissal and return to trigger.
- Reopen without duplicate roots/listeners; unmount safely during pending module/config work.
- Loader error/retry gives a truthful usable state; never submit without consent.
- Preserve focused practice and shared route suppression.
- Render at 390/768/1440 against approved shared direction; retain required design receipt/check evidence if composition changes.
- Focused regression tests for loading, cleanup, reopen and route suppression; existing release checks and exact deployed SHA qualification.
Tradeoff: lazy loading reduces the initial legacy-widget payload, but follows the shared mutable first-party asset. A reproducibly published matching package is the long-term pinning path. Current restoration remains live while this parity work is prepared.
Remaining shared feedback parity
The Oct 4 releases restored the launcher on desktop, tablet and phone, but the deployed npm 0.2.1 form still requires email and lacks the current shared component consent/privacy and focus management. This is a remaining requirement for the approved 02 Direct line rollout, not a new visual direction.
Bounded implementation
Keep the catalog publishable-key resolver, timeout, fail-closed behavior and focused/shared route suppression. Replace the legacy form with the existing first-party hosted
https://sassmaker.com/feedback-launcher.jsmodule, loaded only when the owner-approved hover feedback trigger is used. Mount the maintained shared form into an empty child node; preserve React ownership boundaries. Reopen withopenSharedFooterFeedback; unmount on cleanup and use a fresh mount node after failure/unmount, since the current launcher retains its data marker. No new production dependency, credential or production configuration is required.Use the deployed official shared component rather than an unverified npm version: npm latest is 0.4.0, while current source is 0.4.1 and that version is not published. Do not blindly bump the dependency.
Acceptance
Tradeoff: lazy loading reduces the initial legacy-widget payload, but follows the shared mutable first-party asset. A reproducibly published matching package is the long-term pinning path. Current restoration remains live while this parity work is prepared.