The implementation uses / symbol as a nesting separator. I.e. tag/subtag is a nested tag, where tag is the parent tag and subtag is its child. Creating a tag named tag/subtag/subsubtag creates three tags, one for each level. The tags are associated using parent_id field.
In the app, viewing notes with a tag will also show all notes that are associated with any of the tag's descendant tags (same for the note count). Deleting a tag will also delete all its descendant tags.
In the desktop app the tags are shown nested just like the notebooks.
The goal is to allow locking a sync target so that maintenance
operations, such as upgrading the target to a more efficient format,
can be done. For now, only the lock mechanism is in place, as a way to
evaluate it, and to see if it can cause any issue.
* Update eslint config
* Applied linter to lib
* Applied eslint config to CliClient/app
* Removed prettier due to https://github.com/prettier/prettier/pull/4765
* First pass on test units
* Applied linter config to test units
* Applied eslint config to clipper
* Applied to plugin dir
* Applied to root of ElectronClient
* Applied on RN root
* Applied on CLI root
* Applied on Clipper root
* Applied config to tools
* test hook
* test hook
* test hook
* Added pre-commit hook
* Applied rule no-trailing-spaces
* Make sure root packages are installed when installing sub-dir
* Added doc
* Allow downloading resources automatically, on demand, or when loading note
* Make needToBeFetched calls to return the right number of resources
* All: Improved handling of resource downloading and decryption
* Desktop: Click on resource to download it (and, optionally, to decrypt it)
* Desktop: Better handling of resource state (not downloaded, downloading, encrypted) in front end
* Renamed setting to sync.resourceDownloadMode
* Download resources when changing setting
* tweaks
* removed duplicate cs
* Better report resource download progress
* Make sure resource cache is properly cleared when needed
* Also handle manual download for non-image resources
* More improvements to logic when downloading and decrypting resources
* Started revisions support
* More rev changes
* More rev changes
* More revs changes
* Fixed deletion algorithm
* More tests and moved updated time to separate field
* Display info when restoring note
* Better handling of existing notes
* wip
* Further improvements and fixed tests
* Better handling of changes created via sync
* Enable chokidar again
* Testing special case
* Further improved logic to handle notes that existed before the revision service
* Added tests
* Better handling of encrypted revisions
* Improved handling of deleted note revisions by moving logic to collectRevision
* Improved handling of old notes by moving logic to collectRevision()
* Handle case when deleting revisions while one is still encrypted
* UI tweaks
* Added revision service to mobile app
* Fixed config screens on mobile and desktop
* Enabled revisions on CLI app