From ffe4686dde57025896eec98dd1a39ecdee881657 Mon Sep 17 00:00:00 2001 From: Claas Date: Sun, 7 Dec 2025 18:46:50 +0100 Subject: [PATCH] Implement group invite --- app/src/routes/join.tsx | 8 +-- app/src/service-worker/schema.d.ts | 33 +++++++++--- app/src/service-worker/serviceWorker.ts | 71 +++++++++++++++++++++---- core/src/lib.rs | 18 ++++--- core/src/v2/serializable.rs | 51 +++++++++++++++++- 5 files changed, 150 insertions(+), 31 deletions(-) diff --git a/app/src/routes/join.tsx b/app/src/routes/join.tsx index e584761..958314f 100644 --- a/app/src/routes/join.tsx +++ b/app/src/routes/join.tsx @@ -1,6 +1,5 @@ import { Navigate, useParams } from "@solidjs/router"; import { createResource, JSX, Match, Switch } from "solid-js"; -import { useAppContext } from "../components/AppContext"; import { setupCrackle } from "../useCrackle"; async function decodeKeyPackage(encodedInvite: string) { @@ -20,8 +19,6 @@ export default function Join() { return ; } - const [app, setApp] = useAppContext(); - const [keyPackage] = createResource(parameters.package, decodeKeyPackage); const [configuration] = createResource(async () => { @@ -56,6 +53,9 @@ export default function Join() { if (keys === undefined) throw new Error("Expected key package to be loaded"); + const group = await handle.createGroup(keys.friend, name); + console.debug("Created group", group); + // const groupId = app.client.create_group(); // /** @type {Group} */ // const group = { @@ -126,7 +126,7 @@ export default function Join() { autocomplete="username" required disabled={configuration.loading} - value={configuration()?.user?.name} + value={configuration()?.defaultUser?.name} />