dukei / any-balance-providers

Collection of AnyBalance providers
46 stars 27 forks source link

[ab-money-privatbank] Поддержка новой версии мобильного приложения #1229

Closed yermulnik closed 11 months ago

yermulnik commented 11 months ago

Протестировано. Работает. @DimaZUA JFYI

Byakha commented 11 months ago

У меня не заработало. Я в архиве провайдера подменил соответствующие файлы теми что выложены здесь. Что я не так сделал?

yermulnik commented 11 months ago

Вот контент моего вручную собранного архива:

  Length      Date    Time    Name
---------  ---------- -----   ----
     5614  2023-12-07 01:57   anybalance-manifest.xml
    24569  2023-12-07 01:26   api_new.js
      190  2023-12-07 00:27   crypt.crc32.min.js
      212  2023-12-07 00:27   crypt.luhn.min.js
     6102  2023-12-07 00:27   crypt.md5.min.js
     6455  2023-12-07 00:27   extract.abe-money-privatbank.min.js
     3113  2023-12-07 01:27   history.xml
     2710  2023-12-07 00:18   icon.png
    21173  2023-12-07 01:54   library.min.js
     2277  2023-12-07 00:18   main.js
      403  2023-12-07 00:27   mobile.imei.min.js
     1650  2023-12-07 00:27   nadapter.min.js
     2015  2023-12-07 00:18   preferences.xml
---------                     -------
    76483                     13 files

Я так понимаю, что при сборке в каталоге провайдеров, эти файлы добавляются автоматически, на основе depends и files из манифеста. Из того, что заметил: https://github.com/dukei/any-balance-providers/wiki/Debugging#%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D0%BA%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F — чтобы anybalance "увидел" обновлённый архив мне в дополнение пришлось ещё и переименовать архив в ab-money-privatbank.v24.zip, т.к. при имени ab-money-privatbank.zip даже с обновлённой вресией в манифесте, всё равно не "видел" обновления.

Byakha commented 11 months ago

Провайдер обновился но всё равно не работает. Пишет вот такое: "onSetResult got result {"error":true,"message":"Unhandled exception in user script:\nname: ReferenceError\nmessage: generatelmei is not defined\nCall stack:\nReferenceError: generatelmei is not defined\n at apiNew (file:///data/user/0 /com.dukei.android.apps.anybalance/app_providers/ab-money -privatbank/api_new.js?ver=24:60:9)\n at main (file:///data /user/0/com.dukei.android.apps.anybalance/app_providers /ab-money-privatbank/main.js?ver=24:26:7)\n at api_onload (file:///data/user/0/com.dukei.android.apps.anybalance/app _providers/ab-money-privatbank/:74:433)\n at onload (file:// /data/user/0/com.dukei.android.apps.anybalance/app_providers /ab-money-privatbank/:80:67)","investigate":true,"unhandled":true}"

yermulnik commented 11 months ago

Я не автор это провайдера, я всего лишь обновил версию клиента для API до последней 🤷🏻 Ошибка Error: generatelmei is not defined говорит о том, что скрипт ссылается или на библиотеку, файл которой не может найти, или на функцию, которой нет в этой библиотеке. Вот архив провайдера, который у меня сейчас установлен и работает с патчем из этого PR. ab-money-privatbank.v24.zip Контент архива взят из предыдущей версии этого провайдера, запакованной разработчиком этого провайдера (т.е. не через каталог провайдеров Anybalance).

yermulnik commented 11 months ago

Контент архива взят из предыдущей версии этого провайдера, запакованной разработчиком этого провайдера (т.е. не через каталог провайдеров Anybalance).

Сравнил с архивом провайдера из каталога. Отличия только в хендлинге одного из параметров функциии createUrlEncodedParams() из library.min.js. Т.е. исправления из этого PR должны работать и с официально собранным провайдером. Всё остальное — это или кеширование, или версия манифеста, или что-то подобное.