tane/apps/app_seeds
vjrj e41ec9872b fix(db): load bundled SQLCipher on Linux desktop (stop startup segfault)
The Linux app segfaulted when opening the encrypted DB. Root cause: on Linux we
overrode package:sqlite3 to the SYSTEM libsqlcipher.so, but sqlcipher_flutter_libs
statically links its own SQLCipher into libsqlcipher_flutter_libs_plugin.so and
exports the sqlite3_* symbols globally. Two SQLite/SQLCipher builds loaded in one
process → symbol clash → segfault at sqlite3_open (before PRAGMA key).

Fix: _openLinuxCipher() now prefers the ABI-matched bundled plugin .so
(libsqlcipher_flutter_libs_plugin.so), falling back to the system lib only if the
plugin isn't present (e.g. host test/CI layouts). Android is unaffected (uses the
bundled Android lib as before).

Verified: Linux desktop build runs without crashing; full suite 37/37, and the
"no plaintext at rest" test now runs (not skipped) on the dev host with system
libsqlcipher, confirming real encryption.
2026-07-07 23:45:09 +02:00
..
android feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
assets/catalog feat(block1): bundled species catalog + autocomplete link 2026-07-07 21:21:59 +02:00
drift_schemas feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
integration_test feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
ios feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
lib fix(db): load bundled SQLCipher on Linux desktop (stop startup segfault) 2026-07-07 23:45:09 +02:00
linux fix(db): drop sqlite3_flutter_libs to stop SQLCipher symbol-clash segfault 2026-07-07 23:21:05 +02:00
test feat(block1): photo thumbnails in the inventory list 2026-07-07 22:03:36 +02:00
.gitignore feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
.metadata feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
analysis_options.yaml feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
pubspec.yaml fix(db): drop sqlite3_flutter_libs to stop SQLCipher symbol-clash segfault 2026-07-07 23:21:05 +02:00
README.md feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
slang.yaml feat(block1): variety detail + edit screen with reactive lots 2026-07-07 15:56:03 +02:00

tane

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.