View Issue Details

IDProjectCategoryView StatusLast Update
0007120Talerwallet (WebExtension)public2022-11-04 20:53
Reportersebasjm Assigned Tosebasjm  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.9Fixed in Version0.9 
Summary0007120: migrate to Manifest V3
DescriptionThis need to review major design decisions, the most important may be the service worker vs background process:

https://blog.chromium.org/2020/12/manifest-v3-now-available-on-m88-beta.html

"First, we are introducing service workers as a replacement for background pages."

https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/#background-service-workers

"Background pages in MV2 are replaced by service workers in MV3: this is a foundational change that affects most extensions.
Service workers are event based, and like event pages they do not persist between invocations. This change generally requires some redesign"

https://developer.chrome.com/docs/extensions/mv3/migrating_to_service_workers/

 * setTimeout and setInterval is not allowed
 * service workers are short-lived execution environments
TagsNo tags attached.

Activities

sebasjm

2021-12-15 12:21

developer   ~0018576

Also, XMLHttpRequest is not supported in service workers

https://github.com/GoogleChrome/developer.chrome.com/issues/522

https://developer.chrome.com/docs/extensions/mv3/xhr/

sebasjm

2022-01-16 22:38

developer   ~0018636

new permission needed: scripting
    chrome.browserAction -> chrome.action
    webRequestBlocking is not possible anymore
    chrome.extension.getUrl -> chrome.runtime.getUrl
    new serviceWorkerHttpLib: using fetch
    new serviceWorkerCryptoWorkerFactory: using syncCryptoImpl
    few other minor changes
    
    still missing some other changes like migrating setTimeout to chrome.alarms API but al least we have a working version using manifest v3

sebasjm

2022-01-20 17:16

developer   ~0018649

an important loss: webext is not able to ask for webRequestBlocking permission. We cannot trigger the wallet by reading the HTTP header

sebasjm

2022-04-11 20:42

developer   ~0018857

c3c0f3bf..df81496b

Issue History

Date Modified Username Field Change
2021-12-02 03:59 sebasjm New Issue
2021-12-02 03:59 sebasjm Status new => assigned
2021-12-02 03:59 sebasjm Assigned To => sebasjm
2021-12-15 12:21 sebasjm Note Added: 0018576
2022-01-16 22:38 sebasjm Note Added: 0018636
2022-01-20 17:16 sebasjm Note Added: 0018649
2022-04-11 20:42 sebasjm Status assigned => resolved
2022-04-11 20:42 sebasjm Resolution open => fixed
2022-04-11 20:42 sebasjm Fixed in Version => git (master)
2022-04-11 20:42 sebasjm Note Added: 0018857
2022-04-12 18:29 Christian Grothoff Fixed in Version git (master) => 0.9
2022-04-12 18:29 Christian Grothoff Target Version git (master) => 0.9
2022-11-04 20:53 Christian Grothoff Status resolved => closed
2023-04-13 20:37 Florian Dold Category wallet (WebExtensions) => wallet (WebExtension)