mirror of
https://github.com/logseq/logseq.git
synced 2026-05-04 19:06:21 +00:00
Feat: new file name escaping rules (#6134)
* feat: new file name escaping for namespace feat: new file name decoding back to page name * test: file name sanitization feat: use _0x to encode % feat: don't create title property test: extra URL encoding for escaped file names fix: fit pdf prefix into new file name rules fix: encoding rules on some characters fix: handle the buggy file names imported by users fix: pdf block ref failed to jump fix: #6167 * fix: enhance backward compatibility chore: title validation test: fix namespace queries test chore: use index version stored in config.edn instead of search.versions * feat: convert old version graph mechanism ui: file conversion UI feat: rename files for conversion feat: don't trigger conversion when title property is manually edited fix: file conflict notification while renaming files on some OS feat: re-index on update version feat: clicking NO in the re-index dialog would update the index-ver flag to suppress the dialog feat: use html entities for reserved char escaping dev: remove unresolved vars & minor refactor chore: move file name sanity from gp-util to fs-util, as it's for encoding only but not parsing test: update file name tests to html entities rule test: convert files from dir ver 3 for repo_tests feat: convert Windows reserved file names fix: save index version into idb instead of file fix: decode uri of path while parsing files on mobile fix: couple dir version and index version to ensure only re-index on converted dirs feat: go back to url-encode for special chars * chore: fix lint chore: improve codebase to address Gabriel's comments fix: remove file remnants on add conflict fix: remove file remnants on rename conflict chore: add test ns to nbb runner Also fix typoed fn and remove unused code * fix: issues of rebase PR6134 to master after file-sync merged * feat: switchable filename format * fix: use go block to replace promesa for rename all with blocking * feat: re-index after apply rename all * ui: file conversion enhancement * fix: merging filename format PR with master * fix: filename format lint & CI * ui: filename format flow * fix: error handling on the rare internal file path confliction case * chore: shorten component code for files-breaking-changed * chore: fix CI * Minor fixes per latest code review - Remove unused page-name-order - Update catch usage to be consistent with what's on master - Place state fn in right place - Wording fixes: - select and apply -> manual. There are no checkboxes for the user - Update -> Edit. We use edit for all other settings button - Alternatives to starting sentences with May. Not a common way to start a sentence - update outdated template comment * ux: rename instruction update * ux: rename instruction update (2) * Tweak wording of conversion modal Simplifed first paragraph and explained the page to the user in first sentence, may isn't a common way to start sentences and updated outdated wording * Fix large-var warning by splitting out a piece of component * fix: right slash on Windows; legacy format file sanitization * fix: triple lowbar renaming fns Co-authored-by: Gabriel Horner <gabriel@logseq.com>
This commit is contained in:
@@ -28,7 +28,8 @@
|
||||
[reitit.frontend.easy :as rfe]
|
||||
[rum.core :as rum]
|
||||
[frontend.mobile.util :as mobile-util]
|
||||
[frontend.db :as db]))
|
||||
[frontend.db :as db]
|
||||
[frontend.components.conversion :as conversion-component]))
|
||||
|
||||
(defn toggle
|
||||
[label-for name state on-toggle & [detail-text]]
|
||||
@@ -416,7 +417,8 @@
|
||||
(config-handler/set-config! :feature/enable-encryption? value)
|
||||
(when value
|
||||
(state/close-modal!)
|
||||
(js/setTimeout (fn [] (state/pub-event! [:graph/ask-for-re-index (atom false)]))
|
||||
;; FIXME: Don't send the `(atom false)` ! Should check multi-window! or internal status error happens
|
||||
(js/setTimeout (fn [] (state/pub-event! [:graph/ask-for-re-index (atom false) nil]))
|
||||
100)))
|
||||
[:p.text-sm.opacity-50 "⚠️ This feature is experimental! "
|
||||
[:span "You can use "]
|
||||
@@ -537,6 +539,14 @@
|
||||
{:left-label (t :settings-page/network-proxy)
|
||||
:action (user-proxy-settings agent-opts)}))
|
||||
|
||||
(defn filename-format-row []
|
||||
(row-with-button-action
|
||||
{:left-label (t :settings-page/filename-format)
|
||||
:button-label (t :settings-page/edit-setting)
|
||||
:on-click #(state/set-sub-modal!
|
||||
(fn [_] (conversion-component/files-breaking-changed))
|
||||
{:id :filename-format-panel :center? true})}))
|
||||
|
||||
(rum/defcs settings-general < rum/reactive
|
||||
[_state current-repo]
|
||||
(let [preferred-language (state/sub [:preferred-language])
|
||||
@@ -604,7 +614,7 @@
|
||||
[:p (t :settings-page/git-confirm)])])
|
||||
|
||||
(rum/defc settings-advanced < rum/reactive
|
||||
[]
|
||||
[current-repo]
|
||||
(let [instrument-disabled? (state/sub :instrument/disabled?)
|
||||
developer-mode? (state/sub [:ui/developer-mode?])
|
||||
https-agent-opts (state/sub [:electron/user-cfgs :settings/agent])]
|
||||
@@ -613,6 +623,7 @@
|
||||
(usage-diagnostics-row t instrument-disabled?)
|
||||
(when-not (mobile-util/native-platform?) (developer-mode-row t developer-mode?))
|
||||
(when (util/electron?) (https-user-agent-row https-agent-opts))
|
||||
(when (and (util/electron?) (not (config/demo-graph? current-repo))) (filename-format-row))
|
||||
(clear-cache-row t)
|
||||
|
||||
(ui/admonition
|
||||
@@ -736,7 +747,7 @@
|
||||
(settings-git)
|
||||
|
||||
:advanced
|
||||
(settings-advanced)
|
||||
(settings-advanced current-repo)
|
||||
|
||||
:features
|
||||
(settings-features)
|
||||
|
||||
Reference in New Issue
Block a user