HappierDocs
Code and review

Files and the editor

Browse, search, upload, preview and edit the files in a session's workspace, from any client.

A session is attached to a folder on one of your machines, and Happier gives you that folder directly — not a copy, and not a summary the agent wrote. You can read what the agent is working on, fix a typo yourself, drop a screenshot into the repository, or open the file it just mentioned, without leaving the session.

Browsing and previewing files is part of the normal session UI. The embedded editor is a toggle under Settings → Features → Embedded file editor, on by default. Some actions need the machine running the session to be reachable — though if the session is inactive and the machine is still online, Happier can still load file data through the machine-level workspace APIs.

Where it appears

Desktop layout: sidebar + details pane

The workspace UI is designed around two complementary surfaces:

  • Right sidebar: quick navigation, tree/status browsing, branch summary, changed-files list, history list
  • Details pane: deep work on the currently opened item

Typical flow:

  1. Open Files or Git in the right sidebar.
  2. Click an item to open it in the details pane.
  3. Keep that item as a temporary preview tab, or pin it so it stays open while you inspect other files.

Details tabs

The details pane supports multiple tabs for:

  • file previews
  • editable files
  • review tabs
  • historical commit diffs
  • stash details

Important behaviors:

  • Tabs keep their local state while you switch between them.
  • Scroll position is preserved when you return to a tab.
  • If you start editing a file, Happier keeps that editor state instead of reloading it on every tab switch.
  • Pinned tabs stay open until you explicitly close them.
  • On smaller layouts, the details surface can switch into an overlay/focused mode instead of permanently shrinking the main session area.

Focus / fullscreen mode

The details pane includes a focus mode so you can temporarily hide the left session area and give more room to the current review/editor context.

This is useful when:

  • reviewing a large diff
  • editing a file side-by-side with the Git sidebar
  • working on a smaller laptop or browser window

On phone-sized layouts the same surfaces live in the mobile Cockpit, which gives Files and Git their own tabs.

Files

The Files tab is the in-session file manager for the current workspace.

What you can do

  • Browse the repository tree.
  • Search for files in the current workspace.
  • Create files and folders.
  • Upload files into the workspace.
  • Choose an explicit upload destination when you do not want the project root.
  • Rename and delete files or folders.
  • Download a single file.
  • Download a folder as a .zip.
  • Download a single file as a .zip when you want archive-style handoff symmetry with folder downloads.
  • Open a file in preview or edit mode.
  • Filter the file tree down to modified files only.
  • Watch transfer progress and cancel an upload or download that is still running.

Opening a file uses the same details surface whether you start from the file tree, a changed-file row, a review diff, a transcript file link, a review-comment jump, or a linked-file chip in the composer.

Tree rows and status badges

The file tree is repository-aware.

When source-control data is available, Happier can show:

  • modified / added / removed badges
  • line-count summaries (for example additions/removals)
  • folder-level summaries aggregated from descendants

This gives you a lightweight “what changed here?” signal without leaving the Files tab.

Long paths are formatted so the filename stays readable. On web, deeply nested directories use start-side ellipsis behavior, so the left side of a long path is shortened before the filename gets squeezed.

Search and modified-only filtering

Use the Files search field when you already know roughly what you want.

Use the modified-only filter when you want the tree to behave more like a focused “changed files” explorer.

Typical use cases:

  • narrow a large repo to the files touched by the current task
  • find a config file by name, then jump straight into the editor
  • browse only modified files while still keeping folder context

Create files and folders

The Files toolbar includes actions to create:

  • a new file
  • a new folder

These actions are meant for lightweight workspace edits without leaving the session.

Uploads

Happier supports several upload flows:

  • Upload files from the Files toolbar
  • Upload folder on web
  • Drag and drop files or folders on web
  • Drop onto a directory to upload directly into that directory
  • Preserve relative folder structure when you upload a folder or nested tree

Platform notes:

  • Web: supports drag/drop, multi-file upload, and folder upload
  • iOS / Android: supports file picking; folder upload is web-only

If your goal is to send a file with your next message instead of placing it into the workspace, use the session Attachments flow instead.

See: Attachments & image previews

Upload destination selection

The toolbar upload menu includes an upload destination selector.

  • If you leave it empty, Happier uploads into the project root.
  • If you set a workspace-relative path, Happier uploads into that destination and creates missing parent directories as needed.
  • Drag/drop over a specific folder row overrides the root/default destination and uploads into that folder.

