* Manage several sync tokens per user
Move persistent access token management from the user settings view into
a new grampsjs-access-tokens component and support scopes with several
labelled tokens per user (gramps-web-api#1033), used for sync devices.
Each sync token is listed with its label, creation and last use time and
can be revoked on its own. New tokens are created with a device name and
their value is shown once. Servers without the token list endpoint answer
404, and the sync scope is hidden, so older API versions keep working.
* Accept 204 responses and refresh tokens when settings are shown
Revoking a sync token returns 204 No Content, which apiPutPostDelete
treated as an error, so successful revocations were reported as failures.
The token component's active binding never became false because inactive
views don't render, so it didn't reload when the settings view was shown
again. The view now calls the component's refresh() on activation.
* Prevent bugs when changing trees
* Address comment
* Address comments
* Refactor
* Refactor once more
* Address comment
* Address comment
* Last time I address a comment
* Fix: Pass appState to grampsjs-task-progress-indicator in all views
* Add unit test
---------
Co-authored-by: Juan Garcia <juangarcia@Juans-Mac-mini.local>