github connorgallopo/Tracearr v1.3.9-beta.4

latest release: v1.3.9-beta.5
pre-release8 hours ago

Feature: JellyStat Importing (#18)

  • Add joinedAt column to serverUsers table

  • Add Jellystat types, schemas, and export progress event

  • Add getItems method to Jellyfin/Emby clients for media enrichment

  • Add Jellystat backup import service

  • Add Jellystat job handling to import queue

  • Add Jellystat import API endpoints

  • Wire up joinedAt field and add multipart form parser

  • Add Jellystat import UI to Settings page

  • Add comprehensive tests for Jellystat import service

  • Fix multipart form field parsing for Jellystat import

The field extraction was assuming a simpler structure than what
@fastify/multipart actually returns. Added proper handling for
the MultipartValue structure with array support.

  • Fix Jellystat import form field parsing
  • Reorder FormData fields before file (multipart stops parsing after file)
  • Improve skipped users warning to be human-readable
  • Optimize Jellystat import performance and clean up Import Settings UI
  • Batch dedup queries instead of loading all sessions into memory
  • Bigger batch sizes for faster inserts (500) and enrichment (200)
  • New reusable FileDropzone and ImportProgressCard components
  • Tabs layout for cleaner Plex vs Jellyfin/Emby separation
  • Added info cards explaining why records get skipped
  • Fixed Jellystat instructions (Activity Backup, not Full Backup)
  • Fix integer overflow in Jellystat import by using bigint columns

  • Fix CI failures: migration hypertable check and ESLint path alias

  • Migration: Check if sessions is a hypertable before using TimescaleDB
    commands. Fresh databases (like in CI) don't have hypertables until
    app startup, so they now get a simple ALTER COLUMN instead.
  • ESLint: Add @/* path alias to tsconfig.eslint.json so the web app's
    imports can be properly resolved during linting.
  • Clean up unused imports in Settings.tsx and unnecessary type assertion
    in useServers.ts
  • Add joined_at column to server_users table

  • Clean up formatting and lint warnings

  • Fix unhandled promise in infinite scroll

  • Extract shared import utilities from Tautulli and Jellystat importers

Pull out common functionality into reusable modules:

  • Batch processing with configurable sizes
  • Progress tracking with throttled updates
  • User ID mapping between external and internal systems
  • Session deduplication logic

Simplify both importers by using these shared utilities.
Clean up verbose comments and streamline the code.

  • Restore corrupted migration snapshot

0018 was incorrectly regenerated with joined_at column that
belongs in 0023.

  • Account for alt transcode payload

  • Fix test to match new trancode support

Don't miss a new Tracearr release

NewReleases is sending notifications on new releases.