Apple Journal’s Atrocious Undo Bug Has Been Fixed (and SwiftUI, Per Se, Is Not to Blame)

On the eve of WWDC, in a post arguing that “SwiftUI Only Makes It Easy to Develop Bad Apps”, I wrote about an atrocious bug in Apple’s Journal app:

If you’re running MacOS 26 Tahoe, open Journal and make a new dummy entry. Type something like “The quick brown fox.” Then double-click on the word “brown” and delete it. Now invoke Undo.

What you expect is for the word “brown” to reappear. What happens is ... the whole sentence disappears. Gone. Invoke Redo and you only get back to “The quick fox.” The word “brown” is just gone forever. It’s nowhere in the Undo stack. That’s just profoundly fucked up. I’ve never seen anything like this with an AppKit app, ever. (I’ve never seen it with a UIKit app either — and the same thing happens on iOS with Journal. It’s just that you notice it less often because we don’t invoke Undo and Redo nearly as often there.)

Marcin Wichary, linking to my post from his remarkably good, remarkably prolific blog Unsung, wrote:

Software engineering typically has some categories of bugs and failures that result in immediate action — a night shift, a war room, “sevs,” and so on. Those are, in my experience, things like:

  • the app crashes,
  • the site doesn’t load,
  • there is data loss.

Depending on what you work on, this list will also likely include security problems, regulatory considerations, privacy-leaking bugs, and so on. In a more mature organization, these are all well documented, but even in early startups there is some shared understanding that some bugs are bigger than life and they take immense priority over pretty much anything else.

At any company, a version of this list needs to exist for front-end and user-experience problems, and undo should be on top of that list. If you break undo, you drop what you’re doing to fix it.

This seems to be what exactly happened. I don’t understand how Journal’s data-destroying Undo bug persisted as long as it did, but after I wrote about it two weeks ago, I heard from Apple PR that:

  • The text editing component in Journal is in fact UIKit, not SwiftUI, so I was wrong to blame SwiftUI just because Journal is largely SwiftUI-based.
  • The bug had been identified and fixed for a future update.

Well, the future is already here, because the buggy Undo behavior in Journal is fixed in developer beta 2 on both MacOS and iOS 27. Nice. I hope it gets fixed for the 26.6 releases too, but at the moment it’s still broken in the current developer beta of 26.6 (and, of course, still broken in all the v26.5 OSes). So be careful while writing in Journal.

Thursday, 25 June 2026