Skim v1.0.22 โ "Ask the MX, not the vibes" ๐
The one where Skim stops pretending that Microsoft owns exactly four domains on the entire internet.
โจ New
Work & school accounts are finally recognized. ๐ข If your company lives on Exchange Online, Skim now asks your domain's MX records who really hosts the mail. Everything Microsoft runs answers on *.protection.outlook.com, so the sign-in button that actually works shows up on its own โ no more falling into the manual IMAP/SMTP form to guess hostnames that were never going to connect. (Yes, hotmail.de too. Sorry it took a whole minor version to notice Germany exists. ๐ฉ๐ช)
Behind a mail gateway? Proofpoint and Mimecast tenants don't advertise Microsoft in MX at all, so unknown domains now get one quiet "Work or school account?" line instead of a shrug. One line. We counted. ๐
The DNS probe goes through the machine's own resolver (DnsQuery_W) โ your domain never visits a third party, results are memoized, the whole thing is capped at 3 seconds, and if it fails the screen looks exactly like it did before. ๐
๐ Fixed
The connect screen no longer flashes the manual form for a split second before deciding what it actually wanted to show. Nobody liked that little strobe. ๐ชฉ
Failed Microsoft sign-ins can now, revolutionarily, display an error. The error slot was living inside the password snippet, which is a great hiding spot if your goal is to never be seen. ๐
OAuth buttons stopped submitting the form because someone forgot type="button". Classic. ๐คฆ
access_denied is no longer universally translated as "you cancelled". AADSTS65004 is a genuine decline; the rest of that family is your tenant's consent policy saying no on your behalf โ and now it says that instead of blaming you. ๐
Fixes #33.
๐งน Housekeeping
The MX walk now traverses the record list as NonNull instead of raw pointers, because CodeQL followed a null_mut() all the way into a dereference and made a very good point. ๐ The null check now lives in the type, each unsafe block vouches for exactly one operation, and behavior is unchanged โ verified against a real tenant domain, a country consumer domain, a Google-hosted domain, and an NXDOMAIN that politely refused to exist.
Eleven locales got their new strings. ๐
Get it here: https://github.com/nikserg/skim/releases/tag/v1.0.22


Replies
Be the first to reply
Have a question or a thought to share? Add a comment above to start the conversation.