Skip to content

Add the first version of the desktop app - #1

Merged
andiwand merged 1 commit into
mainfrom
first-version
Oct 31, 2026
Merged

andiwand merged 1 commit into
mainfrom
first-version

Conversation

@andiwand

@andiwand andiwand commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

🤖 Generated with Claude Code

The first version of OpenDocument Reader for Windows, macOS and Linux, with about the feature set of the apps and the website.

  • Viewer: the website viewer, ported. It opens, renders, searches, zooms, edits and saves documents, marks up PDFs and decrypts files.
  • Desktop additions:
    • Save to the same file, and Save As.
    • One tab for each sheet.
    • Recent documents, and new empty documents.
    • Print, through a print window.
    • A menu bar, and one window for each document.
    • File associations for ODF and iWork.
  • Engine: the WebAssembly core runs in a Web Worker, behind src/core/backend.ts. A native sidecar can replace it later, and the viewer does not change.
  • Safety:
    • A save writes a temporary file and then renames it over the target.
    • Closing a window or quitting asks about unsaved changes.
    • The print windows get no file access.

Not in this version:

  • Text-to-speech.
  • An edition gate or payments. This is not decided yet.
  • Associations for Office formats and PDF. On Windows, the installer would make the app the default program for them.
  • Code signing.

CI runs a smoke test on all three systems. The built app opens each file in test/documents/ and saves a copy.

The window is the website viewer, ported: open, render, search, zoom, edit,
save, PDF marks and passwords. The desktop adds saves to disk, Save As, one
tab for each sheet, recent documents, new empty documents, print, a menu bar,
file associations for ODF and iWork, and one window for each document.

The core runs as WebAssembly in a Web Worker, behind a Backend interface, so
a native backend can replace it without a change to the viewer.

CI runs a smoke test: the built app opens each file in test/documents and
saves a copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW6WZZR7nYJaknHYwVDGAq
@andiwand
andiwand merged commit 68a6235 into main Oct 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant