issue: ENG-8784
FTS5 docs: https://www.sqlite.org/fts5.html
To add fts5 we need to add a compile flag to SQLite. We need to do this on web, iOS and Android.
For iOS I had to add patch to our SQLCipher amalgamation
Details
Before leaving, @kamil instructed me to verify the .wasm size changes caused by adding the library.
I did the following:
1.Checked size of web/shared-worker/_generated/comm_query_executor.wasm
2.Added -DSQLITE_ENABLE_FTS5 flag to SQLITE_COMPILATION_FLAGS in web/scripts/run_emscripten.sh
3.Ran yarn cleaninstall
4.Ran yarn build-db-wasm
5.Checked the size again
The first size was 2 233 808 bytes, the second 2 334 379 bytes. That doesn't seem too bad.
I also added code that creates a virtual fts5 table (next diff) and run web, iOS and Andorid. Checked that no errors are shown.
Diff Detail
- Repository
- rCOMM Comm
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I don't quite understand why so many changes happened in native/ios/Comm.xcodeproj/project.pbxproj, does this look concerning?
patches/@commapp+sqlcipher-amalgamation+4.5.5-d.patch | ||
---|---|---|
1–23 ↗ | (On Diff #42119) | Instead of this patch, we should simply make a new release of this library. Let me know when you're ready for this and I can make it |
native/ios/Comm.xcodeproj/project.pbxproj | ||
---|---|---|
1417 ↗ | (On Diff #42119) | I am afraid that it is my fault that this huge change appeared. I told you to manually set necessary CFLAGS in XCode. I think that this is not necessary and setting then inside podspec of SQLCipherAmalgamation is enough. @inka could you please revert this particular change and repeat the testing plan? |
1608 ↗ | (On Diff #42119) | Same as above |
Remove manual changes in XCode. I had to rever the changes in native/ios/Comm.xcodeproj/project.pbxproj for all of them to disappear.
I ran yarn cleaninstall and install pods and checked that removing and reinstalling the iOS app still doesn't throw
Should I make a new release of @commapp/sqlcipher-amalgamation now? We should do that before landing, so we don't need to commit the patch
@ashoat I think we can make the release now. Should I do anything to make that possible?
I've made a release. Can you remove patches/@commapp+sqlcipher-amalgamation+4.5.5-d.patch here, and instead update the version in native/package.json to 4.5.5-e?