View Issue Details

IDProjectCategoryView StatusLast Update
0005036Talerwallet (WebExtension)public2019-12-20 19:11
ReporterFlorian Dold Assigned ToFlorian Dold  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.6Fixed in Version0.6 
Summary0005036: create an implementation for IndexedDB to be used outside of the browser
DescriptionExisting node implementations are terrible. We should have at least a simple in-memory implementation for test cases, implementing the subset of IndexedDB that our query abstraction uses.

Later we can implement it for sqlite3.

The IndexedDB API is pretty reasonable, this shouldn't be too much work (famous last words ...).
TagsNo tags attached.

Activities

Christian Grothoff

2017-05-28 22:51

manager   ~0012175

Is this for testing, for apps or for both?

Florian Dold

2017-05-28 22:55

manager   ~0012176

For both. As of today, we can run tests that use WebWorkers (and thus test the crypto thread) in NodeJs. This uses a small module to translate WebWorkers to NodeJS subprocesses. I also want to be able to run tests that use the database outside the browser, for performance reasons.

Note that the database will still be very small, so this implementation doesn't need to be optimized initially.

Another nice use case might be end-to-end tests without using the browser, where we do a withdraw and spend using a command line version of the TypeScript wallet. This allows us to cheaply run test cases, right now the selenium test cases basically kill taler.net because they hog so much memory (due to Chrome/Selenium).

Christian Grothoff

2017-05-28 22:58

manager   ~0012177

Ok, then let's schedule this for 0.6 (obviously could be done earlier, but 0.6 is where we want to have really good testing).

Florian Dold

2019-08-17 14:49

manager   ~0014788

IndexedDB with file-backed and memory-backed storage is now implemented in the idb-bridge package inside the wallet repo.

Issue History

Date Modified Username Field Change
2017-05-28 22:45 Florian Dold New Issue
2017-05-28 22:45 Florian Dold Status new => assigned
2017-05-28 22:45 Florian Dold Assigned To => Florian Dold
2017-05-28 22:51 Christian Grothoff Note Added: 0012175
2017-05-28 22:51 Christian Grothoff Severity minor => feature
2017-05-28 22:51 Christian Grothoff Product Version => git (master)
2017-05-28 22:55 Florian Dold Note Added: 0012176
2017-05-28 22:58 Christian Grothoff Target Version => 0.6
2017-05-28 22:58 Christian Grothoff Note Added: 0012177
2017-12-12 23:23 Florian Dold Summary create an implementation for IndexedDB to used outside of the browser => create an implementation for IndexedDB to be used outside of the browser
2019-08-17 14:49 Florian Dold Status assigned => resolved
2019-08-17 14:49 Florian Dold Resolution open => fixed
2019-08-17 14:49 Florian Dold Note Added: 0014788
2019-12-20 19:11 Christian Grothoff Fixed in Version => 0.6
2019-12-20 19:11 Christian Grothoff Status resolved => closed
2023-04-13 20:37 Florian Dold Category wallet (WebExtensions) => wallet (WebExtension)