* feat: add "Email Backups" to "Backups" section
* chore: remove comment
* chore: better wording
* chore: put working snjs version
* chore: better wording
* style: reuse existing css classes and add the missing one
* feat: add "No email backup" option
* refactor: move the function outside of the useEffect, remove unused utility function
* feat (WIP): move CloudLink to backups section
* chore: versions bump, type fixes
* fix: handle the case when the setting update fails
* style: remove dashed border from the confirmation code, UI improvements
* feat: implement removing integration, improve interaction on different events
* feat: implement non-interactive textarea for showing and copying the code
* fix: fix TS errors
* feat: implement "Perform backup" logic
- remove the code for copying the confirmation code for backup integration
- also remove unnecessary parameters passed to Provider
* feat: don't show "CloudLink" in preferences pane
* chore: show error in console on exception
* refactor: better naming, add `coverage` folder to gitignore
* fix: return correct setting name
* refactor: use async/await for the sake of consistency
* chore: remove duplicate line
* feat: get urls for cloud backup from snjs
* chore: update dependencies
* refactor: set both `token` and `frequency` settings when enabling cloud integration; get only `frequency` when checking the integration status
* refactor: once the setting is successfully saved, don't get its value from backend; instead, use its value that's still in frontend
* feat: move "Receive a notification email if a cloud backup fails." into cloud backups section
* fix: text correction
* fix: get correct cloud integration url from snjs based on prod/dev environment
* feat: introduce native smart tags
* feat: introduce react navigation
* feat: render smart tag special cases
* feat: add create tag & all count
* feat: move components to react + mobx
* fix: workaround issue with snjs
* feat: nice smart tag icons in experimental
* feat: add back components
* fix: typo on all tags
* feat: add panel resizer + simplif code
* fix: panel resize size & refresh
* fix: auto select all notes
* style: remove legacy tag view
* style: remove legacy directives
* fix: select tag from note view
* feat: WIP smart tag rename
* fix: template checks
* fix: user can create new notes
* panel: init width
* fix: panel resizer ref
* fix: update with new component viewer
* fix: use fixed isTemplateItem & fixed findItems
* refactor: rename tags panel into navigation
* style: remove TODOs that are ok
* feat: smart tag premium check with premium service
* refactor: multi-select variables for debuggability
* fix: clean deinit code
* fix: prevent trigger tag changes event for the same uuid
* fix: typings
* fix: use minimal state
* style: remove dead code
* style: long variable names
* refactor: move magic string to module
* fix: use smart filter feature
* refactor: add task id in todo
* feat: fetch features and store locally for offline users
* feat: handle success and error cases
* refactor: move offline activation code reading/validation to snjs
* chore: update after renaming snjs function
* fix: correct condition for checking offline users
* feat: let users remove their previous offline keys (WIP)
* refactor: handle setOfflineFeatures function response accordingly
* feat: remove corresponding local data when removing offline key
* fix: use snjs' confirm dialog instead of custom one
* feat: show warning before installing extension from untrusted source
* refactor: move functions for validating external feature url and checking if custom server host was used to snjs
* chore: put correct snjs version
* chore: make `eslint-plugin-react-hooks` in yarn.lock to match the `develop` branch
* chore: deps update
* chore: deps update
* feat: snjs app groups
* fix: update snjs version to point to wip commit
* wip: account switcher
* feat: rename lock manager to auto lock service
* fix: more relevant sign out copy
* chore(deps): update snjs
* fix: use setTimeout instead of setImmediate
* feat: make account switcher expiremental feature
* chore(deps): upgrade snjs