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,61 @@
# Автоматичне оновлення інформації про репозиторії
## Опис
Скрипт `update_repos_info.py` автоматично оновлює інформацію про GitHub репозиторії в:
- `INFRASTRUCTURE.md` - розділ "🐙 GitHub Repositories"
- `docs/infrastructure_quick_ref.ipynb` - комірки з конфігурацією репозиторіїв
## Використання
### Ручний запуск
```bash
# Через npm скрипт
npm run update-repos
# Або напряму
python scripts/update_repos_info.py
# Або якщо скрипт виконуваний
./scripts/update_repos_info.py
```
### Автоматичне оновлення
Скрипт автоматично запускається через GitHub Actions:
- При зміні `.git/config` або самого скрипта
- Щотижня в понеділок о 9:00 UTC
- Можна запустити вручну через GitHub Actions UI
## Що робить скрипт
1. Витягує інформацію про git remotes з поточного репозиторію
2. Визначає SSH та HTTPS URLs для кожного remote
3. Визначає main branch для кожного репозиторію
4. Оновлює обидва файли з актуальною інформацією
5. Автоматично комітить зміни (якщо запущено через GitHub Actions)
## Вимоги
- Python 3.11+
- Git
- Доступ до git remotes
## Примітки
- Скрипт не змінює структуру файлів, тільки оновлює дані про репозиторії
- Якщо remote не знайдено, скрипт використовує значення за замовчуванням
- Призначення репозиторіїв визначається на основі назви (можна розширити)
## Troubleshooting
### Помилка "git remote not found"
Переконайтеся що ви знаходитесь в корені репозиторію та git ініціалізовано.
### Помилка при оновленні notebook
Переконайтеся що файл `docs/infrastructure_quick_ref.ipynb` має правильний JSON формат.
### Зміни не комітуються
При локальному запуску скрипт не комітить зміни автоматично. Використовуйте GitHub Actions для автоматичного коміту.