Tmux Sessions

Tight mobile view that pulls tmux-sessions.html via our server-side /proxy.
loading…
waiting…
" "") (str/replace #"" "") (str/replace #"<[^>]*>" "") (str/replace #"\\s{3,}" " ") (str/trim))) (defn truncate [s n] (if (> (count s) n) (str (subs s 0 n) "…") s)) (defn fetch! [] (set-text! "status" "fetching…") (let [url (str "/proxy?url=" (js/encodeURIComponent tmux-url))] (-> (js/fetch url) (.then (fn [resp] (if (.-ok resp) (.text resp) (throw (js/Error. "bad resp"))))) (.then (fn [txt] (set-text! "status" (str "ok · " (.toLocaleTimeString (js/Date.)))) (set-text! "preview" (-> txt strip-html (truncate 5000))))) (.catch (fn [_] (set-text! "status" (str "error · " (.toLocaleTimeString (js/Date.)))) (set-text! "preview" "failed"))))))) (defn bind! [] (when-let [el (.getElementById js/document "refresh")] (.addEventListener el "click" (fn [_] (fetch!)))) (when-let [el (.getElementById js/document "open")] (.addEventListener el "click" (fn [_] (.open js/window tmux-url "_blank"))))) (defn ^:export init [] (bind!) (fetch!)) (init)