proomt

Search

Search posts, papers, and topics

All posts

CodeName OneShai Almog11 min readintermediate

SQLite Across Every Port: One Contract, One Encrypted File Format

Summary

Codename One now ships a single, tested SQLite contract that works natively on Android, iOS, Windows, Linux, and in browsers via WebAssembly, with built‑in SQLCipher‑4 encryption supporting three key models. A conformance suite guarantees identical behavior across platforms, and migration helpers let legacy apps opt‑in. The update also adds a proper watch‑app model, DOM‑based text for JavaScript,…

  • A unified SQLite implementation replaces the previous platform‑specific back‑ends, eliminating divergent cursor, transaction, and blob semantics.
  • The new `DatabaseConformanceSuite` runs seven device tests on every target (Android, iOS, macOS, tvOS, watchOS, Windows, Linux, JavaScript) to verify lifecycle, statements, cursors, transactions, encryption, and legacy…
  • Encryption is now first‑class via `DatabaseConfig` with three key models: user‑supplied passphrase, managed keystore/keychain key, or raw 32‑byte key, all using the SQLCipher‑4 on‑disk format (AES‑256‑CBC, PBKDF2‑HMAC‑S…
  • Plaintext databases can be upgraded in‑place with `Database.encrypt(...)` without API changes.

Cross‑platform consistency is critical for mobile‑first frameworks; divergent SQLite behavior caused subtle bugs that only appeared on specific devices. A single contract plus automated conformance testing gives developers confidence that a query behaves the same on a phone, desktop, or web client,…

6/10

Related reading

  1. One Vault, from Your Phone to the Browser

    CodeName One introduces a new com.codename1.security.vault API to simplify secure, cross-device data encryption and access for mobile and web applications. It manages key derivation, wrapping, and synchronization without exposing the data key to the sync server.

    CodeName Onecodenameone.com5 min
  2. App Hardening: One Obfuscation Pipeline Across Every Port

    Codename One adds a cloud‑side hardening step that runs on the merged JAR before it is split into Android, iOS, JavaScript, and desktop binaries. It can rename symbols, encrypt string literals, and insert opaque‑predicate control‑flow guards at configurable levels (off → standard → aggressive → paranoid). The transforms are selective per platform to avoid breaking optimizers, and a mapping is kep…

    CodeName Onecodenameone.com6 min
  3. Put App Documents in the System File Browser

    Codename One adds a read‑only DocumentProvider API that lets apps publish a virtual file tree to iOS Files and Android’s storage picker. The tree is defined with `DocumentNode` objects, can include remote‑only entries, and is shared via an App Group container. The iOS extension runs in a separate process, so the model is serialized and read independently; Android uses the same model inside the ap…

    CodeName Onecodenameone.com4 min
  4. Fill an SMS Verification Code Without Reading the Inbox

    Codename One adds a one‑time‑code autofill component that leverages iOS, Android, and browser autofill APIs, eliminating the need for SMS‑reading permissions. The new `PhoneVerification` component handles phone entry, code entry, resend timing, and server callbacks, while the UI uses a single hidden editor to back six visual boxes, improving typing, paste, and accessibility. The post explains the…

    CodeName Onecodenameone.com3 min
  5. VoIP, VPN, and the Build System Behind Them

    Codename One’s new builder pipeline can automatically generate the native plumbing required for VoIP call integration, managed VPN profiles, and packet‑tunnel extensions on iOS and Android. By inspecting which Java packages an app imports, the builder adds the necessary frameworks, entitlements, services, and even a separate signed Network Extension for iOS, letting developers keep their signalin…

    CodeName Onecodenameone.com10 min
  6. Inside ZCode: Silently uploading your Git history to the cloud

    ZCode (Zhipu’s AI coding desktop) silently archives your entire workspace—including full .git history, LFS cache, and config—encrypts it with a server‑supplied RSA public key, and uploads the ciphertext directly to Aliyun OSS. The upload runs unconditionally for any logged‑in user, cannot be disabled via UI, and the decryption key lives only on the server, giving Zhipu full read access to your co…

    Hacker News front pageferstar.org6 minpostmortemHN336113