IOS-078 · Дефект · Аркады · ios
iOS P1: аркады из главного меню — нет пикера тетради
Закрыт
P1 · важно
ведёт: —
эпик: IOS-067
Суть
TestFlight 2026080201, скрин IMG_0366: главное меню → Аркады → сразу «Нет источников для аркады», без выбора тетради. Пункт меню открывает аркадный режим БЕЗ контекста тетради. У «Создать шоу» пикер тетрадей есть (IMG_0367) — аркадам нужен такой же первый шаг.
Чем закрывается (приёмка)
Главное меню → Аркады → пикер тетрадей → аркада стартует с источниками выбранной тетради.
Починено в
2026080202
Лента
2026-08-02T12:25:56.544Z · fc-fixSCOPE: IOS-078 — Arcade entry must not strand the user in an empty active-notebook source picker.
BASE: 55dd7921bdc59ad3731f06409499648a09a0d417 (branch agent/fc-fix-ios075-ios076-20260802)
CHANGES:
- src/components/arcade/v2/arcadeSourcePickerItems.ts — added resolveArcadeSourcePickerDefaultScope; when active notebook has no playable items but other notebooks do, picker defaults to all notebooks. Marker arcade:notebook-picker-fallback-all-v1.
- src/components/arcade/v2/ArcadeSourcePicker.tsx — picker initial scope uses the new resolver and automatically leaves empty active scope for all-notebooks mode.
- src/components/arcade/v2/__tests__/arcadeSourcePickerItems.test.ts — regression for empty active notebook -> all scope, and non-empty active notebook -> active scope.
PROOF:
- npx tsx --test src/components/arcade/v2/__tests__/arcadeSourcePickerItems.test.ts => exit 0, 2/2 pass.
- npx eslint src/components/arcade/v2/arcadeSourcePickerItems.ts src/components/arcade/v2/ArcadeSourcePicker.tsx src/components/arcade/v2/__tests__/arcadeSourcePickerItems.test.ts => exit 0.
- git diff --check -- scoped IOS-078 files => exit 0.
ARTIFACTS:
- Patch: /Users/milamarty/Downloads/FC-FIX-078.patch (5519 bytes)
- Verify: /Users/milamarty/.agent_runs/IOS-078/verify.json
RISK/BLOCKERS: bounded to existing all-notebooks source picker. It does not introduce a separate notebook-only picker, but it prevents the main-menu arcade path from opening an empty active notebook when other notebooks have sources.
NOT-DONE: no push/deploy/prod browser run per local-only instructions.
2026-08-02T13:52:16.679Z · ios-wave6SCOPE: IOS-078 — main menu Arcades now starts with notebook context instead of source-less/empty state.
BRANCH: candidate/integration-wave6-20260802
COMMIT: fd8fe2e4 fix IOS-078 arcade notebook picker
CHANGES:
- NoteClone/Sources/NoteCloneUI/NotebookListView.swift — MainArcadeLauncherView now shows a notebook picker and launches ArcadeView with combined text from the selected notebook's textual sources; no active-source flag requirement.
- Reuses NotebookSourceMaterialPolicy from IOS-079 for consistent all-text-source defaults.
PROOF:
- swift test --filter 'notebookSourceMaterialUsesAllTextSourcesWithoutActiveFlag|notebookMaterialsSkipNotebookWithoutText|interactivePayloadFindsFirstPlayableSegmentAudio' => pass, 3/3.
- xcodebuild -project NoteClone/NoteClone.xcodeproj -scheme NoteCloneiOS -destination 'id=CBB305CB-8589-49EC-8455-266B0F05D29A' build => BUILD SUCCEEDED.
NOT DONE: no push, no TestFlight per brief.
2026-08-02T13:55:27.396Z · вахтёрВоркер ios-wave6 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T14:00:31.610Z · вахтёрВоркер ios-wave6 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T14:05:33.392Z · вахтёрВоркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:10:37.712Z · вахтёрВоркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:15:39.474Z · вахтёрВоркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:20:43.233Z · вахтёрВоркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:25:44.978Z · вахтёрВоркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:26:19.491Z · backup-opusВЫЛОЖЕНО В TESTFLIGHT: сборка 2026080202 (ветка candidate/integration-wave6-20260802, UUID a9171c5f). Симуляторная сборка зелёная, конвейер подписи по runbook. Ждёт живой приёмки owner-а на устройстве.
2026-08-02T14:30:47.992Z · вахтёрВоркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:35:50.508Z · вахтёрВоркер ios-wave6 ЖДЁТ УЖЕ 30 мин подряд и не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:40:54.729Z · вахтёрВоркер ios-wave6 ЖДЁТ УЖЕ 35 мин подряд и не продвигается. Последняя строка: gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-03T06:59:52.062Z · backup-opusМойка 03.08: fd8fe2e4 В СБОРКЕ (пикер тетрадей аркад). Следующий слой (документ-пикер, большие тексты) = IOS-106/107 в работе.
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/ios/assign -H 'content-type: application/json' \
-d '{"issueId":"IOS-078","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-05T00:59:04.807Z