feat: Add presence heartbeat for Matrix online status

- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
This commit is contained in:
Apple
2025-11-27 00:19:40 -08:00
parent 5bed515852
commit 3de3c8cb36
6371 changed files with 1317450 additions and 932 deletions

View File

@@ -0,0 +1,124 @@
# TASK_MATRIX_PREPARE_ONLY.md
Matrix & Element — PREPARATION PHASE (no deploy)
## 0. Ціль
Підготувати Cursor до майбутнього впровадження повного Matrix stack, але **нічого не запускаючи**.
Результат: структури, конфіги, документація, дизайн-схема — без інсталяції.
---
## 1. Структура майбутнього каталогу
```
infra/matrix/
synapse/
homeserver.yaml
workers.yaml
log.config
postgres/
init.sql
turn/
turnserver.conf
element-web/
config.json
gateway/
matrix.conf
README_MATRIX.md
```
---
## 2. Фази майбутнього впровадження
### Phase 1 — Base Synapse
- homeserver.yaml
- Postgres schema
- registration tokens
- media repo
- rate limits
- .well-known/matrix/client
- workers mode architecture
### Phase 2 — Element Web
- element-web build
- config.json
- routing через `/element/`
- custom branding
### Phase 3 — Federation
- DNS SRV
- federation listener
- multi-node mesh
- key sharing
- presence federation
### Phase 4 — Agent Bridge
- agent_matrix_bridge.py
- NATS ↔ Matrix events
- mapping rooms → channels
- agent replies → matrix events
### Phase 5 — DAARION City Mesh
- районні сервери
- глобальні канали Marketplace / Governance
---
## 3. Документація, яку треба створити (але не виконувати)
### README_MATRIX.md
- Архітектура
- Фази 15
- Валідація
- Security model
- Federation design
### config.json (Element)
- базові поля:
```json
{
"default_server_config": {},
"show_labs_settings": true,
"default_country_code": "UA"
}
```
### homeserver.yaml (шаблон)
- server_name
- signing keys
- registration
- modules (MSC3861, MSC3981)
- federation settings
---
## 4. Acceptance Criteria
Cursor повинен:
- створити всі шаблонні файли
- створити README_MATRIX.md
- підготувати структуру директорій
- НЕ запускати Synapse
- НЕ змінювати docker-compose
- НЕ виконувати деплой
- НЕ генерувати SSL/DNS
---
## 5. Команда до Cursor
**"Створи структуру та конфіги згідно TASK_MATRIX_PREPARE_ONLY.md, але не виконуй ніякого деплою."**