No description
  • JavaScript 86.7%
  • CSS 12%
  • HTML 1%
  • Dockerfile 0.3%
Find a file
Gjessing1 477b38f814
All checks were successful
docker / build-and-push (push) Successful in 25s
docker / deploy (push) Successful in 14s
feat: web push reminders delivered server-side
maily-convergence step 6, mirroring backend/src/push/webpush.ts. The
in-page setTimeout reminders die when the phone suspends the PWA; the
server now owns delivery so reminders arrive with the app closed.

- web-push dependency; VAPID keys generated on first use and persisted
  to /config/push.json; per-device subscriptions in
  /config/push-subscriptions.json
- minute-tick scheduler pushes event alarms (incl. expanded recurring
  occurrences) and task reminders (server port of taskAlarmDatetime,
  timezone-aware, covered by tests) with a persisted sent-key dedupe so
  restarts can't double-send; 404/410 responses drop the subscription
- /api/push/key, /api/push/subscribe, /api/push/unsubscribe
- service worker push handler (payload { title, body, tag })
- Settings gains a per-device 'Push reminders' toggle; devices with an
  active subscription skip the in-page timers to avoid double-notifying
2026-07-02 18:26:10 +00:00
.forgejo/workflows ci: auto-deploy after successful Forgejo build 2026-06-19 20:44:11 +00:00
.github/workflows ci: fold test gate into image build and skip CI on doc-only pushes 2026-06-13 08:37:27 +00:00
client feat: web push reminders delivered server-side 2026-07-02 18:26:10 +00:00
public feat: web push reminders delivered server-side 2026-07-02 18:26:10 +00:00
server feat: web push reminders delivered server-side 2026-07-02 18:26:10 +00:00
test feat: web push reminders delivered server-side 2026-07-02 18:26:10 +00:00
.dockerignore chore: add Prettier + ESLint matching maily, format repo, remove dead code 2026-07-02 18:06:24 +00:00
.env.example feat: add BYPASS_AUTH to skip password login behind SSO 2026-06-13 08:37:27 +00:00
.gitignore feat: undo snackbar for deletes; fix UTC DTSTART in computeNextDue 2026-06-08 11:32:04 +00:00
.prettierignore chore: add Prettier + ESLint matching maily, format repo, remove dead code 2026-07-02 18:06:24 +00:00
.prettierrc.json chore: add Prettier + ESLint matching maily, format repo, remove dead code 2026-07-02 18:06:24 +00:00
CLAUDE.md docs: allow TypeScript/Tailwind direction, npm deps and bundling; codify lint/typecheck/token rules 2026-07-02 18:01:22 +00:00
docker-compose.yml chore: add Prettier + ESLint matching maily, format repo, remove dead code 2026-07-02 18:06:24 +00:00
docker-entrypoint.sh feat: Phase 8 + 9 — dark mode, auth, animations, UI polish 2026-05-06 17:22:59 +00:00
Dockerfile feat: type-check the whole codebase with tsc --checkJs 2026-07-02 18:16:45 +00:00
eslint.config.mjs chore: add Prettier + ESLint matching maily, format repo, remove dead code 2026-07-02 18:06:24 +00:00
NLP.md chore: add Prettier + ESLint matching maily, format repo, remove dead code 2026-07-02 18:06:24 +00:00
package-lock.json feat: web push reminders delivered server-side 2026-07-02 18:26:10 +00:00
package.json feat: web push reminders delivered server-side 2026-07-02 18:26:10 +00:00
tsconfig.base.json feat: type-check the whole codebase with tsc --checkJs 2026-07-02 18:16:45 +00:00
tsconfig.client.json feat: type-check the whole codebase with tsc --checkJs 2026-07-02 18:16:45 +00:00
tsconfig.server.json feat: type-check the whole codebase with tsc --checkJs 2026-07-02 18:16:45 +00:00