The logic around transmission session handling was f*cked, this fixes that. We use an IORef instead of an MVar, since we want to unconditionally write the new value. Even if multiple requests race, I *hope* that transmission returns the same session id, otherwise we might get a request loop. But it should be fine. (The semantics is not nicely documented in the RPC docs.) Additionally, log the session ids in the requests. Change-Id: Id7d33f8cb74cb349e502331cad5eb5abe8a624cd Reviewed-on: https://cl.tvl.fyi/c/depot/+/11673 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI |
||
|---|---|---|
| .. | ||
| services | ||
| src | ||
| build.ninja | ||
| default.nix | ||
| Main.hs | ||
| notes.org | ||
| README.md | ||
| server-notes.org | ||
| whatcd-resolver.cabal | ||
whatcd-resolver
To run:
ninja run-services
in one terminal (starts the background tasks)
ninja run
to start the server. It runs on 9092.
You need to be in the nix-shell in ./...
You need to set the pass key internet/redacted/api-keys/whatcd-resolver to an API key for RED.
You need to have a transmission-rpc-daemon listening on port 9091 (no auth, try ssh port forwarding lol).