diff --git a/app/App/PwaManifestBuilder.php b/app/App/PwaManifestBuilder.php
index 4902d354d..ba4331a0f 100644
--- a/app/App/PwaManifestBuilder.php
+++ b/app/App/PwaManifestBuilder.php
@@ -6,6 +6,11 @@ class PwaManifestBuilder
{
public function build(): array
{
+ // Note, while we attempt to use the user's preference here, the request to the manifest
+ // does not start a session, so we won't have current user context.
+ // This was attempted but removed since manifest calls could affect user session
+ // history tracking and back redirection.
+ // Context: https://github.com/BookStackApp/BookStack/issues/4649
$darkMode = (bool) setting()->getForCurrentUser('dark-mode-enabled');
$appName = setting('app-name');
diff --git a/resources/views/layouts/base.blade.php b/resources/views/layouts/base.blade.php
index 4acabbcac..cf15e5426 100644
--- a/resources/views/layouts/base.blade.php
+++ b/resources/views/layouts/base.blade.php
@@ -29,7 +29,7 @@
-
+
@yield('head')
diff --git a/tests/PwaManifestTest.php b/tests/PwaManifestTest.php
index ad9479048..c66f8b360 100644
--- a/tests/PwaManifestTest.php
+++ b/tests/PwaManifestTest.php
@@ -24,9 +24,7 @@ class PwaManifestTest extends TestCase
{
$html = $this->asViewer()->withHtml($this->get('/'));
- // crossorigin attribute is required to send cookies with the manifest,
- // so it can react correctly to user preferences (dark/light mode).
- $html->assertElementExists('head link[rel="manifest"][href$="manifest.json"][crossorigin="use-credentials"]');
+ $html->assertElementExists('head link[rel="manifest"][href$="manifest.json"]');
$html->assertElementExists('head meta[name="mobile-web-app-capable"][content="yes"]');
}