- Detect shorts by duration (SHORTS_MAX_DURATION_SECONDS, default 180)
and expose is_short in feed, video and channel-activity DTOs.
- Feed gains type=all|long|short and anchor; lists show a two-mode
'Обычные | Shorts' filter (no 'Все') persisted in the URL.
- Clicking a short opens /shorts/🆔 a vertical scroll-snap feed with
autoplay for the active slide, context-aware endpoints and infinite
loading.
- Keep the sound choice across swipes, syncing with the player's own
mute control and guarding against the widget's stale isMuted() reads.
|
||
|---|---|---|
| .. | ||
| 2026-09-17-channels-view-toggle.md | ||
| 2026-09-17-project-baseline.md | ||
| 2026-09-17-remove-agent-team-guide.md | ||
| 2026-09-17-sync-all-button.md | ||
| 2026-09-18-feed-card-cleanup.md | ||
| 2026-09-18-local-player-double-tap.md | ||
| 2026-09-25-download-status-fixes.md | ||
| 2026-09-25-player-blank-page-after-download.md | ||
| 2026-09-25-subtitles-off-by-default.md | ||
| 2026-09-25-video-autoplay.md | ||
| 2026-09-27-shorts-split-and-feed.md | ||
| 2026-09-28-shorts-audio-persistence.md | ||
| 2026-09-28-type-filter-two-modes.md | ||
| README.md | ||
Аналитика задач
Папку ведёт субагент Analyst (.opencode/agent/analyst.md): до начала реализации он фиксирует каждую задачу, а по ходу работы дополняет и актуализирует документы. Здесь только документация — никакого кода.
Конвенция
- Один файл на задачу:
analytics/<YYYY-MM-DD>-<slug>.md(дата и короткий идентификатор задачи). - Обязательные секции:
- Задача — цель;
- Контекст — зачем это нужно и важный фон;
- Затронутые подсистемы и файлы;
- Критерии приёмки;
- План;
- Риски и ограничения;
- Журнал изменений.
- Документы на русском, кратко, но полно.
- Follow-up (повторный раунд по той же задаче) дополняет существующий файл, а не создаёт новый.
- Документ не переписывается целиком: дополняй журнал и правь только затронутые секции, остальное не трогай.