Files
autoclip/.gitattributes
T
5f8a24d9d6 v1.2.1 hotfix: make the Docker / local-script paths complete a full run (#88 ×7, #53) (#89)
* fix(docker): make the documented docker-compose path actually run

- .dockerignore: allow docker-entrypoint.sh / docker-dev-entrypoint.sh, which
  Dockerfile COPYs; excluding them made every 'docker build' fail (#1 #4 #9
  #47 #50 #88)
- add .gitattributes forcing LF on shell scripts so Windows clones can start
  the container (#73 #88)
- base image python:3.9-slim -> python:3.11-slim; current yt-dlp no longer
  supports 3.9 and only yields 360p via the android fallback (#88)
- celery worker in docker-compose / dev compose / start_autoclip.sh now
  consumes the queues task_routes actually targets
  (-Q celery,processing,video,notification,upload); without it tasks piled up
  in 'processing' and were never executed (#88)
- the four compose services share one image tag so it is built once
- docs: Python 3.10+ requirement, Linux bind-mount permission note

Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>

* fix(backend): remove machine-specific paths and the Redis probe that failed every Docker project

- task_submission_utils: the queue-depth log after a successful send_task used
  redis.Redis(host='localhost') inside the try block, so under docker-compose
  (Redis at redis:6379) every project was marked failed right after being
  queued. Probe now uses REDIS_URL and only warns on failure (#88)
- youtube.py: yt-dlp was invoked via a hardcoded /Users/zhoukk venv path with
  a hardcoded cwd, so /parse returned 500 on every other machine. Use
  sys.executable -m yt_dlp with the data directory as cwd (#88)
- youtube.py: requesting five subtitle languages at once triggers HTTP 429 and
  aborts the download; default to zh-Hans,zh,en, overridable with
  AUTOCLIP_YT_SUBTITLE_LANGS (#88)
- llm_providers._build_full_input: JSON-serialise list/tuple input instead of
  str() so the scoring step no longer breaks on list payloads (#53)
- fix_project_thumbnails.py / SettingsPage.tsx: drop remaining hardcoded
  developer paths (the settings page was writing them into users'
  settings.json)
- delete backend/api/v1/youtube_improved.py (unreferenced)
- add regression tests for the submission path and input serialisation

Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>

* ci: add docker-compose smoke job

Builds the image, starts redis + api + worker, and asserts: API health,
yt-dlp importable on the image's Python, Redis reachable through REDIS_URL
from the app container, and the worker consuming every routed queue
(celery, processing, video, notification, upload). Guards the failure modes
from #88 that nothing in CI previously exercised.

Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>

* chore: bump desktop version to 1.2.1 and stop hardcoding app_version in the backend

Cargo.toml was still 1.1.0 while tauri.conf.json said 1.2.0. Align both (and
Cargo.lock) at 1.2.1. The Rust launcher now passes CARGO_PKG_VERSION to the
backend as AUTOCLIP_APP_VERSION so /settings reports the real version instead
of a fixed "1.0.0".

Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>

* docs: 1.2.1 changelog; refresh HANDOFF with current status, PR/issue triage and plan

CHANGELOG 1.2.0 had absorbed old unreleased web-side items wholesale; keep
them but label them as historical. Fix the compare/release links that still
pointed at your-username.

Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>
2026-09-06 21:58:05 +08:00

25 lines
696 B
Plaintext

# Shell scripts are executed inside Linux containers (docker-entrypoint.sh etc.).
# A CRLF checkout on Windows turns the shebang into "#!/bin/bash\r" and the
# container fails with "exec ./docker-entrypoint.sh: no such file or directory".
*.sh text eol=lf
Dockerfile* text eol=lf
*.py text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
# Windows-native scripts keep CRLF.
*.ps1 text eol=crlf
*.bat text eol=crlf
*.cmd text eol=crlf
# Binary assets
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.icns binary
*.mp4 binary
*.woff binary
*.woff2 binary