diff --git a/meshchatx/meshchat.py b/meshchatx/meshchat.py
index 350d624..0f96798 100644
--- a/meshchatx/meshchat.py
+++ b/meshchatx/meshchat.py
@@ -11687,9 +11687,9 @@ class ReticulumMeshChat:
dm = self.current_context.docs_manager
async def reticulum_docs_handler(request):
- path = request.match_info.get("filename", "index.html")
+ path = request.match_info.get("filename", "manual/index.html")
if not path:
- path = "index.html"
+ path = "manual/index.html"
if path.endswith("/"):
path += "index.html"
diff --git a/meshchatx/src/frontend/components/TutorialModal.vue b/meshchatx/src/frontend/components/TutorialModal.vue
index 30c3503..15961f9 100644
--- a/meshchatx/src/frontend/components/TutorialModal.vue
+++ b/meshchatx/src/frontend/components/TutorialModal.vue
@@ -511,7 +511,7 @@
{{ $t("tutorial.meshchatx_docs") }}
@@ -1180,7 +1180,7 @@
{{ $t("tutorial.read_meshchatx_docs") }}
@@ -1358,6 +1358,7 @@ import logoUrl from "../assets/images/logo.png";
import ToastUtils from "../js/ToastUtils";
import DialogUtils from "../js/DialogUtils";
import GlobalState from "../js/GlobalState";
+import { bundledReticulumDocsUrl } from "../js/reticulumDocsEntryUrl.js";
import LanguageSelector from "./LanguageSelector.vue";
import MaterialDesignIcon from "./MaterialDesignIcon.vue";
@@ -1420,6 +1421,9 @@ export default {
selectedBootstrapCount() {
return this.selectedBootstrapKeys.length;
},
+ reticulumBundledDocsUrl() {
+ return bundledReticulumDocsUrl(this.$i18n.locale);
+ },
},
beforeUnmount() {
if (this.onWindowResize) {
diff --git a/meshchatx/src/frontend/components/docs/DocsPage.vue b/meshchatx/src/frontend/components/docs/DocsPage.vue
index 30c31a3..102c19a 100644
--- a/meshchatx/src/frontend/components/docs/DocsPage.vue
+++ b/meshchatx/src/frontend/components/docs/DocsPage.vue
@@ -488,6 +488,7 @@