diff --git a/CHANGELOG.md b/CHANGELOG.md index a9aee7a..2c39c1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.0.13] - 2026-04-27 + +### Fixed + +- **Copy Button on Linux (GNOME/Wayland/Flatpak).** Fixed the "Copy" button in the Open WebUI interface not actually writing to the system clipboard on Linux. The webview session was missing the `clipboard-sanitized-write` permission required by Electron for `navigator.clipboard.writeText()` to work. + ## [0.0.12] - 2026-04-25 ### Added diff --git a/package.json b/package.json index 5642d08..f59340c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-webui", - "version": "0.0.12", + "version": "0.0.13", "license": "AGPL-3.0", "description": "Open WebUI Desktop", "main": "./out/main/index.js", diff --git a/src/main/index.ts b/src/main/index.ts index 19667d8..6c06615 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -737,7 +737,7 @@ function createContentWindow(url: string, connectionId: string): BrowserWindow { session .fromPartition(`persist:connection-${connectionId}`) .setPermissionRequestHandler((_webContents, permission, callback) => { - const allowedPermissions = ['media', 'mediaKeySystem', 'notifications'] + const allowedPermissions = ['media', 'mediaKeySystem', 'notifications', 'clipboard-sanitized-write'] callback(allowedPermissions.includes(permission)) }) @@ -1213,7 +1213,7 @@ if (!gotTheLock) { // Grant media / notification permissions for webview partition sessions // so that auth flows, media capture, and notifications work correctly. newSession.setPermissionRequestHandler((_webContents, permission, callback) => { - const allowed = ['media', 'mediaKeySystem', 'notifications', 'clipboard-read'] + const allowed = ['media', 'mediaKeySystem', 'notifications', 'clipboard-read', 'clipboard-sanitized-write'] callback(allowed.includes(permission)) }) })