You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The package exports only ., ./plugins/s3, and ./package.json. Integrators who operate y/hub in production end up needing a handful of internals, and today the only options are deep source imports (break on package layout changes) or re-implementing formats byte-for-byte (break silently on format changes). Concretely, we currently need:
encodeRoomName / decodeRoomName / encodeQuarantineName — admin/ops tooling that lists streams, inspects quarantines, and reconciles lost compact tasks must reproduce the key formats; v0.7.0's uriEncode (escaping !'()*) is exactly the kind of change that silently breaks a hand-rolled copy.
A ./persistence subpath exporting Persistence — we pin regression tests against the store SQL's idempotency (ON CONFLICT presence) so a future regression to a plain INSERT fails in CI instead of production.
A ./stream subpath (Stream + the name codecs) for integration tests that exercise the stream layer against real Redis.
Ask
Add ./stream and ./persistence export subpaths and export the room-name codecs + isAwarenessRoom from the root. Happy to send the PR — it is package.json exports plus re-exports, no behavior change.
Summary
The package exports only
.,./plugins/s3, and./package.json. Integrators who operate y/hub in production end up needing a handful of internals, and today the only options are deep source imports (break on package layout changes) or re-implementing formats byte-for-byte (break silently on format changes). Concretely, we currently need:isAwarenessRoom(room)— we special-case awareness rooms in admin tooling and worker policy (see Awareness-only rooms grow without bound when compaction stops — add write-time MAXLEN caps / first-class ephemeral rooms #64).encodeRoomName/decodeRoomName/encodeQuarantineName— admin/ops tooling that lists streams, inspects quarantines, and reconciles lost compact tasks must reproduce the key formats; v0.7.0'suriEncode(escaping!'()*) is exactly the kind of change that silently breaks a hand-rolled copy../persistencesubpath exportingPersistence— we pin regression tests against the store SQL's idempotency (ON CONFLICTpresence) so a future regression to a plain INSERT fails in CI instead of production../streamsubpath (Stream + the name codecs) for integration tests that exercise the stream layer against real Redis.Ask
Add
./streamand./persistenceexport subpaths and export the room-name codecs +isAwarenessRoomfrom the root. Happy to send the PR — it is package.jsonexportsplus re-exports, no behavior change.