Skip to content

Align restored feedback with shared consent, optional email and focus behavior #122

Description

@sarthakagrawal927

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.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions