Skip to content

Update to hightide 0.18.0 and add translations for all new languages - #378

Merged
felixevers merged 3 commits into
mainfrom
ccr-6a29ea40-gx54gy
Oct 13, 2026
Merged

felixevers merged 3 commits into
mainfrom
ccr-6a29ea40-gx54gy

Conversation

@felixevers

@felixevers felixevers commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Bumps @helpwave/hightide from 0.15.0 to 0.18.0 and migrates to the new APIs:
    • useLocale → useLocalization
    • SelectOption / MultiSelectOption → Select.Option / MultiSelect.Option; buttonProps → triggerProps, and selectedDisplay is now a top-level prop
    • The settings language select is built from supportedLocales; the theme select uses preferredThemeMode / supportedThemes
    • Tasks translations are passed through HightideProvider's translation prop instead of the old useHightideTranslation(tasksTranslation) call, and read with useTranslation
  • hightide 0.18.0 ships locale configs and component translations for 12 languages; all of them are now selectable in tasks
  • Adds tasks translations for the new languages it-IT, pl-PL, tr-TR, ro-RO, el-GR, ru-RU, with the plural forms each language needs, plus 404 page translations for every non-de/en locale
  • es-ES, fr-FR, nl-NL and pt-BR were already translated but could not be selected before; they now show up in the language picker
  • Small hightide translation overlay: the published @helpwave/hightide-utils@0.1.9 is missing 9 strings that had unescaped apostrophes upstream: 6 in fr-FR, 2 in it-IT, 1 in nl-NL. combineTranslation has no fallback locale, so these would render as {{fr-FR:key}}. They are added in web/hightide-locales/ (with the apostrophes escaped) and compiled into web/i18n/hightideLocaleTranslations.ts by npm run build-intl. This can be removed once hightide fixes them upstream.
  • Fixes an unescaped apostrophe in fr-FR.arb (scopeSharedDescription) that made build-intl fail for that string
  • Updates npmDepsHash in nix/packages/web.nix
  • E2E stack startup race (docker-compose.e2e.yml): the backend now waits for a healthy Postgres (pg_isready healthcheck plus depends_on: condition: service_healthy), and the proxy has restart: on-failure. Previously the backend's first DB connection could be refused, so the backend restarted, and nginx exited for good with host not found in upstream "backend:80".

Note: in hightide 0.18.0, Button, Select, Expandable and similar components no longer call stopPropagation. Tasks already stops propagation itself around its in-table editors, checkboxes and popups, so I made no code changes for this. The E2E inline-edit tests cover that path.

Validation

  • npm run build-intl, npx tsc --noEmit, eslint ., npm run check-translations and npm test (153 passed) all pass
  • next build succeeds
  • npmDepsHash was computed with prefetch-npm-deps
  • All 17 CI checks pass, including E2E (proxy stack)

🤖 Generated with Claude Code

https://claude.ai/code/session_01LbPakprLfjzLeRWSgiu4NY

- Bump @helpwave/hightide 0.15.0 -> 0.17.2 and migrate to the new APIs
  (useLocalization, Select.Option/MultiSelect.Option, triggerProps,
  supportedLocales-based language select, theme modes)
- Provide tasks translations through HightideProvider and register all
  twelve locales hightide now supports
- Add tasks translations for it-IT, pl-PL, tr-TR, ro-RO, el-GR, ru-RU and
  404 page translations for all locales
- Bundle hightide's upstream component translations for the non de/en
  locales until they ship in a published hightide-utils release
- Update nix npmDepsHash

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbPakprLfjzLeRWSgiu4NY
- Bump @helpwave/hightide to 0.18.0, which ships translations and locale
  configs for all twelve languages
- Drop the custom supported locales config in favor of hightide's defaults
- Reduce the bundled hightide translation overlay to the nine strings the
  published hightide-utils 0.1.9 is missing (fr-FR, it-IT, nl-NL entries
  with unescaped apostrophes that failed to compile upstream)
- Update nix npmDepsHash

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbPakprLfjzLeRWSgiu4NY
@felixevers felixevers changed the title Update to hightide 0.17.2 and add translations for all new languages Update to hightide 0.18.0 and add translations for all new languages Oct 13, 2026

Copy link
Copy Markdown
Member Author

E2E (proxy stack) failed on 15dcb12 in "Wait for the stack", before any Playwright test ran. This isn't caused by this PR's diff:

  • The proxy container exited at startup with nginx: [emerg] host not found in upstream "backend:80". The backend container was restarting at that moment (restart: on-failure) because its first DB connection to Postgres was refused (ConnectionRefusedError ... 5432). Nginx resolves upstream hostnames once at startup and exits if one is missing, and the proxy has no restart policy, so the stack never became reachable.
  • web started normally, and the same job passed on the previous commit a18c85e. The only change since then is the frontend hightide bump.

No fix for this exists yet. Possible fixes are restart: on-failure on the proxy service in docker-compose.e2e.yml, or a backend healthcheck plus depends_on: backend: condition: service_healthy. That's outside this PR's scope, so I haven't added it here.

I tried to re-run the failed job, but the integration gets a 403 when re-running Actions jobs. Could someone with access re-run E2E (proxy stack)?


Generated by Claude Code

The backend's first database connection could be refused before Postgres
accepted connections, making it restart while the proxy started. Nginx
then failed to resolve the backend upstream and exited permanently.

- Wait for a healthy Postgres before starting the backend
- Restart the proxy on failure

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbPakprLfjzLeRWSgiu4NY
@felixevers
felixevers merged commit 4efaf99 into main Oct 13, 2026
17 checks passed
@felixevers
felixevers deleted the ccr-6a29ea40-gx54gy branch October 13, 2026 15:16
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