You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prevent frontmatter edits from overwriting structured remote fields (#108)
Introduces isPushable to the FieldTypeMapper interface, stricter than !isReadOnly, to exclude object-shaped fields (Airtable barcode/collaborators, SeaTable collaborator/geolocation, Supabase json/jsonb) from push payloads
Fixes a data-loss bug where a jsonb column with an empty frontmatter placeholder was overwritten with null on push
Fail-closed for unknown types — unrecognized field types are treated as not pushable
Performance
Cache verification result on credential form to skip redundant verifySetup probe on Save (#112)
A successful connection test sets a 60-second freshness fingerprint, allowing the next Save to skip the verifySetup network probe
Fingerprint is invalidated on any field edit, probe failure, or needsSetup — a changed or bad credential can never ride a stale "verified" result past the save gate
Primarily affects Supabase (the only provider that implements verifySetup)
Refactoring
Unify exhaustiveness guards behind a shared assertNever helper (#113)
Adds src/utils/assertNever — enforces switch/if exhaustiveness at compile time (missing cases after union extension fail to compile) and throws at runtime
Routes all five throwing exhaustiveness guards (sync mode/scope, conflict mode, setup-requirement kind, credential type) through the helper
Upgrades migration.ts's guard to a real satisfies never check that catches missing cases at compile time
Registry-driven test suite that validates all registered mappers satisfy shared invariants: filenameSafe ⊆ subfolderSafe, no subfolder-safe type maps to attachment/link/unknown, and prototype-chain names fail closed
Automatically covers future providers the moment they register a mapper
Sorts FILENAME_SAFE_TYPES in Airtable and SeaTable mappers for deterministic test output
Maintenance
Bump CI artifact and attest actions to Node 24 runtimes (#106)