Skip AWS SSO URLs in trurl sanitizer
trurl encodes slashes in URL fragments, breaking hash-routed apps.

Assisted-by: Claude Opus 4.6 via Claude Code
change psnkpzwmlzrxnuouztqukqvqrqxwvqro
commit 9bfb0e339eb23da906cca3c09bb7e1366414ec22
author Alpha Chen <alpha@kejadlen.dev>
date
parent sykmkkuo
diff --git a/.config/nvim/nvim-pack-lock.json b/.config/nvim/nvim-pack-lock.json
index 65157d58..4d153394 100644
--- a/.config/nvim/nvim-pack-lock.json
+++ b/.config/nvim/nvim-pack-lock.json
@@ -61,6 +61,10 @@
       "rev": "edcf56c",
       "src": "https://github.com/suy/vim-context-commentstring.git"
     },
+    "vim-dirvish": {
+      "rev": "5d1d1ef45c6161af14c7d3d3097057e8fb5ac257",
+      "src": "git@github.com:justinmk/vim-dirvish.git"
+    },
     "vim-dispatch": {
       "rev": "a2ff28a",
       "src": "https://github.com/tpope/vim-dispatch.git"
diff --git a/.hammerspoon/init.fnl b/.hammerspoon/init.fnl
index 6bdae7d8..bc064908 100644
--- a/.hammerspoon/init.fnl
+++ b/.hammerspoon/init.fnl
@@ -96,11 +96,14 @@
                                :start true})
 
 (fn sanitize-url [url]
-  (let [tracking-params [:utm_* :uta_* :fbclid :gclid]
-        trurl-cmd (.. :/opt/homebrew/bin/trurl " "
-                      (table.concat (map tracking-params #(.. "--qtrim " $1))
-                                    " "))]
-    (chomp (execute (.. trurl-cmd " --url \"" url "\"")))))
+  ;; Skip AWS SSO URLs — trurl encodes slashes in hash-routed fragments.
+  (if (string.match url "%.awsapps%.com/start/#/")
+      url
+      (let [tracking-params [:utm_* :uta_* :fbclid :gclid]
+            trurl-cmd (.. :/opt/homebrew/bin/trurl " "
+                          (table.concat (map tracking-params #(.. "--qtrim " $1))
+                                        " "))]
+        (chomp (execute (.. trurl-cmd " --url \"" url "\""))))))
 
 (let [handlers {:firefox-dev :org.mozilla.firefoxdeveloperedition
                 :firefox :org.mozilla.firefox
@@ -119,7 +122,7 @@
                             "/?"))
       url-patterns [["^https://(.*%.?)zoom.us/j/%d+" handlers.zoom]
                     [safari-patterns handlers.safari]]
-      url-redir-decoders [[:trurl-sanitize #(sanitize-url $4) nil]
+      url-redir-decoders [[:trurl-sanitize #(sanitize-url $4) nil true]
                           [:reddit "://www%.reddit%.com" "://old.reddit.com"]
                           [:xcancel "://x%.com" "://xcancel.com"]]]
   (Install:andUse :URLDispatcher {:config {:url_patterns url-patterns