It's time to spend a bit of time making sure Runestone works on iOS 26. The New File dialog was completely broken on iOS 26 but it has been repaired! ⚒️✅

As you can imagine, the Liquid Glass redesign also completely butchered Runestone's navigation bar. That's fixed now.

Instead of embracing Liquid Glass's transparent navigation bar, I'm bringing the blurred background to iOS 26. I think it's a great design for a text editor and the best way to focus on the text.

Time to fix the keyboard toolbar. Look how they massacred my boy 😢
While I’m not totally happy with it, I think this will be the toolbar Runestone ships with for iOS 26. It's a decent start and I can always refine it down the road.
The new “Always Open With” functionality of the Files app in iOS 26 is such a welcome addition! And of course, Runestone will support it 😄

Trying out the new scroll edge blur effect in Runestone, and while it actually looks pretty slick, I don’t understand:

1. Why it doesn’t blur the line numbers when they’re below the navigation bar.
2. Why it blurs the left side of the screen when I’ve set `edge = .top` on UIScrollEdgeElementContainerInteraction.

I can’t seem to find a solution, so this probably won’t make it into Runestone at this time 😕

Getting the collapsible header working with the new window management system on iPadOS 26 was a bit tricky, but a fun challenge, and I think the result turned out quite good.
Runestone 🤝 Progressive Blur
@simonbs looks great. Will you change the Done button to an X? Button(role: .close)
@simonbs looks great! What was the trick that solved it?
@sense I ended up not using the builtin progressive blur but a custom one. It addresses the issue and gives me more control.
@simonbs Any pointers on how you did the custom progressive blur? :)
GitHub - TimOliver/BlurUIKit: An App Store safe framework for tapping into more of the dynamic blur capabilities of UIKit.

An App Store safe framework for tapping into more of the dynamic blur capabilities of UIKit. - TimOliver/BlurUIKit

GitHub
@simonbs Thanks, we use more or less the same approach, but haven't been approved yet (a bit nervous about it for what I'm guessing are obvious reasons) 😅