Documentation menu

Connect / personal trackers

Personal MyAnimeList ↔ AniList sync

Connect your own tracker accounts, review the first complete preview and opt in to bounded ongoing checks.

Released optional capability. New-install feature flags default off; each installation needs operator qualification before opt-in activation. MyAnimeList application credentials and provider readiness still require operator setup. This guide does not establish a connected account or a verified real MyAnimeList write.

This connection belongs to one Omakase user. Household membership never authorizes writing another person's anime list. Titles map only through verified AniList idMal identity, never by matching similar names.

1. Administrator prepares OAuth

Register separate MyAnimeList and AniList applications for the instance's private HTTPS URL. Configure the client IDs/secrets and persistent master encryption key through protected runtime configuration, not chat or Git.

The MAL callback path is /plus/integrations/myanimelist/callback; AniList keeps its existing callback. Missing registration or configuration shows a setup-required state, not Connected. Follow the official MAL authorization reference and API reference.

2. Each person connects their own accounts

Open Settings → Tracking → Personal tracker sync. Sign in and consent at each provider yourself, then verify the returned account names. Omakase stores tokens encrypted and binds the one-use, short-lived connection request to your session. Linking does not change either list.

3. Read the first complete preview

DifferenceWhat happens
Only one side changed since the saved baselineA minimal checked update can be proposed
Both sides changed a score or progressReview; neither side silently wins
AniList score cannot fit MAL's integer scoreExplicit rounding decision, not a hidden conversion
Missing entry or uncertain identityReview; no automatic deletion or recreation

Choose how to handle differences and confirm only the selected changes. Incomplete list reads cannot become a complete sync plan. User-date writes and score clearing stay unsupported until their wire behavior is qualified.

4. Opt in to ongoing checks

After approving the first preview, you may enable ongoing updates. The administrator must separately enable the qualified worker. Checks are bounded and rotate fairly across opted-in accounts; opening a page runs no sync job.

A provider's RetryAfter pauses work. An uncertain write waits for review and is not replayed through a new preview. Fresh entry and credential checks reduce races, but the two services do not offer one atomic transaction against external edits.

You can pause even when the worker is disabled. Disconnecting invalidates old plans and saved token generations without erasing personal watch history. Reconnecting requires fresh identity verification and review.

Operator check, not an installation side effect

The worker flag OMAKASE_TRACKER_BRIDGE_WORKER_ENABLED defaults off. Private mode, writer readiness, qualified combined migrations 033–036 with rollback, and each account's opt-in are also required. The existing media runner can host a bounded rotation; no new daemon is installed.

After qualification, consent and first-preview approval, an operator may run one unit:

bash
omakase plus sync-trackers --max-accounts 1 --budget-seconds 20

This can update opted-in provider lists; it is not a read-only readiness command. Never enable it merely to finish app setup. See AniList, Agent setup and Backup & recovery.