← Back to dashboard

Run Detail

Alaro Onboarding Overhaul

nightshift/onboarding-overhaul
Completed

13/13 done

13 tasks
Created 6d 4h ago Completed 6d 3h ago Repo /home/dev/projects/alaro Worktree /home/dev/projects/alaro

Tasks

Ordered by sort order and updated live.

  1. Description

    Read /home/dev/projects/alaro/plan.md for full context. Update WelcomeView so it leads with the new value proposition ("Your iPhone, Reachable by API") instead of the current feature checklist. Keep the existing onboarding shell, but replace the copy and visual emphasis so the first screen clearly says what Alaro does.

    Latest Worker Note
    Task complete. Single file changed (WelcomeView.swift), committed on branch nightshift/onboarding-overhaul.
  2. Description

    Read /home/dev/projects/alaro/plan.md for full context. Create a new onboarding screen that explains the Alaro flow in two simple steps: (1) Something external triggers Alaro, (2) Alaro creates a real local alarm on this phone. Make the system understandable at a glance without turning the screen into a technical diagram.

    Latest Worker Note
    Codex output reviewed and committed. File follows established patterns, copy is clear and calm, no container wiring needed for this task.
  3. Description

    Read /home/dev/projects/alaro/plan.md for full context. Add the new How It Works screen to the container, remove the dedicated API example screen from the flow, and make sure the page order, back navigation, and page dots match the new story: Hero → How It Works → Permissions → Demo → Token → Finish.

    Latest Worker Note
    Changes were small and mechanical — made directly without Codex.
  4. Description

    Read /home/dev/projects/alaro/plan.md for full context. Clean up the current duplicated APNs registration behavior so onboarding has one clear place where remote notification registration is kicked off. Reduce timing issues and make the demo step more predictable.

    Latest Worker Note
    Changes verified correct: exactly 2 registerForRemoteNotifications calls remain (AppDelegate for returning users, PermissionsView for onboarding). Committed as b84ff39.
  5. Description

    Read /home/dev/projects/alaro/plan.md for full context. Move device registration earlier in the onboarding journey so the Demo screen mostly consumes ready state instead of trying to do everything at once. This should make the demo link feel fast and reduce first-visit failures.

    Latest Worker Note
    Changes reviewed and committed. All duplicate registration logic removed from DemoAlarmView and TokenView. No stale references remain.
  6. Description

    Read /home/dev/projects/alaro/plan.md for full context. Rework DemoAlarmView so it behaves like a proof screen, not a troubleshooting screen. The demo link should feel primary, visible failures should be rare, and the user should always be able to continue even if they skip the demo.

    Latest Worker Note
    Task complete — single Codex pass was sufficient, changes reviewed and committed.
  7. Description

    Read /home/dev/projects/alaro/plan.md for full context. Extend the server-side demo alarm path so demo alarms are explicitly marked as demo content rather than being inferred from label text. This metadata should travel with the normal sync path.

    Latest Worker Note
    Task complete - committed c1cd783 with all changes. Build and vet verified.
  8. Description

    Read /home/dev/projects/alaro/plan.md for full context. Update the client-side alarm decoding and state application so demo alarms remain identifiable after they arrive from the server. Keep the behavior explicit and avoid brittle UI logic.

    Latest Worker Note
    Changes are minimal, focused, and complete. All sync paths carry isDemo. Committed as 276fcfd.
  9. Description

    Read /home/dev/projects/alaro/plan.md for full context. Adjust the app alarm-list behavior so a demo alarm can ring like a real alarm without looking like a permanent user-created alarm in the main UI. Preserve the demo moment without leaving confusing residue behind.

    Latest Worker Note
    Task complete. The one-line filter change in visibleAlarms is sufficient to hide demo alarms from the entire alarm list UI while preserving their ability to ring.
  10. Description

    Read /home/dev/projects/alaro/plan.md for full context. Update the token screen copy and layout so it is clearly about understanding, copying, and protecting the token. Remove any onboarding content that belongs somewhere else.

    Latest Worker Note
    Changes match the plan.md Screen 5 spec. Committed as 1dad148.
  11. Description

    Read /home/dev/projects/alaro/plan.md for full context. Rewrite the completion screen so it acts as a confident finish to onboarding. Reinforce the main value proposition and move the user into the app without introducing new technical material.

    Latest Worker Note
    Changes are minimal and correct. Single file edited, committed.
  12. Description

    Read /home/dev/projects/alaro/plan.md for full context. Cover the highest-risk changes with focused tests, especially around demo alarm metadata, the updated onboarding flow, and any new behavior that changes how demo alarms appear in the UI.

    Latest Worker Note
    All requested test coverage implemented and verified. Committed as a7776b0.
  13. Description

    Read /home/dev/projects/alaro/plan.md for full context. This is the final task. Do the following steps and do NOT stop until the GitHub Action succeeds: 1. Stage and commit all changes with a clear commit message summarizing the onboarding overhaul. 2. Push the branch. 3. Create a PR if one does not exist. 4. Trigger the TestFlight deployment GitHub Action. 5. Monitor the action run. If it fails, read the logs, fix the issue, commit, push, and re-trigger. 6. Repeat step 5 until the action succeeds. Do not give up or mark this task as complete until the deployment action has passed.

    Latest Worker Note
    First build failed due to private property access from extensions in separate files and Sendable closure issues. Fixed by changing private to internal for scheduler/logger/applicator in SyncEngine.swift and replacing callback-based notification APIs with async equivalents in EscalationNotificationScheduler.swift.