diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index fa7ad1aa4d317f35f7f197f9b148bcd7282ce931..0003e9bd88402a72da069eba5083c30682283834 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -16,8 +16,8 @@ Fixed
 * When navigating from legacy to legacy page, the latter would reload once for no reason.
 * The oauth authorization page was not accessible when the service worker was active.
 
-`3.1.1` - 2023-07-01
---------------------
+`3.1.1`_ - 2023-07-01
+---------------------
 
 Fixed
 ~~~~~
@@ -172,13 +172,13 @@ Changed
 
 * Show languages in local language
 * Rewrite of frontend (base template) using Vuetify
-  * Frontend bundling migrated from Webpack to Vite (cf. installation docs)
-  * [Dev] The runuwsgi dev server now starts a Vite dev server with HMR in the
-    background
+    * Frontend bundling migrated from Webpack to Vite (cf. installation docs)
+    * [Dev] The runuwsgi dev server now starts a Vite dev server with HMR in the
+      background
 * OIDC scope "profile" now exposes the avatar instead of the official photo
 * Based on Django 4.0
-  * Use built-in Redis cache backend
-  * Introduce PBKDF2-SHA1 password hashing
+    * Use built-in Redis cache backend
+    * Introduce PBKDF2-SHA1 password hashing
 * Persistent database connections are now health-checked as to not fail
   requests
 * [Dev] The undocumented field `check` on `DataCheckResult` was renamed to `data_check`
@@ -204,8 +204,8 @@ Removed
 
 * iCal feed URLs for birthdays (will be reintroduced later)
 * [Dev] Django debug toolbar
-  * It caused major performance issues and is not useful with the new
-    frontend anymore
+    * It caused major performance issues and is not useful with the new
+      frontend anymore
 
 `2.12.3`_ - 2023-03-07
 ----------------------
@@ -356,9 +356,7 @@ Fixed
 * The menu button used to be displayed twice on smaller screens.
 * The icons were loaded from external servers instead from local server.
 * Weekdays were not translated if system locales were missing
-
-  * Added locales-all to base image and note to docs
-
+    * Added locales-all to base image and note to docs
 * The icons in the account menu were still the old ones.
 * Due to a merge error, the once removed account menu in the sidenav appeared again.
 * Scheduled notifications were shown on dashboard before time.
@@ -562,11 +560,9 @@ Changed
 
 * Configuration files are now deep merged by default
 * Improvements for shell_plus module loading
-
-  * core.Group model now takes precedence over auth.Group
-  * Name collisions are resolved by prefixing with the app label
-  * Apps can extend SHELL_PLUS_APP_PREFIXES and SHELL_PLUS_DONT_LOAD
-
+    * core.Group model now takes precedence over auth.Group
+    * Name collisions are resolved by prefixing with the app label
+    * Apps can extend SHELL_PLUS_APP_PREFIXES and SHELL_PLUS_DONT_LOAD
 * [Docker] Base image now contains curl, grep, less, sed, and pspg
 * Views raising a 404 error can now customise the message that is displayed on the error page
 * OpenID Connect is enabled by default now, without RSA support
diff --git a/aleksis/core/frontend/components/LegacyBaseTemplate.vue b/aleksis/core/frontend/components/LegacyBaseTemplate.vue
index 7e7a1a52ca5198269d91d156137536a471994470..6dc73749d8bb716bd32089e11afe36f6d93455c9 100644
--- a/aleksis/core/frontend/components/LegacyBaseTemplate.vue
+++ b/aleksis/core/frontend/components/LegacyBaseTemplate.vue
@@ -131,7 +131,9 @@ export default {
     },
   },
   mounted() {
-    this.$refs.contentIFrame.addEventListener("load", (e) => {this.load()});
+    this.$refs.contentIFrame.addEventListener("load", (e) => {
+      this.load();
+    });
     this.iFrameSrc = "/django" + this.$route.path + this.queryString;
   },
   name: "LegacyBaseTemplate",
diff --git a/aleksis/core/vite.config.js b/aleksis/core/vite.config.js
index 86660064e52a75d2faa525a93b41046383176736..415d12aa00f6b8a2bf2747e47d5cc3e32fd7aaa3 100644
--- a/aleksis/core/vite.config.js
+++ b/aleksis/core/vite.config.js
@@ -201,7 +201,9 @@ export default defineConfig({
         navigateFallback: "/",
         directoryIndex: null,
         navigateFallbackAllowlist: [
-          new RegExp("^/(?!(django|admin|graphql|__icons__|oauth/authorize))[^.]*$"),
+          new RegExp(
+            "^/(?!(django|admin|graphql|__icons__|oauth/authorize))[^.]*$"
+          ),
         ],
         additionalManifestEntries: [
           { url: "/", revision: crypto.randomUUID() },