- importedFileService now upserts: if file hash already exists for a
source (e.g. from a previous failed import), it updates the existing
record instead of hitting the UNIQUE constraint.
- Replaced Tailwind amber/red/emerald colors with the app's CSS
variables (--negative, --positive, --accent) for proper contrast
on the cream background theme.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sqlx connection pool can dispatch each execute to a different connection,
so BEGIN on one and INSERT on another causes a lock. Sequential inserts
without explicit transaction management avoids this.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Headers now refresh live when delimiter, encoding, skipLines, or hasHeader
changes. Added YYYYMMDD compact date format to parser and dropdown.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>