Sascha Ißbrücker
3af4e07eb6
Allow searching for tags without hash character ( #449 )
...
* Allow searching for tags without hash character
* Allow removing selected tags without hash
* Add more tests
2023-05-18 09:06:22 +02:00
Sascha Ißbrücker
814401be2e
Add option for showing bookmark favicons ( #390 )
...
* Implement favicon loader
* Implement load favicon task
* Show favicons in bookmark list
* Add missing migration
* Load missing favicons on import
* Automatically refresh favicons
* Add enable favicon setting
* Update uwsgi config to host favicons
* Improve settings wording
* Fix favicon loader test setup
* Document LD_FAVICON_PROVIDER setting
* Add refresh favicons button
2023-01-21 16:36:10 +01:00
McKenna Jones
da99b8b034
Add Health Check endpoint ( #392 )
...
* 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>
2023-01-20 22:26:58 +01:00
Sascha Ißbrücker
f84e2d2210
Add error handling for checking latest version ( #360 )
2022-10-16 13:04:36 +02:00
Sascha Ißbrücker
6420ec173a
Improve bookmark query performance ( #334 )
...
* Remove tag projection from bookmark queries
* add feeds performance test
2022-09-09 19:46:55 +02:00
s2marine
8053468ca5
Add support for context path ( #313 )
...
* Add support for context path
add an optional environment variable: LD_CONTEXT_PATH
* Fix for pull request code review comments
Co-authored-by: s2marine <s2marine@gmail.com>
2022-08-07 12:41:11 +02:00
Sascha Ißbrücker
dd5e65ecd7
Display selected tags in tag cloud ( #307 )
...
* 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>
2022-08-04 20:31:24 +02:00
Sascha Ißbrücker
fec966f687
Add bookmark sharing ( #311 )
...
* 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
2022-08-04 19:37:16 +02:00
Sascha Ißbrücker
54ce6d5fe6
Add RSS feeds ( #305 )
...
* Add basic unread bookmarks feed
* Generate user-specific feed
* Add feed tests
* Add all bookmarks feed
* Add feed token admin
* Add note about renewing URLs
* Add support for query parameter
* Fix rebase issues
* Improve docs on feeds integration
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-23 23:20:27 +02:00
Sascha Ißbrücker
13ff9ac4f8
Add read it later functionality ( #304 )
...
* Allow marking bookmarks as unread
* Restructure navigation to include preset filters
* Add mark as read action
* Improve description
* Highlight unread bookmarks visually
* Mark bookmarks as read by default
* Add tests
* Implement toread flag in importer
* Implement admin actions
* Add query tests
* Remove untagged link
* Update api docs
* Reduce height of description textarea
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-23 22:17:20 +02:00
Sascha Ißbrücker
2de6d8151b
Improve about section ( #265 )
...
* Improve about section
* Add changelog link
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 21:33:08 +02:00
Sascha Ißbrücker
117160ea87
Enforce CSRF check for acknowledging toasts
2022-05-20 16:51:50 +02:00
Sascha Ißbrücker
f92c3dd403
Make Internet Archive integration opt-in ( #250 )
...
* Make web archive integration opt-in
* Add toast message about web archive integration opt-in
* Improve wording for web archive setting
* Add toast admin
* Fix toast clear button visited styles
* Add test for redirect
* Improve wording
* Ensure redirects to same domain
* Improve wording
* Fix snapshot test
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 09:46:51 +02:00
Sascha Ißbrücker
eca98a13f5
Prevent bookmark actions through get requests
2022-03-27 10:56:09 +02:00
Sascha Ißbrücker
edb71286e7
Prevent external redirects
2022-03-25 18:29:54 +01:00
Sascha Ißbrücker
1ffc3e0266
Fix bookmark access restrictions
2022-03-22 02:24:21 +01:00
Sascha Ißbrücker
82b4268a26
Ensure tag names don't contain spaces ( #184 )
2021-12-12 22:54:22 +01:00
Sascha Ißbrücker
eae6ca6e07
Merge API view with integrations view ( #165 )
2021-10-03 15:13:45 +02:00
Sascha Ißbrücker
4f9fcb41bd
Add bookmark link target setting ( #164 )
2021-10-03 09:35:59 +02:00
Damanpreet Singh
de903bc341
Add about section in settings ( #134 )
...
* About section in settings
* Added about section in settings tab
* fix code style
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2021-08-24 19:47:58 +02:00
Sascha Ißbrücker
3e48b22095
Add settings view tests
2021-05-14 23:34:53 +02:00
Sascha Ißbrücker
0c1c21c8d1
Implement bulk edit ( #101 )
2021-03-29 00:43:50 +02:00
Sascha Ißbrücker
119d8f7efb
Implement dark theme ( #49 )
2021-03-28 12:11:56 +02:00
Sascha Ißbrücker
a02338cdec
Improve and promote admin panel ( #76 )
...
* Improve and promote admin panel (#76 )
* Customize admin panel texts (#76 )
* Improve settings structure (#76 )
* Improve admin list consistency (#76 )
* Fix redirect URLs (#76 )
* Add admin tooltip (#76 )
2021-02-24 03:36:27 +01:00
Sascha Ißbrücker
778f1b2ff3
Remove legacy API ( #55 )
2021-02-16 04:45:21 +01:00
Sascha Ißbrücker
c61e8ee2cd
Implement archive feature ( #73 )
...
* Implement archive function (#46 )
* Implement archive view (#46 )
* Filter tags for archived/unarchived (#46 )
* Implement archived bookmarks endpoint (#46 )
* Implement archive mode for search component (#46 )
* Move bookmarklet to settings (#46 )
* Update modified timestamp on archive/unarchive (#46 )
* Fix bookmarklet (#46 )
2021-02-14 18:00:22 +01:00
Sascha Ißbrücker
c13b27e170
Add search autocomplete ( #53 )
...
* Implement search autocomplete for recent searches
* Implement search autocomplete for bookmarks
* Fix URL encoding of query param
* Add tag suggestions to search autocomplete
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-12-31 09:47:51 +01:00
Sascha Ißbrücker
779de41b65
Implement custom netscape file parser ( #51 )
...
* Implement custom Netscape file parser (#50 )
* Add environment variable to configure request timeouts (#50 )
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-12-31 07:02:28 +01:00
Sascha Ißbrücker
e497bcb5c0
#24 Implement REST API ( #32 )
...
* #24 Implement readonly bookmark API
* #24 Implement create/update bookmark API
* #24 Fix title, description not allowing blank values
* #24 Code cleanup
* #24 Add modification dates to response
* #24 Add API docs
* #24 Implement delete bookmark API
* #24 Fix API docs link
* #24 Fix API docs link
* #24 Implement tag API
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-09-27 09:34:56 +02:00
Sascha Ißbrücker
c80f26dd34
#26 Return to same page after editing or deleting bookmark
2020-09-13 10:56:03 +02:00
Sascha Ißbrücker
348a536aa3
#23 Prevent bookmark duplicates
...
* 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>
2020-09-13 08:46:07 +02:00
Sascha Ißbrücker
10fd3d89be
Add error handling and logging for importer
2020-06-07 14:15:44 +02:00
Sascha Ißbrücker
70b66122c8
Implement tag auto-completion
2019-12-27 12:32:44 +01:00
Sascha Ißbrücker
4c038f8157
Implement bookmark export
2019-12-26 22:41:30 +01:00
Sascha Ißbrücker
991025d13e
Implement bookmark export
2019-12-26 13:45:12 +01:00
Sascha Ißbrücker
7b27862795
Add empty bookmarks message
2019-07-06 17:31:43 +02:00
Sascha Ißbrücker
1b7f57999d
Improve URL handling
...
Extract bookmark list tag
2019-07-06 17:17:14 +02:00
Sascha Ißbrücker
25e74088b8
Simplify view naming
2019-07-06 08:14:13 +02:00
Sascha Ißbrücker
312ab3db17
Implement bookmarklet
2019-07-05 22:29:21 +02:00
Sascha Ißbrücker
4f8a66b3bd
Fix module references
2019-07-05 19:26:46 +02:00
Sascha Ißbrücker
7e9db1588f
Implement bookmark import form
2019-07-05 10:04:52 +02:00
Sascha Ißbrücker
d57ea27ba3
Create docker image
2019-07-03 17:18:29 +02:00
Sascha Ißbrücker
fdcd9cb42c
Implement login and logout views
2019-07-02 09:34:12 +02:00
Sascha Ißbrücker
e07da529f1
Preview website title + description in bookmark form
...
Fix unnecessary selects when rendering bookmarks
2019-07-02 01:28:02 +02:00
Sascha Ißbrücker
0e872c754b
Edit bookmark tags
2019-07-01 22:05:38 +02:00
Sascha Ißbrücker
e157bcd34f
Filter tag cloud based on search query
2019-06-30 21:15:02 +02:00
Sascha Ißbrücker
9323b9da77
Implement tag cloud on bookmark page
2019-06-30 19:31:32 +02:00
Sascha Ißbrücker
accc360ae5
Display tags in bookmark list
2019-06-30 08:24:21 +02:00
Sascha Ißbrücker
10b1570a64
Implement basic search
2019-06-29 12:53:37 +02:00
Sascha Ißbrücker
0177660cf6
Implement basic paging
2019-06-29 09:15:07 +02:00