Description
Hi, and thanks for this great software! (that's the first Linux scanning software that I use that is simple, "just works", and is not ugly 😆 )
I had trouble scanning long documents. After stumbling on #430, #306 and your Markdown documentation (thanks for providing it!), I understood that I hit the node.js timeout, and that I could increase it...which I successfully did.
Note however, that in my case, this was more worrisome than #430. I used the ADF with auto-collate for 30+ pages, which obviously took more than 2 minutes to scan (let alone to process through the pipeline). Hitting the timeout means I was never prompted for flipping my deck of pages, and hence I could never start the second pass, and hence my scanned file would never appear in the "files" tab.
I think however that fighting a server timeout is an endless issue, as it is totally legitimate to scan documents with arbitrary lengths. I am sorry I am not a node developer myself, so I won't be able to write a fix :-/
But here are the possible solutions I could think about:
- increase the default timeout (meh, there will always be documents longer than any timeout)
- make it possible for users to increase it themselves in the "settings" tab (which would make this setting much easier to discover than reading the doc...which too few people do!)
- rework this
POST /scan
thing. Instead of this request only return when the scan is done and the pipeline is run, maybe the client could issue continuous requests for the server state (or the scanner state?) (say, every second or so), that tells whether the server is idle/scanning/processing a pipeline (and which step). The client could then show something more informative than a plain progress indicator.
Also, this last solution would probably improve user experience. In my first few scans, I did not understand why scanservjs "took so much time" although my scanner already stopped making noise: it was because it was processing the pipeline (which, on a Raspberry Pi, takes much more time than on a desktop PC).
I'd be happy to have your opinion on this.
Again, I am not a node developer, but I may try to help in case your give me precise pointers :)