{"id":44576,"date":"2024-08-20T15:01:12","date_gmt":"2024-08-20T19:01:12","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=44576"},"modified":"2024-08-20T20:31:23","modified_gmt":"2024-08-21T00:31:23","slug":"eaglefiler-1-9-15","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/08\/20\/eaglefiler-1-9-15\/","title":{"rendered":"EagleFiler 1.9.15"},"content":{"rendered":"<p><a href=\"https:\/\/c-command.com\/blog\/2024\/08\/20\/eaglefiler-1-9-15\/\">EagleFiler 1.9.15<\/a> is a maintenance release for my Mac information organizer app. This version greatly improves the quality of <a href=\"https:\/\/c-command.com\/eaglefiler\/help\/importing-from-x-twitte\">imports from X\/Twitter<\/a> and expands the import-tweet-via-hotkey support to more browsers. Preserving the selected text when capturing whole Web pages also works in non-Safari browsers now.<\/p>\n\n<p>Some interesting bugs were:<\/p>\n\n<ul>\n<li><p>macOS Sequoia has changed the way filename extensions are parsed. The documentation <a href=\"https:\/\/developer.apple.com\/documentation\/foundation\/nsstring\/1407801-pathextension\">still says<\/a> &ldquo;The path extension is the portion of the last path component which follows the final period, if there is one.&rdquo; However, invisible files with no basename (e.g. <tt>..tiff<\/tt>) are now reported as having no path extension (and thus no file type) at all.<\/p><\/li>\n\n<li><p>Recent versions of Safari include the profile name in the document name (not just in the window title), which seems like a bug to me, but now we work around that. (Safari also sometimes does this when printing a page to PDF.)<\/p><\/li>\n\n<li><p>For several years, a small yet significant percentage of my customers have been unable to download and install my apps because macOS incorrectly reports them as <a href=\"https:\/\/mjtsai.com\/blog\/2020\/12\/14\/damaged-apps-that-cant-be-opened\/\">damaged<\/a>. The disk image&rsquo;s checksum, the code signature on the app, and the notarization all check out. It&rsquo;s not actually damaged. Yet macOS insists, and Gatekeeper can&rsquo;t be overridden using the contextual menu or System Settings. I had been recommending that such customers redownload the app using Terminal and <code>curl<\/code>, as that avoids the file quarantine. However, there&rsquo;s now an easier solution: a <a href=\"https:\/\/c-command.com\/download-fixer\/\">Download Fixer tool<\/a> that will &ldquo;fix&rdquo; an already installed app that&rsquo;s &ldquo;damaged&rdquo; after verifying the code signature.<\/p><\/li>\n\n<li><p>Sandbox testing of Mac App Store receipts seems to be <a href=\"https:\/\/mjtsai.com\/blog\/2022\/06\/22\/broken-renewal-of-mas-receipts\/\">broken<\/a> <a href=\"https:\/\/forums.developer.apple.com\/forums\/thread\/705761?answerId=714013022\">again<\/a>, and the usual cache resetting didn&rsquo;t work, either. I was able to test it on a fresh macOS installation, though. I&rsquo;ve seen some reports of <a href=\"https:\/\/github.com\/iterate-ch\/cyberduck\/issues\/16031\">Sequoia-specific problems<\/a> but haven&rsquo;t seen them myself.<\/p><\/li>\n<\/ul>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/05\/sequoia-removes-gatekeeper-contextual-menu-override\/\">Sequoia Removes Gatekeeper Contextual Menu Override<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/02\/eaglefiler-1-9-14\/\">EagleFiler 1.9.14<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/10\/30\/code-signing-woes\/\">Code Signing Woes<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/07\/03\/twitter-now-requires-logging-in\/\">Twitter Now Requires Logging In<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/06\/21\/safari-17-profiles\/\">Safari 17 Profiles<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/06\/22\/broken-renewal-of-mas-receipts\/\">Broken Renewal of MAS Receipts<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/03\/08\/distributing-mac-apps-without-notarization\/\">Distributing Mac Apps Without Notarization<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/12\/14\/damaged-apps-that-cant-be-opened\/\">&ldquo;Damaged&rdquo; Apps That Can&rsquo;t Be Opened<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>EagleFiler 1.9.15 is a maintenance release for my Mac information organizer app. This version greatly improves the quality of imports from X\/Twitter and expands the import-tweet-via-hotkey support to more browsers. Preserving the selected text when capturing whole Web pages also works in non-Safari browsers now. Some interesting bugs were: macOS Sequoia has changed the way [&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-08-20T19:01:14Z","apple_news_api_id":"9169ac1e-0f12-4257-9e3e-def3ef21ef7b","apple_news_api_modified_at":"2024-08-21T00:31:26Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABA==","apple_news_api_share_url":"https:\/\/apple.news\/AkWmsHg8SQleePt7z7yHvew","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":[2392,159,1337,595,465,456,1361,30,32,39,2385,2598,1458,71,103,49],"class_list":["post-44576","post","type-post","status-publish","format-standard","hentry","category-technology","tag-app-store-receipt-validation","tag-applescript","tag-brave","tag-eaglefiler","tag-gatekeeper","tag-googlechrome","tag-itunes-connect-sandbox-testers","tag-mac","tag-macapp","tag-macappstore","tag-macos-14-sonoma","tag-macos-15-sequoia","tag-microsoft-edge","tag-programming","tag-safari","tag-twitter"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44576","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=44576"}],"version-history":[{"count":6,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44576\/revisions"}],"predecessor-version":[{"id":44583,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44576\/revisions\/44583"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=44576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=44576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=44576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}