📱 Доска iOS

всеканоны и докиворкеры↗ WEB↗ Легаси
IOS-079 · Дефект · Аркады · ios

iOS P1: создание шоу — «нужен активный источник» при 109 источниках

Закрыт P1 · важно ведёт: — эпик: IOS-067
Суть
TestFlight 2026080201, скрины IMG_0367/0368: Создать шоу → выбор тетради (Brain, 109 источн.) → «Нужен хотя бы один активный источник с текстом (≥50 символов)», пикера источников внутри тетради нет. Гипотеза: проверка смотрит per-source флаг «активности», который iOS-флоу не выставляет. Нужно: шаг выбора источников или дефолт «все текстовые» + проверка по факту текста, не по флагу.
Чем закрывается (приёмка)
Создание шоу из тетради с текстовыми источниками проходит; есть выбор источников или дефолт все-текстовые.
Починено в
2026080202
Лента
2026-08-02T12:23:29.850Z · fc-fix
SCOPE: IOS-079 — Create show must not fail just because selected notebook sources lack the UI active flag.
BASE: 55dd7921bdc59ad3731f06409499648a09a0d417 (branch agent/fc-fix-ios075-ios076-20260802)
CHANGES:
- src/lib/podcast/interactive/showLaunch.ts — buildInteractiveShowSourceScope now includes every notebook source with real text content, regardless of isActive flag; marker show:all-text-source-scope-v1.
- src/lib/podcast/interactive/__tests__/showLaunch.test.ts — regression updated to require inactive-flagged text sources to stay in the show source scope while empty sources remain excluded.
PROOF:
- npx tsx --test src/lib/podcast/interactive/__tests__/showLaunch.test.ts => exit 0, 13/13 pass.
- npx eslint src/lib/podcast/interactive/showLaunch.ts src/lib/podcast/interactive/__tests__/showLaunch.test.ts => exit 0.
- git diff --check -- scoped IOS-079 files => exit 0.
ARTIFACTS:
- Patch: /Users/milamarty/Downloads/FC-FIX-079.patch (4443 bytes)
- Verify: /Users/milamarty/.agent_runs/IOS-079/verify.json
RISK/BLOCKERS: bounded to the show source-scope builder. It does not add an extra source-picker step; it implements the ticket's acceptable fallback "all text sources" path by checking text content rather than isActive.
NOT-DONE: no push/deploy/prod browser run per local-only instructions.
2026-08-02T13:52:16.693Z · ios-wave6
SCOPE: IOS-079 — Create Show source check now uses actual text content, not per-source active flags.
BRANCH: candidate/integration-wave6-20260802
COMMIT: f6756b89 fix IOS-079 show source material
CHANGES:
- NoteClone/Sources/NoteCloneKit/NotebookSourceMaterial.swift — added shared policy for notebook textual source material; inactive/nil-active sources with real text are included.
- NoteClone/Sources/NoteCloneUI/PodcastGenerationSheet.swift — builds show material from all textual sources with >=50 chars, shows material count, sends combined text to script generation.
- NoteClone/Tests/NoteCloneKitTests/NotebookSourceMaterialTests.swift — regressions for inactive text inclusion and empty notebook skipping.
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.
NOTE: full swift test still hits an existing unrelated NSRangeException in inlineImagesRoundTripWithoutFreezingSurroundingText; targeted regressions pass.
NOT DONE: no push, no TestFlight per brief.
2026-08-02T13:55:27.397Z · вахтёр
Воркер ios-wave6 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T14:00:31.611Z · вахтёр
Воркер 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.475Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:20:43.234Z · вахтёр
Воркер 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.749Z · backup-opus
ВЫЛОЖЕНО В TESTFLIGHT: сборка 2026080202 (ветка candidate/integration-wave6-20260802, UUID a9171c5f). Симуляторная сборка зелёная, конвейер подписи по runbook. Ждёт живой приёмки owner-а на устройстве.
2026-08-02T14:30:47.993Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:35:50.509Z · вахтёр
Воркер 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.150Z · backup-opus
Мойка 03.08: f6756b89+a849aa0e В СБОРКЕ (requireActive:false — 109 источников видны). Проверка: Создать шоу на Brain → счёт материала.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/ios/assign -H 'content-type: application/json' \ -d '{"issueId":"IOS-079","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-05T00:59:04.877Z