Files
HealthLog/.gitignore
T
Marc-André Bombeck 2c88acc5f7 fix(labs): serve the in-browser OCR engine from this origin
Local lab OCR reads a report photo on the device with tesseract.js, whose
defaults load the worker, the WebAssembly core and the language data
from cdn.jsdelivr.net. The production CSP allows workers and fetches only
from this origin, so the engine could not load; where it did load (dev),
the browser of anyone scanning a report contacted a third-party CDN.

The worker, the three LSTM core builds and the deu and eng best_int
language data (about 17 MB) are now copied from pinned packages into
public/tesseract/ at prebuild and predev, and createWorker is pointed at
them with the worker started from its URL rather than a blob. A test
holds the options against the staged file list.
2026-09-26 15:37:13 +02:00

100 lines
2.4 KiB
Plaintext

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions
# testing
/coverage
# HAR captures from production debugging (may contain auth headers/cookies)
*.har
# playwright e2e
/test-results
/playwright-report
/playwright/.cache
/e2e/setup/storageState*.json
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
*.pem
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# env files
.env
.env.local
.env.*.local
# typescript
*.tsbuildinfo
next-env.d.ts
# prisma generated — ignore the whole path so a stray symlink at
# `src/generated` (e.g. from a worktree) can never be committed
/src/generated
# v1.4.43 QoL (L3) — generated at build time by
# scripts/generate-sw-version.mjs; loaded by public/sw.js to key
# the cache-version baseline.
/public/sw-version.js
/public/i18n/
# In-browser OCR engine and language data, copied from node_modules by
# scripts/stage-tesseract-assets.mjs at prebuild/predev.
/public/tesseract/
# v1.4.27 B3 — MaxMind GeoLite2 databases are fetched at build time
# via `scripts/fetch-geolite2.sh`. Too large for git; license key
# required. The folder + a `.gitkeep` are tracked so the Dockerfile
# COPY target always exists.
/assets/geolite2/*.mmdb
# Local workspace files, never committed
/docs/superpowers/
.claude/
.cursor/
.codex/
.aider*
# Planning scratch — all internal per-release reports, QA findings, ad-hoc
# backlog, and the iOS coordination channel. These are internal working
# notes; everything user-facing lives in the public surfaces (README,
# CHANGELOG, docs/). Kept on disk for the working session, never tracked.
/.planning/
# Docs scratch — temporary spec drafts that live in the repo only
# while a release is in flight.
/docs/ios/
# Per-release internal forensic notes — retained locally for
# traceability across releases but not part of the public docs surface.
/docs/audit/
# Local screenshot/audit harnesses (repo-root for module resolution; never committed)
.audit-*.mjs
# Isolated development worktrees. `/.wt-*/` is the convention actually in use;
# each one is a full copy of the tree with its own node_modules, so leaving it
# untracked-but-visible means one `git add -A` commits the repository eleven
# times over. The same two names are excluded from eslint and vitest, for the
# same reason in a different tool.
/.wt-*/
/.worktrees/