Skip to content

[Feature]: Workspace file viewer for images, video, audio, and PDF with sidebar actions #98

Description

@DenizAltunkapan

Problem

Cloud Page can list and download files, but there is no way to open most of them in the browser. To look at an image, watch a short video, listen to an audio file, or read a PDF, the user has to download it first. This makes the cloud feel like a file dump rather than a workspace, and it leaves no natural place for per-file actions (share, rename, delete, favorite, comment) to live.

Example: a user opens a folder of holiday photos. Today they download each one to preview it. They should be able to click a photo, see it inline, step through the folder, and act on it from one place.

Proposed solution

Add a workspace file viewer that opens a file inline based on its type, with a consistent actions sidebar around it.

Scope:

  • inline rendering for common types: images, video, audio, and PDF
  • a shared viewer shell so every file type opens through the same component, with a per-type renderer (this same shell is intended to host the Markdown workspace editor, tracked separately, so it should be built to be extended rather than image/video-only)
  • a sidebar with per-file actions: rename, move, delete, download, and space for future actions (share, favorite, comment)
  • next/previous navigation within the current folder, so a folder of images behaves like a gallery
  • graceful fallback for unsupported types (offer download instead of a broken preview)
  • respect the existing path validation and user boundary; the viewer must not expose files outside the user root

Acceptance criteria

  • Images, video, audio, and PDF files open inline in the browser without downloading first.
  • Unsupported file types show a clean fallback with a download option, never a broken view.
  • The viewer exposes rename, move, delete, and download for the open file.
  • Users can move to the next and previous file in the folder from the viewer.
  • The viewer is built as a reusable shell that other file types (for example a Markdown editor) can plug into.
  • Files outside the user root are never reachable through the viewer.
  • Loading and error states are handled cleanly.

Related: builds on the file preview work (Vault-Web/vault-web#262, Vault-Web/vault-web#235). The sidebar is the natural home for sharing (#27), favorites, and comments once those land.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestjavaPull requests that update java code

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions