Sascha Ißbrücker
1c3651e91d
Add setting and documentation for fixing CSRF errors ( #349 )
...
* Add documentation and setting for solving CSRF errors
* Improve proxy setup docs
* Link to reverse proxy documentation
* Fix link
2022-10-05 10:01:44 +02:00
Sascha Ißbrücker
b94eaee833
Setup logging for background tasks
2022-09-11 07:50:08 +02:00
Sascha Ißbrücker
1b35d5b5ef
Prevent rate limit errors in wayback machine API ( #339 )
...
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
2022-09-10 20:43:15 +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
Sascha Ißbrücker
a30571ac99
Fix error when deleting all bookmarks in admin ( #336 )
...
Removes the confirmation page when deleting all bookmarks from admin, which could fail in production when the number of deleted objects exceeds 1000.
2022-09-09 08:31:28 +02:00
Sascha Ißbrücker
38f4dd2bea
Minify bookmark list HTML ( #332 )
2022-09-04 09:03:14 +02:00
Sascha Ißbrücker
f88cc30b48
Add option to create initial superuser ( #323 )
...
* Add option to create initial superuser
* Update .env.sample
2022-09-04 08:08:15 +02:00
Sascha Ißbrücker
5841ba0f4c
Bump Django and other dependencies ( #331 )
...
* Bump Django and other dependencies
* Bump python version for CI
2022-09-04 07:15:09 +02:00
Sascha Ißbrücker
c9c6b097d0
Add support for authentication proxies ( #321 )
...
* add support for auth proxies
* Improve docs
2022-08-14 13:35:03 +02:00
Sascha Ißbrücker
1308370027
Add bookmark list keyboard navigation ( #320 )
...
* Add bookmark list keyboard navigation
* Fix focus outline for title link
* Combine bookmark list scripts
2022-08-14 11:28:36 +02:00
Sascha Ißbrücker
1b67081773
Skip updating website metadata on edit unless URL has changed ( #318 )
...
* Skip updating website metadata on edit unless URL has changed
* Prevent form fetching metadata when editing existing bookmark
2022-08-13 11:21:26 +02:00
Rodrigo Candido Gryzinski
ee7ac775d2
Order tags in bookmark tests ( #310 )
2022-08-11 09:04:57 +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
e6718be53b
Update unread flag when saving duplicate URL ( #306 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-26 00:13:41 +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
b618a8b10b
Do not associate tags if bookmark was not imported
2022-07-03 14:44:16 +02:00
Dustin Blackman
b53bd9f112
Bump waybackpy to 3.0.6 ( #281 )
...
* fix wayback
* fix tests
* Reuse user agent from website loader
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-03 06:26:16 +02:00
Dave Onkels
75c0429973
Add apple-touch-icon reference in header ( #282 )
...
* 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>
2022-07-03 06:05:20 +02:00
wahlm
0829d00e5f
no duplication of imported tags ( #289 )
...
* no duplication of imported tags (#287 )
* Add importer test
* Revert settings test
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-03 05:34:40 +02:00
Sascha Ißbrücker
68c3c27b38
Add PATCH support to bookmarks endpoint ( #269 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-26 04:15:13 +02:00
kenc
792a19d15e
Allow creating archived bookmark through REST API ( #268 )
...
* Add POST archived API endpoint
* Update API docs
* Expose is_archived in existing POST endpoint
* Add test to verify bookmark not archived by default
* Fix JSON payload in API docs
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2022-05-26 04:10:36 +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
9e9d7ae7d2
Add background tasks to admin ( #264 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 18:21:10 +02:00
Sascha Ißbrücker
e08bf9fd03
Fake request headers to reduce bot detection ( #263 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 13:25:32 +02:00
Sascha Ißbrücker
d7f257b3c6
Allow searching for untagged bookmarks ( #226 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 09:50:51 +02:00
Sascha Ißbrücker
f4e3d724f0
Improve import performance ( #261 )
...
* Run import in batches, cache tags
* Use bulk operations for bookmarks and assigning tags
* Improve naming
* Restore bookmark validation
* Add logging
* Bulk create tags
* Use HTMLParser for parsing bookmarks
* add parser tests
* Add more importer tests
* Add more importer tests
* Remove pyparsing dependency
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 09:27:30 +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
Rithas K
c97d5c3dc5
Feature: Shortcut key for new bookmark ( #241 )
...
* Add shortcut key for new bookmark
* Use location.assign to keep history
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 08:44:03 +02:00
Sascha Ißbrücker
6cf35ecca6
Add whitespace after auto-completed tag ( #249 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 01:18:41 +02:00
Sascha Ißbrücker
dc0a4e33bd
Scroll menu items into view when using keyboard ( #248 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 01:02:48 +02:00
Sascha Ißbrücker
3906d9e5b8
Prevent external redirects
2022-03-27 11:47:45 +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
Fivefold
5287eb3f8b
Make bookmarks count column in admin sortable ( #183 )
...
The Tag view in django admin has a calculated bookmark count column that is unsortable. This fixes it
2021-12-12 22:52:22 +01:00
Sascha Ißbrücker
5e003ede92
Change api token field to readonly
2021-10-16 05:43:35 +02:00
Sascha Ißbrücker
984eef92e2
Add password change view ( #168 )
2021-10-16 05:42:04 +02: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
Sascha Ißbrücker
123fa54d5a
Fix jumping search box ( #163 )
2021-10-02 23:49:59 +02:00
Sascha Ißbrücker
3ff7a5ba91
Add global search shortcut ( #161 )
2021-10-01 18:02:34 +02:00
Sascha Ißbrücker
d87dde6bae
Create snapshots on web.archive.org for bookmarks ( #150 )
...
* Implement initial background tasks concept
* fix property reference
* update requirements.txt
* simplify bookmark null check
* improve web archive url display
* add background tasks test
* add basic supervisor setup
* schedule missing snapshot creation on login
* remove task locks and clear task history before starting background task processor
* batch create snapshots after import
* fix script reference in supervisord.conf
* add option to disable background tasks
* restructure feature overview
2021-09-04 22:31:04 +02:00
Sascha Ißbrücker
e47c00bd07
Add support for micro-, nanosecond timestamps in importer ( #151 )
2021-08-26 12:33:54 +02:00
Taku Izumi
937858cf58
Fix website scraper decoding content incorrectly ( #126 )
...
* Avoid stall on web scraping
This patch fixes stall on web scraping.
I encountered a stall (scraping never ends) when adding
a bookmark of some site.
To avoid this case, adding a timeout parameter at requests.get()
function is a solution.
Signed-off-by: Taku Izumi <admin@orz-style.com>
* Avoid character corruption of scraping some Japanese sites
This patch fixes character corruption of scraping some Japanese
sites. To avoid character corruption, I use r.content instead
of r.text in load_page function.
The reason of character corruption is encoding problem, I think.
r.text handles data as unicode encoded text, so if scraping
web site's charset is not unicode encoded, character corruption
occurs. r.content handles data as str[], we can avoid encoding
problem.
Signed-off-by: Taku Izumi <admin@orz-style.com>
* use charset_normalizer to determine response encoding
Co-authored-by: Taku Izumi <admin@orz-style.com>
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2021-08-25 10:16:23 +02:00
Sascha Ißbrücker
8047ba6c63
Fix importer not validating bookmark models ( #149 )
2021-08-25 09:20:01 +02:00