nordabiz/blueprints
Maciej Pienczyn c9985ba51a
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
feat(notifications): D.2+D.3 — forum, broadcasty Izby, wydarzenia, cron 24h
Rozszerzenie powiadomień o kolejne typy zdarzeń, z symetrycznymi togglami
e-mail i push w /konto/prywatnosc.

Migracje 103 + 104 — 6 nowych kolumn preferencji e-mail + NordaEvent.reminder_24h_sent_at.

Triggery:
- Forum odpowiedź → push do autora wątku (notify_push_forum_reply)
- Forum cytat (> **Imię** napisał(a):) → push + email do cytowanego
  (notify_push/email_forum_quote)
- Admin publikuje aktualność → broadcast push (ON) + email (OFF)
  do aktywnych członków (notify_push/email_announcements)
- Board: utworzenie / publikacja programu / publikacja protokołu
  → broadcast push + opt-in email (notify_push/email_board_meetings)
- Nowe wydarzenie w kalendarzu → broadcast push + email (oba ON)
  (notify_push/email_event_invites)
- Cron scripts/event_reminders_cron.py co godzinę — wydarzenia za 23-25h,
  dla zapisanych (EventAttendee.status != 'declined') push + email,
  znacznik NordaEvent.reminder_24h_sent_at żeby nie dublować.

Email defaults dobrane, by nie zalać inbox: broadcast OFF (announcements,
board, forum_reply), personalne/actionable ON (forum_quote, event_invites,
event_reminders).

Wszystkie nowe e-maile mają jednym-kliknięciem unsubscribe (RFC 8058
+ link w stopce) — unsubscribe_tokens.py rozszerzony o nowe typy.

Cron entry do dodania na prod (osobny krok, bo to edycja crontaba):
  0 * * * * cd /var/www/nordabiznes && venv/bin/python3 scripts/event_reminders_cron.py

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 18:20:38 +02:00
..
admin feat(notifications): D.2+D.3 — forum, broadcasty Izby, wydarzenia, cron 24h 2026-04-14 18:20:38 +02:00
api fix: auto-clear KRS people (zarząd/wspólnicy) when CEIDG data is fetched 2026-04-08 18:02:49 +02:00
audit feat: capture and display Google account email for OAuth connections 2026-03-11 07:32:43 +01:00
auth feat(notifications): D.2+D.3 — forum, broadcasty Izby, wydarzenia, cron 24h 2026-04-14 18:20:38 +02:00
benefits claude-mem plugin v10.3.3 2026-02-23 10:33:26 +01:00
board feat(notifications): D.2+D.3 — forum, broadcasty Izby, wydarzenia, cron 24h 2026-04-14 18:20:38 +02:00
chat fix: handle lazy loading error for company.category in chat routes 2026-03-28 05:54:49 +01:00
community feat(email): one-click unsubscribe w mailach powiadomień (RFC 8058) 2026-04-14 17:56:36 +02:00
education security(permissions): restrict guest access to members-only areas 2026-03-19 16:23:56 +01:00
forum feat(notifications): D.2+D.3 — forum, broadcasty Izby, wydarzenia, cron 24h 2026-04-14 18:20:38 +02:00
it_audit feat(security): Restrict audit access to single designated user 2026-02-09 12:31:10 +01:00
membership feat(membership): record workflow history for all status changes 2026-03-30 13:39:55 +02:00
messages feat(email): one-click unsubscribe w mailach powiadomień (RFC 8058) 2026-04-14 17:56:36 +02:00
public docs(releases): v1.67.0 — powiadomienia push + panel preferencji + unsubscribe 2026-04-14 17:58:17 +02:00
push feat(push): Web Push (VAPID + pywebpush) dla prywatnych wiadomości 2026-04-14 16:56:49 +02:00
reports feat(reports): add membership structure breakdown to fees report 2026-03-31 11:48:57 +02:00
unsubscribe feat(email): one-click unsubscribe w mailach powiadomień (RFC 8058) 2026-04-14 17:56:36 +02:00
__init__.py feat(email): one-click unsubscribe w mailach powiadomień (RFC 8058) 2026-04-14 17:56:36 +02:00
CLAUDE.md chore: Clean up CLAUDE.md files and remove old downloaded files 2026-02-08 18:02:35 +01:00
pej_constants.py fix(pej): use SessionLocal instead of db_session 2026-03-16 18:30:24 +01:00