Release 20260503_04 — Element X w setup-chat, mass reset 81 haseł Matrix, skrypty admin
Filip Borkowski, Backend/Frontend/Fullstack Engineer
/setup-chat — przejście z FluffyChat na Element X
Strona logowania pracowników do komunikatora Matrix dostaje nową rekomendowaną aplikację mobilną. Element X (rewrite oparty na Matrix Rust SDK) zastępuje FluffyChat jako domyślny klient.
Konkretne zmiany w src/app/setup-chat/page.jsx:
- Linki Play/App Store — wskazują teraz na
io.element.android.x(Android) iid1631335820(iOS). - QR kod — zamiast adresu serwera (
chat.ai-cargo.app) prowadzi dohttps://element.io/download(smart-link wykrywa OS). - Sekcja QR rozwinięta domyślnie (
<details open>) — to teraz główna ścieżka instalacji. - Tekst kroków zaktualizowany z „Otwórz FluffyChat" na „Otwórz Element X → Edytuj obok adresu serwera".
Mass reset 81 haseł Matrix via Conduit admin room
Wszystkie aktywne konta Matrix (matrix_users.is_active=true, oprócz bota @ai-agent) dostały świeże, losowe hasła. Reset wykonany przez wysłanie komendy @conduit:server: reset-password <username> w admin roomie Conduita (!j4okdlEDXH272pzRXGeUkN_chwmjPsNhRqUq4VLf6HM) — Conduit nie wystawia REST endpointu do reset hasła, jedyna ścieżka to admin commands.
Mechanizm:
- Skrypt loguje bota
@ai-agent(login + hasło) → świeżyaccess_token. - Dla każdego z 81 kont: wysyła wiadomość w admin roomie z markdownową komendą.
- Pollingiem czeka na odpowiedź
Successfully reset the password for user @<username>:<server>: <new_password>. - Parsuje hasło i zapisuje do
matrix_users.registration_tokenw Supabase. - Eksportuje CSV z parami
username,passworddo dalszej dystrybucji.
Czas wykonania: ~1m40s na 81 kont, 0 błędów. Wszystkie istniejące sesje (np. komunikator w dashboardzie używający matrix_access_token) pozostają ważne — Conduit nie unieważnia tokenów przy resecie hasła.
Skrypty PowerShell w scripts/
Dwa nowe narzędzia administracyjne (poza repo Vercel build, do uruchomienia lokalnie):
scripts/matrix-reset-all-passwords.ps1— pełny mass reset opisany wyżej. Wymaga$env:SUPABASE_SERVICE_ROLE_KEY. Pomija bota.scripts/matrix-generate-all-instructions.ps1— generuje 81 spersonalizowanych plików MD (instrukcje-matrix/{username}.md) + master CSV z kolumnami: imię, nazwisko, login, hasło, link/setup-chat, telefon, email. Do mailingu / SMS / WhatsApp.
.gitignore rozszerzony o matrix-passwords-*.csv, matrix-instrukcje-master-*.csv, instrukcje-matrix/, .backup-matrix-users-*.json — pliki z hasłami i danymi osobowymi nigdy nie trafią do repo.
Co dalej
QR sign-in w Element X (MSC4108 / OIDC) nie zostało wdrożone — wymagałoby migracji Conduit → Conduwuit + konfiguracji OIDC providera + istniejącej sesji desktop u pracownika. Realna ścieżka logowania pozostaje: SMS/WhatsApp z linkiem /setup-chat?u=...&p=... → instalacja Element X przez QR → 3× kopiuj-wklej (serwer, login, hasło).
Paczka release
Pełny eksport produkcyjny (Next.js standalone + statyczne + public) dostępny lokalnie po npm run release w release/ai-cargo-v20260503_04_2021/ oraz archiwum .zip (katalog release/ pozostaje poza repozytorium zgodnie z .gitignore).
Podsumowanie: pełna rotacja haseł komunikatora, narzędzia admin do mass operacji na kontach Matrix, przejście na nowoczesną aplikację mobilną Element X.