Skip to content

docs(proxy): explain the cross-proxy architecture and how to consume it#11

Merged
hbrombeer merged 1 commit into
mainfrom
docs/architecture
Jul 13, 2026
Merged

docs(proxy): explain the cross-proxy architecture and how to consume it#11
hbrombeer merged 1 commit into
mainfrom
docs/architecture

Conversation

@hbrombeer

Copy link
Copy Markdown
Member

This repo carries the whole cross-proxy design and had no README, while its entry point — ProxyServiceRegistry — had no KDoc at all. Someone debugging "/msg says the player isn't online" at 3am had nowhere to start.

Adds:

  • README: what ProxyService answers and from where (local vs. network, a table per method), how plugin-proxy / plugin-player / service-player fit together, the NATS subjects, the env vars, and why presence lives in service-player rather than in a registry inside the proxies (two stores with independent TTLs drift; chat's earlier event-only registry had no memory at all, because core NATS does not replay).
  • KDoc on ProxyServiceRegistry, including the two rules that fail silently: never shade plugin-proxy-api (you get your own registry class, a different map nobody writes into — every lookup returns null and cross-proxy degrades to local-only without one error in the log), and declare the plugin dependency so init order is right.
  • KDoc on PlayerPresence — what empty proxyId / server mean, and why joinedAt is 0 for local players.

No behaviour change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E92vTegZqXd2HqjE7jnDJz

The repo that carries the whole cross-proxy design had no README, and its
entry point — ProxyServiceRegistry — had no KDoc at all. Someone debugging
"/msg says the player isn't online" at 3am had nowhere to start.

Documents what ProxyService answers (and from where), how the pieces fit
together, why presence lives in service-player rather than in a registry
inside the proxies, and the two rules that fail silently: never shade
plugin-proxy-api, and declare the plugin dependency.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E92vTegZqXd2HqjE7jnDJz
@hbrombeer hbrombeer merged commit 0ad9001 into main Jul 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant