View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004698 | Taler | wallet (WebExtension) | public | 2016-09-29 20:47 | 2016-11-20 03:26 |
Reporter | tg | Assigned To | Florian Dold | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Firefox 52 | OS | Linux | ||
Product Version | git (master) | ||||
Target Version | 0.2 | Fixed in Version | 0.2 | ||
Summary | 0004698: errors in Firefox | ||||
Description | FIXED: a JS error occurs when opening the popup FIXED: payment fails | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
|
This probably means that the background page is not running correctly, due to some Firefox issue. |
|
popup error: ---------------------------------------------------------------------- Extension error: TypeError: resp is undefined moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js 166 [[Exception stack updateBalance/<@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:166:1 Async*updateBalance@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:165:25 Controller@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:160:25 controller@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:154:28 checkPrevented@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1408:21 m.module@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1462:10 routeByValue@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1706:4 m.route/redirect@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1566:10 m.route@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1663:5 m.route/redirect@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1573:6 m.route/global[listener]@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1585:48 m.route@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1589:4 main@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:38:9 execMain@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/module-trampoline.js:58:5 @moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/module-trampoline.js:70:7 Async*@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/module-trampoline.js:66:1 Current stack runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:56:129 runSafeWithoutClone@resource://gre/modules/ExtensionUtils.jsm:249:38 wrapPromise/</<@resource://gre/modules/ExtensionUtils.jsm:432:15 withLastError@resource://gre/modules/ExtensionUtils.jsm:372:14 wrapPromise/<@resource://gre/modules/ExtensionUtils.jsm:426:11 Async*wrapPromise@resource://gre/modules/ExtensionUtils.jsm:413:7 callAsyncFunction@resource://gre/modules/ExtensionUtils.jsm:1592:12 inject/stub@resource://gre/modules/Schemas.jsm:1567:16 updateBalance@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:165:25 Controller@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:160:25 controller@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:154:28 checkPrevented@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1408:21 m.module@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1462:10 routeByValue@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1706:4 m.route/redirect@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1566:10 m.route@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1663:5 m.route/redirect@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1573:6 m.route/global[listener]@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1585:48 m.route@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/vendor/mithril.js:1589:4 main@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/popup/popup.js:38:9 execMain@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/module-trampoline.js:58:5 @moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/module-trampoline.js:70:7 Async*@moz-extension://fa04d5ad-654a-4f11-a857-013f984d4677/lib/module-trampoline.js:66:1 ]] ---------------------------------------------------------------------- Had to reload the extensions after enabling debug to see the rest of the errors: ---------------------------------------------------------------------- No matching message response handler for 897-1 MessageChannel.jsm:695 No matching message response handler for 911-0 MessageChannel.jsm:695 _handleResponse resource://gre/modules/MessageChannel.jsm:695:7 bound _handleResponse self-hosted receiveMessage resource://gre/modules/MessageChannel.jsm:161:5 wallet failed main.js:34:5 ChromeBadge@moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/wallet/chromeBadge.js:58:31 wxMain@moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/wallet/wxMessaging.js:218:36 @moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/background/main.js:31:5 Async*@moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/background/main.js:27:1 main.js:35:5 <anonymous> moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/background/main.js:35:5 (Async: promise callback) <anonymous> moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/background/main.js:27:1 ---------------------------------------------------------------------- problem is that getBackgroundPage() returns null. fixed by running the scripts after onLoad on the background page now the popup shows, more errors in the next comment This is with Firefox Developer Edition 51.0a2 https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-aurora/firefox-51.0a2.en-US.linux-x86_64.tar.bz2 https://www.mozilla.org/en-US/firefox/developer/ |
|
Tested: 1. withdrawal from bank: works 2. payment on https://shop.test.taler.net/checkout?donation_receiver=GNUnet&donation_amount=1.0 and https://blog.test.taler.net/essay/Foreword fails with: Request type {"type":"hash-contract","detail":{"contract":{"H_wire":"HF4NY4ZWTJVB9QZJX1HVBXQFFSQ1J3Y0N01X6BT03996D313RSVYE0042F0S9KDCPJ881KZ456WJTV5BPH6G4EKX97EQA2AA3J1XTB8","amount":{"currency":"PUDOS","fraction":0,"value":1},"auditors":[],"exchanges":[{"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"}],"expiry":"/Date(1483900905)/","fulfillment_url":"https://shop.test.taler.net/fulfillment?uuid=${H_contract}&receiver=GNUnet&aval=1×tamp=1475260905&tid=806380161942973&afrac=0&acurr=PUDOS","locations":{},"max_fee":{"currency":"PUDOS","fraction":0,"value":3},"merchant":{"address":"nowhere","jurisdiction":"none","name":"Kudos Inc."},"merchant_pub":"941RS3ZREC9XMCNXES0AXHMMD5BZ9EQJJK39NZHN753Q2P3ZMZXG","products":[{"description":"Donation to GNUnet","price":{"currency":"PUDOS","fraction":0,"value":1},"product_id":0,"quantity":1}],"receiver":"GNUnet","refund_deadline":"/Date(1475260905)/","timestamp":"/Date(1475260905)/","transaction_id":806380161942973}}} unknown, req hash-contract wxMessaging.js:173:13 dispatch moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/wallet/wxMessaging.js:173:13 wxMain/</< moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/wallet/wxMessaging.js:251:28 Error: hashing failed notify.js:56:28 got connect! wxMessaging.js:307:25 got connect! wxMessaging.js:307:25 Request type {"type":"hash-contract","detail":{"contract":{"H_wire":"QM3P293WBQTZ4Y5Q0BBMVRE5A1TKVESB3HH373HQC62DP81KMHHQEQZV00D65BHF3GNT888TSAD7F95BEN1GK30Y7XY2KYE9CGC55CG","amount":{"currency":"PUDOS","fraction":100000,"value":0},"auditors":[],"exchanges":[{"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"}],"expiry":"/Date(1483901195)/","fulfillment_url":"https://blog.test.taler.net/essay/Foreword?uuid=${H_contract}×tamp=1475261195&tid=394828689883540","locations":{},"max_fee":{"currency":"PUDOS","fraction":0,"value":3},"merchant":{"address":"nowhere","jurisdiction":"none","name":"Kudos Inc."},"merchant_pub":"1M5R8ENJN20BAW9V803D221YD8VWYPGT9FP2SSZ4B3QBX2GTTX60","products":[{"description":"Essay: Foreword","price":{"currency":"PUDOS","fraction":100000,"value":0},"product_id":0,"quantity":1}],"refund_deadline":"/Date(1475261195)/","timestamp":"/Date(1475261195)/","transaction_id":394828689883540}}} unknown, req hash-contract wxMessaging.js:173:13 dispatch moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/wallet/wxMessaging.js:173:13 wxMain/</< moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/wallet/wxMessaging.js:251:28 Error: hashing failed |
|
The last error looks like a problem in the crypto WebWorker, specifically when hashing things. |
|
new day, new errors: this time didn't have anything about hashing, but instead updating old exchange wallet.js:825:29 Failed to deplete reserve, trying again in 74306.65529801634 ms wallet.js:516:29 updating old exchange wallet.js:825:29 Failed to deplete reserve, trying again in 180000 ms wallet.js:516:29 updating old exchange wallet.js:825:29 Failed to deplete reserve, trying again in 180000 ms wallet.js:516:29 updating old exchange wallet.js:825:29 Failed to deplete reserve, trying again in 180000 ms wallet.js:516:29 ... got connect! wxMessaging.js:337:25 NO_DYNAMIC_EXECUTION was set, using slow cwrap implementation libwrapper.js:1:3328 no repurchase: no correlation id wallet.js:929:29 notifying all ports wxMessaging.js:351:21 loading moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/pages/confirm-contract.js module-trampoline.js:64:1 The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol. confirm-contract.html module imported moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/pages/confirm-contract.js module-trampoline.js:68:5 executing module main module-trampoline.js:57:5 {H_contract: "4SMSDW1MEMJKCS78KG31C75T4572XKP9JPXFG35B27Q30E11KNRPZXVA7WT7TMPEN1TGD0MK2BX3R5RQD50P3FYT8G6WES7EDSE0QAR", contract: Object, merchant_sig: "JRR4RCNCKPYQS4R33S769Z1QMY427ATHWMBGPTPNT193MF89NEB4KRPPF2C8T3QMETNYJEQA3Y4NTRESN5TN3QJAN0QF5E5SH073Y3G"} confirm-contract.js:25 Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.test.taler.net/" wallet.js:287:29 {https://exchange.test.taler.net/: Array[10]} wallet.js:332 Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.test.taler.net/" wallet.js:287:29 {https://exchange.test.taler.net/: Array[10]} wallet.js:332 Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.test.taler.net/" wallet.js:287:29 {https://exchange.test.taler.net/: Array[10]} wallet.js:332 Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.test.taler.net/" wallet.js:287:29 {https://exchange.test.taler.net/: Array[10]} wallet.js:332 Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.test.taler.net/" wallet.js:287:29 {https://exchange.test.taler.net/: Array[10]} wallet.js:332 executing confirmPay wallet.js:422:25 Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.test.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.test.taler.net/" wallet.js:287:29 {https://exchange.test.taler.net/: Array[10]} wallet.js:332 notifying all ports wxMessaging.js:351:21 contract Object { H_wire: "QM3P293WBQTZ4Y5Q0BBMVRE5A1TKVESB3HH…", amount: Object, auditors: Array[0], exchanges: Array[1], expiry: "/Date(1484248566)/", fulfillment_url: "https://blog.test.taler.net/essay/F…", locations: Object, max_fee: Object, merchant: Object, merchant_pub: "1M5R8ENJN20BAW9V803D221YD8VWYPGT9FP…", 4 more… } confirm-contract.js:80:17 got connect! wxMessaging.js:337:25 And this one is from the blog page: Error: Permission denied to access property "callId" taler-wallet-lib.js:70:1 callWallet/handler https://blog.test.taler.net/static/web-common/taler-wallet-lib.js:70:1 addHandler/handlerWrap/responder moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/content_scripts/notify.js:135:21 registerHandlers/</< moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/content_scripts/notify.js:272:17 runSafeSyncWithoutClone resource://gre/modules/ExtensionUtils.jsm:54:14 runSafeWithoutClone resource://gre/modules/ExtensionUtils.jsm:249:38 bound runSafeWithoutClone self-hosted wrapPromise/< resource://gre/modules/ExtensionUtils.jsm:422:13 onFulfilled self-hosted in callWallet() 70 if (evt.detail.callId !== callId) { so there's an error about the character encoding of the contract, and also loads of 'failed to deplete reserve' errors, what does this mean? and this callId issue from the web page. |
|
> Error: Permission denied to access property "callId" taler-wallet-lib.js:70:1 https://blog.test.taler.net/static/web-common/taler-wallet-lib.js This looks very weird! "Failed to deplete reserve" just means that something failed while withdrawing coins, and that we'll retry again. The background page should log the reason for that. |
|
added stack trace for the callId error above, also it looks like the payment actually succeeded, the wallet has 0.10 less, and also the history has this entry: Confirmed payment of 0.10 PUDOS to merchant Kudos Inc.. (view product) except the web page runs into this callId error and gets stuck at "Processing payment with GNU Taler, please wait.." |
|
after the browser crashed somewhere in the debugger, and restarted, have no more 'failed to deplete reserve' errors, but it also appears the wallet lost, after restart I had 0 coins and empty history |
|
Does the fulfillment page show after manually hitting refresh? If so, this might be a problem with the wallet, updating to the most recent webstore version should fix it. |
|
no, even if I refresh I get the same processing payment message and the same callId error, also tried to go via the history, same result |
|
evt: taler-get-payment-result { target: HTMLDocument → Foreword, isTrusted: false, detail: Object, eventPhase: 0, bubbles: false, cancelable: false, defaultPrevented: false, timeStamp: 620.711515, originalTarget: HTMLDocument → Foreword, explicitOriginalTarget: HTMLDocument → Foreword, NONE: 0 } taler-wallet-lib.js:72:1 evt.detail: Object { H_contract: "PDNH6BPENQSKZCYF3M0XD9ST54ANNSJXXN0…", contract: Object, payment: Object, callId: 1 } |
|
This looks all good ... but where does the "Permission denied" error come from? It seems like Firefox is blocking access to this property? Is there some bug in some security policy? |
|
Note that the event taler-get-payment-result is sent by the extension (running as a content script) and received by the merchant's code. |
|
when accessing the following page https://blog.test.taler.net/essay/Foreword?uuid=PDNH6BPENQSKZCYF3M0XD9ST54ANNSJXXN0A9292131D7CB2T3W4R9Y62KH4RMGQRQHFKA2FP7XQA0E9M5DT18AX951M006EAA4JGQR×tamp=1475611331&tid=32619478732754 it loads properly when entering the URL directly or following a link, but when pressing ctrl+R an error occurs: taler install detected taler-wallet-lib.js:314:17 TypeError: document.getElementById(...) is null[Learn More] purchase.js:4:3 handleWalletPresent https://blog.test.taler.net/static/purchase.js:4:3 handleInstall https://blog.test.taler.net/static/web-common/taler-wallet-lib.js:244:13 handleProbe https://blog.test.taler.net/static/web-common/taler-wallet-lib.js:316:17 addHandler/handlerWrap/responder moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/content_scripts/notify.js:135:21 registerHandlers/< moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/content_scripts/notify.js:147:13 addHandler/handlerWrap moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/content_scripts/notify.js:137:17 probeTaler moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/taler-wallet-lib.js:299:13 onProbeTimeout moz-extension://701f81b2-d76f-4a22-bcf8-97f735a69de1/lib/taler-wallet-lib.js:312:13 looks like trying to access an element before it is loaded |
|
Interesting. We've had some of these bugs before in taler-wallet-lib. This time, it seems like it's a problem with the merchant though ... Interesting that Chrome isn't bothered by this. Maybe by accident the timing is always right. I'll look into fixing this. The root of the problem is that the callback for taler.onPresent is called even if the DOM is not initialized. This is expected behavior though, and should be fixed by the merchant frontend. |
|
yes, FF is blocking access to this property. I can console.log(evt.detail) but evt.detail.callId throws the permission denied error and points to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Property_access_denied i.e. violating same-origin policy so apparently the web site can't access the content of objects set by the content-script.. any other way to pass this around? perhaps serialized or something? |
|
There's one other way to communicate between content script and the page: https://developer.chrome.com/extensions/content_scripts#host-page-communication Is this method not subject to the same-origin restrictions? Tg, could you somehow find out? It would be easy to add this to the wallet/taler-wallet-lib without changing too much code. Maybe there is something that needs to be added to manifest.json to allow access? Or it's simply a bug in Firefox and we should report it ... AFAIK the "detail" can only be an object, so if we can't access it, we can't communicate payload ... |
|
issue was: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Firing_from_privileged_code_to_non-privileged_code and apparently it's even supported from FF50 https://blog.mozilla.org/addons/2016/08/25/webextensions-in-firefox-50/ https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.cloneInto I added code to notify.ts that handles this, plz make it proper typescript, think it needs some interface definitions otherwise gives me compile errors.. and also needs to be fixed at all other uses of CustomEvent |
|
another issue: now this appeared on the History tab: Merchant Kudos Inc. offered contract AR0V1... with a link to moz-extension://.../view-contract.html which does not exist |
|
OK, so now withrawal & payment works, anything else to be tested? |
|
I've added the TypeScript declaration. The view-contract.html doesn't exist, it's simply not implemented yet. Could we maybe document what the exact Firefox version is that works with the wallet? |
|
I'm testing it with: Firefox Developer Edition 51.0a2 https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-aurora/firefox-51.0a2.en-US.linux-x86_64.tar.bz2 [^] https://www.mozilla.org/en-US/firefox/developer/ [^] cloneInto was added in FF50, haven't tried with that.. |
|
OK just checked, FF50.0b4 does not work, so 51 is the first one that works |
|
it works now in FF50.0b4 as well https://archive.mozilla.org/pub/firefox/releases/50.0b4/linux-x86_64/en-US/firefox-50.0b4.tar.bz2 had to apply workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1101653 |
|
to test 1. download & run https://archive.mozilla.org/pub/firefox/releases/50.0b4/linux-x86_64/en-US/firefox-50.0b4.tar.bz2 or https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-aurora/firefox-51.0a2.en-US.linux-x86_64.tar.bz2 2. go to about:debugging 3. load unpacked extension 4. pick manifest.json from taler git |
|
Ok, next step: can you please look at how to support the proper FF-way of installing the extension? (I understand this may take time if they still do audits, but we should start the process; also, we need to make sure to check that the FF installation is a supported version / put in the right version numbers into the manifest, if that's not there yet (didn't check, @ CDG).) |
|
added min_version to manifest, and adjusted the build process to also create an .xpi since FF48 addons must be signed by mozilla, so we'd have to submit it to addons.mozilla.org |
|
TypeError: sheet.rules is undefined taler-wallet-lib.js:362:24 |
|
That's a known problem in v0.1.0. If you check out v0.1.1 of the wallet, it should work there. (Chrome allows .rules, Firefox needs .cssRules) |
|
this was already fixed, but the web-common submodule was not pointing to the latest revision |
|
addons.mozilla.org validation results: 3 warnings 1. Use of document.write strongly discouraged. Warning: document.write will fail in many circumstances when used in extensions, and has potentially severe security repercussions when used improperly. Therefore, it should not be used. lib/vendor/system-csp-production.src.js line 4507 column 5 2. mozIndexedDB used as an object key/property Warning: mozIndexedDB has been removed; use indexedDB instead. lib/emscripten/libwrapper.js line 1 column 275768 3. mozIndexedDB used as an object key/property Warning: mozIndexedDB has been removed; use indexedDB instead. lib/emscripten/libwrapper.js line 1 column 325351 |
|
OK these are from external libraries used for compatibility with older browsers and not invoked anywhere |
|
when trying to buy https://blog.demo.taler.net/essay/10._Selling_Free_Software Checking for merchant's exchange {"master_pub":"CQQZ9DY3MZ1ARMN5K1VKDETS04Y2QCKMMCFHZSWJWWVN82BTTH00","url":"https://exchange.demo.taler.net/"} wallet.js:319:29 joining on "https://exchange.test.taler.net/" query.js:129:25 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 got coin for exchange "https://exchange.demo.taler.net/" wallet.js:287:29 same pubkey for different currencies wallet.js:299:33 not suitable exchanges found wallet.js:330:29 [object Object] wallet.js:332 not confirming payment, insufficient coins wallet.js:457:29 check-pay error {"error":"coins-insufficient"} |
|
also, the js-free version does not work in firefox, in wxMessaging it reaches handleHttpPayment and sets paymentRequestCookies[tabId] = { type: "fetch", contractUrl }; what's supposed to happen after? how is paymentRequestCookies used after? |
|
after that the ping handler is called twice: ping wxMessaging.js:30:17 id: 3 info: Object { type: "fetch", contractUrl: "https://blog.demo.taler.net/generat…" } promise: Promise { <state>: "fulfilled", <value>: Object } wxMessaging.js:36:17 ping wxMessaging.js:30:17 id: 3 info: undefined promise: Promise { <state>: "fulfilled", <value>: undefined } |
|
in the ping handler if I comment out //delete paymentRequestCookies[id]; then it reaches the payment page |
|
This might be a bug. Commenting that line out serves as a workaround, but leaks tiny amounts of memory. |
|
I'll try to fix it in the wallet/taler-wallet-lib. |
|
if i comment out that line after payment it gets stuck in receiving pings, guess because it's not deleted? if i reload the page in a new tab it then shows the article, so it's related to that indeed |
|
The issue in the wallet is fixed ef5bc2c353de. We now shouldn't accidentally delete tab cookies set via 402 payments. |
|
> if i comment out that line after payment it gets stuck in receiving pings, guess because it's not deleted? Yes, that's the issue. Should be fixed now. We were accidentally clearing cookies in another place before. |
|
tested, works now, uploaded new version to AMO |
|
the payment error above in #c11298 only happens in one specific wallet, it may have been corrupted somehow, in another profile it works fine. |
|
flickering icon animation is reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1309347 |
|
"WONTFIX: Animated images for toolbar buttons are intentionally not supported." |
|
it still occurs sometimes that TypeError: document.getElementById(...) is null purchase.js:23:3 TypeError: document.getElementById(...) is null purchase.js:4:3 |
|
On demo or on test? Shouldn't occur on test, can occur on demo. |
|
yes that was on demo. also, attached wallet-1.json, which has the db where I get the "insufficient coins" error mentioned in #c11298 |
|
ah, i think the problem is that i got the coins on test, and can't spend those on demo, only on test |
|
yeah it's _P_udos vs _K_udos. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-09-29 20:47 | tg | New Issue | |
2016-09-29 20:47 | tg | Status | new => assigned |
2016-09-29 20:47 | tg | Assigned To | => Florian Dold |
2016-09-29 20:49 | tg | Reproducibility | have not tried => always |
2016-09-29 21:02 | Florian Dold | Note Added: 0011208 | |
2016-09-30 20:43 | tg | Note Added: 0011218 | |
2016-09-30 20:48 | tg | Note Added: 0011219 | |
2016-09-30 20:53 | tg | Note Edited: 0011218 | |
2016-09-30 20:55 | tg | Summary | popup error in Firefox => errors in Firefox |
2016-09-30 20:55 | tg | Description Updated | |
2016-09-30 20:55 | tg | Steps to Reproduce Updated | |
2016-09-30 20:57 | tg | Note Edited: 0011218 | |
2016-09-30 20:58 | tg | Additional Information Updated | |
2016-10-03 14:06 | Florian Dold | Note Added: 0011231 | |
2016-10-03 14:06 | Florian Dold | Assigned To | Florian Dold => tg |
2016-10-04 21:36 | tg | Note Added: 0011239 | |
2016-10-04 21:39 | Florian Dold | Note Added: 0011240 | |
2016-10-04 21:52 | tg | Note Edited: 0011239 | |
2016-10-04 21:56 | tg | Note Added: 0011241 | |
2016-10-04 22:04 | tg | Note Added: 0011242 | |
2016-10-04 22:04 | Florian Dold | Note Added: 0011243 | |
2016-10-04 22:06 | tg | Note Added: 0011244 | |
2016-10-04 22:30 | tg | Note Added: 0011246 | |
2016-10-04 22:32 | Florian Dold | Note Added: 0011247 | |
2016-10-04 22:32 | Florian Dold | Note Added: 0011248 | |
2016-10-04 22:34 | tg | Note Added: 0011249 | |
2016-10-04 22:41 | Florian Dold | Note Added: 0011250 | |
2016-10-04 22:41 | tg | Note Added: 0011251 | |
2016-10-04 22:45 | Florian Dold | Note Added: 0011252 | |
2016-10-05 00:01 | tg | Note Added: 0011254 | |
2016-10-05 00:02 | tg | Note Added: 0011255 | |
2016-10-05 00:04 | tg | Description Updated | |
2016-10-05 00:06 | tg | Note Added: 0011256 | |
2016-10-05 00:12 | Florian Dold | Note Added: 0011257 | |
2016-10-05 00:18 | tg | Note Added: 0011258 | |
2016-10-05 00:26 | tg | Note Added: 0011259 | |
2016-10-05 18:24 | tg | Status | assigned => resolved |
2016-10-05 18:24 | tg | Fixed in Version | => git (master) |
2016-10-05 18:24 | tg | Resolution | open => fixed |
2016-10-05 21:41 | tg | Note Added: 0011261 | |
2016-10-05 21:41 | tg | Status | resolved => feedback |
2016-10-05 21:41 | tg | Resolution | fixed => reopened |
2016-10-05 21:43 | tg | Note Edited: 0011261 | |
2016-10-05 21:58 | tg | Note Added: 0011262 | |
2016-10-05 21:58 | tg | Status | feedback => assigned |
2016-10-05 22:00 | tg | Note Edited: 0011262 | |
2016-10-06 13:50 | Christian Grothoff | Note Added: 0011264 | |
2016-10-06 14:35 | tg | Note Added: 0011265 | |
2016-10-07 00:30 | Christian Grothoff | Status | assigned => resolved |
2016-10-07 00:30 | Christian Grothoff | Resolution | reopened => fixed |
2016-10-07 00:30 | Christian Grothoff | Fixed in Version | git (master) => 0.1 |
2016-10-07 00:30 | Christian Grothoff | Target Version | => 0.1 |
2016-10-09 01:44 | Christian Grothoff | Relationship added | has duplicate 0004684 |
2016-10-11 16:47 | tg | Note Added: 0011290 | |
2016-10-11 16:47 | tg | Status | resolved => feedback |
2016-10-11 16:47 | tg | Resolution | fixed => reopened |
2016-10-11 17:17 | Florian Dold | Note Added: 0011291 | |
2016-10-11 17:17 | Florian Dold | Note Edited: 0011291 | |
2016-10-11 17:17 | tg | Note Added: 0011292 | |
2016-10-11 17:17 | tg | Status | feedback => assigned |
2016-10-11 17:17 | tg | Status | assigned => resolved |
2016-10-11 17:17 | tg | Resolution | reopened => fixed |
2016-10-11 17:28 | Christian Grothoff | Status | resolved => closed |
2016-10-11 17:38 | tg | Assigned To | tg => Florian Dold |
2016-10-11 17:38 | tg | Note Added: 0011296 | |
2016-10-11 17:38 | tg | Status | closed => feedback |
2016-10-11 17:38 | tg | Resolution | fixed => reopened |
2016-10-11 19:47 | tg | Note Added: 0011297 | |
2016-10-11 19:47 | tg | Status | feedback => assigned |
2016-10-11 19:48 | tg | Note Added: 0011298 | |
2016-10-11 20:00 | tg | Note Added: 0011299 | |
2016-10-11 20:15 | tg | Note Added: 0011300 | |
2016-10-11 20:16 | tg | Note Added: 0011301 | |
2016-10-11 20:18 | Florian Dold | Note Added: 0011302 | |
2016-10-11 20:18 | Florian Dold | Note Added: 0011303 | |
2016-10-11 20:22 | tg | Note Added: 0011304 | |
2016-10-11 20:23 | tg | Note Edited: 0011304 | |
2016-10-11 20:24 | tg | Note Edited: 0011304 | |
2016-10-11 20:27 | Florian Dold | Note Added: 0011305 | |
2016-10-11 20:28 | Florian Dold | Note Added: 0011306 | |
2016-10-11 20:36 | tg | Note Added: 0011307 | |
2016-10-11 20:41 | tg | Note Edited: 0011307 | |
2016-10-11 20:42 | tg | Note Added: 0011308 | |
2016-10-11 21:01 | tg | Note Edited: 0011308 | |
2016-10-11 21:33 | tg | Note Added: 0011309 | |
2016-10-12 10:53 | tg | Note Added: 0011311 | |
2016-10-12 17:05 | tg | Note Added: 0011316 | |
2016-10-12 17:06 | Florian Dold | Note Added: 0011317 | |
2016-10-12 17:06 | tg | File Added: wallet-1.json | |
2016-10-12 17:07 | tg | Note Added: 0011318 | |
2016-10-12 17:09 | tg | Note Edited: 0011318 | |
2016-10-12 17:10 | tg | Note Added: 0011319 | |
2016-10-12 17:11 | tg | Note Edited: 0011319 | |
2016-10-12 17:11 | Florian Dold | Note Added: 0011320 | |
2016-10-14 20:44 | tg | Status | assigned => resolved |
2016-10-14 20:44 | tg | Resolution | reopened => fixed |
2016-10-14 23:57 | Christian Grothoff | Fixed in Version | 0.1 => 0.2 |
2016-10-14 23:57 | Christian Grothoff | Target Version | 0.1 => 0.2 |
2016-11-20 03:26 | Christian Grothoff | Status | resolved => closed |
2023-04-13 20:37 | Florian Dold | Category | wallet (WebExtensions) => wallet (WebExtension) |