Typical use cases:

  • send generated assets into docs/assets
  • upload logs into .project/logs/...
  • drop a folder directly into src/components

Upload conflict handling

When uploaded files already exist at the destination, Happier asks how to resolve the conflict batch:

  • Skip
  • Replace
  • Keep both

Keep both is the default. Happier automatically creates a suffixed name such as file (1).txt.

Transfer progress and cancel

Uploads and downloads run as managed transfers instead of fire-and-forget actions.

  • Happier shows transfer progress while the upload or download is still active.
  • You can cancel a transfer before it finishes.
  • Folder .zip downloads are built first, then streamed back in chunks.
  • Direct file preview, file download, folder download, and review/diff loading all use the same transfer/decryption path for session workspace data.

Platform notes:

  • Web: downloads use the browser download flow.
  • iOS / Android: downloads are written to a temporary local file and then passed to the system share/open flow.

Rename, delete, and download

Each tree row exposes an actions menu.

For files, available actions include:

  • Rename
  • Delete
  • Download
  • Download as .zip
  • Copy path

For directories, available actions include:

  • Rename
  • Delete
  • Download as .zip
  • Copy path

Directory deletion is confirmed explicitly and applies recursively.

File preview and editing

Opening a file from the Files tab or from Review opens it in the details pane.

Depending on the file type, Happier can show:

  • a text preview
  • a live editor
  • an image preview
  • a binary-file placeholder when inline rendering is not appropriate

Image and binary handling

Happier now treats image previews as a first-class workflow:

  • common raster images can be previewed inline
  • SVG files can also be previewed instead of being treated as opaque binaries
  • true binary files stay safe and do not try to render through the text diff pipeline

If a file has no textual diff (for example an image or binary blob), Happier avoids crashing the diff renderer and falls back to the correct preview/placeholder path instead.

Editing behavior

The editor is meant to feel like a real editor, not a disposable preview:

  • switching tabs does not discard in-progress edits
  • opening another file does not replace a pinned editor tab
  • reopening the same tab restores the state you left it in

This matters when you:

  • compare two files while editing one of them
  • jump between Review and an editor tab
  • switch sessions and come back later

File details action bar

File details use one shared action bar for preview, diff, edit, commit selection, and revert actions.

Depending on the file and repository state, it can include:

  • a file/diff view dropdown
  • a pending/included/combined diff dropdown
  • an edit action
  • Select for commit or Remove from selection
  • selected-line actions when line-level selection is supported
  • a revert action when the file can be reverted safely

On wide layouts, the path and actions share one horizontal row. On narrow layouts, Happier wraps the actions into a compact second row so the path, filename, and important actions stay readable.

The session composer includes a Link file chip.

Use it when you want to attach workspace context to your next message without manually typing paths.

What it does

  • Opens a popover anchored to the composer
  • Reuses the same repository/file browsing model as the file sidebar
  • Lets you search and pick project files directly from the current workspace

This is useful for prompts like:

  • “Explain why this file changed”
  • “Refactor the files I linked”
  • “Compare these two files”

You can also use @-style file search in the composer where supported. The goal is the same: quickly attach relevant workspace context.

When an assistant response includes a markdown link to a file in the current workspace, Happier can turn that link into in-app file navigation instead of sending you to a broken browser URL.

Supported link shapes include:

  • workspace-relative links such as src/index.ts
  • links with line and column suffixes such as src/index.ts:12 or src/index.ts:12:4
  • absolute local paths inside the workspace
  • file:// URLs inside the workspace
  • loopback-expanded links from the web app, such as http://localhost:18829/Users/alice/project/src/index.ts:12
  • Windows drive paths such as C:\Users\Alice\project\src\index.ts
  • Windows file:///C:/... links and UNC-style file URLs inside the workspace

Happier only opens links that resolve inside the current workspace. Links outside the workspace, traversal paths, and arbitrary non-loopback http/https URLs stay external or are ignored for workspace navigation.

On desktop, opening a workspace file link opens the right sidebar/details pane. On phone-sized layouts, it opens the file in the Tabs surface with the session header still visible.

Limits and safety

  • Missing parent directories are created automatically where the operation supports it.
  • File preview is size-bounded, and folder zip and download flows are size-limited and checked by the daemon.
  • Folder upload is web-only.

On this page