Skip to content

Commit 1efbea3

Browse files
committed
Revert "feat(docs): add self-referential deep links from docs to app screens"
This reverts commit 150fe62.
1 parent 150fe62 commit 1efbea3

13 files changed

Lines changed: 9 additions & 108 deletions

File tree

docs/developer/navigation-and-deep-links.md

Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,14 @@ meshtastic://meshtastic/{path}
5454

5555
| URI Path | Route | Notes |
5656
|----------|-------|-------|
57-
| `/connections` | `ConnectionsRoute.ConnectionsGraph` | Connections screen |
5857
| `/settings` | `SettingsRoute.SettingsGraph(null)` | Settings root |
59-
| `/settings/module-config` | `SettingsRoute.ModuleConfiguration` | Module config |
6058
| `/settings/helpDocs` | `SettingsRoute.HelpDocs` | Docs browser |
6159
| `/settings/helpDocs/{pageId}` | `SettingsRoute.HelpDocPage(pageId)` | Specific doc page |
6260
| `/settings/help-docs` | `SettingsRoute.HelpDocs` | Compatibility alias |
63-
| `/nodes` | `NodesRoute.NodesGraph` | Node list |
61+
| `/nodes` | `NodesRoute.Nodes` | Node list |
6462
| `/nodes/{destNum}` | `NodesRoute.NodeDetail(destNum)` | Node detail |
65-
| `/messages` | `ContactsRoute.ContactsGraph` | Conversation list |
6663
| `/messages/{contactKey}` | `ContactsRoute.Messages(contactKey)` | Conversation |
6764
| `/map` | `MapRoute.Map(null)` | Map view |
68-
| `/firmware` | `FirmwareRoute.FirmwareGraph` | Firmware screen |
69-
| `/channels` | `ChannelsRoute.ChannelsGraph` | Channel editor |
7065

7166
### Backstack Synthesis
7267

@@ -122,46 +117,5 @@ fun `help docs deep link routes correctly`() {
122117
}
123118
```
124119

125-
## Self-Referential Deep Links in Docs
126-
127-
User guide documentation pages can include a `deep_link` frontmatter field that maps the doc page to its corresponding app screen. When present, the in-app docs viewer shows an **"Open in App"** button in the top bar, allowing users to jump directly from documentation to the live feature.
128-
129-
### How It Works
130-
131-
1. The `deep_link` field in frontmatter specifies the target `meshtastic://` URI.
132-
2. `DocBundleLoader` populates `DocPage.deepLink` from the page definition.
133-
3. `DocsPageRouteScreen` renders a `TextButton` in the top app bar when `deepLink` is non-null.
134-
4. Tapping the button fires the URI through the platform `UriHandler`, which routes back through `UIViewModel.handleDeepLink()``DeepLinkRouter`.
135-
136-
### Pages with Deep Links
137-
138-
| Doc Page | Deep Link | Target Screen |
139-
|----------|-----------|---------------|
140-
| Connections | `meshtastic://meshtastic/connections` | Connections |
141-
| Messages & Channels | `meshtastic://meshtastic/messages` | Conversations |
142-
| Nodes | `meshtastic://meshtastic/nodes` | Node list |
143-
| Map & Waypoints | `meshtastic://meshtastic/map` | Map |
144-
| Settings — Radio & User | `meshtastic://meshtastic/settings` | Settings root |
145-
| Settings — Modules & Admin | `meshtastic://meshtastic/settings/module-config` | Module config |
146-
| Firmware Updates | `meshtastic://meshtastic/firmware` | Firmware |
147-
148-
### Adding a Deep Link to a Doc Page
149-
150-
1. Add `deep_link: meshtastic://meshtastic/{path}` to the page's YAML frontmatter.
151-
2. Add the matching `deepLink` parameter to the page's `UserPageDef` in `DocBundleLoader`.
152-
3. The in-app docs viewer picks up the deep link automatically — no further UI changes needed.
153-
154-
> **Note:** Deep links in frontmatter are ignored by Jekyll and Docusaurus, ensuring no broken links on external doc sites. The `meshtastic://` URI scheme is only active in-app.
155-
156-
### Inline Deep Links in Markdown
157-
158-
The `DocsLinkUriHandler` also intercepts `meshtastic://` URIs in markdown content. Authors can use inline deep links for contextual "try it now" actions:
159-
160-
```markdown
161-
Configure your LoRa preset in [Settings](meshtastic://meshtastic/settings/lora).
162-
```
163-
164-
These links only work in the in-app docs viewer. On Jekyll/Docusaurus, they render as non-functional links. Use sparingly and always provide equivalent text instructions.
165-
166120
---
167121

docs/user/connections.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Connections
33
nav_order: 2
44
last_updated: 2026-05-13
55
description: Connect your phone or desktop to a Meshtastic radio via Bluetooth, USB, or TCP/IP.
6-
deep_link: meshtastic://meshtastic/connections
76
aliases:
87
- bluetooth
98
- usb

docs/user/firmware.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Firmware Updates
33
nav_order: 13
44
last_updated: 2026-05-13
55
description: Update your radio firmware over Bluetooth — OTA process, version channels, pre-flight checks, and recovery.
6-
deep_link: meshtastic://meshtastic/firmware
76
aliases:
87
- firmware
98
- update

