Lightweight containerized prosody tooling + moved auth scripts + xmpp reconnect/auth stabilization
This commit is contained in:
28
artifacts/plans/02-transport-capability-matrix.md
Normal file
28
artifacts/plans/02-transport-capability-matrix.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Feature Plan: Transport Capability Matrix
|
||||
|
||||
## Goal
|
||||
Define transport feature capabilities centrally so router/policy/UI can make deterministic decisions.
|
||||
|
||||
## Why This Fits GIA
|
||||
- GIA currently spans Signal/WhatsApp/Instagram/XMPP with uneven feature support.
|
||||
- Prevents silent failures (for example reaction exists internally but cannot be sent outward).
|
||||
|
||||
## Scope
|
||||
- Add capability registry per transport.
|
||||
- Features: reactions, edits, deletes, threaded replies, typing, media classes, read receipts, participant events.
|
||||
- Runtime helper APIs used by router and compose UI.
|
||||
|
||||
## Implementation
|
||||
1. Add `core/transports/capabilities.py` with static matrix + version field.
|
||||
2. Expose query helpers: `supports(service, feature)` and `unsupported_reason(...)`.
|
||||
3. Integrate checks into `core/clients/transport.py` send/reaction/edit paths.
|
||||
4. Compose UI: disable unsupported actions with clear hints.
|
||||
5. Add tests per service for expected behavior.
|
||||
|
||||
## Acceptance Criteria
|
||||
- Unsupported action never calls transport adapter.
|
||||
- User receives explicit, actionable error.
|
||||
- Service capabilities are test-covered and easy to update.
|
||||
|
||||
## Out of Scope
|
||||
- Dynamic remote capability negotiation.
|
||||
Reference in New Issue
Block a user