adding scheduler
Build and Deploy (internal) / Build Transmission Manager Image (push) Successful in 3m13s
Build and Deploy (internal) / Deploy Transmission Manager (internal) (push) Successful in 3s

This commit is contained in:
2026-09-23 17:32:39 -03:00
parent 44889338c2
commit c98af34202
12 changed files with 1430 additions and 8 deletions
+2 -1
View File
@@ -7,7 +7,7 @@ Always read `project-context.md` before making code or documentation changes. If
Transmission Manager is a lightweight single-binary Go web app for managing and viewing torrents in a Transmission RPC client. It serves a dark-mode vanilla HTML/CSS/JS SPA and proxies Transmission RPC calls through a minimal Go backend.
## Implementation Guidelines
- Keep the backend stdlib-only. Do not add Gin, Fiber, Chi, Gorilla, or other Go web frameworks.
- Keep the backend stdlib-only except for the approved pure-Go SQLite driver used by the scheduler. Do not add Gin, Fiber, Chi, Gorilla, or other Go web frameworks.
- Keep the frontend dependency-free. Do not add React, Vue, Svelte, bundlers, package managers, or transpilers.
- Preserve the single-binary model: static frontend files should remain embedded via `embed`.
- Format display numbers in the frontend unless there is a clear backend reason.
@@ -25,6 +25,7 @@ Transmission Manager is a lightweight single-binary Go web app for managing and
4. Cache the session ID behind a mutex.
- "Peers at 100%" means count `peers[]` entries where `progress === 1.0`.
- `doneDate` is a Unix timestamp; `0` means unfinished.
- Scheduler opt-ins use `hashString` because numeric torrent IDs can change across daemon restarts. The scheduler uses `torrent-start-now` for its slots; manual Resume remains queue-respecting.
## Do Not
- Do not add authentication unless explicitly requested.