This differential compiles SQLCipher-amalgamation as SQLite engine instead of SQLite-amalgamation. Since SQLCipher-amalgamation compilation requires linking
against openssl we additionally compile openssl to emscripten wasm and link SQLCipher-amalgamation against it.
Details
Details
- Reviewers
kamil - Commits
- rCOMM3be9c9a59eb6: Use SQLCipher as SQLite engine on web
- Open web app before creating new WASM to create database handled by original WASM.
- Hardcode encryption key in SQLiteQueryExecutor and build new WASM.
- Ensure that database is re-encrypted by examining logs from shared worker.
- Ensure that app is as usable as before.
Diff Detail
Diff Detail
- Repository
- rCOMM Comm
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
I mentioned this on Linear, but figure it's worth mentioning here too:
I wonder if we should package SQLCipher + OpenSSL as a separate wasm binary. That way, the client would only need to redownload those parts if they change.
Comment Actions
- Refactor the script to extract independent steps.
- Add no-dso option to OpenSSL compilation configuration. Without this option I was seeing errors like this and I debugged that it originates from this code.
web/scripts/run_emscripten.sh | ||
---|---|---|
61 ↗ | (On Diff #35015) | I think it's better to use pushd and popd in script rather than cd |
Comment Actions
- Ensure encryption key is never set on web db to avoid performance degradation.
- Use pushd and popd instead of cd.