Step 3 of milestone 481 (Scribe note 5071: a full rename).
- crates thoughtsync-{core,desktop,ffi,uniffi-bindgen} → inkwell-*, the
Cargo.lock entries moved to match (checked with `cargo metadata --locked`)
- Tauri: productName "Inkwell", identifier com.fabledsword.inkwell, binary
`inkwell`, updater feed on bvandeusen/inkwell, store file inkwell.db
- client agent inkwell-desktop, headers X-Inkwell-Client/-Protocol (the server
reads neither), capture event inkwell://captured, display-version env
- .deb: conflicts + replaces thought-sync, so the updater's install retires the
old package instead of colliding on it. kebab-case("Inkwell") is `inkwell`, so
the package name finally matches the command and verify.sh now asserts it
- pacman: inkwell, conflicting with and replacing thoughtsync and
thoughtsync-desktop
- AppImage ~/Applications/Inkwell.AppImage, menu entry inkwell.desktop,
installer, release titles, desktop asset names in fetch-clients.sh
The one shim, chosen by the operator because it is the only copy of a
local-first user's notes: crossover.rs moves the old
com.fabledsword.thoughtsync app-data dir's contents into the new one on startup,
before the store opens, renaming thoughtsync.db and its -wal/-shm with it. It
skips when the new dir already has a store, and anything already in the new dir
wins (the installer writes its channel marker there first). Tested.
Android's Kotlin side (package, applicationId, uniffi class) is step 4. Its
release asset names stay thoughtsync.* until then.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
1.2 KiB
TOML
26 lines
1.2 KiB
TOML
[package]
|
|
name = "inkwell-uniffi-bindgen"
|
|
version = "0.1.0"
|
|
description = "Generates the Kotlin bindings for inkwell-ffi"
|
|
authors = ["bvandeusen"]
|
|
edition = "2021"
|
|
|
|
# A crate whose ONLY dependency is uniffi itself.
|
|
#
|
|
# This started life as a `[[bin]]` inside inkwell-ffi, which failed: building
|
|
# it compiled that crate and therefore the core, reqwest, native-tls and
|
|
# openssl-sys — for the HOST. The vendored-OpenSSL block in core/Cargo.toml is
|
|
# scoped to `cfg(target_os = "android")`, so a host build looks for a system
|
|
# OpenSSL that ci-rust-android has no reason to carry, and the generator died
|
|
# with "failed to run custom build command for openssl-sys".
|
|
#
|
|
# Adding libssl-dev to the image would have worked and been wrong: a code
|
|
# generator should not link the app's TLS stack to emit Kotlin. Splitting it out
|
|
# means the generator compiles ~15 small crates and nothing else.
|
|
#
|
|
# Still a WORKSPACE MEMBER, deliberately. That is what keeps `uniffi` here and
|
|
# `uniffi` linked into the .so on one version from one lockfile — they are two
|
|
# halves of one ABI, and a separate lockfile is exactly how they would drift.
|
|
[dependencies]
|
|
uniffi = { version = "0.32", features = ["cli"] }
|