Skip to content

Profil: kto co dostaje (trasy bramki), czujka z kategorią - #13

Merged
mbeczynski merged 1 commit into
mainfrom
bramka-trasy-odbiorcow
Oct 5, 2026
Merged

mbeczynski merged 1 commit into
mainfrom
bramka-trasy-odbiorcow

Conversation

@mbeczynski

Copy link
Copy Markdown
Contributor

Po co

Bramka powiadomień wysyłała wszystko do wszystkich odbiorców WhatsApp. Wymaganie: powiadomienia kidwatch → oboje rodzice, wszystko inne (trader, monitoring, testy, alarmy techniczne) → tylko właściciel. Routing robi bramka (renacode-infra, charts/bramka, PR RenaCode/renacode-infra#2 — scalić najpierw); tu jest strona kidwatch.

Zmiany

  • Czujka z kategorią. Powiadomienia WATCHDOG (cisza DNS, iPad nie pojawił się w DNS, odczyt urządzenia nie działa, kolejka porzuciła push, „awaria ustąpiła”) idą do bramki z "kategoria": "czujka" → trasa kidwatch:czujka, której odbiorca „Tylko kidwatch” nie dostaje. Pozostałe rodzaje bez zmian. Starsza bramka pole ignoruje.
  • Profil → Odbiorcy WhatsApp: kolumna „Dostaje” — „Wszystko (kidwatch, monitoring, trader, testy)” / „Tylko kidwatch (dzieci)” / „Inne: …” (trasy ustawione przez API zostają bez zmian). Nowy wiersz domyślnie „Tylko kidwatch”. Krótka legenda pod tabelą.
  • „Wyślij test (N)” liczy tylko aktywnych z „Wszystko” — bramka wysyła próbę tylko do nich.
  • normalize_recipients: opcjonalne sources → zrodla (walidacja jak w bramce); bez pola bramka zachowuje trasy numeru. Log panelu pokazuje trasy (...200 [*], ...300 [kidwatch]).
  • Przy bramce sprzed tras: kolumna pokazuje „wszystko”, zapis nie wysyła pola.

Co się zmieni na produkcji po scaleniu (po wdrożeniu bramki)

  • Stan tras ustawi już migracja bramki (Marcin *, Żona kidwatch) — tu niczego nie trzeba klikać; Profil po prostu to pokaże.
  • Alarmy techniczne kidwatch przestaną trafiać do żony; zwykłe powiadomienia o dzieciach dalej idą do obojga.
  • Jeśli ten PR wejdzie przed bramką: nic się nie psuje (pole kategoria ignorowane, kolumna pokazuje „wszystko”).

Testy

Lokalnie: uv run pytest 648 passed, uv run ruff check czysto, npm test 11 pass, vite build OK. Nowe: kategoria tylko dla WATCHDOG, sources→zrodla + walidacja, panel przekazuje trasy do bramki, utils Profilu (opis tras, nowy wiersz, bramka bez tras). Regresja „trader/czujka nie idzie do żony” jest w testach bramki (renacode-infra#2), bo tam zapada decyzja.

Żadnych wiadomości testowych nie wysłano.

🤖 Generated with Claude Code

https://claude.ai/code/session_018RT3yVGe6MjjyF1q4bLt5H

Bramka (renacode-infra, PR bramka-trasy-odbiorcow) ma trasy odbiorcow:
"*" = wszystko, "kidwatch" = tylko powiadomienia o dzieciach.

- notifiers/bramka: alarmy WATCHDOG ida z `kategoria: czujka`, wiec
  rodzina ("kidwatch") nie dostaje alarmow technicznych. Starsza bramka
  pole ignoruje.
- bramka_admin.normalize_recipients: opcjonalne `sources` -> `zrodla`;
  bez pola bramka zostawia trasy numeru. Log panelu z trasami.
- Profil: kolumna "Dostaje" (Wszystko / Tylko kidwatch / Inne: ...),
  nowy wiersz domyslnie "Tylko kidwatch", "Wyslij test (N)" liczy tylko
  odbiorcow z "Wszystko". Przy bramce sprzed tras: "wszystko", bez pola
  w zapisie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018RT3yVGe6MjjyF1q4bLt5H
@mbeczynski
mbeczynski merged commit 01b1c1c into main Oct 5, 2026
3 checks passed
@mbeczynski
mbeczynski deleted the bramka-trasy-odbiorcow branch October 5, 2026 05:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant