Feature/168 browser web push#450
Conversation
…eb-push # Conflicts: # translations/missing/preference.yaml
Validate endpoint ownership and VAPID configuration, make migrations and queue leases safe, and reconcile subscriptions across preference and logout transitions. Align retention, member exports, privacy copy, and regression coverage with the stored push data. Refs BeWelcome#168
| @@ -38,6 +43,9 @@ public function __construct( | |||
| private EntityManagerInterface $entityManager, | |||
| private LoggerInterface $logger, | |||
| private Mailer $mailer, | |||
| private BrowserNotificationService $browserNotificationService, | |||
There was a problem hiding this comment.
Shouldn't these be the Interfaces instead of the real thing? Otherwise I do not see why the interfaces were introduced in the first place.
There was a problem hiding this comment.
There were no interfaces for those services, and the existing interfaces do not expose their queue() or process() operations. So, since each service currently has only one implementation, I think that introducing a new interface would be strange
Do you think we should add a new interface?
There was a problem hiding this comment.
No, I do not think we need an interface here. There isn't the need for further abstraction. The reason for my comment was that you introduced the interface but didn't use it afterwards.
There was a problem hiding this comment.
Aren't we cleaning up on the browser pushes? Why extract them?
There was a problem hiding this comment.
I made the cleanup time-based - when browser-push:retention runs, notifications older than 7 days are deleted together with their delivery records, and inactive subscriptions older than one year are also removed
Until then, everything remains stored and linked to the member (recent or pending notifications, their delivery attempts/status/errors, and active subscriptions). Therefore, they should be included in the data export
There was a problem hiding this comment.
Okay. Why do we keep the data for 7 days then? Isn't 1 enough and therefore doesn't need to be extracted?
To close #168
No: notifications disabled.OpenOnly: notifications displayed while BeWelcome is open.Always: Web Push delivery with BeWelcome tabs closed.Deployment notes:
WEB_PUSH_VAPID_SUBJECT,WEB_PUSH_VAPID_PUBLIC_KEY, andWEB_PUSH_VAPID_PRIVATE_KEYvalues.bin/console send:notificationsfrequently.bin/console data:retentiondaily.translations/missing.