v2.1.0-beta.7
Pre-release
Pre-release
·
3 commits
to main
since this release
Everything from the 2.1.0 betas so far, plus two link fixes.
Dashboard
- CPU and RAM charts work for Jellyfin and Emby. Needs SSE plugin 0.4.0.
- Picking multiple servers overlays them on one chart, one line per server in its color.
- The three stats cards share one time grid so they line up side by side.
- Live charts hold a real two-minute window instead of a fixed number of points, so a server that samples at its own rate no longer stretches or shrinks the span.
- Timestamps are placed on Tracearr's clock when the media server's clock has drifted. A server whose clock is already right keeps its own.
- A gap in reporting draws as a gap rather than a straight line across it.
- Charts stop polling hard when a server has nothing to report.
Import
- Playback Reporting plugin import for Jellyfin and Emby. History comes over the server connection you already configured, with no file export and no Jellystat install.
- A Check Plugin button reports whether the plugin is there and how many records it holds before you commit to anything.
- Pick the media server's timezone during import; the plugin stores timestamps in server-local time.
- Safe to run twice. Rows already imported, rows from an earlier Jellystat import, and history Tracearr already tracked all get skipped. A full-range checkbox overrides the overlap guard if your history has gaps.
- Emby imports include IP locations and pause time. The Jellyfin plugin does not record those.
Fixes
- Clicking a user from a media item's watchers or history opens that user. The link was built from the person's identity id where the page expects the per-server account id, so it landed on nothing.
- Open on server opens the item instead of the server root. Plex goes through app.plex.tv so the link still works away from home; Jellyfin and Emby use the server URL you configured.
- Plex metadata refreshes no longer trigger library syncs. Nightly maintenance could otherwise keep Tracearr syncing every 30 seconds for hours.
- Dominant color lookups were scanning the whole library table once per poster. They're indexed now.
- The image proxy looked up the server row on every cache miss. It remembers it for 30 seconds instead.
Performance
- Dropped five sessions indexes no query used. Every session write maintains fewer indexes, and the disk comes back at boot.
- The periodic full library scan runs on a clock, at most once every 3.5 days per library, instead of counting syncs.
- Event bursts settle down: snapshot rebuilds cap at one per 5 minutes, duplicate reconciliation waits 10 minutes, count drift 15.
- Library snapshots skip the write entirely when nothing changed.
- Posters are resized by your media server instead of being downloaded full size and shrunk locally.
- Image processing is capped to one thread, so cache warming after a big sync doesn't take over a small box.
Security
- Cleared four dependency advisories. Two remain in build tooling that never ships with Tracearr, and have no upstream fix published yet.
API
- Public v2 history rows carry server_user_id next to the identity id.
Small stuff
- Poster cache warming shows in the running tasks menu with a count and progress bar.
- CI exercises the oldest and newest supported TimescaleDB. Extension updates are opt in at boot with TIMESCALEDB_AUTO_UPDATE.
- The admin recovery CLI finds owners with legacy mixed-case usernames.
- @tracearr/shared and @tracearr/translations publish to npm with each release.