mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-07-14 18:15:56 -04:00
* feat: reorganize API around operation domains
Restructure the oRPC contract from 14 resource-oriented routers to 8
domain-oriented routers for a cleaner public API surface.
- Consolidate 7 watch procedures into unified tracking.watch/unwatch
with scope + ids input (movie, episode, season, series)
- Split dashboard across tracking (stats, history), library
(continueWatching, upcoming), and discover (recommendations)
- Merge explore + search + discover into single discover router
- Absorb integrations into account.integrations
- Merge system.authConfig into system.publicInfo
- Collapse 6 admin setting endpoints into admin.settings.get/update
- Deduplicate platforms.list + explore.watchProviders into
discover.platforms
- Add symmetric unwatchMovie/unwatchSeries core functions
- Rename titles.detail→get, titles.recommendations→similar,
people.detail→get
BREAKING CHANGE: All client API paths have changed. REST paths now
mirror router structure.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address review feedback on API reorganization
- Fix updateRating invalidation in native app — was only invalidating
title queries, now calls invalidateTitleQueries() to also refresh
tracking.userInfo (drives the rating UI)
- Make unwatchMovie status revert consistent with unwatchSeries — revert
any non-watchlist status, not just "completed"
- Add sync invariant comment on handleWatch/handleUnwatch loops
- Remove unused queryClient import in native use-title-actions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: updateStatus NOT_FOUND error + rate() invalidation in native
- updateStatus now throws NOT_FOUND when quickAddTitle returns null
(title doesn't exist), instead of silently succeeding
- Add NOT_FOUND error to updateStatus contract definition
- Fix rate() in native title-actions.ts to call invalidateTitleQueries()
instead of only invalidating orpc.titles.key() — mirrors the fix
already applied to the hook-based path in d2ddc0f
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: expand mobile app docs and add Play Store badge
- Add the Google Play badge to the README alongside the App Store badge
- Expand the mobile app docs with the Android/Play Store release details
- Refresh docs site dependencies and related package versions for the updated docs stack
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
49 lines
1.3 KiB
JSON
49 lines
1.3 KiB
JSON
{
|
|
"name": "sofa-docs",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "bun --bun next build",
|
|
"dev": "bun --bun next dev",
|
|
"start": "bun --bun next start",
|
|
"lint": "oxlint",
|
|
"format": "oxfmt",
|
|
"format:check": "oxfmt --check",
|
|
"check-types": "bun --bun fumadocs-mdx && bun --bun next typegen && tsc --noEmit",
|
|
"generate:api-docs": "bun scripts/generate-api-docs.ts",
|
|
"postinstall": "bun --bun fumadocs-mdx"
|
|
},
|
|
"dependencies": {
|
|
"@takumi-rs/image-response": "^0.73.1",
|
|
"@vercel/analytics": "^2.0.1",
|
|
"fumadocs-core": "^16.7.6",
|
|
"fumadocs-mdx": "^14.2.11",
|
|
"fumadocs-openapi": "^10.5.0",
|
|
"fumadocs-ui": "^16.7.6",
|
|
"lucide-react": "^0.577.0",
|
|
"next": "16.2.1",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"shiki": "^4.0.2",
|
|
"tailwind-merge": "^3.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4.2.2",
|
|
"@types/bun": "1.3.11",
|
|
"@types/mdx": "^2.0.13",
|
|
"@types/node": "^25.5.0",
|
|
"@types/react": "19.2.14",
|
|
"@types/react-dom": "19.2.3",
|
|
"oxfmt": "0.42.0",
|
|
"oxlint": "1.57.0",
|
|
"postcss": "^8.5.8",
|
|
"tailwindcss": "^4.2.2",
|
|
"typescript": "^5.9.3"
|
|
},
|
|
"overrides": {
|
|
"@types/react": "19.2.14",
|
|
"@types/react-dom": "19.2.3"
|
|
},
|
|
"packageManager": "bun@1.3.11"
|
|
}
|