immich/native
2026-07-23 03:41:34 +06:00
..
crates feat(mobile): free native core buffers through a dedicated export 2026-07-23 03:41:34 +06:00
immich_native_core feat(mobile): free native core buffers through a dedicated export 2026-07-23 03:41:34 +06:00
scripts fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
smoke fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
.gitignore fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
Cargo.lock refactor(mobile): replace the android C layer with the rust core 2026-07-11 04:56:06 +06:00
Cargo.toml fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
mise.lock ci: run only fmt, clippy, and tests for the native core 2026-07-20 21:08:58 +06:00
mise.toml ci: run only fmt, clippy, and tests for the native core 2026-07-20 21:08:58 +06:00
README.md fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00

Native core

Shared Rust code used by the Immich mobile app. Flutter builds it from source through the immich_native_core native-assets hook.

Layout

crates/
  immich_core        shared image and thumbhash code
  immich_core_ffi    C ABI and Android JNI exports
  immich_core_napi   Node binding
immich_native_core/  Flutter package and build hook
smoke/               host Dart and Node checks

Commands

Building the mobile app requires rustup. The toolchain and targets are pinned in crates/immich_core_ffi/rust-toolchain.toml.

mise run build
mise run test
mise run lint
mise run fmt
mise run codegen
mise run test:flutter
mise run smoke