Steps to reproduce the behavior:
I reduced the error down to the following GET request:
GET /kobo/token/v1/library/sync?Filter=ALL&DownloadUrlFilter=Generic,Android&PrioritizeRecentReads=true
This returns a error 500
I can reproduce this in the browser to and get the following Error page:
Calibre-Web 500 Internal Server Error The server encountered an internal error and was unable to complete your request. There is an error in the application. Traceback (most recent call last): File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 199, in _key_not_found self._key_fallback(key, None) File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 138, in _key_fallback raise KeyError(key) from err KeyError: 'is_public' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app response = self.full_dispatch_request() File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request rv = self.handle_user_exception(e) File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) File "/app/calibre-web/cps/kobo_auth.py", line 168, in inner return f(*args, **kwargs) File "/app/calibre-web/cps/web.py", line 122, in inner return f(*args, **kwargs) File "/app/calibre-web/cps/kobo.py", line 313, in HandleSyncRequest sync_shelves(sync_token, sync_results, only_kobo_shelves) File "/app/calibre-web/cps/kobo.py", line 735, in sync_shelves if not shelf_lib.check_shelf_view_permissions(shelf): File "/app/calibre-web/cps/shelf.py", line 298, in check_shelf_view_permissions if cur_shelf.is_public: File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 66, in sqlalchemy.cyextension.resultproxy.BaseRow.__getattr__ File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 63, in sqlalchemy.cyextension.resultproxy.BaseRow._get_by_key_impl File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 201, in _key_not_found raise AttributeError(ke.args[0]) from ke AttributeError: is_public Please report this issue with all related information: [Create Issue](https://github.com/janeczku/calibre-web/issues/new/choose=) [Return to Home](https://book.alva.lgbt/)
Logfile
The part of the logfile regarding the request:
`2024-07-13 09:57:47,588] INFO {cps.kobo:143} Kobo library sync request received.
[2024-07-13 09:57:47,588] DEBUG {cps.kobo:144} SyncToken: 0001-01-01 00:00:00,0001-01-01 00:00:00,0001-01-01 00:00:00,0001-01-01 00:00:00,0001-01-01 00:00:00,
[2024-07-13 09:57:47,616] DEBUG {cps.kobo:215} Books to Sync: 1
[2024-07-13 09:57:47,626] DEBUG {cps.kobo:280} Remaining books to Sync: 1
[2024-07-13 09:57:47,633] ERROR {cps:1414} Exception on /kobo/03e4e5bd4520ecff3c67aac16d99ccad/v1/library/sync [GET]
Traceback (most recent call last):
File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 199, in _key_not_found
self._key_fallback(key, None)
File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 138, in _key_fallback
raise KeyError(key) from err
KeyError: 'is_public'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app
response = self.full_dispatch_request()
File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(view_args)
File "/app/calibre-web/cps/kobo_auth.py", line 168, in inner
return f(*args, *kwargs)
File "/app/calibre-web/cps/web.py", line 122, in inner
return f(args, kwargs)
File "/app/calibre-web/cps/kobo.py", line 313, in HandleSyncRequest
sync_shelves(sync_token, sync_results, only_kobo_shelves)
File "/app/calibre-web/cps/kobo.py", line 735, in sync_shelves
if not shelf_lib.check_shelf_view_permissions(shelf):
File "/app/calibre-web/cps/shelf.py", line 298, in check_shelf_view_permissions
if cur_shelf.is_public:
File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 66, in sqlalchemy.cyextension.resultproxy.BaseRow.getattr
File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 63, in sqlalchemy.cyextension.resultproxy.BaseRow._get_by_key_impl
File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 201, in _key_not_found
raise AttributeError(ke.args[0]) from ke
AttributeError: is_public `
Expected behavior
Syncing of the selected shelf
Environment (please complete the following information):
Describe the bug/problem
I try to sync my new Kobo Clara with calibre web
To Reproduce
Steps to reproduce the behavior: I reduced the error down to the following GET request:
GET /kobo/token/v1/library/sync?Filter=ALL&DownloadUrlFilter=Generic,Android&PrioritizeRecentReads=true
This returns a error 500I can reproduce this in the browser to and get the following Error page:
Calibre-Web 500 Internal Server Error The server encountered an internal error and was unable to complete your request. There is an error in the application. Traceback (most recent call last): File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 199, in _key_not_found self._key_fallback(key, None) File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 138, in _key_fallback raise KeyError(key) from err KeyError: 'is_public' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app response = self.full_dispatch_request() File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request rv = self.handle_user_exception(e) File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) File "/app/calibre-web/cps/kobo_auth.py", line 168, in inner return f(*args, **kwargs) File "/app/calibre-web/cps/web.py", line 122, in inner return f(*args, **kwargs) File "/app/calibre-web/cps/kobo.py", line 313, in HandleSyncRequest sync_shelves(sync_token, sync_results, only_kobo_shelves) File "/app/calibre-web/cps/kobo.py", line 735, in sync_shelves if not shelf_lib.check_shelf_view_permissions(shelf): File "/app/calibre-web/cps/shelf.py", line 298, in check_shelf_view_permissions if cur_shelf.is_public: File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 66, in sqlalchemy.cyextension.resultproxy.BaseRow.__getattr__ File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 63, in sqlalchemy.cyextension.resultproxy.BaseRow._get_by_key_impl File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 201, in _key_not_found raise AttributeError(ke.args[0]) from ke AttributeError: is_public Please report this issue with all related information: [Create Issue](https://github.com/janeczku/calibre-web/issues/new/choose=) [Return to Home](https://book.alva.lgbt/)
Logfile
The part of the logfile regarding the request: `2024-07-13 09:57:47,588] INFO {cps.kobo:143} Kobo library sync request received. [2024-07-13 09:57:47,588] DEBUG {cps.kobo:144} SyncToken: 0001-01-01 00:00:00,0001-01-01 00:00:00,0001-01-01 00:00:00,0001-01-01 00:00:00,0001-01-01 00:00:00, [2024-07-13 09:57:47,616] DEBUG {cps.kobo:215} Books to Sync: 1 [2024-07-13 09:57:47,626] DEBUG {cps.kobo:280} Remaining books to Sync: 1 [2024-07-13 09:57:47,633] ERROR {cps:1414} Exception on /kobo/03e4e5bd4520ecff3c67aac16d99ccad/v1/library/sync [GET] Traceback (most recent call last): File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 199, in _key_not_found self._key_fallback(key, None) File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 138, in _key_fallback raise KeyError(key) from err KeyError: 'is_public'
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app response = self.full_dispatch_request() File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request rv = self.handle_user_exception(e) File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(view_args) File "/app/calibre-web/cps/kobo_auth.py", line 168, in inner return f(*args, *kwargs) File "/app/calibre-web/cps/web.py", line 122, in inner return f(args, kwargs) File "/app/calibre-web/cps/kobo.py", line 313, in HandleSyncRequest sync_shelves(sync_token, sync_results, only_kobo_shelves) File "/app/calibre-web/cps/kobo.py", line 735, in sync_shelves if not shelf_lib.check_shelf_view_permissions(shelf): File "/app/calibre-web/cps/shelf.py", line 298, in check_shelf_view_permissions if cur_shelf.is_public: File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 66, in sqlalchemy.cyextension.resultproxy.BaseRow.getattr File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 63, in sqlalchemy.cyextension.resultproxy.BaseRow._get_by_key_impl File "/lsiopy/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 201, in _key_not_found raise AttributeError(ke.args[0]) from ke AttributeError: is_public `
Expected behavior
Syncing of the selected shelf
Environment (please complete the following information):
OS: debian
Python version: [e.g. python2.7]
Calibre-Web version: [e.g. 0.6.20]: 6.20
Docker container: [LinuxServer]:linuxserver
Browser: [e.g. Chrome 83.0.4103.97, Safari 13.3.7, Firefox 68.0.1 ESR]
Additional context Add any other context about the problem here. [e.g. access via reverse proxy, database background sync, special database location]