Commit Graph

52 Commits

Author SHA1 Message Date
Gan, Jimmy bc77de05b5 debug CI: show Dockerfile + docker version on build failure
Deploy t-youtube / Build & Deploy (push) Failing after 27s
2026-07-09 23:41:21 +08:00
Gan, Jimmy ca2dc468ca fix CI: clone to /volume1 so host Docker daemon can see build context
Deploy t-youtube / Build & Deploy (push) Failing after 18s
2026-07-09 23:37:59 +08:00
Gan, Jimmy 7659d7187e fix CI: use ubuntu-latest (Docker) not nas:host, clone via gitea:3000
Deploy t-youtube / Build & Deploy (push) Failing after 28s
2026-07-09 23:34:33 +08:00
Gan, Jimmy 67af93999e chore: move PLAN.md to docs/ 2026-07-09 23:33:28 +08:00
Gan, Jimmy 11264efbb3 debug CI: check environment in first step
Deploy t-youtube / Build & Deploy (push) Failing after 1s
2026-07-09 23:30:58 +08:00
Gan, Jimmy 22719e5e0d docs: remaining tasks and follow-ups 2026-07-09 23:29:46 +08:00
Gan, Jimmy 2275f9cc1f fix CI: use git -C and absolute paths, avoid cd
Deploy t-youtube / Build & Deploy (push) Failing after 5s
2026-07-09 23:27:06 +08:00
Gan, Jimmy 57dcc8527c fix CI: HTTP fetch + separate steps for debugging
Deploy t-youtube / Build & Deploy (push) Failing after 3s
2026-07-09 23:24:02 +08:00
Gan, Jimmy 505c19eb8a fix CI: single step using existing /volume1/docker/t-youtube repo
Deploy t-youtube / Build & Deploy (push) Failing after 2s
2026-07-09 23:18:16 +08:00
Gan, Jimmy cfa8ae5b04 fix CI: nas:host runs on NAS directly, use localhost:3300 not gitea:3000
Deploy t-youtube / Build & Deploy (push) Failing after 2s
2026-07-09 23:14:33 +08:00
Gan, Jimmy 92dcfd6b04 fix CI: clone to /volume1 shared path, use gitea:3000 hostname
Deploy t-youtube / Build & Deploy (push) Failing after 0s
2026-07-09 23:11:44 +08:00
Gan, Jimmy 429ea40f29 debug CI: add ls to check build dir
Deploy t-youtube / Build & Deploy (push) Failing after 1s
2026-07-09 23:07:47 +08:00
Gan, Jimmy 613bff06f4 fix CI: clone into workspace dir, not /tmp
Deploy t-youtube / Build & Deploy (push) Failing after 1s
2026-07-09 23:05:14 +08:00
Gan, Jimmy 1946aa845a fix CI: use localhost:3300 for Gitea clone (allows anonymous)
Deploy t-youtube / Build & Deploy (push) Failing after 1s
2026-07-09 23:02:17 +08:00
Gan, Jimmy 312e787055 fix CI: clone fresh repo instead of cd into existing dir
Deploy t-youtube / Build & Deploy (push) Failing after 2m9s
2026-07-09 22:57:03 +08:00
Gan, Jimmy dcf3c0ef78 fix CI checkout: use fetch+merge with HTTP fallback
Deploy t-youtube / Build & Deploy (push) Failing after 0s
2026-07-09 22:55:57 +08:00
Gan, Jimmy a2fad2a6e1 ci: auto-deploy on push to main + remove redundant API token (Authelia is auth layer)
Deploy t-youtube / Build & Deploy (push) Failing after 1s
2026-07-09 22:55:10 +08:00
Gan, Jimmy 5c767190d2 fix: skip auth token when Authelia authed + frontend search bar improvements 2026-07-09 22:53:06 +08:00
Gan, Jimmy 90a47c95c3 feat: add FTS5 search endpoint + search param to /api/videos 2026-07-09 22:47:54 +08:00
Gan, Jimmy c5f3bd7696 feat: add full-text search bar to sidebar (FTS5) 2026-07-09 22:43:55 +08:00
Gan, Jimmy ed77b89e98 fix: remove --dry-run from tg_filter so interesting messages are printed for LLM delivery 2026-07-09 22:24:33 +08:00
Gan, Jimmy 296422ff57 remove unused ffmpeg from Dockerfile (saves ~450MB) 2026-07-09 10:52:03 +08:00
Gan, Jimmy 271ad96612 fix: j/k only navigates sidebar when video selected, add publish_date to detail view 2026-07-09 10:43:05 +08:00
Gan, Jimmy 575fdabbc0 fix: proxy support for transcript download, scroll-based mark-read, enable agent worker 2026-07-09 03:39:08 +08:00
Gan, Jimmy 672ad58ca4 fix: agent tab effect condition vs tab label mismatch 2026-07-09 00:48:59 +08:00
Gan, Jimmy ffa47a1335 sprint1: agent queue worker, proxy support, auto-mark-on-navigate-away, test fixes 2026-07-08 22:05:05 +08:00
Gan, Jimmy a154bc7978 feat: notes + agent queue, frontend rebuild, pip mirror, gitignore sync_rotation.json
- Add video_notes table and agent_queue table for persistent notes and AI agent tasks
- Add API endpoints: POST/GET /api/notes/{id}, POST /api/notes/migrate, agent queue endpoints
- Rebuild frontend: fix duplicate loadVideos(), non-blocking localStorage migration, notes UI
- Switch pip install to Tsinghua mirror for faster downloads in China
- Add backend/sync_rotation.json to .gitignore (runtime state)
2026-07-08 02:23:00 +08:00
Gan, Jimmy 77c6a9d963 sprint: fixes batch — saveNote history, DeepSeek retry, channel rotation, test fixes, docker env, blocking transcript, sync errors 2026-06-28 17:08:32 +08:00
Gan, Jimmy 5c641903c9 fix: clickable channel badge filters by channel; fix cat dropdown value; clean up saveNote 2026-06-27 01:40:06 +08:00
Gan, Jimmy 94ef5e2bb2 feat: channel/category dropdown with API filter; AI auto-categories embedded 2026-06-24 18:20:12 +08:00
Gan, Jimmy 63d42594d0 feat: restore manual sync button — safe at ~50 units/sync 2026-06-24 02:59:16 +08:00
Gan, Jimmy d87c2aba44 feat: RSS hybrid fetcher — 221 channels, 2,414 videos, ~50 units (was 2,000) 2026-06-24 02:47:34 +08:00
Gan, Jimmy d5af5e9b7d feat: rotate 50 channels daily — covers all 229 over 5 days 2026-06-24 02:38:04 +08:00
Gan, Jimmy 8ce359764f feat: 50 channels, daily 3AM cron sync, countdown timer, remove manual button 2026-06-24 02:35:22 +08:00
Gan, Jimmy 1c4f9dc713 fix: decode HTML entities in titles; add note timestamps; reorder layout — title first, AI digest below 2026-06-24 02:18:18 +08:00
Gan, Jimmy 5bfd72ab3d feat: add per-video notes with localStorage, notes tab filter 2026-06-24 01:42:12 +08:00
Gan, Jimmy f74a428521 fix: proper scroll containment — no body scroll, panel overflow-y with bind:this ref 2026-06-24 01:29:34 +08:00
Gan, Jimmy 6fe4c32a2f fix: use tick() for panel scroll reset on video switch 2026-06-24 01:24:45 +08:00
Gan, Jimmy 404d57f0b1 feat: redesigned UI — AI Digest hero, keyboard nav (j/k/↑↓), dark/light mode, description-based summaries 2026-06-24 01:17:56 +08:00
Gan, Jimmy 7b485abfbb feat: DeepSeek API + transcript fixes; add OAuth captions scope 2026-06-24 00:50:36 +08:00
Gan, Jimmy 963e9dbdf1 feat: switch summarizer to DeepSeek API, add cookie support for transcripts 2026-06-24 00:38:13 +08:00
Gan, Jimmy a0ffa41c9e feat: replace yt-dlp cookies with YouTube Data API v3 OAuth
- Add auth.py: OAuth credential manager with auto-refresh
- Rewrite fetcher.py: use googleapiclient subscriptions/search
- Add google-auth, google-api-python-client dependencies
- Update docker-compose for config volume mount
- Add .gitignore for secrets (client_secret.json, token.pickle)
- Live test: 198 videos ingested from 229 channels
2026-06-24 00:14:16 +08:00
Gan, Jimmy dba070531e Add --extractor-args youtubetab:skip=authcheck to yt-dlp to bypass blocking
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 13:55:09 +08:00
Gan, Jimmy 7f943b86a2 Merge live integration test into unified run_tests.sh and remove run_live_test.sh 2026-06-04 11:19:20 +08:00
Gan, Jimmy 5e91a1f056 Inject custom requests.Session with browser User-Agent into YouTubeTranscriptApi
- Add requests import to summarizer.py
- Configure requests.Session with macOS Chrome User-Agent and English Accept-Language headers
- Initialize YouTubeTranscriptApi with custom http_client to bypass YouTube anti-scraping blocks on residential IPs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 11:13:17 +08:00
Gan, Jimmy 08fbaf7d78 Add automated run_live_test.sh integration test script
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 11:07:07 +08:00
Gan, Jimmy 85fd40acf8 Fix youtube-transcript-api call structure and make test assertions environment-robust
- Instantiate YouTubeTranscriptApi class and call list() as required by v1.2.4
- Decorate async database fixture with pytest_asyncio.fixture
- Replace hardcoded base URL string assertion in test_summarizer.py with dynamized summarizer.BASE_URL value to support proxy profiles

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 10:38:50 +08:00
Gan, Jimmy 7f4de7e8d2 Auto-detect and inject proxy configurations in run_tests.sh
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:50:07 +08:00
Gan, Jimmy eae72dbfc0 Add run_tests.sh test runner script
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:22:33 +08:00
Gan, Jimmy fe4d019ffa Add standard .gitignore configuration
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:15:41 +08:00