* parser implementation
* add support for quoted strings
* add support for tags
* ignore empty tags
* implicit and
* prepare query conversion by disabling tests
* convert query logic
* fix nested combined tag searches
* simplify query logic
* Add special keyword support to parser
* Add special keyword support to query builder
* Handle invalid queries in query builder
* Notify user about invalid queries
* Add helper to strip tags from search query
* Make tag cloud show all tags from search query
* Use new method for extracting tags
* Add query for getting tags from search query
* Get selected tags through specific context
* Properly remove selected tags from complex queries
* cleanup
* Clarify bundle search terms
* Add documentation draft
* Improve adding tags to search query
* Add option to switch back to the old search
* Add option to create HTML snapshot for bulk edit
* Add the prerequisite for displaying the "Create HTML Snapshot" bulk action option
* Add test case
This test case covers the scenario where the bulk actions panel displays the corresponding options when the HTML snapshot feature is enabled.
* Use the existing `tasks.create_html_snapshots()` instead of the for loop
* Fix the exposure of `settings.LD_ENABLE_SNAPSHOTS` within `BookmarkListContext`
* add service tests
* cleanup context
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* Gzip .html upload, tests for .html & .gz uploads
* Gzip all file types that aren't already gzips
* Show filename of what user uploaded before compression
* Remove line I thought we need but we don't
* cleanup and fix tests
---------
Co-authored-by: kclark <kclark@autoverify.net>
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* Add url create/edit query paramter to clear cache
* Add refresh bookmark metadata button in create/edit bookmark page
* Fix refresh bookmark metadata when editing existing bookmark
* Add bulk refresh metadata functionality
* Fix test cases for bulk view dropdown selection list
* Allow bulk metadata refresh when background tasks are disabled
* Move load preview image call on refresh metadata
* Update bookmark modified time on metadata refresh
* Rename function to align with convention
* Add tests for refresh task
* Add tests for bookmarks service refresh metadata
* Add tests for bookmarks api disable cache on check
* Remove bulk refresh metadata when background tasks disabled
* Refactor refresh metadata task
* Remove unnecessary call
* Fix testing mock name
* Abstract clearing metadata cache
* Add test to check if load page is called twice when cache disabled
* Remove refresh button for new bookmarks
* Remove strict disable cache is true check
* Refactor refresh metadata form logic into its own function
* move button and highlight changes
* polish and update tests
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* Extract asset logic
* Allow disabling HTML snapshot when creating bookmark
* Add endpoint for uploading singlefile snapshots
* Add URL parameter to disable HTML snapshots
* Allow using asset list in base Docker image
* Expose app version through profile
* add LAST_MODIFIED attribute when exporting
* complement test_exporter for LAST_MODIFIED attribute
* parse LAST_MODIFIED attribute when importing
* use bookmark date_added when no modified date is parsed, otherwise use parsed datetime.
* complement test_parser and test_importer for LAST_MODIFIED attribute
* cleanup tests a bit
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* add migration for merging fields
* remove usage of website title and description
* keep empty website title and description in API for compatibility
* restore scraping in API and add option for disabling it
* document API scraping behavior
* remove deprecated fields from API docs
* improve form layout
* cleanup migration
* cleanup website loader
* update tests
* Update thumbnails after import
* Safer way to download thumbnails
* small test improvements
* add missing tests
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* Add basic HTML snapshots
* Implement asset list
* Add snapshot creation tests
* Add deletion tests
* Show file size
* Remove snapshots
* Create new snapshots
* Switch to single-file
* CSS tweak
* Remove auto refresh
* Show delete link when there is no file yet
* Add current date to display name
* Add flag for snapshot support
* Add option for disabling automatic snapshots
* Make snapshots sharable
* Document image variants
* Update README.md
* Add migrations
* Fix tests
* Support pytest for running tests
* Support extracting description from meta og:description property
* Revert changes to TOC
* Add test
---------
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
* 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
* 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