Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Library scan fails due to unaccessible file #342

Closed
1 of 5 tasks
mccaan opened this issue Oct 18, 2020 · 2 comments
Closed
1 of 5 tasks

[Bug] Library scan fails due to unaccessible file #342

mccaan opened this issue Oct 18, 2020 · 2 comments
Labels
bug Something isn't working released

Comments

@mccaan
Copy link

mccaan commented Oct 18, 2020

Komga environment

  • OS: Synology DSM 6.2
  • Komga version: 0.63.2
  • I am running Komga with Docker
    • Docker image tag [e.g. latest, beta]:
  • I am running Komga from the jar
    • Java version:
      java -version
      openjdk version "1.8.0_212"
      OpenJDK Runtime Environment (IcedTea 3.12.0) (linux-gnu build 1.8.0_212-b04)
      OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
  • I have a problem in the web interface
    • Browser (with version):
  • I have a problem with an OPDS client application
    • OPDS Application (with version):
  • I have a problem with the Tachiyomi extension
    • Tachiyomi version:
    • Tachiyomi extension version:

Describe the bug

Library is never updated due to a permission error in an internal Synology Directory.

I use this application.yml to exclude internal synology directories ( "#recycle" "@eadir" "[email protected]" )

Attached full apllication.yml

komga:
  libraries-scan-cron: "* */15 * * * ?" #periodic scan every 15 minutes
  libraries-scan-startup: true #scan libraries at startup
  libraries-scan-directory-exclusions: #patterns to exclude directories from the
 scan
    - "#recycle" #synology NAS recycle bin
    - "@eaDir"   #synology NAS index/metadata folders
    - "[email protected]" #Error detected
  remember-me:
    key: 8926827 #required to activate the remember-me auto-login via cookies
    validity: 2592000 #validity of the cookie in seconds, here 1 month
server:
  port: 8080
  servlet.context-path: /

with this file, during start makes a library scan with this result:

