Commit Graph

181 Commits

Author SHA1 Message Date
Tienson Qin
2dfac3d774 deprecate: on-disk encryption
Why?
1. there're still a lot issues on it and there's no resource to
maintain and develop it considering we need to support it on all the
platforms.
2. it creates more bugs with Logseq Sync.
2022-11-07 10:46:17 +08:00
Tienson Qin
bf72cd6793 Merge branch 'master' into fix/sync-crash 2022-11-07 09:27:19 +08:00
Tienson Qin
b09fe61e86 enhance: use page title instead of the link 2022-11-07 09:22:27 +08:00
Tienson Qin
22fe631415 chore: move reserved chars logic outside of <update-remote-files 2022-11-07 09:22:27 +08:00
Tienson Qin
9d29a51314 Add instructions when downloading files that have reserved chars 2022-11-07 09:22:27 +08:00
Tienson Qin
dd0169b068 fix: notify users to switch to the new filename format
Notify users to switch to the new filename format if there're reserved
chars when syncing.

Also, this commit replace all `js/decodeURIComponent` with
`safe-decode-uri-component` to avoid UI crashes.
2022-11-07 09:22:27 +08:00
Tienson Qin
865ba9c69c fix: <sync-start returns a channel 2022-11-06 23:37:46 +08:00
Tienson Qin
504e7a156e enhance: enable sync for backers automatically 2022-11-06 23:37:46 +08:00
Tienson Qin
1a0012974f Move sync to close beta 2022-10-28 17:22:16 +08:00
Tienson Qin
a43d737042 fix: debounce shortcut installation 2022-10-24 15:49:16 +08:00
situ2001
cc9c2a1e41 fix: modal in ask-for-re-fresh not respond to enter key-down event 2022-10-18 16:54:16 +08:00
Gabriel Horner
bf79db9d54 Install and uninstall plugins from file
Change plugins.edn to key off id as it is unique and all operations
work off of it.
Note: there are still some bugs with certain plugin installs
2022-10-17 10:13:27 -04:00
Gabriel Horner
2cb0c8f2a3 Fix grammar of error message, close #7004. Thx @rosslaird 2022-10-17 10:07:50 -04:00
Tienson Qin
127a4d1613 fix: create local versions on mobile if there's any conflict 2022-10-13 16:52:12 +08:00
Peng Xiao
cca1d35510 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-10-08 17:26:45 +08:00
Junyi Du
0e4037ab61 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>
2022-10-08 15:47:45 +08:00
Tienson Qin
91dddd7541 Fix: stuck re-index when there're multiple whiteboards have the same UUID (#6890)
* fix: keep parsing even if some whiteboards can't be transacted

* enhance: notice parse errors

* enhance: instrument parse-and-load-error

