-
Notifications
You must be signed in to change notification settings - Fork 137
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
Replace pdf-extraction package from a fork to the original one #704
base: master
Are you sure you want to change the base?
Conversation
@skvav Добрый день, PR решает проблему с импортом из PDF. PS Как понять, в какой версии окажется на iPhone? |
@AmirL Добрый день! Да, у нас используется форкнутая версия, потому как оригинальная не работает в JS окружении в приложении. А чем мешает "Deprecated API usage"? Это вроде просто предупреждение, на работу не должно влиять. По крайней мере в https://github.com/zenmoney/ZenPlugins/tree/master/src/plugins/kaspi парсинг pdf работает. |
Хм, ну помимо этого есть еще ошибка ниже. И кажется это за пределами плагина. Как я понимаю, если ошибка была бы в плагине, то должно были быть ошибки валидации какие то. if (!blob || !blob.length) {
throw new TemporaryError('Выберите один или несколько файлов в формате .pdf')
}
for (const { size, type } of blob) {
if (type !== 'application/pdf') {
throw new TemporaryError('Выписка должна быть в расширении .pdf')
} else if (size >= 1000 * 1000) {
throw new TemporaryError('Максимальный размер файла - 1 мб')
}
} Но такой ошибки нет, даже если загружаю посторонний pdf для теста. PS Кстати, у вас в main ветке сразу же не все тесты проходят, и yarn start тоже выдает ошибку. |
@AmirL судя по видео, ошибка возникает где-то внутри либы для парсинга pdf. Может зависит как-то от выписки? |
Хм, у вас указано Node js > 16.x. Как минимум на 18 версии не запускается, и часть тестов падает. Видимо из за версии. |
У меня на 18-ой версии все запускается, и без ошибок :) Можно скриншот или описание ошибки запуска, пожалуйста, чтобы ясней было.
Судя по всему вылет где-то внутри либы pdfjs, при том вылет не пробрасывается в вызывающий код, и scrape функция не завершается вообще ни с ошибкой ни с успехом. А в браузере через yarn start vakifbank-tr вы тоже, получается, проверить работу не можете по причине выше? |
Может быть, сможет помочь автор плагина - @tihonove |
@skvav ну не только у меня не работает. Загрузил в sandbox напрямую из репо, и так же выдает ошибку. [webpack-cli] TypeError: Cannot read properties of undefined (reading 'split')
at module.exports (/Users/amir/dev/nodejs/ZenPlugins/scripts/webpack.config.js:185:35)
at loadConfigByPath (/Users/amir/dev/nodejs/ZenPlugins/node_modules/webpack-cli/lib/webpack-cli.js:1439:37)
at async Promise.all (index 0)
at WebpackCLI.loadConfig (/Users/amir/dev/nodejs/ZenPlugins/node_modules/webpack-cli/lib/webpack-cli.js:1454:35)
at WebpackCLI.createCompiler (/Users/amir/dev/nodejs/ZenPlugins/node_modules/webpack-cli/lib/webpack-cli.js:1785:22)
at Command.<anonymous> (/Users/amir/dev/nodejs/ZenPlugins/node_modules/@webpack-cli/serve/lib/index.js:105:30)
at async Promise.all (index 1)
at Command.<anonymous> (/Users/amir/dev/nodejs/ZenPlugins/node_modules/webpack-cli/lib/webpack-cli.js:1372:13)
node:child_process:960
throw err;
node:child_process:960
throw err;
^
Error: Command failed: webpack serve --config ./scripts/webpack.config.js --env PLUGIN=
at checkExecSyncError (node:child_process:885:11)
at execSync (node:child_process:957:15)
at Object.<anonymous> (/Users/amir/dev/nodejs/ZenPlugins/scripts/wrapper.js:5:1)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47 {
status: 2,
signal: null,
output: [ null, null, null ],
pid: 31169,
stdout: null,
stderr: null
} Тесты в sandbox почему то проходят, но на локале частично падают, видимо с TimeZone какие то проблемы у тестов. |
@AmirL похоже не та команда используется для запуска. Надо yarn start vakifbank-tr а не просто, видимо, yarn start |
А у inecobank-am действительно были кривые тесты, поправил, спасибо |
@AmirL кажется да, проблема не связана с парсингом. Я, если что, готов помочь поправить сам парсер pdf-а. |
@skvav спасибо, не заметил что нужно название плагина добавлять в команду. Проверил, на локале выписку принимает и работает. Видимо отлаживать нужно уже сам ZenMoney :(. (Тем более что на андроиде у Tihonove работает). |
@AmirL не, проблема не в приложении, а в том, что в JS код плагина в продакшене исполняется в песочнице. Эта песочница не равна JS-окружению браузера, где есть глобальный window, и прочее апи браузера, и также и не равна окружению Node.js. Часть глобальных объектов сейчас полифиллится, но что-то сильно завязанное на браузер или ноду может и вылетать при исполнении в песочнице. Потому надо дебажить и смотреть, в каком конкретно месте вылетает и отчего. |
@skvav что то я не пойму, как дебажить, если в песочнице не вылетает? Нужно как то сначала воссоздать окружение где вылетать будет. Подскажешь как? |
@skvav могу я как то помочь? Может быть действительно вылетает на айфонах из за deprecated использования pdf библиотеки? |
1d85111
to
4dd46df
Compare
У вас почему то используется форк, вместо оригинального pdf-extraction. Видимо его не обновляют, и при импорте из pdf теперь выдает
"Deprecated API usage: PDFDocumentLoadingTask.then method, use the promise getter instead."
Переустановил используя:
https://www.npmjs.com/package/pdf-extraction