Skip to content

Daily review 2026-07-09 - #73

Draft
NghaReformer wants to merge 2 commits into
mainfrom
daily-review/2026-07-09
Draft

Daily review 2026-07-09#73
NghaReformer wants to merge 2 commits into
mainfrom
daily-review/2026-07-09

Conversation

@NghaReformer

Copy link
Copy Markdown
Owner

Daily Review — 2026-07-09

Automated codebase review: Svelte 5 rune compliance, theme-token hygiene, i18n parity, accessibility, and server-boundary checks. Adds reports/daily/2026-07-09.md.


i18n parity: PASSED (1 331 keys, EN = FR)
Svelte 5 rune violations: 0
Server-boundary leaks: 1 (type-only — see #9 below)


Bugs & Issues

[HIGH] #1 — Missing {:catch} in native playground loader
src/routes/[lang]/playgrounds/[slug]/+page.svelte:103–116
The {#await nativeLoader}…{:then module}…{/await} block has no {:catch error} branch. If a dynamic module import fails, the loading spinner disappears and the playground area goes blank with no user-visible error. Fix: add {:catch err} and render a localised error message.

[MEDIUM] #2 — Hardcoded hex colour map in CategoryBreakdownDonut.svelte
src/lib/playgrounds/bank-reconciliation/components/CategoryBreakdownDonut.svelte:31–39
CATEGORY_COLORS is a JS object with raw hex strings that bypass the theme system entirely. Fix: read colours at runtime from CSS custom properties or map categories to existing token variables.

[MEDIUM] #3 — Hardcoded hex colour map in MatchingPairsOverlay.svelte
src/lib/playgrounds/bank-reconciliation/components/MatchingPairsOverlay.svelte:31–34
MATCH_COLORS maps match types to raw hex strings used as SVG stroke colours. Fix: use a CSS class per match-type and resolve colours from var(--accent), var(--amber), var(--green).

[MEDIUM] #4color: #fff hardcoded in three route files

  • src/lib/playgrounds/journal-entry/components/EntryHistory.svelte:400
  • src/routes/[lang]/chart-of-accounts/+page.svelte:423, 458
  • src/routes/[lang]/learn/+page.svelte:202

No --text-on-accent token exists; if the accent colour changes, text on coloured buttons becomes unreadable. Fix: add textOnAccent to tokens.ts and use var(--text-on-accent).

[MEDIUM] #5 — Hardcoded English aria-label in Nav.svelte
src/lib/components/Nav.svelte:16, 28
aria-label="Main navigation" and aria-label="Toggle menu" are English-only. Fix: add i18n keys and use $t('nav.mainNavLabel') / $t('nav.toggleMenu').

[LOW] #6 — Hardcoded English aria-label in bank-reconciliation components

  • src/lib/playgrounds/bank-reconciliation/components/ReconciliationStatement.svelte:29aria-label="layout"
  • src/lib/playgrounds/bank-reconciliation/components/TransactionJournal.svelte:126aria-label="Transaction side"

[LOW] #7 — Inline style on honeypot container in WaitlistForm.svelte
src/lib/components/WaitlistForm.svelte:55
Violates "No inline styles" rule. Fix: move to a .honeypot-trap CSS class.

[LOW] #8 — Dynamic inline styles in data-visualisation components
Bar heights, animation delays, and opacity set via style="..." in ReconciliationFlow.svelte, MatchingPairsOverlay.svelte, and ScenarioWalkthrough.svelte. Fix: expose as CSS custom properties (style="--bar-h: {n}%") and reference via var(--bar-h) in CSS.

[LOW] #9import type from $lib/server/ in a client component
src/lib/components/feedback/FeedbackForm.svelte:7
FeedbackType and FeedbackSeverity are plain string-literal unions with no secrets. Fix: move them to src/lib/contracts/feedback.ts.


New Playground Ideas

Five proposals grounding in the SYSCOHADA/OHADA curriculum — see the full report at reports/daily/2026-07-09.md for complete specs:

Title (EN / FR) Target Fills gap
A Inventory Valuation Methods / Méthodes d'évaluation des stocks L2 Account 3x; FIFO vs WAM vs LIFO
B Corporate Tax Calculator / Calculateur IS L3–M1 Tax provision; no existing playground covers IS
C Forex Revaluation / Réévaluation des postes en devises M1 / Pro Écarts de conversion; XAF/EUR/USD revaluation
D Financial Statement Builder / Construction des états financiers L2–L3 Trial balance → Bilan + Compte de Résultat mapping
E Budget Variance Analysis / Analyse des écarts budgétaires L3–M1 Standard costing; price vs efficiency variance

9 issues total (0 critical, 1 high, 4 medium, 4 low). No Svelte 5 violations. i18n PASSED.


Generated by Claude Code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQnByHG252XvdP9CaHNw6u
@vercel

vercel Bot commented Jul 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ohadalearn Ready Ready Preview, Comment Jul 9, 2026 11:16pm

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQnByHG252XvdP9CaHNw6u
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants