feat: show call participants in room list (Discord-style)
Docker / Docker Buildx (push) Has been cancelled
Build Debian package / Build package (release) Has been cancelled
Build and Deploy / prepare (release) Has been cancelled
Deploy release / Deploy to Cloudflare Pages (release) Has been cancelled
Build and Deploy / Trigger Pro pipeline (release) Has been cancelled
Build and Deploy / Windows arm64 (release) Has been cancelled
Build and Deploy / Windows x64 (release) Has been cancelled
Build and Deploy / macOS (release) Has been cancelled
Build and Deploy / Linux amd64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / Linux arm64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / ${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }} (release) Has been cancelled
Build and Deploy / Deploy builds to ESS (release) Has been cancelled

This commit is contained in:
sorB
2026-05-10 14:25:35 +02:00
parent b797925316
commit 3da363517f
4610 changed files with 827237 additions and 1 deletions
@@ -0,0 +1,89 @@
diff --git a/lib/ModuleApi.d.ts b/lib/ModuleApi.d.ts
index 917a7fc073ea208ed8e45ccca994ae2ca0493bb8..a2710c6f99b1c6a9186232f3d1aa4d5e8a903062 100644
--- a/lib/ModuleApi.d.ts
+++ b/lib/ModuleApi.d.ts
@@ -37,7 +37,7 @@ export interface ModuleApi {
* @returns Whether the user submitted the dialog or closed it, and the model returned by the
* dialog component if submitted.
*/
- openDialog<M extends object, P extends DialogProps = DialogProps, C extends DialogContent<P> = DialogContent<P>>(initialTitleOrOptions: string | ModuleUiDialogOptions, body: (props: P, ref: React.RefObject<C>) => React.ReactNode, props?: Omit<P, keyof DialogProps>): Promise<{
+ openDialog<M extends object, P extends DialogProps = DialogProps, C extends DialogContent<P> = DialogContent<P>>(initialTitleOrOptions: string | ModuleUiDialogOptions, body: (props: P, ref: React.RefObject<C | null>) => React.ReactNode, props?: Omit<P, keyof DialogProps>): Promise<{
didOkOrSubmit: boolean;
model: M;
}>;
diff --git a/lib/lifecycles/CryptoSetupExtensions.d.ts b/lib/lifecycles/CryptoSetupExtensions.d.ts
index cb5f2e5224f36e4a258caf782d49bf925dd552b9..d3474c6847c0c65e953219bf6616c1d8a2c37b62 100644
--- a/lib/lifecycles/CryptoSetupExtensions.d.ts
+++ b/lib/lifecycles/CryptoSetupExtensions.d.ts
@@ -66,8 +66,8 @@ export interface SetupEncryptionStoreProjection {
export interface ProvideCryptoSetupExtensions {
examineLoginResponse(response: any, credentials: ExtendedMatrixClientCreds): void;
persistCredentials(credentials: ExtendedMatrixClientCreds): void;
- getSecretStorageKey(): Uint8Array | null;
- createSecretStorageKey(): Uint8Array | null;
+ getSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
+ createSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
catchAccessSecretStorageError(e: Error): void;
setupEncryptionNeeded: (args: CryptoSetupArgs) => boolean;
/** @deprecated This callback is no longer used by matrix-react-sdk */
@@ -77,8 +77,8 @@ export interface ProvideCryptoSetupExtensions {
export declare abstract class CryptoSetupExtensionsBase implements ProvideCryptoSetupExtensions {
abstract examineLoginResponse(response: any, credentials: ExtendedMatrixClientCreds): void;
abstract persistCredentials(credentials: ExtendedMatrixClientCreds): void;
- abstract getSecretStorageKey(): Uint8Array | null;
- abstract createSecretStorageKey(): Uint8Array | null;
+ abstract getSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
+ abstract createSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
abstract catchAccessSecretStorageError(e: Error): void;
abstract setupEncryptionNeeded(args: CryptoSetupArgs): boolean;
/** `getDehydrationKeyCallback` is no longer used; we provide an empty impl for type compatibility. */
@@ -98,8 +98,8 @@ export declare class DefaultCryptoSetupExtensions extends CryptoSetupExtensionsB
SHOW_ENCRYPTION_SETUP_UI: boolean;
examineLoginResponse(response: any, credentials: ExtendedMatrixClientCreds): void;
persistCredentials(credentials: ExtendedMatrixClientCreds): void;
- getSecretStorageKey(): Uint8Array | null;
- createSecretStorageKey(): Uint8Array | null;
+ getSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
+ createSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
catchAccessSecretStorageError(e: Error): void;
setupEncryptionNeeded(args: CryptoSetupArgs): boolean;
getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array) => void) => Promise<Uint8Array>) | null;
diff --git a/lib/lifecycles/CryptoSetupExtensions.js b/lib/lifecycles/CryptoSetupExtensions.js
index 5d422ed500ac5846e713a8e8ecddb3be75357b60..011c19fafd06d1f203df1383360c52a45e387dcf 100644
--- a/lib/lifecycles/CryptoSetupExtensions.js
+++ b/lib/lifecycles/CryptoSetupExtensions.js
@@ -124,34 +124,28 @@ var DefaultCryptoSetupExtensions = /*#__PURE__*/function (_CryptoSetupExtension)
(0, _createClass2["default"])(DefaultCryptoSetupExtensions, [{
key: "examineLoginResponse",
value: function examineLoginResponse(response, credentials) {
- console.log("Default empty examineLoginResponse() => void");
}
}, {
key: "persistCredentials",
value: function persistCredentials(credentials) {
- console.log("Default empty persistCredentials() => void");
}
}, {
key: "getSecretStorageKey",
value: function getSecretStorageKey() {
- console.log("Default empty getSecretStorageKey() => null");
return null;
}
}, {
key: "createSecretStorageKey",
value: function createSecretStorageKey() {
- console.log("Default empty createSecretStorageKey() => null");
return null;
}
}, {
key: "catchAccessSecretStorageError",
value: function catchAccessSecretStorageError(e) {
- console.log("Default catchAccessSecretStorageError() => void");
}
}, {
key: "setupEncryptionNeeded",
value: function setupEncryptionNeeded(args) {
- console.log("Default setupEncryptionNeeded() => false");
return false;
}
}, {
+18
View File
@@ -0,0 +1,18 @@
diff --git a/index.d.ts b/index.d.ts
index a30a77c..e512ce1 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -25,6 +25,13 @@ interface AutoLaunchOptions {
declare class AutoLaunch {
constructor(options: AutoLaunchOptions);
+ /**
+ * This type describes the internal options of the `auto-launch` package which allows us to update options after initialization.
+ */
+ readonly opts: {
+ isHiddenOnLaunch: boolean;
+ };
+
/**
* Enables auto-launch at start up.
*/
+46
View File
@@ -0,0 +1,46 @@
diff --git a/types.d.ts b/types.d.ts
index 498bb694de2e6a62f14d3fe998dc538aff920fc6..ab288cdf8ca228fc8daaff2c5fb84ce665b40812 100644
--- a/types.d.ts
+++ b/types.d.ts
@@ -5,7 +5,7 @@
*/
// @ts-ignore JSX runtimes may optionally define JSX.ElementType. The MDX types need to work regardless whether this is
// defined or not.
-type ElementType = any extends JSX.ElementType ? never : JSX.ElementType;
+type ElementType = any extends React.JSX.ElementType ? never : React.JSX.ElementType;
/**
* This matches any function component types that ar part of `ElementType`.
@@ -20,12 +20,12 @@ type ClassElementType = Extract<ElementType, new(props: Record<string, any>) =>
/**
* A valid JSX string component.
*/
-type StringComponent = Extract<keyof JSX.IntrinsicElements, ElementType extends never ? string : ElementType>;
+type StringComponent = Extract<keyof React.JSX.IntrinsicElements, ElementType extends never ? string : ElementType>;
/**
* A JSX element returned by MDX content.
*/
-export type Element = JSX.Element;
+export type Element = React.JSX.Element;
/**
* A valid JSX function component.
@@ -44,7 +44,7 @@ type FunctionComponent<Props> = ElementType extends never
*/
type ClassComponent<Props> = ElementType extends never
// If JSX.ElementType isnt defined, the valid return type is a constructor that returns JSX.ElementClass
- ? new(props: Props) => JSX.ElementClass
+ ? new(props: Props) => React.JSX.ElementClass
: ClassElementType extends never
// If JSX.ElementType is defined, but doesnt allow constructors, function components are disallowed.
? never
@@ -70,7 +70,7 @@ interface NestedMDXComponents {
export type MDXComponents =
& NestedMDXComponents
& {
- [Key in StringComponent]?: Component<JSX.IntrinsicElements[Key]>;
+ [Key in StringComponent]?: Component<React.JSX.IntrinsicElements[Key]>;
}
& {
/**
+12
View File
@@ -0,0 +1,12 @@
diff --git a/package.json b/package.json
index 8163a3bea0bba33af6fc97cd21c1a04ddef548b7..dfef973c43d84b8f0453be7e67db89a654426c60 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"license": "SEE LICENSE IN README.md",
"exports": {
".": {
+ "types": "./dist/index.d.ts",
"import": "./dist/matrix-wysiwyg.js",
"require": "./dist/matrix-wysiwyg.umd.cjs"
}
+27
View File
@@ -0,0 +1,27 @@
diff --git a/out/node-module-collector/moduleManager.js b/out/node-module-collector/moduleManager.js
index f483d9387a3270afc884b8478f19dd2825477a04..a718d92825b4813bc27eb10775a70d8e0731fcf7 100644
--- a/out/node-module-collector/moduleManager.js
+++ b/out/node-module-collector/moduleManager.js
@@ -5,6 +5,7 @@ const builder_util_1 = require("builder-util");
const fs = require("fs-extra");
const path = require("path");
const semver = require("semver");
+const searchModule = require("../electron/search-module");
var LogMessageByKey;
(function (LogMessageByKey) {
LogMessageByKey["PKG_DUPLICATE_REF"] = "duplicate dependency references";
@@ -115,8 +116,12 @@ class ModuleManager {
return { packageDir: path.dirname(direct), packageJson: json };
}
}
- // 2) upward hoisted search, then 3) downward non-hoisted search
- return (await this.upwardSearch(parentDir, pkgName, requiredRange)) || (await this.downwardSearch(parentDir, pkgName, requiredRange)) || null;
+ // 2) upward hoisted search, then 3) downward non-hoisted search, then 4) downward from workspace root
+ const workspaceRoot = await searchModule.getProjectRootPath(parentDir);
+ return (await this.upwardSearch(parentDir, pkgName, requiredRange)) ||
+ (await this.downwardSearch(parentDir, pkgName, requiredRange)) ||
+ (await this.downwardSearch(workspaceRoot, pkgName, requiredRange)) ||
+ null;
}
semverSatisfies(found, range) {
if ((0, builder_util_1.isEmptyOrSpaces)(range) || range === "*") {
+14
View File
@@ -0,0 +1,14 @@
diff --git a/package.json b/package.json
index 84a2734a8989f43fd5368adbd4638b52560a11ab..cbda8398f3b4094b2d86152211811fe6c2342232 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,8 @@
"exports": {
".": {
"types": "./build/AwaitLock.d.ts",
- "import": "./build/AwaitLock.js"
+ "import": "./build/AwaitLock.js",
+ "require": "./build/AwaitLock.js"
}
},
"files": [
+17
View File
@@ -0,0 +1,17 @@
diff --git a/index.js b/index.js
index ac8033b..b1ba8f0 100644
--- a/index.js
+++ b/index.js
@@ -21,9 +21,10 @@ class FixedJSDOMEnvironment extends JSDOMEnvironment {
this.global.TextEncoderStream = TextEncoderStream
this.global.ReadableStream = ReadableStream
- this.global.Blob = Blob
+ // this.global.Blob = Blob
+ // this.global.File = File
this.global.Headers = Headers
- this.global.FormData = FormData
+ // this.global.FormData = FormData
this.global.Request = Request
this.global.Response = Response
this.global.fetch = fetch
+56
View File
@@ -0,0 +1,56 @@
diff --git a/lib/jsdom/browser/Window.js b/lib/jsdom/browser/Window.js
index 52d011c..f62f6d6 100644
--- a/lib/jsdom/browser/Window.js
+++ b/lib/jsdom/browser/Window.js
@@ -505,10 +505,10 @@ function installOwnProperties(window, options) {
event: makeReplaceablePropertyDescriptor("event", window),
// [LegacyUnforgeable]:
- window: { configurable: false },
- document: { configurable: false },
- location: { configurable: false },
- top: { configurable: false }
+ window: { configurable: true },
+ document: { configurable: true },
+ location: { configurable: true },
+ top: { configurable: true }
});
diff --git a/lib/jsdom/living/generated/Location.js b/lib/jsdom/living/generated/Location.js
index fc4d1dd..c855bd5 100644
--- a/lib/jsdom/living/generated/Location.js
+++ b/lib/jsdom/living/generated/Location.js
@@ -322,19 +322,19 @@ function getUnforgeables(globalObject) {
}
});
Object.defineProperties(unforgeables, {
- assign: { configurable: false, writable: false },
- replace: { configurable: false, writable: false },
- reload: { configurable: false, writable: false },
- href: { configurable: false },
- toString: { configurable: false, writable: false },
- origin: { configurable: false },
- protocol: { configurable: false },
- host: { configurable: false },
- hostname: { configurable: false },
- port: { configurable: false },
- pathname: { configurable: false },
- search: { configurable: false },
- hash: { configurable: false }
+ assign: { configurable: true, writable: false },
+ replace: { configurable: true, writable: false },
+ reload: { configurable: true, writable: false },
+ href: { configurable: true },
+ toString: { configurable: true, writable: false },
+ origin: { configurable: true },
+ protocol: { configurable: true },
+ host: { configurable: true },
+ hostname: { configurable: true },
+ port: { configurable: true },
+ pathname: { configurable: true },
+ search: { configurable: true },
+ hash: { configurable: true }
});
unforgeablesMap.set(globalObject, unforgeables);
}
+18
View File
@@ -0,0 +1,18 @@
diff --git a/dist/plugins/babel/index.js b/dist/plugins/babel/index.js
index d451e0ab75c530b794e6925466e18e798b7df960..ca4eeb240ef200fe89964532764513279c45b45c 100644
--- a/dist/plugins/babel/index.js
+++ b/dist/plugins/babel/index.js
@@ -9,11 +9,13 @@ const config = ['babel.config.{json,js,cjs,mjs,cts,ts}', '.babelrc.{json,js,cjs,
const getName = (value) => [Array.isArray(value) ? value[0] : value].filter(name => typeof name === 'string');
export const getDependenciesFromConfig = (config) => {
const presets = config.presets?.flatMap(getName).map(name => resolveName(name, 'preset')) ?? [];
+ const presetIncludes = config.presets?.filter(preset => Array.isArray(preset) && typeof preset[1] === "object").flatMap(preset => preset[1]?.include ?? []).map(name => resolveName(name, 'plugin')) ?? [];
const plugins = config.plugins?.flatMap(getName).map(name => resolveName(name, 'plugin')) ?? [];
const nested = config.env ? Object.values(config.env).flatMap(getDependenciesFromConfig) : [];
const overrides = config.overrides ? [config.overrides].flat().flatMap(getDependenciesFromConfig) : [];
return compact([
...presets.map(id => toDeferResolve(id)),
+ ...presetIncludes.map(id => toDeferResolve(id)),
...plugins.map(id => toDeferResolve(id)),
...(plugins.includes('@babel/plugin-transform-runtime')
? [toDeferResolve('@babel/runtime', { optional: true })]
+13
View File
@@ -0,0 +1,13 @@
diff --git a/dist/linkify-html.mjs b/dist/linkify-html.mjs
index 63b1fe5019a58d73986974fc621701db33a4ac11..f61e3b7118ed6adc93da88ca9ecf2dce486989fd 100644
--- a/dist/linkify-html.mjs
+++ b/dist/linkify-html.mjs
@@ -201,6 +201,8 @@ var EventedTokenizer = /** @class */function () {
this.consume();
if (this.delegate.endDoctype) this.delegate.endDoctype();
this.transitionTo("beforeData" /* beforeData */);
+ } else {
+ throw new Error("Unexpected token");
}
},
doctypePublicIdentifierDoubleQuoted: function () {
+22
View File
@@ -0,0 +1,22 @@
diff --git a/lib/parse.js b/lib/parse.js
index b5e7496a28d0664933a14f4fcd89682c8a349d3f..a5de9d1edb8ce22ed93ab1ed96493d223013c296 100644
--- a/lib/parse.js
+++ b/lib/parse.js
@@ -63,7 +63,7 @@ function invariant(test, message) {
*/
function parse (xml) {
- var doc = new DOMParser().parseFromString(xml);
+ var doc = new DOMParser().parseFromString(xml, 'text/xml');
invariant(
doc.documentElement.nodeName === 'plist',
'malformed document. First element should be <plist>'
@@ -131,7 +131,7 @@ function parsePlistXML (node) {
if (counter % 2 === 1) {
new_obj[key] = '';
}
-
+
return new_obj;
} else if (node.nodeName === 'array') {
+13
View File
@@ -0,0 +1,13 @@
diff --git a/index.d.ts b/index.d.ts
index 5b070312004db8492f02db50bf99f5057ce793eb..a9f642c723e59cb662810ef9d8e9f14664f58bb7 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -5,7 +5,7 @@ declare interface MixinOutput {
}
declare interface Mixin {
- (mixinAtRule: AtRule, ...args: string[])
+ (mixinAtRule: AtRule, ...args: string[]): void
}
declare type Mixins = Record<string, MixinOutput | Mixin>
+22
View File
@@ -0,0 +1,22 @@
diff --git a/dist/index.d.ts b/dist/index.d.ts
index 3adbd0a4561d9114277241af6994111f97e17cbf..32e8c13a574d860d589c2c8232795b8fc1e3195f 100644
--- a/dist/index.d.ts
+++ b/dist/index.d.ts
@@ -19,7 +19,7 @@ declare class Blurhash extends React.PureComponent<Props$1> {
resolutionY: number;
};
componentDidUpdate(): void;
- render(): JSX.Element;
+ render(): React.JSX.Element;
}
declare type Props = React.CanvasHTMLAttributes<HTMLCanvasElement> & {
@@ -37,7 +37,7 @@ declare class BlurhashCanvas extends React.PureComponent<Props> {
componentDidUpdate(): void;
handleRef: (canvas: HTMLCanvasElement) => void;
draw: () => void;
- render(): JSX.Element;
+ render(): React.JSX.Element;
}
export { Blurhash, BlurhashCanvas };
+14
View File
@@ -0,0 +1,14 @@
diff --git a/dist/rollup.d.ts b/dist/rollup.d.ts
index 799df4a69cc0d7ac26c3357c8c2bd3f68365d609..67a6e48c65324f62a6724732f90ad0a776fa7ef5 100644
--- a/dist/rollup.d.ts
+++ b/dist/rollup.d.ts
@@ -160,6 +160,9 @@ export interface MinimalPluginContext {
warn: LoggingFunction;
}
+// Temporary until https://github.com/getsentry/sentry-javascript-bundler-plugins/pull/870 is released
+export type AcornNode = unknown;
+
export interface EmittedAsset {
fileName?: string | undefined;
name?: string | undefined;