* Add title to link so you can see the entire title when hover
* Tweak JS, styles
* Fix snapshot tests
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* Add indicator for modified filters
* Rename shared filter values
* Add update search preferences handler
* Separate search and preferences forms
* Properly initialize bookmark search from get or post
* Add tests for applying search preferences
* Implement saving search preferences
* Remove bookmark search query alias
* Use search preferences as default
* Only show save button for authenticated users
* Only show modified indicator if preferences are modified
* Fix overriding search preferences
* Add missing migration
* Add shared filter to bookmark search model
* Add shared filter UI
* Implement shared filter
* Add API test
* Use radio buttons
* Rename shared parameter
* Improve radio button CSS
* Rename BookmarkFilters to BookmarkSearch
* Refactor queries to accept BookmarkSearch
* Sort query by data added and title
* Ensure pagination respects search parameters
* Ensure tag cloud respects search parameters
* Ensure user select respects search parameters
* Ensure return url respects search options
* Fix passing search options to user select
* Fix BookmarkSearch initialization
* Extract common search form logic
* Ensure partial update respects search options
* Add sort UI
* Use custom ICU collation when sorting with SQLite
* Support sort in API
* 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
* Update default favicon provider
* Add domain placeholder for favicon providers
* Fix favicon loader to handle streaming response
* Handle different mime types for favicons
* Use 32px size by default
* Update documentation
* Skip mime-type test for now
* Manually configure image/x-icon mime type
* Make shared view public, add user profile fallback
* Allow unauthenticated access to shared bookmarks API
* Link shared bookmarks in unauthenticated layout
* Add public sharing setting
* Only show shared bookmarks link if there are publicly shared bookmarks
* Disable public sharing if sharing is disabled
* Show specific helper text when public sharing is enabled
* Fix tests
* Add more tests
* Improve setting description
* 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 basic bookmark notes
* Add bookmark list JS to shared bookmarks page
* Allow testing through ngrok
* Improve CSS
* Set notes through API
* Improve notes editing
* Improve notes icon
* Remove transitions for now
* Update keyboard shortcut
* Add bookmark list tests
* Add setting for showing notes permanently
* Add test for toggling notes
* Update API docs
* Allow searching for notes content
* Skip test
* Disable autocapitalization for tag input form
* Disable autocapitalize in tag auto complete
* Fix test
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
The Wayback Machine Save API only allows a limited number of requests within a timespan. This introduces several changes to avoid rate limit errors:
- There will be max. 1 attempt to create a new snapshot
- If a new snapshot could not be created, then attempt to use the latest existing snapshot
- Bulk snapshot updates (bookmark import, load missing snapshots after login) will only attempt to load the latest snapshot instead of creating new ones
* Add links to remove tags from current query
* Display selected tags in tag cloud
* Add tag cloud tests
* Fix tag cloud in archive
* Add tests for bookmark views
* Expose parse query string
* Improve tag cloud tests
* Cleanup
* Fix rebase issues
* Ignore casing when removing tags from query
Co-authored-by: Jon Hauris <jonp@hauris.org>
* 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
* Add apple-touch-icon reference in header
Recommend adding this reference to support an icon when adding a web app to an iOS homescreen.
* Add dedicated apple touch icon
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>