An OpenCloud web extension that adds an "Send as E-Mail" context menu action for files.
  • TypeScript 95.6%
  • SCSS 2.2%
  • Dockerfile 1.9%
  • JavaScript 0.3%
Find a file
tiran133 45fcf7a766
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 21s
Release / release (push) Successful in 1m2s
Add release workflow
2026-05-19 10:52:24 +10:00
.forgejo/workflows Add release workflow 2026-05-19 10:52:24 +10:00
dev/docker Inital commit 2026-03-26 16:48:37 +10:00
l10n feat: v1.3.0 – add navigate-route handler, Upload to Chat action, search fixes 2026-03-29 17:03:16 +10:00
src feat: add URL language preference support 2026-05-19 10:38:23 +10:00
tests/unit feat: add URL language preference support 2026-05-19 10:38:23 +10:00
.editorconfig Inital commit 2026-03-26 16:48:37 +10:00
.gitignore Inital commit 2026-03-26 16:48:37 +10:00
.npmrc Inital commit 2026-03-26 16:48:37 +10:00
.prettierignore Inital commit 2026-03-26 16:48:37 +10:00
.prettierrc.json Inital commit 2026-03-26 16:48:37 +10:00
.renovaterc.json Inital commit 2026-03-26 16:48:37 +10:00
CHANGELOG.md feat: add URL language preference support 2026-05-19 10:38:23 +10:00
docker-compose.yml Inital commit 2026-03-26 16:48:37 +10:00
Dockerfile Inital commit 2026-03-26 16:48:37 +10:00
eslint.config.js Inital commit 2026-03-26 16:48:37 +10:00
package.json feat: add URL language preference support 2026-05-19 10:38:23 +10:00
pnpm-lock.yaml feat: add URL language preference support 2026-05-19 10:38:23 +10:00
README.md feat: add URL language preference support 2026-05-19 10:38:23 +10:00
tsconfig.json feat: v1.2.0 – refactor composables, add drag serialization helper, rework SCSS layout, register both context and batch action extension points 2026-03-29 11:11:50 +10:00
vite.config.ts Inital commit 2026-03-26 16:48:37 +10:00

web-app-open-xchange

An OpenCloud web extension that adds a "Send as E-Mail" context menu action for files. When triggered, it posts the selected file(s) to the parent window via postMessage, enabling integration with Open-Xchange in embed mode.

Features

  • Context menu action "Send as E-Mail" appears in the right-click menu for single or multiple files.
  • Embed mode integration Emits an opencloud-embed:select message with the selected resources to the parent frame.
  • URL-gated visibility The action only appears when the page is loaded with the ?open-xchange query parameter.
  • URL language preference The extension can apply English fallback or a bundled language with lang, language, or locale query parameters and persists it to the user's preferredLanguage when it differs.
  • Translations Includes German (de) translations; additional languages can be added in l10n/translations.json.

Getting Started

Prerequisites

  • A running Open-Xchange (OX) instance with the companion opencloud-ox extension installed and configured. Note: the opencloud-ox extension is currently not open-source.
  • pnpm (see packageManager field in package.json for the required version)
  • Docker & Docker Compose (for the development environment)

Install Dependencies

pnpm install

Build

pnpm build

The built extension will be placed in the dist/ directory.

Development

Start the development server with hot-reload:

pnpm dev

Then bring up the OpenCloud backend:

docker compose up

OpenCloud will be available at https://host.docker.internal:9200. Log in with admin / admin.

To activate the extension's context menu action, append ?open-xchange to the URL. To apply and save a language preference from the URL, add lang, language, or locale, for example ?open-xchange&lang=en, ?open-xchange&lang=de, ?open-xchange&locale=de-DE, or ?open-xchange&locale=de_DE.

Tests

pnpm test