docs/user/map-and-waypoints.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Map & Waypoints
33
nav_order: 6
44
last_updated: 2026-05-13
55
description: View node positions on the map, create and share waypoints, and manage position sharing and privacy.
6-
deep_link: meshtastic://meshtastic/map
76
aliases:
87
- map
98
- waypoints

docs/user/messages-and-channels.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Messages & Channels
33
nav_order: 3
44
last_updated: 2026-05-13
55
description: Send and receive messages, manage channels, configure encryption, and use quick chat, reactions, and message actions.
6-
deep_link: meshtastic://meshtastic/messages
76
aliases:
87
- channels
98
- direct-messages

docs/user/nodes.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Nodes
33
nav_order: 4
44
last_updated: 2026-05-13
55
description: Browse, filter, and sort mesh nodes — view details, signal quality, roles, and quick actions.
6-
deep_link: meshtastic://meshtastic/nodes
76
aliases:
87
- node-list
98
- mesh-nodes

docs/user/settings-module-admin.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Settings — Modules & Admin
33
nav_order: 8
44
last_updated: 2026-05-13
55
description: Configure optional feature modules (MQTT, telemetry, canned messages, TAK, and more) and perform device administration.
6-
deep_link: meshtastic://meshtastic/settings/module-config
76
aliases:
87
- modules
98
- module-config

docs/user/settings-radio-user.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Settings — Radio & User
33
nav_order: 7
44
last_updated: 2026-05-13
55
description: Configure your radio hardware, LoRa presets, user profile, position sharing, power management, and security.
6-
deep_link: meshtastic://meshtastic/settings
76
aliases:
87
- settings
98
- radio-config

feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/data/DocBundleLoader.kt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
156156
val aliases: List<String>,
157157
val charCount: Int,
158158
val iconId: String,
159-
val deepLink: String? = null,
160159
)
161160

162161
@Suppress("MagicNumber")
@@ -181,7 +180,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
181180
listOf("bluetooth", "usb", "tcp", "pairing"),
182181
4100,
183182
"connections",
184-
deepLink = "meshtastic://meshtastic/connections",
185183
),
186184
UserPageDef(
187185
"messages-and-channels",
@@ -192,7 +190,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
192190
listOf("channels", "direct-messages", "messaging", "conversations"),
193191
4500,
194192
"messages",
195-
deepLink = "meshtastic://meshtastic/messages",
196193
),
197194
UserPageDef(
198195
"nodes",
@@ -203,7 +200,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
203200
listOf("node-list", "mesh-nodes", "peers"),
204201
3800,
205202
"nodes",
206-
deepLink = "meshtastic://meshtastic/nodes",
207203
),
208204
UserPageDef(
209205
"node-metrics",
@@ -224,7 +220,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
224220
listOf("map", "waypoints", "gps", "location"),
225221
3600,
226222
"map",
227-
deepLink = "meshtastic://meshtastic/map",
228223
),
229224
UserPageDef(
230225
"settings-radio-user",
@@ -235,7 +230,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
235230
listOf("settings", "radio-config", "user-config", "lora"),
236231
6800,
237232
"settings-radio",
238-
deepLink = "meshtastic://meshtastic/settings",
239233
),
240234
UserPageDef(
241235
"settings-module-admin",
@@ -246,7 +240,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
246240
listOf("modules", "module-config", "administration"),
247241
5500,
248242
"settings-module",
249-
deepLink = "meshtastic://meshtastic/settings/module-config",
250243
),
251244
UserPageDef(
252245
"telemetry-and-sensors",
@@ -297,7 +290,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
297290
listOf("firmware", "update", "ota", "flash"),
298291
3400,
299292
"firmware",
300-
deepLink = "meshtastic://meshtastic/firmware",
301293
),
302294
UserPageDef(
303295
"desktop",
@@ -352,7 +344,6 @@ class DefaultDocBundleLoader : DocBundleLoader {
352344
aliases = def.aliases,
353345
charCount = def.charCount,
354346
iconId = def.iconId,
355-
deepLink = def.deepLink,
356347
)
357348
}
358349

@@ -473,6 +464,5 @@ class DefaultDocBundleLoader : DocBundleLoader {
473464
aliases = aliases,
474465
charCount = charCount,
475466
iconId = iconId,
476-
deepLink = deepLink,
477467
)
478468
}

feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/model/DocModels.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@ data class DocPage(
6161
val charCount: Int,
6262
/** Icon identifier for TOC display (maps to MeshtasticIcons). */
6363
val iconId: String? = null,
64-
/** Deep link URI to open the corresponding app screen (e.g. `meshtastic://meshtastic/nodes`). */
65-
val deepLink: String? = null,
6664
)
6765

6866
/** Content wrapper that decouples metadata from rendered content. */
@@ -94,7 +92,6 @@ data class KeywordIndexEntry(
9492
val aliases: List<String> = emptyList(),
9593
val charCount: Int,
9694
val iconId: String? = null,
97-
val deepLink: String? = null,
9895
)
9996

10097
/** Normalized user search query. */

0 commit comments

Comments
 (0)