* chore: add tests for whiteboards parsing and loading
2022-10-07 12:04:43 +08:00
Tienson Qin
18297c224f Merge branch 'master' into whiteboards 2022-09-30 17:38:18 +08:00
Tienson Qin
edf02203a3 fix: watch dir after a new graph has been created 2022-09-30 17:33:32 +08:00
Peng Xiao
bb2df1b3b7 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-30 08:51:05 +08:00
Tienson Qin
39b04a996a fix: persist before switching between graphs 2022-09-29 21:58:27 +08:00
Peng Xiao
7bae8313d3 refactor: move tldraw shape related props into logseq.tldraw.shape/page 2022-09-29 14:41:55 +08:00
Peng Xiao
4520399ddf Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-28 10:29:20 +08:00
Tienson Qin
8b144269f7 refactor: unify heading UX for both markdown and org mode 2022-09-27 16:12:23 +08:00
Gabriel Horner
1f0e22275d Add ns docstrings for most ns in src/main
- Added to CI now that it passes
- Added no-doc for docstrings that don't add any more than what's in the
ns name or for ones where I didn't know the ns that well
2022-09-27 13:55:16 +08:00
Peng Xiao
fd94862312 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-24 09:42:00 +08:00
Gabriel Horner
2ce6dfad41 Use catch :default for default error handling in cljs
This is considered normal practice for cljs. See
https://clojure.atlassian.net/browse/CLJS-661 for when it was introduced
and background on it
2022-09-23 02:00:55 +08:00
Andelf
ae114afbd8 Feat: sync progress for electron (#6662)
* fix: state shouldn't be returned in ipc

* feat: download && upload processing

* enhance(ui):  interaction of show password checkbox

* feat: time left

* feat: download progress

* Set download batch size to 100

* improve(ui): progress pane of file sync indicator

* improve(ui): progress pie of each file state

* improve(ui): progress pie of each file state

* improve(ui): progress pie of each downloading file

* fix: add last changed time

* enhance: time left

* fix: total needs to be larger than finished

* fix: wait for update-graphs-txid!

* enhance: show in-progress files first

* chore: ui polish

* improve(ui): persist stauts of sync files list toggle switch

* fix(ui): visibility of sync now button on mobile

* chore: remove ios static out after sync

* fix: debounce clicking on sync icon

* fix: repos not refreshed after unlink or delete

* enhance: automatically save page-metadata.edn to avoid sync when restart

* improve(ui): sync now shortcut for file sync progress pane

* enhance: data transfer icons

* fix: stop sync if switched to another graph

* fix: can't switch

* enhance: sort files first before uploading or downloading

* fix: clear current graph uuid when sync stops

* fix: separate progress by graphs

* fix: check files only in the current progress

* fix: prevent multiple sync managers for the same graph

* fix: remove redundant files watchers

* enhance(sync): re-exec remote->local-full-sync when exception

re-exec remote->local-full-sync when <update-local-files return exceptions

* enhance(sync): re-exec remote->local-full-sync when exception

re-exec remote->local-full-sync when <update-local-files return exceptions

* fix(sync): set-progress-callback, update rsapi

* fix(sync): uploading progress bar

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Co-authored-by: charlie <xyhp915@qq.com>
Co-authored-by: rcmerci <rcmerci@gmail.com>
2022-09-23 02:00:24 +08:00
Peng Xiao
d59e7fdbe8 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-17 13:04:43 +08:00
Tienson Qin
de092405a9 fix: repeated sync restart 2022-09-15 23:58:55 +08:00
Tienson Qin
c300d6bc02 fix: sync status 2022-09-15 23:58:55 +08:00
Tienson Qin
40221d4799 fix: sync works but uploading/downloading files are not shown 2022-09-15 23:58:55 +08:00
Tienson Qin
d08eed503f fix: restart sync when a graph is added 2022-09-15 23:58:55 +08:00
Peng Xiao
031ad9c4a9 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-15 09:46:44 +08:00
Tienson Qin
376cda0bd3 fix: disable creating remote graph when sync is not started yet
Also, don't show `password is required` when starting the sync.
2022-09-14 22:01:19 +08:00
Peng Xiao
eaec72e676 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-14 00:26:16 +08:00
Tienson Qin
c074465b8a fix: readdir
also, fix warnings on persist var
2022-09-13 22:13:38 +08:00
Peng Xiao
4d86f4f53f Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-10 00:45:27 +08:00
Gabriel Horner
51c318e2da Enable two disabled linters and bump kondo dep
All the fixes were on used-underscored-binding
2022-09-09 12:14:32 +08:00
rcmerci
0b6328fcfa fix(sync): api calls fail when network offline 2022-09-08 18:36:02 +08:00
Gabriel Horner
6e3f784626 Fix global directory watcher not working for multiple windows
Fix also simplifies global config component and generalizes file watcher
to handle any global directory. Also fixed intermittent, annoying "object could not
be cloned" error
2022-09-08 12:34:27 +08:00
Tienson Qin
7fa9209e29 fix: load global config synchronously instead of relying on watcher
This commit also refreshs the shortcuts when config files has been edited.
2022-09-08 12:34:27 +08:00
Gabriel Horner
7ade955df7 Additional polish and fixes
- fix two bugs with subs - didn't have global config and missing merge
- explicit re-watch for global config
- more docs
2022-09-08 12:34:27 +08:00
Gabriel Horner
b1d210d26b Merge configs and create global config file if not present
- Cleanup repo and global config with system components
- test merging
- fix edge cases
2022-09-08 12:34:27 +08:00
Peng Xiao
f4ee3e2566 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-07 00:19:56 +08:00
Tienson Qin
9f2f473cd9 fix: sync not start after binding a local folder to the remote graph 2022-09-06 23:53:46 +08:00
Peng Xiao
5e44055984 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-02 09:46:58 +08:00
Tienson Qin
e008a38540 fix: cloud icon is not shown when restarting the app 2022-09-01 19:59:43 +08:00
Peng Xiao
33885e619b Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-01 10:29:29 +08:00
Charlie
01d879c18e feat!: File Sync (#5355)
- file sync for electron/ios/android
- age encryption of both file content and file path
- massive UI enhancement
- corresponding CI tasks

Co-authored-by: llcc <lzhes43@gmail.com>
Co-authored-by: rcmerci <rcmerci@gmail.com>
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Co-authored-by: Andelf <andelf@gmail.com>
Co-authored-by: Gabriel Horner <gabriel@logseq.com>
2022-09-01 00:31:49 +08:00