У меня есть PWA с веб-уведомлениями pu sh, которые деформированы в TWA. если TWA открыт в фоновом режиме, то нажатие на уведомление ничего не делает. если я закрываю TWA, то нажатие на уведомление открывает новую вкладку chrome или фокусирует ожидающую вкладку, как и ожидалось.
, вот мой код работника службы
self.addEventListener('notificationclick', function(event) {
event.notification.close();
event.waitUntil(
clients
.matchAll({
type: 'window',
includeUncontrolled: true,
})
.then(function(clientList) {
for (let i = 0; i < clientList.length; i++) {
const client = clientList[i];
const isChatAppUrl =
client.url.includes('.com/messages') ||
client.url.includes('.co/messages');
if (isChatAppUrl && 'focus' in client) {
client.postMessage({
type: 'NOTIFICATION_CLICK',
payload: event.notification.data.link,
});
return client.focus();
}
}
if (clients.openWindow) {
return clients.openWindow(event.notification.data.link);
}
}),
);
});
при отладке. проблема с TWA, открытым в фоновом режиме, я заметил, что client.focus()
не удается с Not allowed to open a window