feat(serve): relay approval messages to jobs and proxy remote downloads

A REST job shows a wait_for_approval message as its notice field. search, list-titles and list-tracks fail at once on a login that needs the user. A remote client downloads through the --proxy it sends.
This commit is contained in:
imSp4rky
2026-10-07 11:15:16 -06:00
parent 5b0369e63a
commit 09cae2ec3f
16 changed files with 233 additions and 28 deletions
+13 -1
View File
@@ -197,6 +197,13 @@ Get the list of titles behind a title ID, for example episodes or a movie, witho
You can also pass service-specific CLI options as additional keys.
#### Logins that need the user
`search`, `list-titles` and `list-tracks` have no channel to the user. A login that asks for
input or waits for an approval on another device fails at once with `AUTH_FAILED` on these
endpoints. Complete that login in a download job or a remote session, then send the saved
login with the request.
#### Client cache on a remote-only server
A `--remote-only` server keeps nothing that a client sends. When the request
@@ -556,7 +563,8 @@ Show download jobs, with optional filtering and sorting.
"segments_total": 300,
"speed": "5.2 MB/s",
"skipped_subtitles": [],
"input_prompt": null
"input_prompt": null,
"notice": null
}
]
}
@@ -721,6 +729,10 @@ example an OTP code, a PIN, or a device-code confirmation. The job then shows th
`input_prompt` field and in its `progress` events. Show the prompt to the user and send the
answer here.
A job that waits for an approval on another device, such as a pair code login, shows the
message in its `notice` field instead. A notice needs no answer: show it to the user and keep
polling.
=== "Request"
```json