2020-10-18 10:45:30.880  INFO 29999 --- [main] org.gotson.komga.ApplicationKt           : Starting ApplicationKt on Nosferatu with PID 29999 (/volume1/homes/admin/Tasks/ComicOrg/komga-0.63.2.jar started by admin in /volume1/homes/admin/Tasks/ComicOrg)
2020-10-18 10:45:30.895  INFO 29999 --- [main] org.gotson.komga.ApplicationKt           : No active profile set, falling back to default profiles: default
2020-10-18 10:45:40.947  INFO 29999 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
2020-10-18 10:45:41.696  INFO 29999 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 657ms. Found 0 JDBC repository interfaces.
2020-10-18 10:45:46.612  INFO 29999 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@cd1e646' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible
for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-10-18 10:45:46.632  INFO 29999 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto
-proxying)
2020-10-18 10:45:49.663  INFO 29999 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-10-18 10:45:49.824  INFO 29999 --- [main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-10-18 10:45:49.825  INFO 29999 --- [main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.37]
2020-10-18 10:45:50.313  INFO 29999 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-10-18 10:45:50.314  INFO 29999 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 18907 ms
2020-10-18 10:45:52.566  INFO 29999 --- [main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2020-10-18 10:45:52.964  INFO 29999 --- [main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2020-10-18 10:45:52.987  INFO 29999 --- [main] o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:sqlite:/var/services/homes/admin/.komga/database.sqlite?foreign_keys=on;'
2020-10-18 10:45:54.084  INFO 29999 --- [main] o.s.b.a.e.web.ServletEndpointRegistrar   : Registered '/actuator/jolokia' to jolokia-actuator-endpoint
2020-10-18 10:45:54.186  INFO 29999 --- [main] io.hawt.HawtioContextListener            : Initialising hawtio services
2020-10-18 10:45:54.662  INFO 29999 --- [main] io.hawt.system.ConfigManager             : Configuration will be discovered via system properties
2020-10-18 10:45:54.666  INFO 29999 --- [main] io.hawt.jmx.JmxTreeWatcher               : Welcome to Hawtio 2.10.1
2020-10-18 10:45:54.708  INFO 29999 --- [main] i.h.w.auth.AuthenticationConfiguration   : Starting hawtio authentication filter, JAAS realm: "karaf" authorized role(s): "admin,manager,viewer" role principal classes: ""
2020-10-18 10:45:55.594  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=false,journalDirectory=/var/services/homes/admin/.komga/artemis/journal,bindingsDirectory=/var/services/homes/admin/.komga/artemis/bi
ndings,largeMessagesDirectory=/var/services/homes/admin/.komga/artemis/largemessages,pagingDirectory=/var/services/homes/admin/.komga/artemis/paging)
2020-10-18 10:45:55.725  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221013: Using NIO Journal
2020-10-18 10:45:56.176  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221057: Global Max Size is being adjusted to 1/2 of the JVM max size (-Xmx). being defined as 213,647,360
2020-10-18 10:45:56.341  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE
2020-10-18 10:45:56.453  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601138: User anonymous is getting notification info on target resource: null []
2020-10-18 10:45:56.466  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl@b6b1987 []
2020-10-18 10:45:56.470  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601138: User anonymous is getting notification info on target resource: ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11eb-8655-001132876a45 []
2020-10-18 10:45:56.732  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221034: Waiting indefinitely to obtain live lock
2020-10-18 10:45:56.733  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221035: Live Server Obtained live lock
2020-10-18 10:45:57.389  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.AddressControlImpl@3eeb318f []
2020-10-18 10:45:57.396  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.AddressControlImpl@20a14b55 []
2020-10-18 10:45:57.401  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.AddressControlImpl@39ad977d []
2020-10-18 10:45:57.403  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.AddressControlImpl@6da00fb9 []
2020-10-18 10:45:57.684  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.QueueControlImpl@3fa2213 []
2020-10-18 10:45:57.709  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.QueueControlImpl@3e7634b9 []
2020-10-18 10:45:57.717  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.QueueControlImpl@6f0b0a5e []
2020-10-18 10:45:58.720  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221080: Deploying address DLQ supporting [ANYCAST]
2020-10-18 10:45:58.736  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221003: Deploying ANYCAST queue DLQ on address DLQ
2020-10-18 10:45:58.737  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221080: Deploying address ExpiryQueue supporting [ANYCAST]
2020-10-18 10:45:58.738  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221003: Deploying ANYCAST queue ExpiryQueue on address ExpiryQueue
2020-10-18 10:45:58.739  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221003: Deploying ANYCAST queue tasks.background on address tasks.background
2020-10-18 10:45:58.922  INFO 29999 --- [main] org.apache.activemq.audit.base           : AMQ601019: User anonymous is getting mbean info on target resource: org.apache.activemq.artemis.core.management.impl.AcceptorControlImpl@29df4d43 []
2020-10-18 10:45:59.076  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221007: Server is now live
2020-10-18 10:45:59.077  INFO 29999 --- [main] org.apache.activemq.artemis.core.server  : AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.12.0 [localhost, nodeID=f5ea392a-0a19-11eb-8655-001132876a45]
2020-10-18 10:46:04.484  INFO 29999 --- [main] o.g.k.i.image.ImageConverter             : Supported read formats: [JPG, JPEG 2000, tiff, bmp, bigtiff, PCX, gif, WBMP, PNG, RAW, JPEG, PNM, BigTIFF, tif, TIFF, jpeg, wbmp, jpeg-lossless, jbig2, jpg, JPEG2000, BMP, pcx, GIF, png, BIGTIFF, raw, JPEG-LOSSLESS, webp, JBIG2
, pnm, TIF, jpeg2000, jpeg 2000]
2020-10-18 10:46:04.485  INFO 29999 --- [main] o.g.k.i.image.ImageConverter             : Supported read mediaTypes: [, image/x-jb2, image/png, image/vnd.wap.wbmp, image/jpeg, image/x-portable-graymap, image/bmp, image/pcx, image/x-windows-bmp, image/gif, image/x-windows-pcx, image/jpeg2000, image/x-pc-paintbrush, i
mage/webp, image/x-bmp, image/jp2, image/x-pcx, image/x-png, image/x-portable-bitmap, image/x-portable-pixmap, image/x-jbig2, image/tiff, image/x-tiff, image/x-portable-anymap]
2020-10-18 10:46:04.487  INFO 29999 --- [main] o.g.k.i.image.ImageConverter             : Supported write formats: [JPG, JPEG 2000, tiff, bmp, PCX, gif, WBMP, PNG, RAW, JPEG, PNM, tif, TIFF, wbmp, jpeg, jpg, JPEG2000, BMP, pcx, GIF, png, raw, pnm, TIF, jpeg2000, jpeg 2000]
2020-10-18 10:46:04.488  INFO 29999 --- [main] o.g.k.i.image.ImageConverter             : Supported write mediaTypes: [, image/vnd.wap.wbmp, image/png, image/jpeg, image/x-portable-graymap, image/bmp, image/pcx, image/x-windows-bmp, image/gif, image/x-windows-pcx, image/x-pc-paintbrush, image/jpeg2000, image/x-bmp,
image/x-pcx, image/jp2, image/x-png, image/x-portable-bitmap, image/x-portable-pixmap, image/tiff, image/x-tiff, image/x-portable-anymap]
2020-10-18 10:46:04.802  INFO 29999 --- [main] o.g.k.i.datasource.DatabaseMigration     : Initiating database migration from H2 to SQLite
2020-10-18 10:46:04.804  INFO 29999 --- [main] o.g.k.i.datasource.DatabaseMigration     : H2 url: jdbc:h2:~/.komga/database.h2
2020-10-18 10:46:04.822  INFO 29999 --- [main] o.g.k.i.datasource.DatabaseMigration     : H2 database file: /var/services/homes/admin/.komga/database.h2.mv.db
2020-10-18 10:46:04.860  WARN 29999 --- [main] o.g.k.i.datasource.DatabaseMigration     : The H2 database file does not exists: /var/services/homes/admin/.komga/database.h2.mv.db, skipping migration
2020-10-18 10:46:06.759  INFO 29999 --- [main] o.f.c.internal.license.VersionPrinter    : Flyway Community Edition 6.4.4 by Redgate
2020-10-18 10:46:06.854  INFO 29999 --- [main] o.f.c.internal.database.DatabaseFactory  : Database: jdbc:sqlite:/var/services/homes/admin/.komga/database.sqlite (SQLite 3.32)
2020-10-18 10:46:07.118  INFO 29999 --- [main] o.f.core.internal.command.DbValidate     : Successfully validated 14 migrations (execution time 00:00.104s)
2020-10-18 10:46:07.131  INFO 29999 --- [main] o.f.core.internal.command.DbMigrate      : Current version of schema "main": 20200906115600
2020-10-18 10:46:07.134  INFO 29999 --- [main] o.f.core.internal.command.DbMigrate      : Schema "main" is up to date. No migration necessary.
2020-10-18 10:46:08.063  INFO 29999 --- [main] o.g.k.i.security.SecurityConfiguration   : RememberMe is active, validity: 2592000s
2020-10-18 10:46:08.074  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/error**'], []
2020-10-18 10:46:08.075  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/css/**'], []
2020-10-18 10:46:08.075  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/img/**'], []
2020-10-18 10:46:08.075  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/js/**'], []
2020-10-18 10:46:08.076  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/favicon.ico'], []
2020-10-18 10:46:08.076  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/'], []
2020-10-18 10:46:08.076  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/index.html'], []
2020-10-18 10:46:08.592  INFO 29999 --- [main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [public/index.html]
2020-10-18 10:46:11.158  INFO 29999 --- [main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 18 endpoint(s) beneath base path '/actuator'
2020-10-18 10:46:11.264  INFO 29999 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@76075d65, org.springframework.security.web.context.SecurityContextPersistenceFilter@1d01dfa5, org.spri
ngframework.security.web.header.HeaderWriterFilter@7a94b64e, org.springframework.web.filter.CorsFilter@3a4ba480, org.springframework.security.web.authentication.logout.LogoutFilter@aed0151, org.springframework.security.web.session.ConcurrentSessionFilter@73d69c0f, org.springframework.security.web.authentication.www.
BasicAuthenticationFilter@7b2a3ff8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@d400943, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@31ff1390, org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter@460b6d54, org.spri
ngframework.security.web.authentication.AnonymousAuthenticationFilter@27b71f50, org.springframework.security.web.session.SessionManagementFilter@12477988, org.springframework.security.web.access.ExceptionTranslationFilter@400d912a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5f404594]
2020-10-18 10:46:11.525  INFO 29999 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-10-18 10:46:13.121  INFO 29999 --- [main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
2020-10-18 10:46:13.596  INFO 29999 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-10-18 10:46:13.961  INFO 29999 --- [Thread-0 (ActiveMQ-remoting-threads-ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11eb-8655-001132876a45-1765702)] org.apache.activemq.audit.base           : AMQ601267: User anonymous is creating a core session on target resource ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11
eb-8655-001132876a45 [with parameters: [6104fd07-111e-11eb-be1c-001132876a45, null, ****, 102400, RemotingConnectionImpl [ID=60db2de4-111e-11eb-be1c-001132876a45, clientID=null, nodeID=f5ea392a-0a19-11eb-8655-001132876a45, transportConnection=InVMConnection [serverID=0, id=60db2de4-111e-11eb-be1c-001132876a45]], fal
se, false, false, false, null, org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback@fb1624c, true, OperationContextImpl [840684436] [minimalStore=9223372036854775807, storeLineUp=0, stored=0, minimalReplicated=9223372036854775807, replicationLineUp=0, replicated=0, paged=0, minimalPage=92233720368
54775807, pageLineUp=0, errorCode=-1, errorMessage=null, executorsPending=0, executor=OrderedExecutor(tasks=[])], anonymous]]
2020-10-18 10:46:14.280  INFO 29999 --- [Thread-0 (ActiveMQ-remoting-threads-ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11eb-8655-001132876a45-1765702)] org.apache.activemq.audit.base           : AMQ601267: User anonymous is creating a core session on target resource ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11
eb-8655-001132876a45 [with parameters: [61386918-111e-11eb-be1c-001132876a45, null, ****, 102400, RemotingConnectionImpl [ID=60db2de4-111e-11eb-be1c-001132876a45, clientID=null, nodeID=f5ea392a-0a19-11eb-8655-001132876a45, transportConnection=InVMConnection [serverID=0, id=60db2de4-111e-11eb-be1c-001132876a45]], fal
se, false, false, false, null, org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback@75c35fe5, true, OperationContextImpl [318873174] [minimalStore=9223372036854775807, storeLineUp=0, stored=0, minimalReplicated=9223372036854775807, replicationLineUp=0, replicated=0, paged=0, minimalPage=9223372036
854775807, pageLineUp=0, errorCode=-1, errorMessage=null, executorsPending=0, executor=OrderedExecutor(tasks=[])], anonymous]]
2020-10-18 10:46:14.475  INFO 29999 --- [main] org.gotson.komga.ApplicationKt           : Started ApplicationKt in 48.056 seconds (JVM running for 50.98)
2020-10-18 10:46:14.489  INFO 29999 --- [Thread-1 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@e98770d)] org.apache.activemq.audit.base           : AMQ601265: User anonymous is creating a core consumer on target resource ServerSessionImpl(jms-session=*N/A*) [with parameters: [0,
 tasks.background, type = 'task', 0, false, true, null]]
2020-10-18 10:46:14.558  INFO 29999 --- [main] o.g.k.i.s.PeriodicScannerController      : Periodic libraries scan starting
2020-10-18 10:46:15.955  INFO 29999 --- [main] o.g.k.application.tasks.TaskReceiver     : Sending task: ScanLibrary(libraryId=02TX1BQKFBMMF)
2020-10-18 10:46:15.959  INFO 29999 --- [Thread-0 (ActiveMQ-remoting-threads-ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11eb-8655-001132876a45-1765702)] org.apache.activemq.audit.base           : AMQ601267: User anonymous is creating a core session on target resource ActiveMQServerImpl::serverUUID=f5ea392a-0a19-11
eb-8655-001132876a45 [with parameters: [6239d389-111e-11eb-be1c-001132876a45, null, ****, 102400, RemotingConnectionImpl [ID=60db2de4-111e-11eb-be1c-001132876a45, clientID=null, nodeID=f5ea392a-0a19-11eb-8655-001132876a45, transportConnection=InVMConnection [serverID=0, id=60db2de4-111e-11eb-be1c-001132876a45]], tru
e, true, false, false, null, org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback@47c9ff05, true, OperationContextImpl [1084066096] [minimalStore=9223372036854775807, storeLineUp=0, stored=0, minimalReplicated=9223372036854775807, replicationLineUp=0, replicated=0, paged=0, minimalPage=92233720368
54775807, pageLineUp=0, errorCode=-1, errorMessage=null, executorsPending=0, executor=OrderedExecutor(tasks=[])], anonymous]]
2020-10-18 10:46:16.548  INFO 29999 --- [DefaultMessageListenerContainer-1] o.g.komga.application.tasks.TaskHandler  : Executing task: ScanLibrary(libraryId=02TX1BQKFBMMF)
2020-10-18 10:46:16.767  INFO 29999 --- [DefaultMessageListenerContainer-1] o.g.komga.domain.service.LibraryScanner  : Updating library: Library(name=Comics en el Atico, root=file:/volume1/Comics/, importComicInfoBook=true, importComicInfoSeries=true, importComicInfoCollection=true, importComicInfoReadList=true, imp
ortEpubBook=true, importEpubSeries=true, importLocalArtwork=true, scanForceModifiedTime=false, scanDeep=false, id=02TX1BQKFBMMF, createdDate=2020-10-09T12:33:39, lastModifiedDate=2020-10-09T17:38:20.036)
2020-10-18 10:46:16.787  INFO 29999 --- [DefaultMessageListenerContainer-1] o.g.k.domain.service.FileSystemScanner   : Scanning folder: /volume1/Comics
2020-10-18 10:46:16.789  INFO 29999 --- [DefaultMessageListenerContainer-1] o.g.k.domain.service.FileSystemScanner   : Supported extensions: [cbz, zip, cbr, rar, pdf, epub]
2020-10-18 10:46:16.792  INFO 29999 --- [DefaultMessageListenerContainer-1] o.g.k.domain.service.FileSystemScanner   : Excluded patterns: [#recycle, @eaDir, [email protected]]
2020-10-18 10:46:16.794  INFO 29999 --- [DefaultMessageListenerContainer-1] o.g.k.domain.service.FileSystemScanner   : Force directory modified time: false
2020-10-18 10:46:17.035 ERROR 29999 --- [DefaultMessageListenerContainer-1] o.g.komga.application.tasks.TaskHandler  : Task ScanLibrary(libraryId=02TX1BQKFBMMF) execution failed

java.io.UncheckedIOException: java.nio.file.AccessDeniedException: /volume1/Comics/@eaDir/[email protected]
        at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:88) ~[na:1.8.0_212]
        at java.nio.file.FileTreeIterator.hasNext(FileTreeIterator.java:104) ~[na:1.8.0_212]
        at java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1811) ~[na:1.8.0_212]
        at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) ~[na:1.8.0_212]
        at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) ~[na:1.8.0_212]
        at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169) ~[na:1.8.0_212]
        at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) ~[na:1.8.0_212]
        at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[na:1.8.0_212]
        at kotlin.sequences.TransformingSequence$iterator$1.hasNext(Sequences.kt:176) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:131) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:156) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:131) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:156) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:131) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:156) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.TransformingSequence$iterator$1.hasNext(Sequences.kt:176) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:131) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:156) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.collections.MapsKt__MapsKt.putAll(Maps.kt:419) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.collections.MapsKt__MapsKt.toMap(Maps.kt:587) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at kotlin.collections.MapsKt__MapsKt.toMap(Maps.kt:581) ~[kotlin-stdlib-1.3.72.jar!/:1.3.72-release-468 (1.3.72)]
        at org.gotson.komga.domain.service.FileSystemScanner.scanRootFolder(FileSystemScanner.kt:76) ~[classes!/:na]
        at org.gotson.komga.domain.service.LibraryScanner.scanRootFolder(LibraryScanner.kt:30) ~[classes!/:na]
        at org.gotson.komga.application.tasks.TaskHandler.handleTask(TaskHandler.kt:38) ~[classes!/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_212]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_212]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
        at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:171) [spring-messaging-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:120) [spring-messaging-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:114) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:77) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1189) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1179) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1076) [spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
Caused by: java.nio.file.AccessDeniedException: /volume1/Comics/@eaDir/[email protected]
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[na:1.8.0_212]
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_212]
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[na:1.8.0_212]
        at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:427) ~[na:1.8.0_212]
        at java.nio.file.Files.newDirectoryStream(Files.java:457) ~[na:1.8.0_212]
        at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:300) ~[na:1.8.0_212]
        at java.nio.file.FileTreeWalker.next(FileTreeWalker.java:372) ~[na:1.8.0_212]
        at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:95) ~[na:1.8.0_212]
        ... 40 common frames omitted

2020-10-18 10:46:25.590  INFO 29999 --- [SpringContextShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2020-10-18 10:46:25.746  INFO 29999 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete
2020-10-18 10:46:26.404  INFO 29999 --- [SpringContextShutdownHook] io.hawt.web.auth.AuthenticationFilter    : Destroying hawtio authentication filter
2020-10-18 10:46:26.405  INFO 29999 --- [SpringContextShutdownHook] io.hawt.HawtioContextListener            : Destroying hawtio services
2020-10-18 10:46:26.490  INFO 29999 --- [SpringContextShutdownHook] o.s.s.c.ThreadPoolTaskScheduler          : Shutting down ExecutorService 'taskScheduler'
2020-10-18 10:46:26.499  INFO 29999 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2020-10-18 10:46:28.026  INFO 29999 --- [SpringContextShutdownHook] org.apache.activemq.artemis.core.server  : AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.12.0 [f5ea392a-0a19-11eb-8655-001132876a45] stopped, uptime 32.486 seconds
2020-10-18 10:46:28.041  INFO 29999 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2020-10-18 10:46:28.049  INFO 29999 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Steps to reproduce

  1. Include libraries-scan-startup: true in application.yml
  2. start the app

Expected behavior

A full library scanned

Actual behavior

The apps start, but no comic in the library due to the error

Additional context

the [email protected] is owned by root, so if not skiped, the error will continue.

ls -la
total 0
drwxrwxrwx+ 1 root root  42 Oct 18 10:36 .
drwxrwxrwx+ 1 http root 262 Oct 18 10:36 ..
drwx------  1 root root 566 Oct 18 10:42 [email protected]
drwxrwxrwt  1 root root  56 Oct  9 12:40 @tmp

Screenshots

If applicable, add screenshots to help explain your problem.

Log file

If applicable, add an excerpt of the log file (max 20 lines), or a link to a gist containing the log file.

@gotson gotson changed the title [Bug] Short description [Bug] Library scan fails due to unaccessible file Oct 18, 2020
@gotson gotson added the bug Something isn't working label Oct 18, 2020
@gotson gotson closed this as completed in f43a386 Oct 20, 2020
@gotson
Copy link
Owner

gotson commented Oct 20, 2020

That was a tough one, the Java method to walk a file tree cannot handle unreadable folders, and will throw an exception with no way of catching it in the user code T_T

gotson pushed a commit that referenced this issue Oct 20, 2020
## [0.63.3](v0.63.2...v0.63.3) (2020-10-20)

### Bug Fixes

* scanner crashes if folders are not readable ([f43a386](f43a386)), closes [#342](#342)
@gotson
Copy link
Owner

gotson commented Oct 20, 2020

🎉 This issue has been resolved in version 0.63.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

github-actions bot pushed a commit to tahngarth/komga that referenced this issue Jan 6, 2021
# [0.30.0](v0.29.1...v0.30.0) (2021-01-06)

### Bug Fixes

* fix sqlite library detection for aarch64 ([10df531](10df531))
* **opds:** duplicate series if in multiple collections ([c7e6209](c7e6209)), closes [gotson#363](https://github.com/tahngarth/komga/issues/363)
* don't append volume to series title if equals to 1 ([1cb9ae6](1cb9ae6)), closes [gotson#347](https://github.com/tahngarth/komga/issues/347)
* enhanced logging for sqlite native lib loading ([f1a894d](f1a894d))
* scanner crashes if folders are not readable ([f43a386](f43a386)), closes [gotson#342](https://github.com/tahngarth/komga/issues/342)
* use bionic base image ([85fe674](85fe674)), closes [gotson#349](https://github.com/tahngarth/komga/issues/349)
* **api:** support accept header in getBookPage ([gotson#352](https://github.com/tahngarth/komga/issues/352)) ([e123d38](e123d38)), closes [gotson#350](https://github.com/tahngarth/komga/issues/350)
* native webp library ([15caea3](15caea3)), closes [gotson#279](https://github.com/tahngarth/komga/issues/279)
* use own distrib of sqlite with freebsd support ([3d2793a](3d2793a)), closes [gotson#319](https://github.com/tahngarth/komga/issues/319)
* **api:** incorrect parameter type ([342f04c](342f04c))
* **api:** large file download ([d100db2](d100db2))
* **api:** openAPI spec fields marked as required ([8f228db](8f228db)), closes [gotson#308](https://github.com/tahngarth/komga/issues/308)
* **opds:** cannot download file with semicolon in filename ([e1e251e](e1e251e)), closes [gotson#309](https://github.com/tahngarth/komga/issues/309)
* **opds:** latest series sort inverted ([bddc008](bddc008)), closes [gotson#301](https://github.com/tahngarth/komga/issues/301)
* **opds:** url encode publisher query param ([8347fdc](8347fdc)), closes [gotson#335](https://github.com/tahngarth/komga/issues/335)
* **webreader:** images smaller than viewport would not fill width ([81d9a00](81d9a00)), closes [gotson#311](https://github.com/tahngarth/komga/issues/311)
* trim and lowercase tags and genres in metadata ([656f23a](656f23a)), closes [gotson#302](https://github.com/tahngarth/komga/issues/302)
* **api:** do not return empty language ([2ab3c9c](2ab3c9c))
* **webreader:** incorrect display on safari and firefox ([22b0b7e](22b0b7e)), closes [gotson#262](https://github.com/tahngarth/komga/issues/262)
* **webreader:** webtoon reader not loading images ([1a030b4](1a030b4)), closes [gotson#259](https://github.com/tahngarth/komga/issues/259)
* **webui:** change grid size for sm screens ([18280be](18280be))
* **webui:** clear selection after action performed ([e0cff70](e0cff70)), closes [gotson#303](https://github.com/tahngarth/komga/issues/303)
* **webui:** compute scrollability on mount, fix right chevron when using display scaling ([8928959](8928959))
* **webui:** contextual filters ([f515819](f515819)), closes [gotson#290](https://github.com/tahngarth/komga/issues/290)
* **webui:** correct label in library edit dialog ([c532e50](c532e50))
* **webui:** disable filter panels with no values ([57cc6c4](57cc6c4))
* **webui:** edit series dialog could incorrectly display MIXED placeholder ([5d3f061](5d3f061))
* **webui:** field should not display if empty ([968e297](968e297))
* **webui:** filter values could be duplicated ([e91954f](e91954f))
* **webui:** restore library filter for language and age rating ([dc064f2](dc064f2))
* **webui:** theme is not restored properly ([432dc91](432dc91)), closes [gotson#304](https://github.com/tahngarth/komga/issues/304)
* database migration could fail ([1c9f3d0](1c9f3d0))
* database migration failure ([2ca6077](2ca6077))
* **analysis:** page number was not persisted ([99f800c](99f800c)), closes [gotson#189](https://github.com/tahngarth/komga/issues/189)
* **api:** add count of in progress books in SeriesDto ([0d2713a](0d2713a)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** add missing sort fields for Books ([797535d](797535d))
* **api:** books could disappear for users if read by others ([3d1f0e0](3d1f0e0))
* **api:** collection without element would return incorrect dto ([0891981](0891981))
* **api:** incorrect number of books per series ([bf2d0ba](bf2d0ba))
* **api:** incorrect number of books returned ([544c873](544c873)), closes [gotson#177](https://github.com/tahngarth/komga/issues/177)
* **api:** pagination for collection's series ([6dd0704](6dd0704))
* **api:** sort libraries case insensitive ([1650aec](1650aec))
* **docker:** docker image doesn't start ([8bce80b](8bce80b))
* **metadata:** recognize ComicInfo Day tag and "MA15+" rating ([3ad438d](3ad438d))
* **opds:** prepend position for series in ordered collection ([7e5a141](7e5a141))
* **webreader:** cycle image fit would not persist setting ([e5272d2](e5272d2))
* **webui:** missing settings icon in webreader ([9693829](9693829))
* fix database migration errors ([f84ba17](f84ba17)), closes [gotson#239](https://github.com/tahngarth/komga/issues/239) [gotson#238](https://github.com/tahngarth/komga/issues/238) [gotson#237](https://github.com/tahngarth/komga/issues/237) [gotson#240](https://github.com/tahngarth/komga/issues/240)
* ignore blank metadata fields ([c8c5df2](c8c5df2)), closes [gotson#288](https://github.com/tahngarth/komga/issues/288)
* incorrect book number after adding book in series ([3b1eb36](3b1eb36)), closes [gotson#269](https://github.com/tahngarth/komga/issues/269)
* incorrect read progress for books ([107d7db](107d7db)), closes [gotson#286](https://github.com/tahngarth/komga/issues/286)
* potential incorrect read progress for series ([7b90244](7b90244))
* series genre is not imported from metadata ([58fac36](58fac36))
* series genre is not imported from metadata ([d0815dd](d0815dd))
* **api:** exception on unpaged empty content ([2cc27f2](2cc27f2))
* **scanner:** add TRACE logs for file update times ([5433567](5433567)), closes [gotson#159](https://github.com/tahngarth/komga/issues/159)
* **webui:** action menu not showing for non-admin ([e60666c](e60666c))
* **webui:** adjust padding for grids ([02e9168](02e9168))
* **webui:** adjust series unread count when marking books ([31e21fe](31e21fe))
* **webui:** browse collection should show all series ([8629ea9](8629ea9)), closes [gotson#226](https://github.com/tahngarth/komga/issues/226)
* **webui:** clear selection when reloading search results ([7d808c5](7d808c5))
* **webui:** display collection after adding in series browsing screen ([8ce5a39](8ce5a39))
* **webui:** drag series by handle when editing collection ([e72f4ab](e72f4ab)), closes [gotson#214](https://github.com/tahngarth/komga/issues/214)
* **webui:** filter status not reset properly when changing library ([fea5431](fea5431))
* **webui:** incorrect count of collections in browse collections screen ([2254929](2254929))
* **webui:** lazy http call for CollectionEditDialog ([4716a1b](4716a1b))
* **webui:** lazy load collections on browse series ([d89533d](d89533d))
* **webui:** library navigation not highlighted correctly ([e28c070](e28c070))
* **webui:** make card title as link ([d6e4b80](d6e4b80)), closes [gotson#224](https://github.com/tahngarth/komga/issues/224)
* **webui:** missing settings icon in sidebar ([b9e4bea](b9e4bea))
* **webui:** prevent cropping on book thumbnails ([e038857](e038857)), closes [gotson#191](https://github.com/tahngarth/komga/issues/191)
* **webui:** read button link underline on hover ([863258d](863258d))
* **webui:** reset edit book dialog to first tab on reopen ([5760a06](5760a06))
* **webui:** thumbnails explorer navigation misaligned ([2ffed28](2ffed28))
* **webui:** update option title in library dialog ([29d9726](29d9726))
* order of pages is not loaded correctly from database ([d2288dd](d2288dd)), closes [gotson#189](https://github.com/tahngarth/komga/issues/189)
* properly expand home dir in config ([5d86d3e](5d86d3e)), closes [gotson#195](https://github.com/tahngarth/komga/issues/195) [gotson#203](https://github.com/tahngarth/komga/issues/203)
* some PDF pages are blurry ([9ad1cfe](9ad1cfe)), closes [gotson#260](https://github.com/tahngarth/komga/issues/260)
* **webui:** replace mark as read/unread buttons with icons ([709ee1e](709ee1e))
* **webui:** series grid not expanding to full width ([2f7d2a4](2f7d2a4))
* **webui:** simplify unread filter ([bb60f10](bb60f10))
* **webui:** unread tick not showing properly on books ([0d0b998](0d0b998))
* **webui:** use pagination for browsing screens ([5867db7](5867db7)), closes [gotson#91](https://github.com/tahngarth/komga/issues/91)
* **webui:** wider display for collection expansion panel ([96c95ea](96c95ea))
* strip accented characters for title sort when creating series ([6f1e36e](6f1e36e)), closes [gotson#188](https://github.com/tahngarth/komga/issues/188)

### Features

* **api:** filter /series endpoint by library_id ([1603a96](1603a96)), closes [gotson#360](https://github.com/tahngarth/komga/issues/360)
* append volume to series name ([2567796](2567796)), closes [gotson#343](https://github.com/tahngarth/komga/issues/343) [gotson#132](https://github.com/tahngarth/komga/issues/132)
* **api:** filter collection's series ([cfa06a9](cfa06a9))
* **api:** filter referential data by library or series ([982983e](982983e)), closes [gotson#290](https://github.com/tahngarth/komga/issues/290)
* **api:** get all age ratings ([be80d86](be80d86))
* **api:** get all languages ([115ad42](115ad42))
* **api:** get all publishers ([1929061](1929061))
* **api:** get referential data by collection ([d7fd296](d7fd296))
* **api:** http eTag caching for all API calls ([fe22cb5](fe22cb5))
* **api:** search books by tag ([f46f1a0](f46f1a0))
* **api:** search series by age rating ([f51d575](f51d575))
* **api:** search series by genre ([da4a0aa](da4a0aa))
* **api:** search series by language ([723d7c1](723d7c1))
* **api:** search series by publisher ([e4b0b2d](e4b0b2d))
* **api:** search series by tag ([7bd1de6](7bd1de6))
* **api:** search series' books by tag ([940d5d3](940d5d3))
* **api:** unpaged queries for books ([8f8054e](8f8054e))
* **opds:** browse series by publishers ([f3fcab4](f3fcab4)), closes [gotson#332](https://github.com/tahngarth/komga/issues/332)
* **opds:** recently added books ([dd7bc9c](dd7bc9c)), closes [gotson#327](https://github.com/tahngarth/komga/issues/327)
* order books by release date ([e3bb8bc](e3bb8bc)), closes [gotson#318](https://github.com/tahngarth/komga/issues/318)
* **webreader:** add double page no cover layout ([5fe015e](5fe015e)), closes [gotson#103](https://github.com/tahngarth/komga/issues/103)
* **webreader:** add shortcut information menu ([1885f32](1885f32))
* **webui:** add system theme option ([8f22f01](8f22f01))
* **webui:** change internals for shortcuts. add new shortcuts for settings ([b402817](b402817)), closes [gotson#172](https://github.com/tahngarth/komga/issues/172)
* **webui:** dark theme ([efe2021](efe2021)), closes [gotson#179](https://github.com/tahngarth/komga/issues/179)
* **webui:** filter collection content ([fc905ef](fc905ef)), closes [gotson#270](https://github.com/tahngarth/komga/issues/270)
* **webui:** filter series by age rating ([01eef83](01eef83))
* handle multiple story arcs in ComicInfoProvider ([f4451bf](f4451bf)), closes [gotson#282](https://github.com/tahngarth/komga/issues/282)
* **webreader:** better display of landscape images ([09984a4](09984a4)), closes [gotson#123](https://github.com/tahngarth/komga/issues/123)
* **webreader:** side padding, original scaling for Webtoon ([6499788](6499788)), closes [gotson#266](https://github.com/tahngarth/komga/issues/266) [gotson#264](https://github.com/tahngarth/komga/issues/264)
* **webreader:** webtoon reader, fit to screen ([44c814a](44c814a)), closes [gotson#81](https://github.com/tahngarth/komga/issues/81) [gotson#145](https://github.com/tahngarth/komga/issues/145)
* **webui:** color coded chips for series status ([fb8a8c4](fb8a8c4))
* **webui:** handle new metadata fields ([5567adc](5567adc)), closes [gotson#276](https://github.com/tahngarth/komga/issues/276)
* **webui:** more filter criteria ([4d22d9c](4d22d9c)), closes [gotson#283](https://github.com/tahngarth/komga/issues/283) [gotson#34](https://github.com/tahngarth/komga/issues/34)
* **webui:** navigation drawer for sort/filter ([28598cb](28598cb)), closes [gotson#283](https://github.com/tahngarth/komga/issues/283)
* add/rearrange metadata fields ([9e406e3](9e406e3)), closes [gotson#276](https://github.com/tahngarth/komga/issues/276)
* **webui:** read lists ([27edf17](27edf17)), closes [gotson#106](https://github.com/tahngarth/komga/issues/106)
* read lists ([f0c864f](f0c864f)), closes [gotson#106](https://github.com/tahngarth/komga/issues/106)
* **webui:** library option to import local artwork ([cba0a2e](cba0a2e))
* **webui:** navigate to series books from book details screen ([48e92c7](48e92c7)), closes [gotson#272](https://github.com/tahngarth/komga/issues/272)
* library option to import local artwork ([eefb802](eefb802))
* **webui:** scanner option per library ([fca0180](fca0180))
* change database from H2 to SQLite ([20b2b39](20b2b39)), closes [gotson#218](https://github.com/tahngarth/komga/issues/218)
* custom thumbnails for series ([f5f423f](f5f423f)), closes [gotson#63](https://github.com/tahngarth/komga/issues/63)
* get images dimension during media analysis ([f9d55ec](f9d55ec)), closes [gotson#123](https://github.com/tahngarth/komga/issues/123)
* scanner option per library ([4da6ff9](4da6ff9))
* sidecar thumbnails for books ([d01b29f](d01b29f))
* **analysis:** handle read progress during book analysis ([1fc893e](1fc893e))
* **api:** add read_status parameter to series books ([fc5c502](fc5c502)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** add read/unread books count in SeriesDto ([3ca50d7](3ca50d7)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** claim status ([47dd2f6](47dd2f6)), closes [gotson#207](https://github.com/tahngarth/komga/issues/207)
* **api:** collections are pageable ([449a27e](449a27e)), closes [gotson#216](https://github.com/tahngarth/komga/issues/216)
* **api:** collections management ([c2f9403](c2f9403)), closes [gotson#30](https://github.com/tahngarth/komga/issues/30)
* **api:** manage book read progress per user ([17c80cd](17c80cd)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** mark all books in series as read or unread ([75b7216](75b7216)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** metadata import settings per library ([6824212](6824212)), closes [gotson#199](https://github.com/tahngarth/komga/issues/199)
* **api:** on deck books ([1b6a030](1b6a030)), closes [gotson#131](https://github.com/tahngarth/komga/issues/131)
* **api:** read progress as search criteria for Series ([885c891](885c891)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** restrict page streaming and file download with roles ([6291dab](6291dab)), closes [gotson#146](https://github.com/tahngarth/komga/issues/146)
* **api:** search books by read status ([7f3c492](7f3c492)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **api:** search series by collection ids ([ca91af7](ca91af7))
* **opds:** browse by collection ([15f9c82](15f9c82))
* **webreader:** display reading direction on book opening ([ebf2aac](ebf2aac))
* **webreader:** mark progress while reading ([10895a3](10895a3)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **webui:** action menu on item cards ([37d790d](37d790d))
* **webui:** add On Deck section on dashboard ([37c935e](37c935e)), closes [gotson#131](https://github.com/tahngarth/komga/issues/131)
* **webui:** add read status filter when browsing Series ([cc39ce8](cc39ce8)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **webui:** add simple next/previous book buttons to reader toolbar ([e428115](e428115)), closes [gotson#233](https://github.com/tahngarth/komga/issues/233)
* **webui:** claim server from login screen ([d4810bd](d4810bd)), closes [gotson#207](https://github.com/tahngarth/komga/issues/207)
* generate collections from ComicInfo SeriesGroup ([277cdcd](277cdcd)), closes [gotson#210](https://github.com/tahngarth/komga/issues/210)
* **webui:** allow direct input of library path in add dialog ([6ece7b1](6ece7b1)), closes [gotson#88](https://github.com/tahngarth/komga/issues/88)
* **webui:** better handling of library deletion ([0297210](0297210))
* **webui:** collection edition on card in browse collections ([e45389d](e45389d))
* **webui:** collection edition on card in search results ([68fe4fd](68fe4fd))
* **webui:** collections management ([2f8255a](2f8255a)), closes [gotson#30](https://github.com/tahngarth/komga/issues/30)
* **webui:** display collections in search results and search box ([82aec45](82aec45)), closes [gotson#212](https://github.com/tahngarth/komga/issues/212)
* **webui:** display unread count on series card ([4962f17](4962f17)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **webui:** enable edit on books and series cards in search screen ([32dad62](32dad62))
* **webui:** hide pagination when there is only 1 page ([675b4a1](675b4a1))
* **webui:** keep reading section in dashboard ([7984cef](7984cef)), closes [gotson#131](https://github.com/tahngarth/komga/issues/131)
* **webui:** mark books as read or unread ([24c994f](24c994f)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **webui:** mark series as read/unread ([4d7e243](4d7e243)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **webui:** metadata import settings per library ([521cc42](521cc42)), closes [gotson#199](https://github.com/tahngarth/komga/issues/199)
* **webui:** multi-select in dashboard page ([8e33be7](8e33be7))
* **webui:** multi-select in search results page ([c5417ac](c5417ac)), closes [gotson#213](https://github.com/tahngarth/komga/issues/213)
* **webui:** pagination for collections ([50b516d](50b516d)), closes [gotson#216](https://github.com/tahngarth/komga/issues/216)
* **webui:** read button on item card ([a59f263](a59f263)), closes [gotson#133](https://github.com/tahngarth/komga/issues/133)
* **webui:** read progress filter for Series when browsing Libraries ([0c046a7](0c046a7)), closes [gotson#25](https://github.com/tahngarth/komga/issues/25)
* **webui:** refresh browse collection screen on action menu actions ([8f2c453](8f2c453))
* **webui:** refresh dashboard on action menu actions ([b6bd735](b6bd735))
* **webui:** restrict page streaming and file download per user ([381b196](381b196)), closes [gotson#146](https://github.com/tahngarth/komga/issues/146)
* **webui:** search results page ([89039a4](89039a4)), closes [gotson#29](https://github.com/tahngarth/komga/issues/29)
* **webui:** sort/filter settings are persisted per library ([bf737de](bf737de)), closes [gotson#190](https://github.com/tahngarth/komga/issues/190)
* automatic database backup ([bbb9f7c](bbb9f7c)), closes [gotson#138](https://github.com/tahngarth/komga/issues/138)
* migrate DAO from Hibernate to jOOQ ([75e1079](75e1079))
* switch to JRE for docker image ([3206495](3206495))

### Performance Improvements

* add sql indexes ([41f3e8d](41f3e8d))
* lazy sql joins ([6eb7669](6eb7669))
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working released
Projects
None yet
Development

No branches or pull requests

2 participants