Skim v1.0.30 โ€” "Sixty-Eight Seconds" ๐Ÿขโžก๏ธ๐Ÿ‡

byโ€ข

The one where a big grouped inbox stops making you wait a full minute to open an email. Turns out asking SQLite to rescan the whole folder once per message is bad for business. Who knew. (We should have.)

โšก Faster

  • Grouped inboxes are fast again. Picking the newest message in each thread used to walk the entire folder once per message. That's quadratic, and on a 15k-message inbox it took over a minute, and every other read waited in line behind it. So after launch you got a blank list and a nice long think. One new index later, the same query takes 68 s โ†’ 20 ms. A test now pins the query plan so it can't quietly come back. ๐ŸŽ๏ธ

  • Inline images no longer freeze the window while a sync is running. They're now loaded off the UI thread, where they should have been all along. ๐Ÿ–ผ๏ธ

โœจ New

  • Log in with a username, not just an email address. Some organisations want jdoe, not . There's now a Username field under Server settings; leave it blank and Skim keeps using your email like before. Thanks to for the contribution! ๐Ÿ™Œ

๐Ÿ› Fixed

  • Microsoft 365 sign-in works with long tokens. A Windows Credential Manager entry holds about 1280 characters, and Microsoft's refresh tokens are often longer than that. So you'd sign in successfully, then Windows would complain that "the password is too long" and the account was never added. Long secrets are now split across several vault entries, written safely: a write that fails halfway can't mix pieces of the old and new token, and it doesn't leave orphaned pieces in the vault either. Short passwords and API keys are stored exactly as before. ๐Ÿ”

  • Selecting text no longer closes the dialog. If you dragged to select text in a field and let go just past the edge of the panel, the app counted that as a click outside and closed Settings, taking your half-typed account with it. Now a dialog only closes when both the press and the release happen outside it. Fixed in all five dialogs that had the bug. ๐Ÿซ 

๐Ÿงน Housekeeping

  • A database migration got renumbered so two PRs stop claiming the same migration slot.

  • Scoop manifest updated for the previous release, as usual.

8 views

Add a comment

Replies

Be the first to comment