Skip to content

fix(home): load versioned Dashboard widget items #352

Description

@veryCrunchy

User problem

Home can become a blank page with The dashboard item response is not an object when a Nextcloud server advertises Dashboard widgets that use item API v2. The client currently requests and parses only the v1 collection shape, so one incompatible response prevents the entire Dashboard from rendering.

Scope

  • select the advertised Dashboard item API version per widget
  • parse both the official v1 and v2 response shapes into the shared native model
  • treat an empty v1 collection as an empty result
  • isolate item-loading failures so unaffected Dashboard sections remain usable
  • record a bounded, anonymized diagnostic event for Dashboard load failures

Acceptance criteria

  • v1-only widgets load through the v1 endpoint
  • v2-capable widgets load through the v2 endpoint, preferring v2 when both versions are advertised
  • empty v1 and v2 collections render valid empty states instead of blanking Home
  • a malformed or failed widget-item response does not hide otherwise valid Dashboard sections
  • diagnostics identify the failed Dashboard stage without recording response bodies, widget content, account details, or server URLs
  • deterministic tests cover v1, v2, mixed-version, empty, and malformed responses
  • Android compilation and focused desktop tests pass

Upstream contract

The implementation must follow the official Nextcloud Dashboard v1 and v2 controller response definitions and advertised item_api_versions capability.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:dynamic-appsAdaptive contracts, semantic UI, and app integrationsarea:uxNavigation, accessibility, responsive design, and interactionplatform:androidAndroid-specific implementation or validationplatform:desktopDesktop-specific implementation or validationpriority:P1Required for the pre-release product experiencetype:bugtype:reliabilityCorrectness, crash prevention, recovery, and data safety

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions