edrlab / thorium-reader

A cross platform desktop reading app, based on the Readium Desktop toolkit
https://www.edrlab.org/software/thorium-reader/
BSD 3-Clause "New" or "Revised" License
1.85k stars 157 forks source link

Error when running `opds` CLI command #2663

Open naglis opened 3 hours ago

naglis commented 3 hours ago

Using Thorium 3.0.0 AppImage on Arch Linux, running this command:

./Thorium-3.0.0.AppImage opds Gallica http://gallica.bnf.fr/opds

I get the following error:

OPDS import ERROR: Error: No matching bindings found for serviceIdentifier: Symbol(saga-middlewaire)

IIUC it is comming from here: https://github.com/edrlab/thorium-reader/blob/b5d1e740d995c1317caec3c31b17daba386e2bd9/src/main/diSymbolTable.ts#L4

and there is a potential typo there ("saga-middlewaire" where it should be "saga-middleware").

danielweck commented 3 hours ago

@panaC could this be related to the Redux Saga yield* bugs I recently fixed? (subtle async lifecycle problem?)

@naglis are you able to reproduce with the alpha build? thank you :)

danielweck commented 2 hours ago

...also, Thorium launched via the App Image instead of the installed thorium executable from the Debian package.

panaC commented 2 hours ago

Many thanks for spotting the issue :)

  readium-desktop:cli:process processArgv [
  '/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron',
  '.',
  'opds',
  'Gallica',
  'http://gallica.bnf.fr/opds'
] arg [ 'opds', 'Gallica', 'http://gallica.bnf.fr/opds' ] +0ms
  readium-desktop:cli:command opds import error : Error: No matching bindings found for serviceIdentifier: Symbol(saga-middlewaire)
    at _validateActiveBindingCount (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/planning/planner.js:87:23)
    at _getActiveBindings (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/planning/planner.js:73:5)
    at _createSubRequests (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/planning/planner.js:108:26)
    at plan (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/planning/planner.js:159:9)
    at /Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/container/container.js:630:46
    at Container._get (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/container/container.js:600:38)
    at Container._getButThrowIfAsync (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/container/container.js:603:27)
    at Container.get (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/node_modules/inversify/lib/container/container.js:378:21)
    at diGet (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/dist/main.js:6089:35)
    at opdsCommand (/Users/edrlab/Documents/edrlab/projects/thorium-project/thorium-reader/dist/main.js:4536:96) +0ms
OPDS import ERROR: Error: No matching bindings found for serviceIdentifier: Symbol(saga-middlewaire)
naglis commented 2 hours ago

@naglis are you able to reproduce with the alpha build? thank you :)

I can reproduce the error when running Thorium-3.1.0-alpha.1.11869966124.AppImage

...also, Thorium launched via the App Image instead of the installed thorium executable from the Debian package.

Since Arch Linux uses a different package manager, I cannot install the Debian package, however, if I unpack the .deb from alpha build and run the thorium executable, I get the same error :shrug: