Repository navigation
v3.1.0
PinkCollab v3.1.0: OMP RPC v2 support for large model catalogs
Highlights and fixes
- Gateway negotiates RPC v2 when OMP advertises support and waits for successful negotiation before sending ordinary RPC requests. Indexed
rpc_chunkresponses are reassembled and validated, allowing model catalogs larger than the 1 MiB physical frame limit to reach the existing model picker API. This addresses issue #5, where large catalogs caused "Model catalog unavailable". - Chunk reassembly is bounded by local and advertised transport limits. Invalid, oversized, interrupted, or incomplete streams fail explicitly instead of leaving requests waiting indefinitely.
- Startup RPCs no longer hold the feedback-ordering gate while awaiting responses, allowing ordinary events to drain through the bounded output queue without blocking startup or session reattachment.
- Deployment documentation clarifies connection choices, background service management, pairing, upgrades, and troubleshooting.
Compatibility and upgrade
- Legacy OMP RPC v1 remains supported, but it cannot transfer model responses above its physical frame limit. Large catalogs require an OMP build advertising RPC v2 support.
- Android/Gateway Protocol 4 and the Gateway database schema are unchanged. Upgrade Android and the Gateway from the same release.
- Install the signed Android APK over the existing app to preserve pairings and app data; do not uninstall the production app.
- The npm launcher and all five platform packages use version 3.1.0. Update with
npm install -g pinkcollab@3.1.0, then runpinkcollab setupusing your existing transport configuration. External HTTPS deployments must retain their--transport external --public-url https://...settings.
Verification
- Gateway regressions passed, including a 642-model catalog with a logical response larger than 1 MiB, tail-model selection, thinking-level changes, catalog refresh, and startup event bursts in v1 and v2.
- A real installed OMP smoke run passed handshake, model catalog, thinking levels, and session resume without sending a model prompt.
- The real OpenRouter large-catalog Android UI scenario has not been exercised in this validation; manual validation steps are documented in
docs/development.md.