diff --git a/packages/frontend/src/components/MkPushNotificationAllowButton.vue b/packages/frontend/src/components/MkPushNotificationAllowButton.vue index 9c37eb5e72..c651d3a3f5 100644 --- a/packages/frontend/src/components/MkPushNotificationAllowButton.vue +++ b/packages/frontend/src/components/MkPushNotificationAllowButton.vue @@ -78,7 +78,7 @@ function subscribe() { // SEE: https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe#Parameters return promiseDialog(registration.value.pushManager.subscribe({ userVisibleOnly: true, - applicationServerKey: urlBase64ToUint8Array(instance.swPublickey), + applicationServerKey: urlBase64ToBase64(instance.swPublickey), }) .then(async subscription => { pushSubscription.value = subscription; @@ -131,22 +131,16 @@ function encode(buffer: ArrayBuffer | null) { } /** - * Convert the URL safe base64 string to a Uint8Array + * Convert the URL safe base64 string to a base64 string * @param base64String base64 string */ -function urlBase64ToUint8Array(base64String: string): Uint8Array { +function urlBase64ToBase64(base64String: string): string { const padding = '='.repeat((4 - base64String.length % 4) % 4); const base64 = (base64String + padding) .replace(/-/g, '+') .replace(/_/g, '/'); - const rawData = window.atob(base64); - const outputArray = new Uint8Array(rawData.length); - - for (let i = 0; i < rawData.length; ++i) { - outputArray[i] = rawData.charCodeAt(i); - } - return outputArray; + return base64; } if (navigator.serviceWorker == null) { diff --git a/packages/frontend/src/components/global/MkAvatar.vue b/packages/frontend/src/components/global/MkAvatar.vue index 8a9cc5286a..c2548cc7be 100644 --- a/packages/frontend/src/components/global/MkAvatar.vue +++ b/packages/frontend/src/components/global/MkAvatar.vue @@ -84,7 +84,6 @@ const bound = computed(() => props.link : {}); const url = computed(() => { - if (props.user.avatarUrl == null) return null; if (prefer.s.disableShowingAnimatedImages || prefer.s.dataSaver.avatar) return getStaticImageUrl(props.user.avatarUrl); return props.user.avatarUrl; }); diff --git a/packages/frontend/src/components/global/RouterView.vue b/packages/frontend/src/components/global/RouterView.vue index 3a508eaca0..d42beb531d 100644 --- a/packages/frontend/src/components/global/RouterView.vue +++ b/packages/frontend/src/components/global/RouterView.vue @@ -54,14 +54,10 @@ router.useListener('change', ({ resolved }) => { if (resolved == null || 'redirect' in resolved.route) return; if (resolved.route.path === currentRoutePath && deepEqual(resolved.props, currentPageProps.value)) return; - function _() { - currentPageComponent.value = resolved.route.component; - currentPageProps.value = resolved.props; - key.value = router.getCurrentFullPath(); - currentRoutePath = resolved.route.path; - } - - _(); + currentPageComponent.value = resolved.route.component; + currentPageProps.value = resolved.props; + key.value = router.getCurrentFullPath(); + currentRoutePath = resolved.route.path; }); diff --git a/packages/frontend/src/pages/admin/modlog.vue b/packages/frontend/src/pages/admin/modlog.vue index b7e5d6b219..08bdc8d254 100644 --- a/packages/frontend/src/pages/admin/modlog.vue +++ b/packages/frontend/src/pages/admin/modlog.vue @@ -78,7 +78,7 @@ const timeline = computed(() => { return paginator.items.value.map(x => ({ id: x.id, timestamp: new Date(x.createdAt).getTime(), - data: x, + data: x as Misskey.entities.ModerationLog, })); }); diff --git a/packages/frontend/src/pages/settings/webhook.new.vue b/packages/frontend/src/pages/settings/webhook.new.vue index 6c4dff5551..5f36e6bcfc 100644 --- a/packages/frontend/src/pages/settings/webhook.new.vue +++ b/packages/frontend/src/pages/settings/webhook.new.vue @@ -40,6 +40,7 @@ SPDX-License-Identifier: AGPL-3.0-only