getTemplates() failure and zero registered creators are shown as the same "No office suite installed" message
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 6
- Forks
- 1
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 10
Description
TL;DR
The "No office suite installed" empty state is shown for two completely different situations — zero template creators registered, and the getTemplates() request itself failing — with no way for the user (or an admin debugging it) to tell which one they're looking at. In practice this made a transient, already-recovered document-server outage look like nothing was ever configured. See Euro-Office/eurooffice-nextcloud#133 for the concrete connector-side bug this surfaced.
Mechanism
fetchAll() (src/views/OfficeOverview.vue:192-217) sets creators.value = [] both when getTemplates() throws (caught at :210-216, only error.value is set) and when it legitimately returns an empty array. The template's empty-state check (:248-249) is v-if="creators.length === 0", which fires in both cases and always wins over the separate error state — the "No office suite installed" message is what's shown, not the actual error. This is confirmed as deliberate, tested behavior, not an oversight: src/views/OfficeOverview.spec.ts:153 comments "template shows 'No office suite installed' instead, before the error," and :157-162 asserts exactly that.
Impact
An admin/user has no way to distinguish, from the UI alone:
- no template-creator app is actually installed/enabled
- a template-creator app is installed but its own health check is failing (e.g. eurooffice-nextcloud's stale
settings_error, Euro-Office/eurooffice-nextcloud#133) - the
apps/files/api/v1/templatesrequest itself failed transiently (network, auth, server error)
All three collapse to the same message, so the one case that's actually actionable from this screen (case 1) can't be distinguished from two cases that require debugging a different app entirely.
Suggested fix
Surface the error state distinctly from the zero-creators state — e.g. keep the existing empty-state UI for "genuinely zero creators returned" but show the actual error (or a generic "couldn't check for available editors, try again" message) when the request itself failed, rather than always falling through to "no suite installed."
This report was drafted and filed directly by Claude Code (claude-sonnet-5) at the explicit direction of the maintainer, who reviewed the mechanism and takes responsibility for filing it directly rather than via the org's standard human-submission workflow.
🤖 AI (if applicable)
- The content of this issue was partly or fully generated using AI
Assisted-by: ClaudeCode:claude-sonnet-5
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with fetchAll() in src/views/OfficeOverview.vue:192-217 and the empty-state check at :248-249, then run the relevant tests in src/views/OfficeOverview.spec.ts. Update the behavior and assertions so a failed getTemplates() request is distinguishable from a genuinely empty creators list, while preserving the existing empty state for zero registered creators.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- Half a day
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100