Document the admin real-time channel (POST /_/realtime) and X-CWA-Client-Id
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 67/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend-api-design, documentation
Research direction
Start in the bundle's content/4.api/ documentation and identify the endpoint and writer sections to update; check the linked bundle issue and PR for implementation details. Then find the template deployment guidance for Nelmio allow_headers and Mercure history settings. Done when the docs cover the endpoint behavior, payload, limits, writer echo, configuration, and deployment settings listed in this issue.
Written by the indexing model from the issue text.
Description
The bundle is adding an admin real-time channel (api-components-bundle#559, PR #560). Please document the following.
Bundle (content/4.api/)
- Endpoint:
POST /_/realtime(/_api/_/realtimeunder the template).ROLE_ADMIN.- Body:
{clientId, event, iri?, data?}, 16 KB at most. - Responds 202, and stores nothing.
- Content types:
- JSON accepts any event.
text/plain(navigator.sendBeacon) is accepted only forevent: "presence"withdata.state: "left".- Anything else is 415.
- A cross-site request (
Sec-Fetch-Site) is 403.
- Payload, published privately on one site-wide topic that only admins' subscriber cookies grant:
{"@type": "CwaRealtimeEvent", "v": 1, clientId, user: {id, name}, event, iri, data, sentAt, expiresAt} - Rate limits:
- 20 burst / 10 a second per user and
clientId. - 60 burst / 30 a second per user across all their clients.
- Above either: 429 with
Retry-After. - The limiter pool
silverback.api_components.realtime.rate_limiter_cacheusescache.appby default, so the limits apply per pod. Point it at a shared adapter inframework.cache.poolsto make them exact.
- 20 burst / 10 a second per user and
- Publishing: bounded at 1 s. A failed or timed-out publish is logged and still answers 202.
- Config:
silverback_api_components.realtime.enabled(defaulttrue). Whenfalse, the endpoint is a 404 and no cookie grants the topic. - Writer echo: a write carrying
X-CWA-Client-Idgets_metadata.lastWrite: {clientId, userId, at}in the writer's response and in the private?draft=1update.atis server time, RFC 3339 with milliseconds.- Use
at, notmodifiedAt, to order draft updates.
Deployment
- The front end must be allowed to send
X-CWA-Client-Id. In the template, add it to nelmio'sallow_headers. The bundle has no Flex recipe yet (#259). - Presence events stay in the Mercure hub's replay history, so mention the hub's history size and retention settings.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 20m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from components-web-app/docs
-
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
components-web-app/docs#297 ·
-
documentation
Difficulty 4/5 3-5 days Newbie friendliness 45/100
components-web-app/docs#290 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
components-web-app/docs#289 · 2 comments ·
-
documentation
Difficulty 4/5 3-5 days Newbie friendliness 43/100
components-web-app/docs#285 ·
-
documentation
Difficulty 4/5 1-2 days Newbie friendliness 35/100
components-web-app/docs#284 ·
All issues in components-web-app/docs
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
db-ux-design-system/core-web#8613 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
foxglove/mcap#1907 · 1 comment ·
Maintainers usually reply within 1 day
-
bug internal-plugin pr-welcome upstream
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
dsh-tauri-desk/deepseek-harness-desktop#1225 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
unjs/unhead#1027 · 1 reaction ·
Maintainers usually reply within 1 day