@asteby/metacore-pwa 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +31 -2
- package/dist/provider.js.map +1 -1
- package/dist/push-service.d.ts +24 -1
- package/dist/push-service.d.ts.map +1 -1
- package/dist/push-service.js +72 -15
- package/dist/push-service.js.map +1 -1
- package/package.json +1 -1
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,OAAO,EAA2B,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAErG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C;AAID,2DAA2D;AAC3D,UAAU,wBAAyB,SAAQ,KAAK;IAC9C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,GAAG,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC7E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,cAAc,EAAE,wBAAwB,GAAG,IAAI,CAAA;KAChD;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAYD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,oCAAoC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,yBAAyB,GAAG,SAAS,KAAK,IAAI,CAAA;IAC5E,yCAAyC;IACzC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,GAAG,EACH,WAAW,EACX,QAAQ,EACR,qBAAsC,EACtC,sBAA6B,EAC7B,YAAY,EACZ,eAAe,GAChB,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,OAAO,EAA2B,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAErG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C;AAID,2DAA2D;AAC3D,UAAU,wBAAyB,SAAQ,KAAK;IAC9C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,GAAG,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC7E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,cAAc,EAAE,wBAAwB,GAAG,IAAI,CAAA;KAChD;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAYD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,oCAAoC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,yBAAyB,GAAG,SAAS,KAAK,IAAI,CAAA;IAC5E,yCAAyC;IACzC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,GAAG,EACH,WAAW,EACX,QAAQ,EACR,qBAAsC,EACtC,sBAA6B,EAC7B,YAAY,EACZ,eAAe,GAChB,EAAE,gBAAgB,+BA0SlB;AAED,wBAAgB,aAAa,IAAI,eAAe,CAM/C"}
|
package/dist/provider.js
CHANGED
|
@@ -60,7 +60,7 @@ export function PWAProvider({ children, api, pushOptions, messages, updateCheckI
|
|
|
60
60
|
// receives background/mobile push because nothing ever created the
|
|
61
61
|
// PushSubscription the server sends to.
|
|
62
62
|
if (autoSubscribeOnGranted && !subscribed && pushService.getSupported() && hasPermission()) {
|
|
63
|
-
subscribed = await pushService.subscribe();
|
|
63
|
+
subscribed = await pushService.subscribe({ silent: true, allowPrompt: false });
|
|
64
64
|
}
|
|
65
65
|
if (!cancelled)
|
|
66
66
|
setIsPushSubscribed(subscribed);
|
|
@@ -75,17 +75,46 @@ export function PWAProvider({ children, api, pushOptions, messages, updateCheckI
|
|
|
75
75
|
if (cancelled)
|
|
76
76
|
return;
|
|
77
77
|
if (hasPermission() && !pushService.isSubscribed()) {
|
|
78
|
-
void pushService.subscribe().then((ok) => {
|
|
78
|
+
void pushService.subscribe({ silent: true, allowPrompt: false }).then((ok) => {
|
|
79
79
|
if (!cancelled)
|
|
80
80
|
setIsPushSubscribed(ok);
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
}, 3000);
|
|
84
84
|
}
|
|
85
|
+
// Re-validate the subscription whenever the user returns to the app (tab
|
|
86
|
+
// visible / window focus). Web Push subscriptions silently expire/rotate
|
|
87
|
+
// after a while (e.g. hours idle); on return we re-POST/re-create so push
|
|
88
|
+
// keeps working without forcing a full reload. Silent + re-POST reactivates
|
|
89
|
+
// a server-side row that was deactivated after an expired-endpoint send.
|
|
90
|
+
const onVisible = () => {
|
|
91
|
+
if (cancelled || !autoSubscribeOnGranted)
|
|
92
|
+
return;
|
|
93
|
+
if (typeof document !== 'undefined' && document.visibilityState !== 'visible')
|
|
94
|
+
return;
|
|
95
|
+
if (!pushService.getSupported() || !hasPermission())
|
|
96
|
+
return;
|
|
97
|
+
void pushService.subscribe({ silent: true, allowPrompt: false }).then((ok) => {
|
|
98
|
+
if (!cancelled)
|
|
99
|
+
setIsPushSubscribed(ok);
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
if (typeof document !== 'undefined') {
|
|
103
|
+
document.addEventListener('visibilitychange', onVisible);
|
|
104
|
+
}
|
|
105
|
+
if (typeof window !== 'undefined') {
|
|
106
|
+
window.addEventListener('focus', onVisible);
|
|
107
|
+
}
|
|
85
108
|
return () => {
|
|
86
109
|
cancelled = true;
|
|
87
110
|
if (poll)
|
|
88
111
|
clearInterval(poll);
|
|
112
|
+
if (typeof document !== 'undefined') {
|
|
113
|
+
document.removeEventListener('visibilitychange', onVisible);
|
|
114
|
+
}
|
|
115
|
+
if (typeof window !== 'undefined') {
|
|
116
|
+
window.removeEventListener('focus', onVisible);
|
|
117
|
+
}
|
|
89
118
|
};
|
|
90
119
|
}, [autoSubscribeOnGranted]);
|
|
91
120
|
useEffect(() => {
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/push-service.d.ts
CHANGED
|
@@ -24,7 +24,30 @@ export declare class PushNotificationService {
|
|
|
24
24
|
private readonly opts;
|
|
25
25
|
constructor(api: PushApiClient, options?: PushServiceOptions);
|
|
26
26
|
init(): Promise<void>;
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Subscribe to Web Push and register the subscription with the backend.
|
|
29
|
+
*
|
|
30
|
+
* Robust against the two ways this used to fail in production:
|
|
31
|
+
* - A stale/rotated subscription (or one created under a different
|
|
32
|
+
* applicationServerKey / legacy gcm_sender_id) makes pushManager.subscribe
|
|
33
|
+
* throw "A subscription with a different applicationServerKey already
|
|
34
|
+
* exists" → surfaced as "Error al activar notificaciones push". We now drop
|
|
35
|
+
* any existing subscription whose key doesn't match and re-subscribe.
|
|
36
|
+
* - Push silently dying after the subscription expires: we always re-POST to
|
|
37
|
+
* the backend (re-activating the server-side row) and re-create the
|
|
38
|
+
* subscription when it's missing, so returning to the app restores it.
|
|
39
|
+
*
|
|
40
|
+
* @param opts.silent suppress toasts (auto/background refresh paths)
|
|
41
|
+
* @param opts.allowPrompt may call Notification.requestPermission() (true for
|
|
42
|
+
* user-initiated; false for auto paths so we never
|
|
43
|
+
* prompt unexpectedly)
|
|
44
|
+
*/
|
|
45
|
+
subscribe(opts?: {
|
|
46
|
+
silent?: boolean;
|
|
47
|
+
allowPrompt?: boolean;
|
|
48
|
+
}): Promise<boolean>;
|
|
49
|
+
/** True if the existing subscription's applicationServerKey equals `appKey`. */
|
|
50
|
+
private keyMatches;
|
|
28
51
|
unsubscribe(): Promise<boolean>;
|
|
29
52
|
testNotification(): Promise<void>;
|
|
30
53
|
isSubscribed(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-service.d.ts","sourceRoot":"","sources":["../src/push-service.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;IACvD,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;CACzE;AAWD,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;gBAEvC,GAAG,EAAE,aAAa,EAAE,OAAO,GAAE,kBAAuB;IAe1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"push-service.d.ts","sourceRoot":"","sources":["../src/push-service.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;IACvD,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;CACzE;AAWD,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;gBAEvC,GAAG,EAAE,aAAa,EAAE,OAAO,GAAE,kBAAuB;IAe1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAuEzF,gFAAgF;IAChF,OAAO,CAAC,UAAU;IAWZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAuB/B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvC,YAAY,IAAI,OAAO;IAIvB,YAAY,IAAI,OAAO;IAIvB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,gBAAgB;CAczB"}
|
package/dist/push-service.js
CHANGED
|
@@ -45,30 +45,73 @@ export class PushNotificationService {
|
|
|
45
45
|
console.error('Failed to initialize push service:', error);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Subscribe to Web Push and register the subscription with the backend.
|
|
50
|
+
*
|
|
51
|
+
* Robust against the two ways this used to fail in production:
|
|
52
|
+
* - A stale/rotated subscription (or one created under a different
|
|
53
|
+
* applicationServerKey / legacy gcm_sender_id) makes pushManager.subscribe
|
|
54
|
+
* throw "A subscription with a different applicationServerKey already
|
|
55
|
+
* exists" → surfaced as "Error al activar notificaciones push". We now drop
|
|
56
|
+
* any existing subscription whose key doesn't match and re-subscribe.
|
|
57
|
+
* - Push silently dying after the subscription expires: we always re-POST to
|
|
58
|
+
* the backend (re-activating the server-side row) and re-create the
|
|
59
|
+
* subscription when it's missing, so returning to the app restores it.
|
|
60
|
+
*
|
|
61
|
+
* @param opts.silent suppress toasts (auto/background refresh paths)
|
|
62
|
+
* @param opts.allowPrompt may call Notification.requestPermission() (true for
|
|
63
|
+
* user-initiated; false for auto paths so we never
|
|
64
|
+
* prompt unexpectedly)
|
|
65
|
+
*/
|
|
66
|
+
async subscribe(opts = {}) {
|
|
67
|
+
const { silent = false, allowPrompt = true } = opts;
|
|
68
|
+
const fail = (msg) => {
|
|
69
|
+
if (!silent)
|
|
70
|
+
toast.error(msg);
|
|
51
71
|
return false;
|
|
72
|
+
};
|
|
73
|
+
if (!this.isSupportedFlag) {
|
|
74
|
+
return fail('Tu navegador no soporta notificaciones push');
|
|
52
75
|
}
|
|
53
76
|
if (!this.vapidPublicKey) {
|
|
54
77
|
await this.init();
|
|
55
78
|
if (!this.vapidPublicKey) {
|
|
56
|
-
|
|
57
|
-
return false;
|
|
79
|
+
return fail('No se pudo obtener la clave del servidor');
|
|
58
80
|
}
|
|
59
81
|
}
|
|
60
82
|
try {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
83
|
+
if (Notification.permission !== 'granted') {
|
|
84
|
+
if (!allowPrompt)
|
|
85
|
+
return false; // auto path: never prompt
|
|
86
|
+
const permission = await Notification.requestPermission();
|
|
87
|
+
if (permission !== 'granted') {
|
|
88
|
+
return fail('Permiso de notificaciones denegado');
|
|
89
|
+
}
|
|
65
90
|
}
|
|
91
|
+
const appKey = this.urlBase64ToUint8Array(this.vapidPublicKey);
|
|
66
92
|
const registration = await navigator.serviceWorker.ready;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
93
|
+
// Reuse an existing subscription only if it was created with the SAME
|
|
94
|
+
// VAPID key; otherwise drop it (rotated key / legacy gcm_sender_id) so the
|
|
95
|
+
// subscribe below doesn't throw.
|
|
96
|
+
let subscription = await registration.pushManager.getSubscription();
|
|
97
|
+
if (subscription && !this.keyMatches(subscription, appKey)) {
|
|
98
|
+
try {
|
|
99
|
+
await subscription.unsubscribe();
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
/* ignore — we'll try to subscribe fresh anyway */
|
|
103
|
+
}
|
|
104
|
+
subscription = null;
|
|
105
|
+
}
|
|
106
|
+
if (!subscription) {
|
|
107
|
+
subscription = await registration.pushManager.subscribe({
|
|
108
|
+
userVisibleOnly: true,
|
|
109
|
+
applicationServerKey: appKey,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
71
112
|
this.subscription = subscription;
|
|
113
|
+
// Always (re-)register with the backend so an expired/deactivated row is
|
|
114
|
+
// reactivated when the user comes back.
|
|
72
115
|
const keys = subscription.toJSON().keys;
|
|
73
116
|
await this.api.post(this.opts.subscribePath, {
|
|
74
117
|
endpoint: subscription.endpoint,
|
|
@@ -76,15 +119,29 @@ export class PushNotificationService {
|
|
|
76
119
|
auth: keys.auth,
|
|
77
120
|
device_type: this.detectDeviceType(),
|
|
78
121
|
});
|
|
79
|
-
|
|
122
|
+
if (!silent)
|
|
123
|
+
toast.success('Notificaciones push activadas');
|
|
80
124
|
return true;
|
|
81
125
|
}
|
|
82
126
|
catch (error) {
|
|
83
127
|
// eslint-disable-next-line no-console
|
|
84
128
|
console.error('Failed to subscribe to push:', error);
|
|
85
|
-
|
|
129
|
+
return fail('Error al activar notificaciones push');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** True if the existing subscription's applicationServerKey equals `appKey`. */
|
|
133
|
+
keyMatches(subscription, appKey) {
|
|
134
|
+
const existing = subscription.options?.applicationServerKey;
|
|
135
|
+
if (!existing)
|
|
136
|
+
return false; // legacy sub (no VAPID key) → treat as mismatch
|
|
137
|
+
const a = new Uint8Array(existing);
|
|
138
|
+
if (a.length !== appKey.length)
|
|
86
139
|
return false;
|
|
140
|
+
for (let i = 0; i < a.length; i++) {
|
|
141
|
+
if (a[i] !== appKey[i])
|
|
142
|
+
return false;
|
|
87
143
|
}
|
|
144
|
+
return true;
|
|
88
145
|
}
|
|
89
146
|
async unsubscribe() {
|
|
90
147
|
if (!this.subscription) {
|
package/dist/push-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-service.js","sourceRoot":"","sources":["../src/push-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AA2B9B,MAAM,OAAO,uBAAuB;IAC1B,cAAc,GAAkB,IAAI,CAAA;IACpC,YAAY,GAA4B,IAAI,CAAA;IACnC,eAAe,CAAS;IACxB,GAAG,CAAe;IAClB,IAAI,CAA8B;IAEnD,YAAY,GAAkB,EAAE,UAA8B,EAAE;QAC9D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,IAAI,GAAG;YACV,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,kBAAkB;YAC1D,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,iBAAiB;YACzD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,mBAAmB;YAC/D,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY;SAC3C,CAAA;QACD,IAAI,CAAC,eAAe;YAClB,OAAO,SAAS,KAAK,WAAW;gBAChC,eAAe,IAAI,SAAS;gBAC5B,OAAO,MAAM,KAAK,WAAW;gBAC7B,aAAa,IAAI,MAAM,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC/E,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAA;YAC/C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAA;YACxD,IAAI,CAAC,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,qEAAqE;YACrE,mEAAmE;YACnE,0BAA0B;YAC1B,MAAM,MAAM,GAAI,KAA4C,EAAE,QAAQ,EAAE,MAAM,CAAA;YAC9E,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAM;YAC1B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"push-service.js","sourceRoot":"","sources":["../src/push-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AA2B9B,MAAM,OAAO,uBAAuB;IAC1B,cAAc,GAAkB,IAAI,CAAA;IACpC,YAAY,GAA4B,IAAI,CAAA;IACnC,eAAe,CAAS;IACxB,GAAG,CAAe;IAClB,IAAI,CAA8B;IAEnD,YAAY,GAAkB,EAAE,UAA8B,EAAE;QAC9D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,IAAI,GAAG;YACV,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,kBAAkB;YAC1D,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,iBAAiB;YACzD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,mBAAmB;YAC/D,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY;SAC3C,CAAA;QACD,IAAI,CAAC,eAAe;YAClB,OAAO,SAAS,KAAK,WAAW;gBAChC,eAAe,IAAI,SAAS;gBAC5B,OAAO,MAAM,KAAK,WAAW;gBAC7B,aAAa,IAAI,MAAM,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC/E,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAA;YAC/C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAA;YACxD,IAAI,CAAC,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,qEAAqE;YACrE,mEAAmE;YACnE,0BAA0B;YAC1B,MAAM,MAAM,GAAI,KAA4C,EAAE,QAAQ,EAAE,MAAM,CAAA;YAC9E,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAM;YAC1B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,SAAS,CAAC,OAAoD,EAAE;QACpE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;QACnD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,6CAA6C,CAAC,CAAA;QAC5D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,0CAA0C,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW;oBAAE,OAAO,KAAK,CAAA,CAAC,0BAA0B;gBACzD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAA;gBACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC,oCAAoC,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC9D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAA;YAExD,sEAAsE;YACtE,2EAA2E;YAC3E,iCAAiC;YACjC,IAAI,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;YACnE,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,YAAY,CAAC,WAAW,EAAE,CAAA;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,kDAAkD;gBACpD,CAAC;gBACD,YAAY,GAAG,IAAI,CAAA;YACrB,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;oBACtD,eAAe,EAAE,IAAI;oBACrB,oBAAoB,EAAE,MAAsB;iBAC7C,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;YAEhC,yEAAyE;YACzE,wCAAwC;YACxC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAuC,CAAA;YAC1E,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC3C,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACrC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;YAC3D,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAA;YACpD,OAAO,IAAI,CAAC,sCAAsC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,UAAU,CAAC,YAA8B,EAAE,MAAkB;QACnE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAA;QAC3D,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA,CAAC,gDAAgD;QAC5E,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,QAAuB,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACtC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAA;YAErC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC7C,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;aACrC,CAAC,CAAA;YAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAA;YACjD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;YAC9C,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACjD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvC,KAAK,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAA;IACnC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAEO,qBAAqB,CAAC,YAAoB;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAE7E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACxC,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAEO,gBAAgB;QACtB,IAAI,OAAO,SAAS,KAAK,WAAW;YAAE,OAAO,KAAK,CAAA;QAClD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAA;QAEnD,IAAI,gEAAgE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrF,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
|
package/package.json
CHANGED