fix(i18n): drop literal <em> tags from empty-state strings #252

Merged
james merged 1 commit from 251-em-tags into main 2026-06-23 16:05:30 +00:00
Owner

Summary

Four empty-state strings on Experience (Education / Jobs / Contracts) carried literal <em>...</em> HTML tags that React Native rendered verbatim — users saw the raw tag characters around button names in the empty state.

Replaced the <em> tags with double-quoted emphasis to match the existing catalog convention (Editing "{institution}"… and the delete-confirm prompts already use this shape).

Test plan

  • pnpm -F @carol/client test (69 passing)
  • grep -E <\w packages/i18n/messages/en.json is empty after the change

Closes #251.

## Summary Four empty-state strings on Experience (Education / Jobs / Contracts) carried literal `<em>...</em>` HTML tags that React Native rendered verbatim — users saw the raw tag characters around button names in the empty state. Replaced the `<em>` tags with double-quoted emphasis to match the existing catalog convention (`Editing "{institution}"…` and the delete-confirm prompts already use this shape). ## Test plan - [x] `pnpm -F @carol/client test` (69 passing) - [x] `grep -E <\w packages/i18n/messages/en.json` is empty after the change Closes #251.
fix(i18n): drop literal <em> tags from empty-state strings
Some checks failed
Commits / Conventional Commits (pull_request) Successful in 8s
PR / OSV-Scanner (pull_request) Successful in 1m36s
PR / pnpm audit (pull_request) Successful in 2m6s
PR / Client (web export smoke) (pull_request) Successful in 2m18s
PR / Lint (pull_request) Successful in 2m29s
PR / Typecheck (pull_request) Successful in 2m35s
PR / OpenAPI (pull_request) Successful in 2m54s
PR / Static analysis (pull_request) Successful in 2m54s
PR / Package age policy (soft) (pull_request) Successful in 43s
PR / Test (postgres) (pull_request) Failing after 3m2s
PR / Build (pull_request) Successful in 3m12s
PR / Test (sqlite) (pull_request) Successful in 3m22s
Secrets / gitleaks (pull_request) Successful in 54s
PR / Coverage (soft) (pull_request) Successful in 1m29s
PR / Trivy (image) (pull_request) Successful in 2m3s
fb820421f1
React Native's <Text> renders the string verbatim — users saw the
literal "<em>" / "</em>" characters around button names in the
Education, Jobs, and Contracts empty-state lines. Replace with
double-quoted emphasis to match the existing catalog convention
("Editing \"{institution}\"…" and the delete-confirm prompts).

Closes #251.

📊 Test coverage

Patch coverage: no testable lines changed.

Overall (app/, lib/, db/, excluding UI per ADR-0019):

Metric Value Soft target
Lines 82.9% ≥ 50%
Branches 75.6% ≥ 75%
Functions 91.8% informational

Soft thresholds per ADR-0019. Coverage is informational and does not block merge.

<!-- coverage-comment --> ## 📊 Test coverage **Patch coverage:** no testable lines changed. **Overall** (`app/`, `lib/`, `db/`, excluding UI per ADR-0019): | Metric | Value | Soft target | |---|---|---| | Lines | 82.9% ✅ | ≥ 50% | | Branches | 75.6% ✅ | ≥ 75% | | Functions | 91.8% | informational | Soft thresholds per [ADR-0019](docs/adr/0019-coverage-soft-targets.md). Coverage is informational and does not block merge.
james merged commit a4586730d1 into main 2026-06-23 16:05:30 +00:00
james deleted branch 251-em-tags 2026-06-23 16:05:30 +00:00
Sign in to join this conversation.
No description provided.