* Rebrand MMTL to MeBox across codebase and assets
Rename the project display name, Go module path, environment variable
prefix (MEBOX_*), Docker image references, and UI branding from MMTL/mmtl
to MeBox/mebox. Replace logo assets with the new MeBox icon and keep
legacy SQLite migration support for existing mmtl.db deployments.
Co-authored-by: truewhile <truewhile@users.noreply.github.com>
* Fix logo icons: use cube-only crop without truncated text
Previous icon generation cropped too much of the source image, including
partial MeBox wordmark text that was cut off in square icon containers.
Regenerate logo-64/192/512, favicon, and SVG from cube-only region.
Co-authored-by: truewhile <truewhile@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: truewhile <truewhile@users.noreply.github.com>
The publish workflow bumps VERSION, pushes commits/tags, and publishes
images. It must not run on pull_request events where checkout is a
detached HEAD and git push fails. PR validation is already covered by ci.yml.
Co-authored-by: truewhile <truewhile@users.noreply.github.com>
After deploying the binary against a fresh data dir and exercising every
major REST endpoint by hand, codify the verification as a re-runnable
script.
scripts/smoke-test.sh:
- Spins up bin/mediastation-go against a tempdir.
- Generates 3 sample clips (movie, tv, anime) + an external SRT.
- Walks 26 assertions: health → auth → libraries → scan → ffprobe →
season parser → search → range stream → HLS playlist → external
subtitle → history → favourites → playlists → RBAC (alice 403) →
NFO export → recycle bin → SPA fallback → graceful shutdown.
- Tears the server down via SIGTERM and reports pass/fail counts.
- Exits non-zero on any failure so CI can use it as a deployment gate.
Local verification on this branch: PASS=26 FAIL=0.
Wiring:
- Makefile: new 'smoke' target, depends on 'build'.
- .github/workflows/ci.yml: third job 'smoke' that depends on backend
+ frontend, installs ffmpeg, builds both halves, then runs the
script. The CI pipeline now blocks merges that break end-to-end
deployability.