/api/gateway/bot requires a bot Authorization header; we authenticate
as a user OAuth2 token, so it always 401s. /api/gateway is public.
Remove a no-op ternary that selected the same resource either way.
libSceLibreSSL exports SSL_ctrl but not SSL_set_tls_host directly.
SNI is required for Discord's TLS termination to route the gateway
and token endpoints correctly; without it the handshake can be
rejected. Implemented via SSL_ctrl(s, SSL_CTRL_SET_TLSEXT_HOSTNAME=55,
TLSEXT_NAMETYPE_host_name=0, host) — stable across OpenSSL/LibreSSL.
- Resolve ShellCoreUtil at runtime via dlopen/dlsym (no hard import;
GoldHEN payload loader can't always statically bind it)
- IsAppLaunched returns 0 on the home screen -> presence now clears
correctly when the user exits a game
- Fallback to sceUserServiceGetForegroundUser if ShellCoreUtil
unavailable in the payload context
Public public repo for the on-console Discord Rich Presence daemon.
First commit: project layout + vendored JSON parser + toolchain-backed Makefile
mirroring the OpenOrbis net_http sample. Runtime stays fully on the PS4.