feat: add push notification infrastructure with VAPID key generation and PWA manifest support

- Introduce push notification module with VAPID certificate generation, Web Push encryption, and subscription management
- Add push registration table index and database schema for storing user subscriptions
- Integrate push notification dispatch into existing notification creation flow via async background tasks
- Include PWA manifest, service worker, and install prompt UI elements in base template
- Register new push router and ensure certificate initialization on application startup
- Add configuration variables for VAPID private/public key file paths and subscription contact email
- Update JavaScript application entry point with PushManager and PwaInstaller modules
- Extend top navigation bar with hidden install and push enable buttons for authenticated users
This commit is contained in:
2026-05-23 08:03:27 +00:00
parent 1aca8b7f76
commit 387b2d8f96
11 changed files with 129 additions and 5 deletions
+4
View File
@@ -7,6 +7,8 @@ import { MobileNav } from "./MobileNav.js";
import { CommentManager } from "./CommentManager.js";
import { ContentEnhancer } from "./ContentEnhancer.js";
import { DomUtils } from "./DomUtils.js";
import { PushManager } from "./PushManager.js";
import { PwaInstaller } from "./PwaInstaller.js";
class Application {
constructor() {
@@ -19,6 +21,8 @@ class Application {
this.comments = new CommentManager();
this.content = new ContentEnhancer();
this.dom = new DomUtils();
this.push = new PushManager();
this.pwa = new PwaInstaller();
}
}