Skip to content

PROPFIND interceptor breaks all file listings ("Invalid response: No root multistatus found") when E2EE is enabled but unused (v2.2.2) #1991

Description

@oboeglen

Steps to reproduce

  1. Have the end_to_end_encryption app enabled on a Nextcloud instance, but with no folder actually marked/used as end-to-end encrypted (fresh/default install state — allowed_groups is empty, no E2EE mnemonic ever set up for any user).
  2. The app auto-updates (or is installed) at version 2.2.2.
  3. Log in as any user and open the Files app (or any action that triggers a PROPFIND against /remote.php/dav/files/{user}/).

Expected behavior

The Files app loads the folder listing normally, exactly as it did before the app was enabled/updated (since the folder in question contains zero encrypted content).

Actual behavior

Every folder listing fails. The Files app shows a toast:

Unexpected error: Invalid response: No root multistatus found

Full console error:

[ERROR] end_to_end_encryption: Error in PROPFIND interceptor
Object { app: "end_to_end_encryption", uid: "<user>", level: 2, error: Error, request: Request }

app: "end_to_end_encryption"
error: Error: Invalid response: No root multistatus found
level: 2
request: Request { method: "PROPFIND", url: "https://<instance>/remote.php/dav/files/<user>/", referrer: "about:client", … }
uid: "<user>"

Followed by a secondary error from Files itself:

[ERROR] files: Error while fetching content
Object { app: "files", uid: "<user>", level: 2, error: Error }

This breaks every PROPFIND-based folder listing across the instance (not just for E2EE-enabled folders), effectively making the Files app unusable while the app is enabled — reproducible in a fresh private-browsing session, so not a session/cache issue.

Workaround

occ app:disable end_to_end_encryption immediately resolves the issue (folder listings work normally again). No encrypted content is lost since none existed.

Suspected cause

Version 2.2.2 was released the same day this started (per the in-app changelog), and includes:

The client-side PROPFIND interceptor (registered globally for all PROPFIND requests, not just ones touching encrypted content) appears to fail parsing/re-serializing the WebDAV multistatus response in this specific "app enabled, nothing actually encrypted" configuration — possibly an edge case not covered by the PROPFIND fixes in this release.

Environment

  • Nextcloud: 33.0.7.1
  • end_to_end_encryption: 2.2.2
  • Browser: Firefox (reproduced in private browsing, ruling out cache/extensions)
  • occ config:app:get end_to_end_encryption allowed_groups[] (never configured for any group)

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions