feat: add window controls & screen creation util

This commit is contained in:
Alois 2026-04-06 18:44:15 +01:00
commit a4822948d1
20 changed files with 149 additions and 61 deletions

View file

@ -189,8 +189,8 @@ export default function Provider(props: {
* Sends typed protocol messages through the active transport client.
* @param type Protocol message type.
* @param data Optional request payload.
* @param options Optional request id.
* @returns A promise for the typed message payload.
* @param options Optional request id.
* @returns A promise for the typed message payload.
*/
const send = useCallback<BoundSendFn<Schemas>>(
((

View file

@ -61,9 +61,9 @@ function createMockWebTransport() {
let readyResolve!: () => void;
let closedResolve!: () => void;
let incomingController:
| ReadableStreamDefaultController<ReadableStream<Uint8Array>>
| null = null;
let incomingController: ReadableStreamDefaultController<
ReadableStream<Uint8Array>
> | null = null;
const outgoingMessages: TypedMessage[] = [];
const ready = new Promise<void>((resolve) => {
@ -426,7 +426,11 @@ describe("Core Protocol", () => {
const firstSend = client.send("ping", {});
const secondSend = client.send("ping", {});
for (let attempt = 0; attempt < 10 && outgoingMessages.length === 0; attempt += 1) {
for (
let attempt = 0;
attempt < 10 && outgoingMessages.length === 0;
attempt += 1
) {
await Promise.resolve();
}
@ -439,7 +443,11 @@ describe("Core Protocol", () => {
});
await firstSend;
for (let attempt = 0; attempt < 10 && outgoingMessages.length === 1; attempt += 1) {
for (
let attempt = 0;
attempt < 10 && outgoingMessages.length === 1;
attempt += 1
) {
await Promise.resolve();
}

View file

@ -523,8 +523,8 @@ export function createTransportClient<T extends SchemaMap>(
* Sends a typed protocol request over the current connection.
* @param type Protocol message type.
* @param input Optional request payload.
* @param options Optional request id.
* @returns Promise for the typed response message.
* @param options Optional request id.
* @returns Promise for the typed response message.
*/
const send: BoundSendFn<T> = ((
type: string,
@ -612,14 +612,15 @@ export function createTransportClient<T extends SchemaMap>(
timeoutId,
});
void writeMessageOnPersistentStream(enqueuedConnection, messageBytes).catch(
(error) => {
handleConnectionFailure(enqueuedConnection, error);
clearTimeout(timeoutId);
pending.delete(requestId);
reject(error);
},
);
void writeMessageOnPersistentStream(
enqueuedConnection,
messageBytes,
).catch((error) => {
handleConnectionFailure(enqueuedConnection, error);
clearTimeout(timeoutId);
pending.delete(requestId);
reject(error);
});
});
});
} catch (error) {