{"id":42541,"date":"2024-03-17T14:28:26","date_gmt":"2024-03-17T18:28:26","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=42541"},"modified":"2024-03-17T14:46:19","modified_gmt":"2024-03-17T18:46:19","slug":"msgfiler-4","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/03\/17\/msgfiler-4\/","title":{"rendered":"MsgFiler 4"},"content":{"rendered":"<p><a href=\"https:\/\/tow.com\/2024\/03\/15\/the-return-of-msgfiler-4\/\">Adam Tow<\/a> (<a href=\"https:\/\/mastodon.social\/@atow\/112100754840273315\">Mastodon<\/a>):<\/p>\n<blockquote cite=\"https:\/\/tow.com\/2024\/03\/15\/the-return-of-msgfiler-4\/\">\n<p>Since WWDC 2023, I was telling long-time MsgFiler customers that I would look into what I could do to support the product in this new era of Apple Mail sans plug-ins. Honestly, I was a bit bummed because I didn&rsquo;t see a viable path for the app.<\/p>\n<p>[&#8230;]<\/p>\n<p>A <a href=\"https:\/\/msgfiler.wordpress.com\/2024\/02\/12\/a-deep-dive-into-filing-mail-messages-using-applescript\/\">deep dive into AppleScript support in Mail<\/a>&nbsp;turned up the reason. If you were trying to file a Gmail message using AppleScript, the Inbox label was not being removed from the message prior to assigning the new mailbox label.<\/p>\n<p>[&#8230;]<\/p>\n<p>Targeting the right mailbox using the Accessibility APIs turned out to be nearly impossible if any mailboxes were expanded in the sidebar, so I ultimately nixed this approach.<\/p>\n<\/blockquote>\n\n<p>The irony is that MsgFiler wasn&rsquo;t really doing the sorts of things that you would expect to <em>need<\/em> a plug-in API. It should have been able to do its work using AppleScript, except that Mail&rsquo;s AppleScript API is buggy and slightly incomplete. (SpamSieve also never needed plug-in support in mail clients that had good AppleScript support.) So MsgFiler 4 works around the limitations using System Events.<\/p>\n\n<p><a href=\"https:\/\/msgfiler.wordpress.com\/2024\/02\/12\/a-deep-dive-into-filing-mail-messages-using-applescript\/\">Adam Tow<\/a>:<\/p>\n<blockquote cite=\"https:\/\/msgfiler.wordpress.com\/2024\/02\/12\/a-deep-dive-into-filing-mail-messages-using-applescript\/\">\n<p>There&rsquo;s an even bigger problem with updating MsgFiler and that is its use of System Events to send commands and key codes to the Mail application. While MsgFiler has a temporary entitlement to control Apple Mail via AppleScript, it does not have an entitlement for sending AppleScript to System Events. Nor is Apple providing such an entitlement, since that can be a vector for sending arbitrary key strokes and commands to any application.<\/p>\n<\/blockquote>\n\n<p>This sets up a situation, not unlike with <a href=\"https:\/\/www.alfredapp.com\/powerpack\/\">Alfred<\/a> and <a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/15\/default-handler-1-0\/\">Screens<\/a>, where the app is in the Mac App Store, but to get the full functionality you have to <a href=\"https:\/\/docs.msgfiler.com\/onboarding\/filing-script\">download a component from outside the store<\/a>:<\/p>\n<blockquote cite=\"https:\/\/docs.msgfiler.com\/onboarding\/filing-script\"><p>The <a href=\"https:\/\/docs.msgfiler.com\/using-msgfiler\/msgfiler-filing-script\">MsgFiler Filing Script<\/a> can supercharge your filing experience in MsgFiler 4. It is an AppleScript that can perform numerous functions that MsgFiler alone cannot do, such as:<\/p><ul><li>Moving and copying Gmail messages.<\/li><li>Navigating Mail using the keyboard from MsgFiler 4.<\/li><li>Archiving messages from the keyboard in MsgFiler 4.<\/li><li>Selecting the next or previous message in a Message Viewer after filing non-Gmail messages.<\/li><\/ul><\/blockquote>\n\n<p>MsgFiler 4 is <a href=\"https:\/\/docs.msgfiler.com\/buy\/thoughts-on-subscriptions\">$9.99 a year<\/a> or $49.99 for a lifetime unlock (for version 4.x).<\/p>\n\n<p>Also of note is that he rewrote the app from Objective-C and Interface Builder to SwiftUI, and that seems to have gone well.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/15\/default-handler-1-0\/\">Default Handler 1.0<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/11\/mac-dialog-in-auto-layout-vs-swiftui\/\">Mac Dialog in Auto Layout vs. SwiftUI<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/12\/07\/filing-mail-messages-on-sonoma-using-the-keyboard\/\">Filing Mail Messages on Sonoma Using the Keyboard<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/11\/17\/mail-extension-postmortem\/\">Mail Extension Postmortem<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/06\/14\/rip-apple-mail-plug-ins\/\">RIP Apple Mail Plug-ins<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Adam Tow (Mastodon): Since WWDC 2023, I was telling long-time MsgFiler customers that I would look into what I could do to support the product in this new era of Apple Mail sans plug-ins. Honestly, I was a bit bummed because I didn&rsquo;t see a viable path for the app. [&#8230;] A deep dive into [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-03-17T18:28:39Z","apple_news_api_id":"f40db6c3-e255-4a76-930c-eb111a83d0d6","apple_news_api_modified_at":"2024-03-17T18:46:22Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/A9A22w-JVSnaTDOsRGoPQ1g","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1421,126,159,433,30,32,39,2385,2410,71,372,1812],"class_list":["post-42541","post","type-post","status-publish","format-standard","hentry","category-technology","tag-app-subscriptions","tag-applemail","tag-applescript","tag-gmail","tag-mac","tag-macapp","tag-macappstore","tag-macos-14-sonoma","tag-msgfiler","tag-programming","tag-spamsieve","tag-swiftui"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/42541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=42541"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/42541\/revisions"}],"predecessor-version":[{"id":42549,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/42541\/revisions\/42549"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=42541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=42541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=42541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}