SpamSieve 3.2.2 is a maintenance release of my Mac e-mail spam filter.
SpamSieve 3.2 had a bunch of changes to deal with Microsoft’s plan to sunset Legacy Outlook on November 1, however in early October they announced a new plan to keep supporting Legacy Outlook for another year. I think this was the right decision, because New Outlook is still missing a lot, but it’s frustrating that the change came so late. I can only assume that they started getting customer feedback as the preview builds rolled out and took people by surprise, breaking their workflows.
AppleScript issues continue. Over the last month or so, a small number of customers have been getting error -1751 (errOSAlnvalidlD) on macOS Tahoe and on later builds of Sequoia. Something seems to be getting messed up inside AppleScript so that an NSAppleScript cannot be run more than once. (The error is occurring before the first line of AppleScript is being executed, so it’s not due to events being sent by the script itself.) I added a way to work around this by turning off SpamSieve’s reuse of NSAppleScript objects.
SpamSieve 3.2.1 worked around a problem with AppleScript timeouts and POP accounts on macOS Tahoe. A small percentage of customers are seeing a similar issue with IMAP accounts on Tahoe, so I’ve added a workaround for that, too.
Some customers are seeing crashes in AEDeterminePermissionToAutomateTarget(). The point of using that was to improve the user experience, but I’ve now added a way to disable it because it’s better to have a confusing error message (in the event of no automation access) than a crash on launch. (This API also has a hanging problem, as previously discussed.)
Some pathological message data and an inefficient regex could combine to cause hangs when parsing a message. I fixed this by optimizing the regex. I don’t think there are any other patterns that could cause this, no matter the data, but just in case I added a timeout for regex matches. (Alas, this feature of NSRegularExpression does not seem to have made it into Swift Regex.)
I’ve previously written that StringProtocol had switched from ICU regular expressions to Swift Regex. However, I’ve now seen several cases where, based on stack traces, StringProtocol.range<A>(of:options:range:locale:) seems to be using both. I have not been able to find the source for this method. It doesn’t seem to be in the core or in FoundationEssentials. The Substring implementation seems to only use Swift Regex.
I’m seeing some cases where on Tahoe NSWorkspace.shared.menuBarOwningApplication doesn’t match the app name shown in the menu bar.
With SpamSieve 3.2.1, I mentioned a performance issue due to eager Swift bridging of _NSCallStackArray. I’ve now made all my processing of this array lazy (using Objective-C subclasses) so that it can be collected in more places without slowing things down when it’s not actually used. Note that it does not seem to be possible to subclass NSArray from Swift.
Previously:
Apple Mail AppleScript Cocoa Mac Mac App macOS Tahoe 26 Menu Bar Microsoft Outlook Optimization Regular Expression SpamSieve Swift Programming Language
Joe Rossignol:
Apple’s high-end Mac Pro desktop computer is currently “on the back burner,” according to the latest word from Bloomberg’s Mark Gurman.
In his Power On newsletter today, Gurman said he heard that Apple has “largely written off” the Mac Pro, with the sentiment inside the company being that the Mac Studio represents the present and future of Apple’s pro desktop computing.
I just don’t understand Apple’s thinking with this product. The arguments for and against the Mac Pro seem to me to be the same as before the 2023 model was introduced. Some people want PCI slots, more ports, internal storage, etc. Most don’t, but Apple already knew that. So what changed?
I get that not every processor will have an Ultra version, but why did they not even bother to update the Mac Pro with the M3 Ultra? Why keep it in the lineup at all if they were going to let it get 3 or more generations behind? Why bother to make it in the first place if they were going to ignore it? Were the future plans tied to the quad chip that didn’t work out?
My best guess is that the current Mac Pro was the result of an internal power struggle, where one side didn’t want to make it at all. So we ended up with a compromised and overpriced product that didn’t really offer what a lot of people wanted (e.g. graphics cards, lots of RAM). And so the sales were probably even lower than expected, and eventually that side will say “told ya so” and they’ll all agree to kill it.
Colin Cornaby:
Not surprised to see Apple maybe moving on from the Mac Pro - but still a bummer.
M3 Ultra has finally caught up to the Radeon 6900 XT in my 2019 Mac Pro. And that is an old GPU that is only a fraction the power of something like a GeForce 5090. Apple is really behind on GPU performance. Even if I wanted to upgrade today - it would be a side grade or a step back. I’m hoping M5 Ultra is better. But I was really hoping for an M5 Extreme (the mythical 2x Ultra) Mac Pro.
Previously:
Apple M3 Ultra Mac Mac Pro Rumor
Anthony Ha:
A federal jury in California ruled Friday that Apple must pay medical device maker Masimo $634 million for infringing a patent on blood oxygen-monitoring technology.
Reuters reports the jury found that the Apple Watch’s workout mode and heart rate notification features violated Masimo’s patent.
Eric Slivka:
“Over the past six years (Masimo has) sued Apple in multiple courts and asserted over 25 patents, the majority of which have been found to be invalid,” an Apple spokesperson told Reuters. “The single patent in this case expired in 2022, and is specific to historic patient monitoring technology from decades ago.”
[…]
Apple’s workaround did not sit well with Masimo, which filed another lawsuit in an attempt to overturn the U.S. Customs decision and once again prevent Apple from selling Apple Watch models with the blood oxygen feature in the U.S., but there has yet to be a ruling in that lawsuit.
I’m not sure which patent was at issue here. I thought it was this one, but Google says that doesn’t expire until 2028.
Previously:
Apple Watch Apple Watch Series 10 Apple Watch Series 11 Apple Watch Ultra 2 Health iOS iOS 18 Lawsuit Legal Masimo Patents