Commit 932bec2
authored
feat(desktop): onboarding improvements from live user-interview rounds (#9847)
## Summary
Onboarding UX improvements + fixes for the macOS desktop app.
- **Navigation:** Back button on every step past the first + arrow-key
step nav (`OnboardingStepScaffold`, `OnboardingView`, all step views).
- **Floating-bar demo:** one-line prompt, keycaps light up while the
shortcut is physically held, white glow on the bar (reuses the voice
glow), removed the up-arrow.
- **Reach-error card:** actionable "Couldn't reach Omi — Error <code>"
card on the floating bar with Retry / Skip (UI + seam; not yet wired to
the live exhausted-retry path).
- **Memory-log import:** capture recency tiers
(`[recent]`/`[earlier]`/`[long-term]`) not just exact dates, matching
how ChatGPT/Claude actually export.
- **How-did-you-hear:** keep first-selection auto-advance.
- **Apple name (display side):** refresh the onboarding name when it
arrives async instead of freezing `"there"`; persist Apple first-auth
name server-side.
- Merges `feat/desktop-drag-to-grant` (#9742) and latest `main`.
## Product invariants affected
- INV-AUTH-1
- INV-CHAT-1
- INV-INT-1 (`CalendarReaderService`/`GmailReaderService` reader-service
surfaces pulled in via merged `main`)
- INV-MEM-1 (memory adapter test files touched by the frozen-clock fixes
merged with `main`)
## Verification
- `xcrun swift build -c debug` green after each change.
- Built + ran the named bundle `omi-onb-arrow` throughout; verified the
reach-error card via the `debug_reach_error` bridge action (in-process
PNG capture).
## Known follow-ups (not in this PR)
- **Apple name root cause is backend:** `POST /v1/auth/callback/apple`
drops Apple's `user` (name) form field, so the desktop display fix alone
won't populate the name for Apple sign-ups. Backend fix tracked
separately.
- Regression tests for the name refresh + reach-error.
- Wire the reach-error card to the real exhausted-retry path.
Failure-Class: none77 files changed
Lines changed: 6940 additions & 5451 deletions
File tree
- .github
- scripts/product_file_line_count_ratchet_baseline
- workflows
- backend/tests/unit
- desktop/macos
- Desktop
- Sources
- AppState
- Chat
- FloatingControlBar
- MainWindow
- Onboarding
- Providers
- Services/APIClient
- Tests
- VoiceTurnDomainTests
- changelog/unreleased
- e2e/flows
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
| 4 | + | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
| 11 | + | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
209 | | - | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
210 | 212 | | |
211 | 213 | | |
212 | 214 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
78 | 84 | | |
79 | 85 | | |
80 | 86 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | 8 | | |
10 | 9 | | |
11 | | - | |
12 | 10 | | |
13 | 11 | | |
14 | 12 | | |
| |||
87 | 85 | | |
88 | 86 | | |
89 | 87 | | |
90 | | - | |
| 88 | + | |
91 | 89 | | |
92 | 90 | | |
93 | 91 | | |
| |||
115 | 113 | | |
116 | 114 | | |
117 | 115 | | |
118 | | - | |
| 116 | + | |
119 | 117 | | |
120 | 118 | | |
121 | 119 | | |
| |||
141 | 139 | | |
142 | 140 | | |
143 | 141 | | |
144 | | - | |
145 | | - | |
146 | | - | |
| 142 | + | |
| 143 | + | |
147 | 144 | | |
148 | 145 | | |
149 | 146 | | |
| |||
200 | 197 | | |
201 | 198 | | |
202 | 199 | | |
203 | | - | |
| 200 | + | |
204 | 201 | | |
205 | 202 | | |
206 | 203 | | |
| |||
226 | 223 | | |
227 | 224 | | |
228 | 225 | | |
229 | | - | |
230 | | - | |
231 | | - | |
| 226 | + | |
| 227 | + | |
232 | 228 | | |
233 | 229 | | |
234 | 230 | | |
| |||
264 | 260 | | |
265 | 261 | | |
266 | 262 | | |
267 | | - | |
| 263 | + | |
268 | 264 | | |
269 | 265 | | |
270 | 266 | | |
| |||
301 | 297 | | |
302 | 298 | | |
303 | 299 | | |
304 | | - | |
305 | | - | |
306 | | - | |
| 300 | + | |
| 301 | + | |
307 | 302 | | |
308 | 303 | | |
309 | 304 | | |
| |||
356 | 351 | | |
357 | 352 | | |
358 | 353 | | |
359 | | - | |
| 354 | + | |
360 | 355 | | |
361 | 356 | | |
362 | 357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
12 | | - | |
13 | 11 | | |
14 | 12 | | |
15 | 13 | | |
| |||
214 | 212 | | |
215 | 213 | | |
216 | 214 | | |
217 | | - | |
| 215 | + | |
218 | 216 | | |
219 | 217 | | |
220 | 218 | | |
| |||
385 | 383 | | |
386 | 384 | | |
387 | 385 | | |
388 | | - | |
| 386 | + | |
389 | 387 | | |
390 | 388 | | |
391 | 389 | | |
| |||
422 | 420 | | |
423 | 421 | | |
424 | 422 | | |
425 | | - | |
| 423 | + | |
426 | 424 | | |
427 | 425 | | |
428 | 426 | | |
| |||
444 | 442 | | |
445 | 443 | | |
446 | 444 | | |
447 | | - | |
| 445 | + | |
448 | 446 | | |
449 | 447 | | |
450 | 448 | | |
| |||
468 | 466 | | |
469 | 467 | | |
470 | 468 | | |
471 | | - | |
| 469 | + | |
472 | 470 | | |
473 | 471 | | |
474 | 472 | | |
| |||
518 | 516 | | |
519 | 517 | | |
520 | 518 | | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
| 519 | + | |
| 520 | + | |
526 | 521 | | |
527 | 522 | | |
528 | 523 | | |
| |||
555 | 550 | | |
556 | 551 | | |
557 | 552 | | |
558 | | - | |
559 | | - | |
560 | | - | |
561 | | - | |
562 | | - | |
563 | | - | |
564 | | - | |
| 553 | + | |
565 | 554 | | |
566 | 555 | | |
567 | 556 | | |
| |||
577 | 566 | | |
578 | 567 | | |
579 | 568 | | |
580 | | - | |
| 569 | + | |
581 | 570 | | |
582 | 571 | | |
583 | 572 | | |
| |||
0 commit comments