* Extract bookmark view contexts
* Implement basic partial updates for bookmark list and tag cloud
* Refactor confirm button JS into web component
* Refactor bulk edit JS into web component
* Refactor tag autocomplete JS into web component
* Refactor bookmark page JS into web component
* Refactor global shortcuts JS into web component
* Update tests
* Add E2E test for partial updates
* Add partial updates for archived bookmarks
* Add partial updates for shared bookmarks
* Cleanup helpers
* Improve naming in bulk edit
* Refactor shared components into behaviors
* Refactor bulk edit components into behaviors
* Refactor bookmark list components into behaviors
* Update tests
* Combine all scripts into bundle
* Fix E2E CI
* Added Apple web-app meta tag #358
* Added manifest file for web app
* Changed manifest to use template #358
* Small tweaks, add tests
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* add simple health endpoint
* add curl and healthcheck to dockerfile
* convert to view
* add simple test
* Add unhealthy test
* Cleanup
* check for LD_SERVER_PORT env var in healthcheck def
* Revert changes to middlewares.py
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* Allow marking bookmarks as shared
* Add basic share view
* Ensure tag names in tag cloud are unique
* Filter shared bookmarks by user
* Add link for filtering by user
* Prevent n+1 queries when rendering bookmark list
* Prevent empty query params in return URL
* Fix user select template tag name
* Create shared bookmarks through API
* List shared bookmarks through API
* Show bookmark suggestions for shared view
* Show unique tags in search suggestions
* Sort user options
* Add bookmark sharing feature flag
* Add test for share setting default
* Simplify settings view
* Show hint if URL is already bookmarked
* Remove hint if URL belongs to edited bookmark
* Fix query param encoding
* Update bookmark instead of duplicating it
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>