mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 14:14:55 +00:00
Merge branch 'master' into enhance/cut-memory-usage
This commit is contained in:
@@ -84,6 +84,7 @@
|
||||
"d3-force": "3.0.0",
|
||||
"diff": "5.0.0",
|
||||
"electron": "15.1.2",
|
||||
"electron-context-menu": "3.1.1",
|
||||
"fs": "0.0.1-security",
|
||||
"fs-extra": "9.1.0",
|
||||
"fuse.js": "6.4.6",
|
||||
@@ -110,6 +111,7 @@
|
||||
"react-transition-group": "4.3.0",
|
||||
"react-tweet-embed": "1.3.1",
|
||||
"reakit": "0.11.1",
|
||||
"remove-accents": "0.4.2",
|
||||
"threads": "1.6.5",
|
||||
"url": "^0.11.0",
|
||||
"yargs-parser": "20.2.4"
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
[electron.git :as git]
|
||||
[electron.window :as win]
|
||||
[electron.exceptions :as exceptions]
|
||||
["/electron/utils" :as utils]))
|
||||
["/electron/utils" :as utils]
|
||||
["electron-context-menu" :as init-context-menu]))
|
||||
|
||||
(defonce LSP_SCHEME "lsp")
|
||||
(defonce LSP_PROTOCOL (str LSP_SCHEME "://"))
|
||||
@@ -31,6 +32,10 @@
|
||||
;; Handle creating/removing shortcuts on Windows when installing/uninstalling.
|
||||
(when (js/require "electron-squirrel-startup") (.quit app))
|
||||
|
||||
(defn setup-context-menu
|
||||
[]
|
||||
(init-context-menu #js {:showSaveImageAs true :showInspectElement false}))
|
||||
|
||||
(defn setup-updater! [^js win]
|
||||
;; manual/auto updater
|
||||
(when-not linux?
|
||||
@@ -214,11 +219,12 @@
|
||||
(fn []
|
||||
(let [t1 (setup-updater! win)
|
||||
t2 (setup-app-manager! win)
|
||||
t3 (handler/set-ipc-handler! win)
|
||||
t3 (setup-context-menu)
|
||||
t4 (handler/set-ipc-handler! win)
|
||||
tt (exceptions/setup-exception-listeners!)]
|
||||
|
||||
(vreset! *teardown-fn
|
||||
#(doseq [f [t0 t1 t2 t3 tt]]
|
||||
#(doseq [f [t0 t1 t2 t3 t4 tt]]
|
||||
(and f (f)))))))
|
||||
|
||||
;; setup effects
|
||||
|
||||
@@ -158,14 +158,19 @@
|
||||
(error-handler error)
|
||||
(log/error :write-file-failed error)))))))))
|
||||
|
||||
(defn- get-file-path [dir path]
|
||||
(let [[dir path'] (map #(-> (when %
|
||||
(string/replace % "///" "/"))
|
||||
js/decodeURI)
|
||||
(defn get-file-path [dir path]
|
||||
(let [[dir' path'] (map #(some-> %
|
||||
(string/replace "///" "/")
|
||||
js/decodeURI)
|
||||
[dir path])
|
||||
path (if (string/starts-with? path' dir)
|
||||
path
|
||||
(-> (str dir path)
|
||||
path (cond (nil? path)
|
||||
dir
|
||||
|
||||
(string/starts-with? path' dir')
|
||||
path'
|
||||
|
||||
:else
|
||||
(-> (str dir' path)
|
||||
(string/replace "//" "/")))]
|
||||
(if (mobile-util/native-ios?)
|
||||
(js/encodeURI (js/decodeURI path))
|
||||
|
||||
24
src/test/frontend/fs/capacitor_fs_test.cljs
Normal file
24
src/test/frontend/fs/capacitor_fs_test.cljs
Normal file
@@ -0,0 +1,24 @@
|
||||
(ns frontend.fs.capacitor-fs-test
|
||||
(:require [frontend.fs.capacitor-fs :as capacitor-fs]
|
||||
[clojure.test :refer [deftest is]]))
|
||||
|
||||
(deftest get-file-path
|
||||
(let [dir "file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~logseq~logseq/Documents/"
|
||||
url-decoded-dir "file:/private/var/mobile/Library/Mobile Documents/iCloud~com~logseq~logseq/Documents/"]
|
||||
(is (= (str url-decoded-dir "pages/pages-metadata.edn")
|
||||
(capacitor-fs/get-file-path
|
||||
dir
|
||||
"file:///private/var/mobile/Library/Mobile Documents/iCloud~com~logseq~logseq/Documents/pages/pages-metadata.edn"))
|
||||
"full path returns as url decoded full path")
|
||||
|
||||
(is (= (str url-decoded-dir "journals/2002_01_28.md")
|
||||
(capacitor-fs/get-file-path
|
||||
dir
|
||||
"/journals/2002_01_28.md"))
|
||||
"relative path returns as url decoded full path")
|
||||
|
||||
(is (= dir
|
||||
(capacitor-fs/get-file-path
|
||||
dir
|
||||
nil))
|
||||
"nil path returns url encoded dir")))
|
||||
Reference in New Issue
Block a user