* Remove absolute URIs from admin page
The rest of the links on this page are absolute paths without a
specified hostname, but these in particlar use build_absolute_uri. I
am running linkding behind two different load balancers which makes
these links bubble up the "internal" hostname instead of the hostname
I actually got to the page from.
* Add LD_USE_X_FORWARDED_HOST
See: https://docs.djangoproject.com/en/6.0/ref/settings/#std-setting-USE_X_FORWARDED_HOST
* Run tests in CI in parallel
* make tests automatically open/close playwright
* fix parallel tests and screenshots
* fix capturing screenshots for non-failing tests
* cleanup
* cleanup
* format
* log js errors
* provide screenshots as artifacts
* remove old scripts
* 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>