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.
This reverts commit f432734338.
This new package has its own glitches and doesn't look good
when button labels are too large. So reverting to the less
glitchy package.
* When attaching an image/resource insert it at the current cursor position
* Correct argument order
* Address code review comments
* Another code review comment
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
* Fix quick actions
* Receive quick actions when the app is cold-launched
* Force side menu close before creating quick note
* Fix react warning: Can't perform a react state update on an unmounted component
The warning was:
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
in NoteScreenComponent (created by Connect(NoteScreenComponent))
in Connect(NoteScreenComponent) (at app-nav.js:74)
* Fix auto title generation for quick notes.
The previous version created a new provisional note but then while handling NAV_BACK at reduxSharedMiddleware:35 the list of provisional note ids was cleared so when NoteScreenComponent was being mounted later the note was no longer considered provisional and Joplin would not generate the note title from its contents.
* Check for quick action data to be present before processing.
For some reason sometimes it gets called with null.