Skip to content

Help and support: the FAQ that answers for this app, and the way to reach a human #531

Description

@maximsan

This was generated by AI during triage.

Triaged 7 September 2026 with the owner; every ruling below is theirs. Verified against prototype/settings.jsx:598-670, lib/features/profile/presentation/settings/settings_destinations.dart, lib/features/monetization/domain/free_tier.dart and lib/features/tour/domain/app_guide_copy.dart.

Settings → Help and support shows the App Guide row (#338) and a "Common questions" heading over one placeholder line. This ticket fills the rest of the screen.

What the design draws

Four questions whose answers open inline on the row (no row leads to a dead end), then a Get in touch section with Email support and Report a problem, then a centred closing line.

Rulings

  1. The FAQ ships in v1, all four questions, answers opening inline on the row.
  2. Three of the four answers are wrong for this app and are re-grounded, not ported.
    • How does my streak work? The design says "at least one lesson a day". The app's rule is any finished activity: a lesson, a replay, or practice. The App Guide's Streak section already says it correctly; the FAQ says the same thing, and the two must not disagree.
    • What does Foundations include? The design says "All of Module 1 … are free". Free is the first three lessons (ADR-0007) and the practice formats whose teaching lesson is free (ADR-0001). Derive it, do not type it: the free lessons from freeLessonIds, the free formats from the free-games rule, what Plus includes from what the Plus pitch already reads, and the tail from the purchase model, a one-time purchase. The design's tail for that model since the 10 September drop is Buy it once and it’s yours for good — nothing renews. Nothing in this answer is written a second time.
    • Can I learn offline? The design promises "Progress syncs the next time you're online". Nothing syncs. The answer says the course and your progress are kept on this phone, and promises nothing about another device.
    • How does my tree grow? is true as written (core lessons only, ten stages, never shrinks except on reset).
  3. The closing line "We reply within a day — usually faster" is not built. One developer cannot promise a reply time. Nothing replaces it.
  4. The contact rows are built behind one nullable constant, supportEmail, declared once and read by both this screen and the About screen's Say hello row (About: acknowledgements and the open-source licenses #532). While it is null, the rows are absent: never drawn live and inert. When it holds an address, Email support shows the address and opens the mail composer to it, and Report a problem opens the same composer with the app version in the subject, so a report can be matched to a build. Creating the mailbox is the owner's step; no address exists today, and none is invented here.

Acceptance criteria

Built in PR #591. What verified each: the FAQ derivation and the two mail
composers are unit-tested; the screen's four rows, the one-at-a-time
opening, the absent contact rows and — with an address set — both composers
are widget-tested; the screen was driven on a simulator and read against the
design.

  • The four questions open their answers inline on the row; the streak, Foundations and offline answers say what is true of this app, and the Foundations answer is derived from the free-tier constants, the free-games rule and the Plus pitch's source rather than written out
  • No reply-time line is drawn
  • With supportEmail null the two contact rows are absent; with an address set, both open the mail composer to it and Report a problem carries the app version
  • dart format, flutter analyze, the metrics gate and the suite pass, with a changelog bullet

Owner's step, outside this build

  • Create the support mailbox and set supportEmail

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

    design-parityCloses a finding in the app-vs-prototype divergence registerenhancementNew feature or requestfeature-buildA screen or mechanic the app does not have yetready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions