PaperTrail for iOS/iPadOS (1.2 released; 1.2.1 finalising)

TestFlight

PaperTrail 1.2 (260606.1541)

(submitted)

add:

  • About PaperTrail, in the iPad menu, showing the current version
  • More Support options in the Command Palette
  • Debug reports now include extra device info (Low Power Mode, temperature, memory, document length)

change:

  • Support and What’s New are now in the iPad Help menu
  • New Project is inserted at the same indent as the current line, and now works while focused
  • Selecting lines with Shift + Up/Down now skips over hidden (folded) lines
  • Templates now include example searches to learn from
  • Menu commands that open a dialog now end with “…”
  • The Command Palette is clearer and easier to dismiss

fix:

  • Filter icon could sometimes diaappear
  • Delete (trash button or Shift+Cmd+K) now removes every selected line, not just the first
  • Fold to Level now works inside a focused view and collapses or expands one level at a time
  • The first word of a task now capitalises correctly when typing after a bullet
  • Autocorrect could corrupt the first word’s capitalisation on iOS 26, so it is now off by default (toggle it in the Command Palette)
  • The sync icon is now off by default (also toggleable in the Command Palette)
  • Pull down on the document title to start a search now works reliably
  • Picking a due date now works reliably with the keyboard
  • Editing a focused outline no longer misbehaves in rare cases
  • Large or deeply-nested documents no longer freeze or crash when scrolling, dismissing the keyboard, or typing
  • Typing in large documents is much more responsive, especially with folded sections
  • The What’s New screen now fits every screen size

TestFlight

PaperTrail 1.2.1 (260608.1637)

add:

  • Export your document as an OPML outline
  • Export button now lets you choose between an HTML presentation and an OPML outline
  • Exports now confirm what the chosen format can’t include before sharing
  • OPML import now warns when attributes, metadata, or embedded HTML can’t be carried into TaskPaper
  • On iPad, the Style and Tool Belt panels open as full-height drawers docked to the side
  • New iPad “Toggle Panel Side” command to flip the panels to the other edge
  • Forgot to mention keyboard shortcuts to fold or unfold the outline one level at a time (Ctrl+Cmd+9/0 or Shift+Cmd+9/0), including inside a focused view

change:

  • Improved parity of search query language
  • Further speed-ups for editing, toolbar actions, and searches on large and folded documents, see website for benchmarks from iPhone 16 Pro
  • Command and Go To palettes now open as a full-height card on iPad
  • What’s New panel only shows major release changes not bug fixes
  • Updated in-app link for Support: Website

