Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

fix: mount the app independently of translation loading - #16

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/frontend-mount
May 12, 2026
Merged

fix: mount the app independently of translation loading#16
rubenvdlinde merged 1 commit into
developmentfrom
fix/frontend-mount

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Problem

/apps/openbuilt/ rendered only the bare Nextcloud chrome — no sidebar, no Dashboard. Root cause: main.js mounted the Vue app inside the loadTranslations('openbuilt', cb) callback. @nextcloud/l10n's loadTranslations() fetches l10n/<locale>.json and rejects on a 404 — and on dev installs that rewrite non-allowlisted paths to index.php, the l10n/*.json request always 404s. So the callback never fired and nothing mounted.

Fix

  • Mount the Vue app unconditionally; load translations fire-and-forget and swallow the rejection (mirrors decidesk/src/main.js).
  • Ship l10n/en_US.json (copy of en.json) so installs that do serve it pick up the English bundle; other locales fall back to the source strings.

Verification

In the dev container, /apps/openbuilt/ now renders the Dashboard view with the full sidebar (Dashboard / Schemas / Documentation / Settings) and the sample KPI cards. (One harmless l10n/en_US.json 404 remains in the console on installs that rewrite that path — same as decidesk.)

Pre-existing PHPUnit / Newman CI reds (no OpenRegister in CI — issue #11) are unrelated.

`@nextcloud/l10n`'s loadTranslations() fetches l10n/<locale>.json and the
returned promise rejects on a 404 (and on dev installs that rewrite
non-allowlisted paths to index.php it always 404s). Mounting Vue inside the
loadTranslations callback meant the whole UI silently failed to render
whenever the locale bundle was missing — the page showed only the bare
Nextcloud chrome.

- Mount the Vue app unconditionally; load translations fire-and-forget and
  swallow the rejection (matches decidesk's main.js pattern).
- Ship l10n/en_US.json (copy of en.json) so installs that DO serve it pick
  up the English bundle; other locales fall back to the source strings.

Verified in the dev container: /apps/openbuilt/ now renders the Dashboard
view with the sidebar (Dashboard / Schemas / Documentation / Settings).
@rubenvdlinde
rubenvdlinde merged commit c279bd1 into development May 12, 2026
16 of 23 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/frontend-mount branch May 12, 2026 07:47
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openbuilt @ dafbd9d

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 430/430
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/19 statements)


Quality workflow — 2026-05-12 07:53 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant