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

71
NODE1-SWAPPER-DEBUG.md Normal file
View File

@@ -0,0 +1,71 @@
# 🔍 Діагностика Swapper Service на Node #1
**Дата:** 2025-11-22
**Проблема:** Swapper Service працює, але моделі не завантажуються
---
## ✅ Що працює
1. ✅ Swapper Service запущений
2. ✅ Health endpoint працює (`/health` повертає `healthy`)
3. ✅ Status endpoint працює (`/status` повертає дані)
4. ✅ Конфігураційний файл на місці (`/app/config/swapper_config.yaml`)
5. ✅ Ollama доступний на Node #1 (5 моделей)
---
## ⚠️ Проблема
Моделі не завантажуються з конфігурації. Можливі причини:
1. **Формат конфігурації** - код очікує `models:` на верхньому рівні
2. **Доступ до Ollama** - контейнер не може підключитися до Ollama
3. **Ініціалізація** - помилка при читанні конфігурації
---
## 🔧 Рішення
### Варіант 1: Використати автоматичне завантаження з Ollama
Якщо конфігурація не працює, Swapper Service має автоматично завантажити моделі з Ollama.
Перевірити:
```bash
docker logs swapper-service | grep -i "ollama\|model\|initialized"
```
### Варіант 2: Перевірити формат конфігурації
Код очікує:
```yaml
models:
model-name:
path: ollama:model:name
type: llm
size_gb: 4.87
priority: high
```
### Варіант 3: Перевірити доступ до Ollama
```bash
# З контейнера
docker exec swapper-service python3 -c "import httpx; import asyncio; ..."
```
---
## 📊 Поточний стан
- ✅ Swapper Service: `healthy`
- ⚠️ Моделі: `0` (очікується завантаження)
- ✅ Конфігурація: на місці
- ✅ Ollama: доступний
---
**Last Updated:** 2025-11-22
**Status:** 🔍 Потрібна додаткова діагностика