Steps to reproduce
- On Android v1.13.4, open a long note in Live Preview — mine has about 30 sections and 300 lines.
- Follow an internal heading link (
[[#Some heading]]) to a heading well down the file. Note that the entire section range is highlighted, whereas when following a link from the Outline core plugin, in sidebar, just the heading line of highlighted. - Begin typing.
The error also occurs when using the “Advanced Table of Contents” plugin to go to a header (which also highlights the whole section when jumping to it); it does not occur when using the Outline.
Did you follow the troubleshooting guide? [Y/N]
Y. Reproduced with community plugins disabled. Also reproduced with Logstravaganza enabled.
Haven’t tested with sandbox vault or Desktop. Haven’t tested in source or reading modes
I probably should test with snippets disabled, but I’ve run out of time.
Expected result
The note stays editable after navigating to a heading anchor.
Actual result
When attempting to type in the section, the text does not appear, or appears on the wrong line. Then, when scrolling, the screen goes blank. If I scroll way up, I can find the text again, but I can’t edit it.
Recovery requires navigating away from the note and coming back, or force-restarting the app.
Claude analysis
I tested with Logstravaganza and asked Claude to examine it. Result: “the anchor navigation triggers. a cascade of roughly 300 fatal errors over about 75 seconds.”
More from Claude:
First fatal:
TypeError: Cannot read properties of undefined (reading 'tile')
at e.advance (http://localhost/app.js:1:361185)
at e.forward (http://localhost/app.js:1:372141)
at e.run (http://localhost/app.js:1:369204)
at e.measure (http://localhost/app.js:1:483346)
Then repeating:
Error: No tile at position 12569
at t.resolveBlock (http://localhost/app.js:1:355818)
at e.coordsAt (http://localhost/app.js:1:381687)
at e.scrollIntoView (http://localhost/app.js:1:?)
at e.onScrollChanged (http://localhost/app.js:1:?)
Crash loop: onScroll → onScrollChanged → scrollIntoView → coordsAt → resolveBlock. The tile tree does not appear to cover the offset that the section-range navigation resolved to, so every subsequent scroll event re-throws.
Possibly upstream. The tile symbols in these traces are CodeMirror internals, and the 1.13 changelog notes that CodeMirror was upgraded to the latest version. CodeMirror has shipped three fixes for tile-tree corruption in the last few weeks — @codemirror/view 6.43.3 (25 June), 6.43.4 (27 June) and 6.43.6 (6 July) — the last two both described as tile tree corruption causing crashes. Which @codemirror/view version does 1.13.4 bundle? If it predates 6.43.6, this may already be fixed upstream.
Environment
SYSTEM INFO:
Obsidian version: 1.13.4 (353)
API version: 1.13.4
Operating system: Android 16 (Nothing A015)
Webview version: 150.0.7871.181
Login status: logged in
Language: en
Catalyst license: none
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 23
Restricted mode: on
RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
- Obsidian Mobile 1.13.4 (Android), build [xxx]
- Device: CMF Nothing Phone 1
- Android version: 16
Workaround: use the Outline sidebar for within-note navigation.