diff --git a/cps/static/css/caliBlur.css b/cps/static/css/caliBlur.css index 68e56d06f..c5e96bf43 100644 --- a/cps/static/css/caliBlur.css +++ b/cps/static/css/caliBlur.css @@ -2611,6 +2611,8 @@ textarea { line-height: 1.71428571; color: var(--color-primary); font-weight: 100; + text-align: right; + position: absolute; right: 0; padding: 12.5px } diff --git a/cps/static/css/style.css b/cps/static/css/style.css index 0bab5b536..29028b366 100644 --- a/cps/static/css/style.css +++ b/cps/static/css/style.css @@ -438,3 +438,43 @@ div.log { .error-list { margin-top: 5px; } + +body > div.container-fluid > div.row-fluid > div.col-sm-10 { + max-height: calc(100vh - 111px); + overflow-y: auto; +} + +body > div.container-fluid > div.row-fluid > div.col-sm-2 { + max-height: calc(100vh - 111px); + overflow-y: auto; + /* hide scrollbar in IE, Edge */ + -ms-overflow-style: none; + + /* hide scrollbar in Firefox */ + scrollbar-width: none; +} + +/* hide scrollbar in WebKit browsers (Chrome, Safari, Opera) */ +body > div.container-fluid > div.row-fluid > div.col-sm-2::-webkit-scrollbar { + display: none; +} + +.scrollable-col { + /* keep vertical scrolling */ + overflow-y: auto; + + /* hide scrollbar in IE, Edge */ + -ms-overflow-style: none; + + /* hide scrollbar in Firefox */ + scrollbar-width: none; +} + +/* hide scrollbar in WebKit browsers (Chrome, Safari, Opera) */ +.scrollable-col::-webkit-scrollbar { + display: none; +} + +body > div.container-fluid { + padding-right: 0px; +} \ No newline at end of file diff --git a/cps/static/js/main.js b/cps/static/js/main.js index 815246a8d..9138d80e6 100644 --- a/cps/static/js/main.js +++ b/cps/static/js/main.js @@ -410,17 +410,17 @@ $(function() { }); // fix for infinite scroll on CaliBlur Theme (#981) - if ($("body").hasClass("blur")) { - $(".col-sm-10").bind("scroll", function () { - if ( - $(this).scrollTop() + $(this).innerHeight() >= - $(this)[0].scrollHeight - ) { - $loadMore.infiniteScroll("loadNextPage"); - window.history.replaceState({}, null, $loadMore.infiniteScroll("getAbsolutePath")); - } - }); - } + + $(".col-sm-10").bind("scroll", function () { + if ( + $(this).scrollTop() + $(this).innerHeight() >= + $(this)[0].scrollHeight + ) { + $loadMore.infiniteScroll("loadNextPage"); + window.history.replaceState({}, null, $loadMore.infiniteScroll("getAbsolutePath")); + } + }); + } $("#restart").click(function() { diff --git a/cps/templates/list.html b/cps/templates/list.html index b010eecec..4c45b290d 100644 --- a/cps/templates/list.html +++ b/cps/templates/list.html @@ -22,7 +22,7 @@ {% endif %} -
Start Time: 2025-12-05 16:37:33
+Start Time: 2025-12-06 19:29:38
Stop Time: 2025-12-05 23:59:26
+Stop Time: 2025-12-07 02:46:00
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books.py", line 610, in test_edit_custom_categories - self.assertEqual(len(self.search(u'人 Ü')), 0) -AssertionError: 4 != 0-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books.py", line 591, in test_edit_custom_comment - self.assertEqual(len(self.search(u'人1 Ä')), 0) -AssertionError: 8 != 0-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books.py", line 572, in test_edit_custom_text - self.assertEqual(len(self.search(u'人 Ä')), 0) -AssertionError: 8 != 0-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 546, in test_booklist_archive_read - self.assertTrue(bl['table'][0]['Read Status']['element'].is_selected()) -AssertionError: False is not true-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 311, in test_list_visibility - self.assertEqual(20, len(bl['column_elements'])) -AssertionError: 20 != 19-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 59, in test_load_metadata - self.assertTrue(google) -AssertionError: False is not true-
Traceback (most recent call last):
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 534, in _make_request
- response = conn.getresponse()
- ^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connection.py", line 516, in getresponse
- httplib_response = super().getresponse()
- ^^^^^^^^^^^^^^^^^^^^^
- File "/usr/lib/python3.12/http/client.py", line 1428, in getresponse
- response.begin()
- File "/usr/lib/python3.12/http/client.py", line 331, in begin
- version, status, reason = self._read_status()
- ^^^^^^^^^^^^^^^^^^^
- File "/usr/lib/python3.12/http/client.py", line 292, in _read_status
- line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/usr/lib/python3.12/socket.py", line 707, in readinto
- return self._sock.recv_into(b)
- ^^^^^^^^^^^^^^^^^^^^^^^
-TimeoutError: timed out
-
-The above exception was the direct cause of the following exception:
-
-Traceback (most recent call last):
- File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 731, in test_edit_custom_text
- vals = self.get_book_details(5)
- ^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1493, in get_book_details
- cls.driver.get(root_url + "/book/" + str(id))
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 479, in get
- self.execute(Command.GET, {"url": url})
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 451, in execute
- response = cast(RemoteConnection, self.command_executor).execute(driver_command, params)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/remote_connection.py", line 404, in execute
- return self._request(command_info[0], url, body=data)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/remote_connection.py", line 428, in _request
- response = self._conn.request(method, url, body=body, headers=headers, timeout=self._client_config.timeout)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/_request_methods.py", line 143, in request
- return self.request_encode_body(
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/_request_methods.py", line 278, in request_encode_body
- return self.urlopen(method, url, **extra_kw)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/poolmanager.py", line 443, in urlopen
- response = conn.urlopen(method, u.request_uri, **kw)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 841, in urlopen
- retries = retries.increment(
- ^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/util/retry.py", line 474, in increment
- raise reraise(type(error), error, _stacktrace)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/util/util.py", line 39, in reraise
- raise value
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
- response = self._make_request(
- ^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 536, in _make_request
- self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout
- raise ReadTimeoutError(
-urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=48897): Read timed out. (read timeout=120)
- Traceback (most recent call last):
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 534, in _make_request
- response = conn.getresponse()
- ^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connection.py", line 516, in getresponse
- httplib_response = super().getresponse()
- ^^^^^^^^^^^^^^^^^^^^^
- File "/usr/lib/python3.12/http/client.py", line 1428, in getresponse
- response.begin()
- File "/usr/lib/python3.12/http/client.py", line 331, in begin
- version, status, reason = self._read_status()
- ^^^^^^^^^^^^^^^^^^^
- File "/usr/lib/python3.12/http/client.py", line 292, in _read_status
- line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/usr/lib/python3.12/socket.py", line 707, in readinto
- return self._sock.recv_into(b)
- ^^^^^^^^^^^^^^^^^^^^^^^
-TimeoutError: timed out
-
-The above exception was the direct cause of the following exception:
-
-Traceback (most recent call last):
- File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 596, in test_edit_language
- self.get_book_details(3)
- File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1493, in get_book_details
- cls.driver.get(root_url + "/book/" + str(id))
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 479, in get
- self.execute(Command.GET, {"url": url})
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 451, in execute
- response = cast(RemoteConnection, self.command_executor).execute(driver_command, params)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/remote_connection.py", line 404, in execute
- return self._request(command_info[0], url, body=data)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/remote_connection.py", line 428, in _request
- response = self._conn.request(method, url, body=body, headers=headers, timeout=self._client_config.timeout)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/_request_methods.py", line 143, in request
- return self.request_encode_body(
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/_request_methods.py", line 278, in request_encode_body
- return self.urlopen(method, url, **extra_kw)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/poolmanager.py", line 443, in urlopen
- response = conn.urlopen(method, u.request_uri, **kw)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 841, in urlopen
- retries = retries.increment(
- ^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/util/retry.py", line 474, in increment
- raise reraise(type(error), error, _stacktrace)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/util/util.py", line 39, in reraise
- raise value
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
- response = self._make_request(
- ^^^^^^^^^^^^^^^^^^^
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 536, in _make_request
- self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
- File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout
- raise ReadTimeoutError(
-urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=48897): Read timed out. (read timeout=120)
- Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_metadata_scholar.py", line 66, in test_load_metadata - self.assertTrue(google) -AssertionError: False is not true+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_metadata_scholar.py", line 74, in test_load_metadata + self.assertEqual(30, len(results)) +AssertionError: 30 != 20
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_login.py", line 78, in test_login_protected - self.assertEqual(self.fail_access_page(host + "/admin/user"), 2) -AssertionError: 1 != 2-
Traceback (most recent call last):
- File "/home/ozzie/Development/calibre-web-test/test/test_login.py", line 714, in test_next
- self.assertTrue("<title>Calibre-Web | Books</title>" in page.text)
-AssertionError: False is not true
- Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_mass_edit_books_list.py", line 221, in test_invalid_author_title - self.assertEqual(bl['table'][4]['Authors']['text'], "Kurt Jilo") -AssertionError: 'Sigurd Lindgren' != 'Kurt Jilo' -- Sigurd Lindgren -+ Kurt Jilo-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_mass_edit_books_list.py", line 462, in test_mass_edit_series - self.assertEqual(bl['table'][5]['Series']['text'], "Tuto") -AssertionError: '+' != 'Tuto' -- + -+ Tuto-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_mass_edit_books_list.py", line 322, in test_protected_author_title - self.assertEqual(bl['table'][3]['Authors']['text'], "Kurt Jilo") -AssertionError: 'Peter Parker' != 'Kurt Jilo' -- Peter Parker -+ Kurt Jilo-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_merge_books_list.py", line 124, in test_book_merge - self.assertTrue(bl['table'][0]['selector']['element'].is_selected()) -AssertionError: False is not true-
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_opds_feed.py", line 295, in test_opds_books - self.assertEqual(entries['elements'][0]['content']['TAGS'], "Gênot") - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ -KeyError: 'content'-
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_pdf_metadata.py", line 133, in test_upload_invalid_pdf
+ self.check_uploaded_pdf({'author': "Mani Mücks",
+ File "/home/ozzie/Development/calibre-web-test/test/test_pdf_metadata.py", line 76, in check_uploaded_pdf
+ self.assertTrue('languages' not in details)
+AssertionError: False is not true
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_shelf.py", line 569, in test_adv_search_shelf
+ self.assertEqual(len(self.adv_search({u'include_shelf': u'Search', 'title': 'book'})), 2)
+AssertionError: 7 != 2
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 317, in test_sideloaded_book + self.assertAlmostEqual(diff(BytesIO(list_cover), BytesIO(old_list_cover), delete_diff_file=True), 0.0, +AssertionError: 0.049274509803921576 != 0.0 within 0.0001 delta (0.049274509803921576 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 437, in test_upload_aac + self.assertAlmostEqual(diff(BytesIO(self.jpg_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.0026100147661403746 != 0.0 within 0.001 delta (0.0026100147661403746 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 251, in test_upload_aiff + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.004005578839723024 != 0.0 within 0.001 delta (0.004005578839723024 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 483, in test_upload_asf + self.assertAlmostEqual(diff(BytesIO(self.jpg_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.0026100147661403746 != 0.0 within 0.001 delta (0.0026100147661403746 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 379, in test_upload_flac + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.004005578839723024 != 0.0 within 0.001 delta (0.004005578839723024 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 565, in test_upload_m4a + self.assertAlmostEqual(diff(BytesIO(self.jpg_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.0026100147661403746 != 0.0 within 0.001 delta (0.0026100147661403746 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 605, in test_upload_m4b + self.assertAlmostEqual(diff(BytesIO(self.jpg_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.0026100147661403746 != 0.0 within 0.001 delta (0.0026100147661403746 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 120, in test_upload_mp3 + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.006) +AssertionError: 0.0075997182498730486 != 0.0 within 0.006 delta (0.0075997182498730486 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 525, in test_upload_mp4 + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.004005578839723024 != 0.0 within 0.001 delta (0.004005578839723024 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 316, in test_upload_oggvorbis + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.004005578839723024 != 0.0 within 0.001 delta (0.004005578839723024 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 710, in test_upload_ogv + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.004005578839723024 != 0.0 within 0.001 delta (0.004005578839723024 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_audio.py", line 655, in test_upload_opus + self.assertAlmostEqual(diff(BytesIO(self.png_original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.001) +AssertionError: 0.004005578839723024 != 0.0 within 0.001 delta (0.004005578839723024 difference)+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py", line 214, in test_upload_epub_cover_formats + self.assertAlmostEqual(diff(BytesIO(original), BytesIO(cover_image), delete_diff_file=True), 0.0, +AssertionError: 0.004005578839723024 != 0.0 within 0.0001 delta (0.004005578839723024 difference)+
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py", line 104, in test_upload_epub_lang
+ self.assertEqual(len(self.adv_search({u'include_language': u'Tedesco'})), 1)
+AssertionError: 12 != 1
+