everkit-core
v0.6.0
Published
Framework-agnostic, dependency-free utilities shared across React Native / Expo apps: error normalisation, a friendly-message + stable-category mapping, an injectable error handler, and an Expo Go runtime-environment predicate. Pure TypeScript, testable i
Maintainers
Readme
everkit-core
everkit-core decides what our apps do when something goes wrong. It turns technical failures into short, friendly messages for the person using the app, and reports them to us in a way that keeps personal details private
The problem it solves
Things fail in every app. The internet drops, a login expires, a photo is too large. The raw error behind each of these is written for engineers, such as "JWT expired" or "duplicate key value violates unique constraint", and means nothing to the person holding the phone. Without a shared piece, each app would translate these on its own, word them differently, and risk sending private details into its error reports
What an app gets
- Friendly messages - "JWT expired" becomes "Your session has expired. Please sign in again."
- Safe error reports - every failure is filed under a short, fixed label such as "network" or "duplicate", never under the person's own words
- One way to handle a failure - each kind of failure is treated the same way in every app: a cancelled action stays quiet, a known problem gets a friendly message, and only an unexpected failure is passed on to the error tracker
- A check on usage data - before the app records what someone did, simple values like numbers and plain text pass, and anything odd is dropped
- Usage data sent in batches - the app collects what people do and sends it a few moments later in one go, so recording never slows the app down. If a send fails, that batch is dropped rather than retried
- A clear notice in test builds - developers try the apps inside Expo Go, a preview app, where some features such as Sign in with Apple cannot work. The app can tell when it runs there and explain why a feature is missing
- One shared, tested approach - Tea Companion, Dial It In and Matcha Companion use the same code, so one fix reaches all of them
An everyday analogy
Think of a hotel receptionist. When something breaks behind the scenes, a technician's note arrives at the desk. The receptionist tells the guest in plain words what happened and what to do next, then writes a one-word entry such as "plumbing" in the logbook, without copying the guest's name or room details. everkit-core is that receptionist, and each app hires the same one
For developers: see ARCHITECTURE.md
