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.
* API: Fix updation of tags when updating a note
* Add test for fix updation of tags
* Rewrite unit test and change variable name
* Use consistent variables and function calls
* Use default function call and change variable
* Handle case when tags is empty string
* Restructure test cases and improve tags check
* Update documentation
* Add --export, --import, and --import-file flags to joplin config
* Convert config --export/--import to work with JSON
* Remove unnecessary check in renderKeyValue
* Add command to list tags associated with a given note
* Update description
* Fix autocompletion to do notes instead of tags when tag-command is notetags
* Misc. typo and whitespace fixes
Found via `codespell -q 3 -S *.po,*.pot,./ElectronClient/app/locales,./ReactNativeClient/locales,./CliClient/locales -L adresse,ba,fonction,te,whet`
* Revert a previous change
* Trying to implement headless server
* Cli: Cleaned up and completed server command so that it is usable. Added warnings as it is advanced usage only at this point.
* Restored welcome assets
* 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
* 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