fix:

  • Searches that scope to a project with a leading slash (like /Work//@due = today) now return the matching items instead of nothing
  • Search paths that combine a slash with a named axis (like /Work/child::* or .../self::*) now resolve correctly instead of returning nothing
  • Items added while a search filter is active now stay visible until you change the filter, instead of disappearing
  • Tapping an alarm date-and-time tag in the filter bar now shows the matching items instead of a blank view
  • Holding Up/Down (with or without Shift) across collapsed sections now moves the cursor and selection smoothly on a hardware keyboard
  • Tool belt keeps its horizontal scroll position when you change button visibility or order
  • What’s New no longer stretches edge-to-edge on iPad

chore:

  • Documentation and performance-benchmark updates

Thanks for the updates! Is there a way I can get added to TestFlight? I’ve got the paid version currently.

1 Like

@cboone

The double character bug at the beginning of the line was reported on your App Store reviews by “Jofesus” on May 10th, FWTW. So definitely not just my phone. And that was a day before 26.5 came out, which seems like the next obvious culprit, so presumably not that either.

I have not checked App Store Reviews until today, and probably wouldn’t have if I hadn’t been prompted. I have been busy building a golf game (out soon).

I’ve managed to reproduce the autocomplete issue on iOS 26, but not iOS 18.

Are you handling the first character of a task in some special way?

I was, because of an earlier report. So my new approach is to simply do zero text capitalisation myself (I just hint to the system) and it takes care of it, and I turn off autocorrect by default (user can turn it on again if they want, with the obvious caveats that iOS 26 might behave oddly). For whatever reason I still don’t think this solution results in correct capitalisation on every line, but it’s the best I can come up with at this time.

Regarding latency, I think it’s simply file size. In this brand new, empty file the latency is great, exactly what I’d expect it to be. In my existing todo list file of 983 lines (lots of archived tasks), the latency is what you saw in the screen recording.

Curious what is in your file!? You can share an anonymised version by long-pressing the Help tool button.

FWIW I have automated tests of >5000-line files of both plain text (the entire Moby Dick book, as recommended by Jessie) and TaskPaper tags (my own synthesized test file) and the measured performance is as on the site.

Thanks for the updates! I’ll DM you the debug file. Scanning through it quickly, it strikes me that it might have more indentation than average. (Not sure if that matters, obviously, and also not sure why it has so much.) In the meantime, I’ll just empty the archived tasks, NBD.

If removing the archive makes a difference, that could be a clue.

Will check out your file!

The way I see it there are only two differences, assuming that the debug file you sent me also exhibits the laggy input, iOS version (sadly I am stuck on 18 for reasons), and Dynamic Text Size (I use default):

You Me Result
Device iPhone 16 Pro iPhone 16 Pro Same
File Debug Debug Same
Text XL (19 pt) Default (+ XL too) No effect (<1% difference)
iOS 26.5 18.x (+ 26 sim) Inconclusive

I tested the indentation and it’s not a problem.

So this seems to be an iOS 26 thing, but only on hardware? I can’t reproduce in Simulator.

Are you running on low power mode or anything like that? @cboone

1.2 on TestFlight

Still there…

First, the best news: The double first character / autocomplete bug is gone! So now I can use (and test) the app for real. Thank you!

Weird news: The first new task I create starts lowercased. Return from there to create a subsequent new task, and that one (and following tasks) has its first character capitalized. Maybe this is what led you to add the special first character capitalization handling code in the first place? I’ll play around with it more and see if I better nail down the repro steps.

I deleted all the archived tasks from my todo list and that’s working exactly as I’d expect, nice and snappy. I kept the old version of the file for further testing, and when I open it the latency on 1.2 is even worse than on 1.1. Like freakishly unusably bad. Clearly some kind of pathological case. I’ll play around with it and see if I can provide more info, but it’s not actually a problem for me in practice anymore.

Thanks again for your help!

Sorry missed that one! I’m assuming it’ll be easy to reproduce. :sweat_smile:

1 Like

Yes, the first task being lowercased is familiar. I believe it’s an iOS 26 bug that I’d tried to work around.

(Almost everything in PaperTrail is system components, DocumentGroup app with TextKit2, I just put a thin layer of text processing on top, and my own UI.)

Very little has changed in 1.2, mostly things removed or disabled, nothing regarding anything that happens when text is typed. Autocomplete change to fix the corrupted first letter on iOS 26 was a one line change to set that property of the text control.

Every change that touches the text handling goes through a huge set of automated regression tests, the full run takes 15 minutes or so. Details in the 1.1 thread IIRC. There have been no regressions during the 1.2 changes.

As I mentioned earlier I cannot reproduce your latency issue with my test setup. Your test file measures the same high performance numbers as everything else.

BUT I’m still intrigued to track down the cause, if you’re interested? Since you’re the only person with this issue (at least that we’ve heard from).

  • does it happen on any other devices you might have?
  • what happens if you delete half your archive?
  • what happens if you delete the opposite half?
  • does it still happen if you use standard text size?
  • anything unusual about your device setup?
  • etc

I’m experiencing a performance issue on iPhone as well. I have an old project file that’s fairly long (3000+ lines). The file opens fine but when I dismiss the keyboard with a downward swipe, or try to scroll, it freezes and crashes the app.

I can include a jumbled version of the file if it helps with diagnostics.

1 Like

Here’s the file:

I’ve kept the tags intact.

Thanks, your jumbled file doesn’t have the device debug info at the top. Did you remove it? Are you on iOS 26? What iPhone?

iOS 26.5, iPhone 12 Pro. Let me know if you need anything else.

1 Like

So the common thing in these problematic two docs are:

  • low number of top level elements
  • high number of children

…so lots of markers need to be drawn!

Tada! That was the clue that I needed.

I hooked real automated app usage tests into my harness, so typing and scrolling can be automated and carried out without me having to do it manually. Previously testing was limited to headless text editing only.

Automated testing found the issue immediately.
It is a very small fix touching only the marker calculations.

TestFlight

PaperTrail 1.2 (260603.1710)

  • add: Debug reports now include more device info (Low Power Mode, temperature, memory, document length)
  • fix: Reworked how the fold/outline indicators in the margin are calculated, so large or deeply-nested documents no longer freeze or crash when scrolling, dismissing the keyboard, or typing
  • chore: Added performance testing and benchmarks for large, top-heavy documents

Thanks all for getting this one over the line!

Oh fantastic! That makes sense. Glad my eccentric usage was helpful.

Progress! File now opens, but performance for me is laggy. I’ll try to include a few screen recordings.

  1. When scrolling, UI lags with drawing markers and text layout. It eventually draws everything correctly, but it seems impossible to land in the correct spot.
  2. Typing/editing has considerable lag, and some tap controls (like trying to unmark a task as done using its — marker) do not respond.

I can’t tell how much of this is app performance and how much it’s my phone’s age and degraded battery, but a plain text editor like Runestone/Textastic will open and edit same file without a hitch.

Will keep pushing on this one. I have reproduced on a real device. I think I know what is happening.

More related changes to the same seam of code.

TestFlight

PaperTrail 1.2 (260604.1339)

  • fix: Large and deeply-nested documents now scroll, type, and respond to taps smoothly, with no lag or freezing