Commit Graph

  • 692a824e78 fix: 목록 뽑기 — 주소 없는 영상 제외 + nocookie 도메인 인식 main Claude (owner) 2026-06-14 01:55:33 +09:00
  • 745b1db1cc feat: 하위 폴더에 "목록 뽑기" 추가 (영상 ID + 실제 주소 txt 다운로드) Claude (owner) 2026-06-14 01:50:54 +09:00
  • 0abd21533b fix: 동시 영상 처리 시 공유 임시파일 레이스 제거 (고유 tmp 경로) codex/owner/make_video_site Claude (owner) 2026-06-09 02:53:36 +09:00
  • 584ec8b92b fix: harden youtube retry against data corruption Claude (owner) 2026-06-06 18:18:02 +09:00
  • 6850313c0b feat: 플레이리스트 실패 항목 재시도 버튼 + API Claude (owner) 2026-06-06 18:11:59 +09:00
  • 6ade552683 feat: 연령제한 영상용 YouTube 쿠키(cookies.txt) 등록 + yt-dlp --cookies 적용 Claude (owner) 2026-06-06 18:04:25 +09:00
  • 03e97d771d docs: 레거시 ID-only URL 문서/주석을 실제 동작에 맞게 정정 Claude (owner) 2026-06-06 16:37:59 +09:00
  • ff78b60a4b fix: 레거시 ID-only URL 은 전역 유일할 때만 제공하고 정규 경로 충돌 제거 Claude (owner) 2026-06-06 16:33:54 +09:00
  • 042d9f7059 feat: 플레이리스트 추가 화면 임시저장(draft) 기능 Claude (owner) 2026-06-06 16:22:42 +09:00
  • 0ec6b06b57 feat: 영상 ID 를 폴더 안에서만 유일하게 (UNIQUE(folder_id, id)) Claude (owner) 2026-06-06 16:19:02 +09:00
  • 66469ca418 fix(tools): ffmpeg 재설치도 실행 검증 후 원자적 교체 Claude (owner) 2026-06-05 16:05:44 +09:00
  • 8ed3b7d82a feat(tools): 관리자 화면에서 ffmpeg/yt-dlp 최신 버전 재설치 Claude (owner) 2026-06-05 16:02:25 +09:00
  • f9a26aaa86 feat(playlist): show download progress page after import instead of navigating away Claude (owner) 2026-06-05 02:26:05 +09:00
  • e9924805cf fix(playlist): make trim modal numeric input length-based not end-time Claude (owner) 2026-06-03 21:35:35 +09:00
  • 2f916fe958 feat(playlist): replace end-time inputs with play-length (default 15s) Claude (owner) 2026-06-03 21:29:58 +09:00
  • 7105349a45 feat(stream): canonical folder-path video file URL Claude (owner) 2026-06-02 01:07:20 +09:00
  • 34c040c15d feat(playlist): per-entry/bulk trim, preview, and trim editor on import Claude (owner) 2026-06-02 00:50:04 +09:00
  • 066ae6b112 feat(thumbnails): generate and serve video thumbnails for folder cards Claude (owner) 2026-06-02 00:41:06 +09:00
  • 210787131b 관리자 폴더 카드 전체 영역 클릭 시 폴더 진입 Claude (owner) 2026-06-01 23:01:16 +09:00
  • 0faf7af42a feat(playlist): show thumbnails in import preview Claude (owner) 2026-06-01 22:52:05 +09:00
  • 0e39836c1f feat(folders): allow videos in top-level folders too Claude (owner) 2026-06-01 22:12:37 +09:00
  • ad42c88eaf refactor(docker): simplify + optimize Dockerfile Claude (owner) 2026-06-01 21:55:40 +09:00
  • 8f72fcf4f9 fix(docker): bind to 0.0.0.0 so port mapping reaches the container Claude (owner) 2026-06-01 21:43:48 +09:00
  • 83b391c0a8 build: add Dockerfile that compiles better-sqlite3 in build stage Claude (owner) 2026-06-01 21:39:53 +09:00
  • 6eac31401a docs(readme): fix two remaining mismatches with implementation Claude (owner) 2026-06-01 10:51:51 +09:00
  • 90e227d857 docs(readme): align with actual implementation Claude (owner) 2026-06-01 10:50:05 +09:00
  • 5693e1c6b0 refactor: dedupe encoder retry + collectFolderSegments + 3-probe → 1 Claude (owner) 2026-06-01 10:44:29 +09:00
  • 4909d18493 fix(editor): per-job libx264 fallback when HW encoder fails at real encode (STEP B P1) Claude (owner) 2026-06-01 10:15:56 +09:00
  • a0a094b517 perf(editor): pick hardware h264 encoder (nvenc/qsv/videotoolbox/vaapi) over libx264 Claude (owner) 2026-06-01 10:11:18 +09:00
  • ef65d6674f fix(youtube): smooth download progress + post-process heartbeat Claude (owner) 2026-06-01 10:04:48 +09:00
  • 31c754a3ad feat(playlist): import UI with drag reorder + random/sequential ID toggle (STEP 5) Claude (owner) 2026-06-01 00:15:39 +09:00
  • 36c9899040 fix(playlist): cap concurrent downloads (P1 review fix) Claude (owner) 2026-06-01 00:07:42 +09:00
  • b0c15f49a4 feat(playlist): yt-dlp playlist probe + bulk start backend Claude (owner) 2026-06-01 00:01:18 +09:00
  • 652df2dbdb fix(videos): reject bad-format id in idAvailable (P2 review fix) Claude (owner) 2026-05-31 23:55:55 +09:00
  • 55ce30733b feat(videos): inline ID edit with live availability check Claude (owner) 2026-05-31 23:51:18 +09:00
  • 3089af1ad8 fix(folders): enforce videos-only at depth 2 (P1 review fix) Claude 2026-05-31 23:43:24 +09:00
  • c5faa8808c feat(folders): nested folder tree (max depth 2) + id-based mutations Claude 2026-05-31 23:36:02 +09:00
  • 3560dcb802 feat(db): introduce SQLite (better-sqlite3) backing store Claude 2026-05-31 23:18:51 +09:00
  • 958fc9da70 feat(import): cap downloaded video at FHD (1920x1080) Claude 2026-05-16 03:48:35 +09:00
  • 5728c42ab7 fix(import): ignore stale probe responses on URL change Claude 2026-05-16 03:14:30 +09:00
  • 33addb304a fix(import): invalidate probe when URL input changes Claude 2026-05-16 03:11:00 +09:00
  • 11db6df8d2 fix(import): unbuffer yt-dlp progress, speed up 60fps via fps filter, lock probe btn Claude 2026-05-16 03:07:47 +09:00
  • 67d4fb89b8 fix(job-poll): disable caching and recover from fetch errors Claude 2026-05-16 03:00:58 +09:00
  • cdf56b96b7 fix(youtube): split progress 0-50/50-99 and report ffmpeg conversion % Claude 2026-05-16 02:57:33 +09:00
  • 48f84963be fix(editor): rename tmp before unlinking original in 60fps upscale Claude 2026-05-16 02:42:59 +09:00
  • cdd23b8195 fix(youtube): upscale downloaded original to 60fps after yt-dlp finishes Claude 2026-05-16 02:38:08 +09:00
  • 105c5bf09d feat(video): prefer max-fps source and bump edited output to 60fps Claude 2026-05-16 02:33:37 +09:00
  • 59f96a12a6 feat(routes): add short /file/video/:id alias for video stream claude-bot 2026-05-15 21:58:37 +09:00
  • 25a809546e fix(setup): tolerate yt-dlp execve ENOENT on slim docker bases claude-bot 2026-05-15 19:00:43 +09:00
  • 6ee089b9b7 fix(folder): copy raw video stream URL instead of player page claude-bot 2026-05-15 18:45:37 +09:00
  • 51bf813ccc feat(folder): right-click "영상 주소 복사" on public and admin claude-bot 2026-05-15 18:42:49 +09:00
  • e77c18a83e feat(op/folder): click video card to open inline player claude-bot 2026-05-15 18:39:50 +09:00
  • db6fe6224d fix(editor): handle loadedmetadata race so timeline shows duration claude-bot 2026-05-15 18:35:10 +09:00
  • f587dce5ce feat(editor): timeline scrubber with draggable trim handles claude-bot 2026-05-15 18:31:07 +09:00
  • aae58f645a fix: harden UPLOAD_MAX_BYTES parsing; sync docs with 1 GiB default claude-bot 2026-05-15 18:10:27 +09:00
  • a14963e237 feat: cap upload size at 1 GiB by default (UPLOAD_MAX_BYTES override) claude-bot 2026-05-15 18:06:21 +09:00
  • 8de8bb982a chore: drop Docker scaffolding (Dockerfile/compose/.dockerignore) claude-bot 2026-05-15 17:57:45 +09:00
  • e4e697d287 feat: Docker support + .env-driven PORT/HOST config claude-bot 2026-05-15 17:39:23 +09:00
  • cb9406d88e feat: npm run setup (yt-dlp + deps + build); lift upload size limit claude-bot 2026-05-15 17:13:47 +09:00
  • bb116f5c24 fix: hide modal/player overlays when hidden attr is set claude-bot 2026-05-15 17:05:27 +09:00
  • 3f4bcf52d0 fix: escape JSON in <script>; popup player picks edited if available claude-bot 2026-05-15 16:49:03 +09:00
  • 0db04cf5cd feat: implement video site per README spec claude-bot 2026-05-15 16:42:00 +09:00
  • 8d13d155de docs: expand README with project spec claude-bot 2026-05-15 15:45:14 +09:00
  • b6a27c8128 docs: add README with project title claude 2026-05-15 15:23:24 +09:00
  • 7494879d9f init make_video_site workspace ejclaw 2026-05-15 15:17:26 +09:00