Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package element-desktop for openSUSE:Factory checked in at 2024-09-06 17:18:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/element-desktop (Old) and /work/SRC/openSUSE:Factory/.element-desktop.new.10096 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "element-desktop" Fri Sep 6 17:18:59 2024 rev:64 rq:1199160 version:1.11.76 Changes: -------- --- /work/SRC/openSUSE:Factory/element-desktop/element-desktop.changes 2024-08-26 22:13:45.874872180 +0200 +++ /work/SRC/openSUSE:Factory/.element-desktop.new.10096/element-desktop.changes 2024-09-06 17:19:27.754178936 +0200 @@ -1,0 +2,31 @@ +Fri Aug 30 09:06:06 UTC 2024 - Dominik Heidler <dheid...@suse.com> + +- Version 1.11.76 + ## ⨠Features + + * Message Pinning: rework the message pinning list in the right panel (https://github.com/matrix-org/matrix-react-sdk/pull/12825). Contributed by @florianduros. + * Tweak UIA postMessage check to work cross-origin (https://github.com/matrix-org/matrix-react-sdk/pull/12878). Contributed by @t3chguy. + * Delayed events (Futures) / MSC4140 for call widget (https://github.com/matrix-org/matrix-react-sdk/pull/12714). Contributed by @AndrewFerr. + * Stop the ongoing ring if another device joins the call session. (https://github.com/matrix-org/matrix-react-sdk/pull/12866). Contributed by @toger5. + * Rich text Editor: Auto-replace plain text emoticons with emoji (https://github.com/matrix-org/matrix-react-sdk/pull/12828). Contributed by @langleyd. + * Clean up editor drafts for unknown rooms (https://github.com/matrix-org/matrix-react-sdk/pull/12850). Contributed by @langleyd. + * Rename general user settings to account (https://github.com/matrix-org/matrix-react-sdk/pull/12841). Contributed by @dbkr. + * Update settings tab icons (https://github.com/matrix-org/matrix-react-sdk/pull/12867). Contributed by @dbkr. + * Disable jump to read receipt button instead of hiding when nothing to jump to (https://github.com/matrix-org/matrix-react-sdk/pull/12863). Contributed by @t3chguy. + + ## ð Bug Fixes + + * Ensure elements on Login page are disabled when in-flight (https://github.com/matrix-org/matrix-react-sdk/pull/12895). Contributed by @t3chguy. + * Hide pinned messages when grouped in timeline when feature pinning is disabled (https://github.com/matrix-org/matrix-react-sdk/pull/12888). Contributed by @florianduros. + * Add chat button on new room header for maximised widgets (https://github.com/matrix-org/matrix-react-sdk/pull/12882). Contributed by @t3chguy. + * Show spinner whilst initial search request is in progress (https://github.com/matrix-org/matrix-react-sdk/pull/12883). Contributed by @t3chguy. + * Fix user menu font (https://github.com/matrix-org/matrix-react-sdk/pull/12879). Contributed by @florianduros. + * Allow selecting text in the right panel topic (https://github.com/matrix-org/matrix-react-sdk/pull/12870). Contributed by @t3chguy. + * Add missing presence indicator to new room header (https://github.com/matrix-org/matrix-react-sdk/pull/12865). Contributed by @t3chguy. + * Fix permissions in release tarballs (https://github.com/element-hq/element-web/pull/27904). Contributed by @t3chguy. + + ## ð§° Maintenance + + * Update dependencies for MSC4157 (https://github.com/element-hq/element-web/pull/27906). Contributed by @AndrewFerr. + +------------------------------------------------------------------- Old: ---- element-desktop-1.11.75.tar.gz New: ---- element-desktop-1.11.76.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ element-desktop.spec ++++++ --- /var/tmp/diff_new_pack.ai2EkG/_old 2024-09-06 17:19:29.294242934 +0200 +++ /var/tmp/diff_new_pack.ai2EkG/_new 2024-09-06 17:19:29.294242934 +0200 @@ -17,7 +17,7 @@ Name: element-desktop -Version: 1.11.75 +Version: 1.11.76 Release: 0 Summary: A glossy Matrix collaboration client - desktop License: Apache-2.0 ++++++ element-desktop-1.11.75.tar.gz -> element-desktop-1.11.76.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-desktop-1.11.75/CHANGELOG.md new/element-desktop-1.11.76/CHANGELOG.md --- old/element-desktop-1.11.75/CHANGELOG.md 2024-08-20 13:54:58.000000000 +0200 +++ new/element-desktop-1.11.76/CHANGELOG.md 2024-08-27 15:04:09.000000000 +0200 @@ -1,3 +1,33 @@ +Changes in [1.11.76](https://github.com/element-hq/element-desktop/releases/tag/v1.11.76) (2024-08-27) +====================================================================================================== +## ⨠Features + +* Message Pinning: rework the message pinning list in the right panel ([#12825](https://github.com/matrix-org/matrix-react-sdk/pull/12825)). Contributed by @florianduros. +* Tweak UIA postMessage check to work cross-origin ([#12878](https://github.com/matrix-org/matrix-react-sdk/pull/12878)). Contributed by @t3chguy. +* Delayed events (Futures) / MSC4140 for call widget ([#12714](https://github.com/matrix-org/matrix-react-sdk/pull/12714)). Contributed by @AndrewFerr. +* Stop the ongoing ring if another device joins the call session. ([#12866](https://github.com/matrix-org/matrix-react-sdk/pull/12866)). Contributed by @toger5. +* Rich text Editor: Auto-replace plain text emoticons with emoji ([#12828](https://github.com/matrix-org/matrix-react-sdk/pull/12828)). Contributed by @langleyd. +* Clean up editor drafts for unknown rooms ([#12850](https://github.com/matrix-org/matrix-react-sdk/pull/12850)). Contributed by @langleyd. +* Rename general user settings to account ([#12841](https://github.com/matrix-org/matrix-react-sdk/pull/12841)). Contributed by @dbkr. +* Update settings tab icons ([#12867](https://github.com/matrix-org/matrix-react-sdk/pull/12867)). Contributed by @dbkr. +* Disable jump to read receipt button instead of hiding when nothing to jump to ([#12863](https://github.com/matrix-org/matrix-react-sdk/pull/12863)). Contributed by @t3chguy. + +## ð Bug Fixes + +* Ensure elements on Login page are disabled when in-flight ([#12895](https://github.com/matrix-org/matrix-react-sdk/pull/12895)). Contributed by @t3chguy. +* Hide pinned messages when grouped in timeline when feature pinning is disabled ([#12888](https://github.com/matrix-org/matrix-react-sdk/pull/12888)). Contributed by @florianduros. +* Add chat button on new room header for maximised widgets ([#12882](https://github.com/matrix-org/matrix-react-sdk/pull/12882)). Contributed by @t3chguy. +* Show spinner whilst initial search request is in progress ([#12883](https://github.com/matrix-org/matrix-react-sdk/pull/12883)). Contributed by @t3chguy. +* Fix user menu font ([#12879](https://github.com/matrix-org/matrix-react-sdk/pull/12879)). Contributed by @florianduros. +* Allow selecting text in the right panel topic ([#12870](https://github.com/matrix-org/matrix-react-sdk/pull/12870)). Contributed by @t3chguy. +* Add missing presence indicator to new room header ([#12865](https://github.com/matrix-org/matrix-react-sdk/pull/12865)). Contributed by @t3chguy. +* Fix permissions in release tarballs ([#27904](https://github.com/element-hq/element-web/pull/27904)). Contributed by @t3chguy. + +## ð§° Maintenance + +* Update dependencies for MSC4157 ([#27906](https://github.com/element-hq/element-web/pull/27906)). Contributed by @AndrewFerr. + + Changes in [1.11.75](https://github.com/element-hq/element-desktop/releases/tag/v1.11.75) (2024-08-20) ====================================================================================================== # Security diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-desktop-1.11.75/package.json new/element-desktop-1.11.76/package.json --- old/element-desktop-1.11.75/package.json 2024-08-20 13:54:58.000000000 +0200 +++ new/element-desktop-1.11.76/package.json 2024-08-27 15:04:09.000000000 +0200 @@ -2,7 +2,7 @@ "name": "element-desktop", "productName": "Element", "main": "lib/electron-main.js", - "version": "1.11.75", + "version": "1.11.76", "description": "A feature-rich client for Matrix.org", "author": "Element", "homepage": "https://element.io", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-desktop-1.11.75/src/electron-main.ts new/element-desktop-1.11.76/src/electron-main.ts --- old/element-desktop-1.11.75/src/electron-main.ts 2024-08-20 13:54:58.000000000 +0200 +++ new/element-desktop-1.11.76/src/electron-main.ts 2024-08-27 15:04:09.000000000 +0200 @@ -19,7 +19,7 @@ // Squirrel on windows starts the app with various flags as hooks to tell us when we've been installed/uninstalled etc. import "./squirrelhooks"; -import { app, BrowserWindow, Menu, autoUpdater, protocol, dialog, Input, Event, session, ipcMain } from "electron"; +import { app, BrowserWindow, Menu, autoUpdater, protocol, dialog, Input, Event, session } from "electron"; import * as Sentry from "@sentry/electron/main"; import AutoLaunch from "auto-launch"; import path from "path"; @@ -42,6 +42,7 @@ import { setDisplayMediaCallback } from "./displayMediaCallback"; import { setupMacosTitleBar } from "./macos-titlebar"; import { loadJsonFile } from "./utils"; +import { setupMediaAuth } from "./media-auth"; const argv = minimist(process.argv, { alias: { help: "h" }, @@ -550,50 +551,7 @@ setDisplayMediaCallback(callback); }); - session.defaultSession.webRequest.onBeforeRequest((req, callback) => { - // This handler emulates the element-web service worker, where URLs are rewritten late in the request - // for backwards compatibility. As authenticated media becomes more prevalent, this should be replaced - // by the app using authenticated URLs from the outset. - let url = req.url; - if (!url.includes("/_matrix/media/v3/download") && !url.includes("/_matrix/media/v3/thumbnail")) { - return callback({}); // not a URL we care about - } - - // Check for feature support from the server. This requires asking the renderer process for supported - // versions. - ipcMain.once("serverSupportedVersions", (_, versionsResponse) => { - if (versionsResponse?.versions?.includes("v1.11")) { - url = url.replace(/\/media\/v3\/(.*)\//, "/client/v1/media/$1/"); - return callback({ redirectURL: url }); - } else { - return callback({}); // no support == no modification - } - }); - global.mainWindow!.webContents.send("serverSupportedVersions"); // ping now that the listener exists - - // we don't invoke callback() in this function - see the ipcMain.once above for callback usage. - }); - - session.defaultSession.webRequest.onBeforeSendHeaders((req, callback) => { - if (!req.url.includes("/_matrix/client/v1/media")) { - return callback({}); // invoke unmodified - } - - // Only add authorization header to authenticated media URLs. This emulates the service worker - // behaviour in element-web. - - // We need to get the access token from the renderer process to do that, though. - ipcMain.once("userAccessToken", (_, accessToken) => { - // `accessToken` can be falsy, but if we're trying to download media without authentication - // then we should expect failure anyway. - const headers = { ...req.requestHeaders }; - headers["Authorization"] = `Bearer ${accessToken}`; - return callback({ requestHeaders: headers }); - }); - global.mainWindow!.webContents.send("userAccessToken"); - - // we don't invoke callback() in this function - see the ipcMain.once above for callback usage. - }); + setupMediaAuth(global.mainWindow); }); app.on("window-all-closed", () => { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-desktop-1.11.75/src/media-auth.ts new/element-desktop-1.11.76/src/media-auth.ts --- old/element-desktop-1.11.75/src/media-auth.ts 1970-01-01 01:00:00.000000000 +0100 +++ new/element-desktop-1.11.76/src/media-auth.ts 2024-08-27 15:04:09.000000000 +0200 @@ -0,0 +1,80 @@ +/* +Copyright 2024 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { BrowserWindow, ipcMain, session } from "electron"; + +/** + * Check for feature support from the server. + * This requires asking the renderer process for supported versions. + */ +async function getSupportedVersions(window: BrowserWindow): Promise<string[]> { + return new Promise((resolve) => { + ipcMain.once("serverSupportedVersions", (_, versionsResponse) => { + resolve(versionsResponse?.versions || []); + }); + window.webContents.send("serverSupportedVersions"); // ping now that the listener exists + }); +} + +/** + * Get the access token for the user. + * This requires asking the renderer process for the access token. + */ +async function getAccessToken(window: BrowserWindow): Promise<string | undefined> { + return new Promise((resolve) => { + ipcMain.once("userAccessToken", (_, accessToken) => { + resolve(accessToken); + }); + window.webContents.send("userAccessToken"); // ping now that the listener exists + }); +} + +export function setupMediaAuth(window: BrowserWindow): void { + session.defaultSession.webRequest.onBeforeRequest(async (req, callback) => { + // This handler emulates the element-web service worker, where URLs are rewritten late in the request + // for backwards compatibility. As authenticated media becomes more prevalent, this should be replaced + // by the app using authenticated URLs from the outset. + let url = req.url; + if (!url.includes("/_matrix/media/v3/download") && !url.includes("/_matrix/media/v3/thumbnail")) { + return callback({}); // not a URL we care about + } + + const supportedVersions = await getSupportedVersions(window); + // We have to check that the access token is truthy otherwise we'd be intercepting pre-login media request too, + // e.g. those required for SSO button icons. + const accessToken = await getAccessToken(window); + if (supportedVersions.includes("v1.11") && accessToken) { + url = url.replace(/\/media\/v3\/(.*)\//, "/client/v1/media/$1/"); + return callback({ redirectURL: url }); + } else { + return callback({}); // no support == no modification + } + }); + + session.defaultSession.webRequest.onBeforeSendHeaders(async (req, callback) => { + if (!req.url.includes("/_matrix/client/v1/media")) { + return callback({}); // invoke unmodified + } + + // Only add authorization header to authenticated media URLs. This emulates the service worker + // behaviour in element-web. + const accessToken = await getAccessToken(window); + // `accessToken` can be falsy, but if we're trying to download media without authentication + // then we should expect failure anyway. + const headers = { ...req.requestHeaders, Authorization: `Bearer ${accessToken}` }; + return callback({ requestHeaders: headers }); + }); +} ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/element-desktop/vendor.tar.zst /work/SRC/openSUSE:Factory/.element-desktop.new.10096/vendor.tar.zst differ: char 7, line 1