Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@
"hono": "^4.9.4",
"jose": "^6.0.13",
"unique-names-generator": "^4.7.1",
"uuid": "^11.1.0",
"uuid": "^13.0.0",
"zod": "^4.1.3"
},
"devDependencies": {
"@types/uuid": "^10.0.0",
"typescript": "^5.9.2",
"@biomejs/biome": "^2.2.2",
"@types/uuid": "^11.0.0",
"typescript": "^6.0.0",
"@biomejs/biome": "^2.4.3",
"madge": "^8.0.0"
},
"packageManager": "pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad"
Expand Down
6 changes: 3 additions & 3 deletions api/src/room.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ export class Context {
this.#env = env;
}
// Returns the path/token to join the room
async sign(room: Name, account: string): Promise<string> {
async sign(room: Name): Promise<string> {
const root = `${this.#env.RELAY_PREFIX}/${room}`;
// TODO add a field to force publishing, preventing someone from lurking.
const token = await Token.sign(this.#key, { root, get: "", put: account });
const token = await Token.sign(this.#key, { root, get: "", put: "" });
return `${root}/?jwt=${token}`;
}

Expand Down Expand Up @@ -53,7 +53,7 @@ export const router = rpc
const ctx = c.var.ctx;
const room = c.req.valid("param").room;
const path = c.var.account_id ?? c.req.valid("json").guest ?? `guest/${Uuid.v4()}`;
const token = await ctx.room.sign(room, path);
const token = await ctx.room.sign(room);
const url = new URL(token, ctx.env.RELAY_URL);
return c.json({ url, path, guest: !c.var.account_id ? path : undefined });
},
Expand Down
16 changes: 8 additions & 8 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"@fabianlars/tauri-plugin-oauth": "2",
"@fontsource-variable/montserrat": "^5.2.6",
"@hang/api": "workspace:*",
"@huggingface/transformers": "^3.7.2",
"@huggingface/transformers": "^4.0.0",
"@moq/hang": "workspace:*",
"@moq/lite": "workspace:*",
"@moq/publish": "workspace:*",
Expand All @@ -36,30 +36,30 @@
"hono": "^4.10.3",
"jszip": "^3.10.1",
"kokoro-js": "^1.2.1",
"marked": "^15.0.12",
"marked": "^17.0.5",
"phonemizer": "^1.2.1",
"solid-js": "^1.9.9",
"tailwindcss": "^4.1.12",
"tauri-plugin-web-transport": "^0.1.0",
"zod": "^4.1.3"
},
"devDependencies": {
"@biomejs/biome": "^2.2.2",
"@biomejs/biome": "^2.4.3",
"@iconify-json/material-symbols": "^1.2.33",
"@iconify-json/mdi": "^1.2.3",
"@iconify/tailwind4": "^1.0.6",
"@tailwindcss/typography": "^0.5.16",
"@tauri-apps/cli": "^2.8.4",
"@typescript/lib-dom": "npm:@types/web@^0.0.234",
"globals": "^16.3.0",
"@typescript/lib-dom": "npm:@types/web@^0.0.345",
"globals": "^17.4.0",
"madge": "^8.0.0",
"ts-expect": "^1.3.0",
"tsx": "^4.20.5",
"typescript": "~5.8.3",
"vite": "^6.3.5",
"typescript": "^6.0.0",
"vite": "^8.0.3",
"vite-plugin-glsl": "^1.5.4",
"vite-plugin-solid": "^2.11.8",
"vite-plugin-static-copy": "^2.1.0",
"vite-plugin-static-copy": "^4.0.0",
"vite-plugin-wrangler": "^0.1.1",
"wrangler": "^4.33.0"
},
Expand Down
3 changes: 2 additions & 1 deletion app/src/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//import "tauri-plugin-web-transport";
import "@moq/hang/support/element";
import "@moq/watch/support/element";
import "@moq/publish/support/element";

import * as Tauri from "./tauri";

Expand Down
2 changes: 0 additions & 2 deletions app/src/room/captions/index.ts

This file was deleted.

44 changes: 0 additions & 44 deletions app/src/room/captions/publish.ts

This file was deleted.

12 changes: 0 additions & 12 deletions app/src/room/captions/section.ts

This file was deleted.

8 changes: 4 additions & 4 deletions app/src/room/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as Publish from "@moq/publish";
import * as Moq from "@moq/lite";
import * as Publish from "@moq/publish";
import { Effect, Signal } from "@moq/signals";
import { Broadcast } from "./broadcast";
import type { Canvas } from "./canvas";
Expand Down Expand Up @@ -105,7 +105,7 @@ export class Room {
const update = await announced.next();
if (!update) break;

if (update.path === this.local.camera.path.peek()) {
if (update.path === this.local.camera.name.peek()) {
if (update.active) {
const broadcast = this.space.add(update.path, this.local.camera);
this.#cameraBroadcast.set(broadcast as Broadcast<Publish.Broadcast>);
Expand All @@ -117,7 +117,7 @@ export class Room {
continue;
}

if (update.path === this.local.share.path.peek()) {
if (update.path === this.local.share.name.peek()) {
if (update.active) {
const broadcast = this.space.add(update.path, this.local.share);
this.#shareBroadcast.set(broadcast as Broadcast<Publish.Broadcast>);
Expand All @@ -141,7 +141,7 @@ export class Room {
const watch = new WatchBroadcast({
connection: this.connection.established,
enabled: true,
path,
name: path,
reload: false,
location: {
window: { enabled: true },
Expand Down
2 changes: 1 addition & 1 deletion app/src/room/local.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as Publish from "@moq/publish";
import type * as Moq from "@moq/lite";
import * as Publish from "@moq/publish";
import { Effect, Signal } from "@moq/signals";
import Settings from "../settings";

Expand Down
2 changes: 0 additions & 2 deletions app/src/room/speaking/index.ts

This file was deleted.

44 changes: 0 additions & 44 deletions app/src/room/speaking/publish.ts

This file was deleted.

12 changes: 0 additions & 12 deletions app/src/room/speaking/section.ts

This file was deleted.

1 change: 0 additions & 1 deletion app/src/room/tts/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ export type Quality = "none" | "low" | "high";

async function detectWebGPU() {
try {
// @ts-expect-error - navigator.gpu is not typed yet
const adapter = await navigator.gpu.requestAdapter();
return !!adapter;
} catch {
Expand Down
6 changes: 3 additions & 3 deletions app/src/room/watch.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { Catalog } from "@moq/hang";
import * as Watch from "@moq/watch";
import type * as Moq from "@moq/lite";
import { Effect, type Getter, Signal } from "@moq/signals";
import * as Watch from "@moq/watch";

// Props for creating a WatchBroadcast
export interface WatchBroadcastProps {
connection?: Moq.Connection.Established | Signal<Moq.Connection.Established | undefined>;
enabled?: boolean | Signal<boolean>;
path?: Moq.Path.Valid | Signal<Moq.Path.Valid | undefined>;
name?: Moq.Path.Valid | Signal<Moq.Path.Valid>;
reload?: boolean | Signal<boolean>;
location?: {
window?: { enabled?: boolean | Signal<boolean> };
Expand Down Expand Up @@ -89,7 +89,7 @@ export class WatchBroadcast {
this.#broadcast = new Watch.Broadcast({
connection: props?.connection,
enabled: props?.enabled,
path: props?.path,
name: props?.name,
reload: props?.reload,
});

Expand Down
1 change: 0 additions & 1 deletion app/src/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,5 @@ export function Modal(props: { sound: Sound }): JSX.Element {
}

export function supportsWebGPU() {
// @ts-expect-error Not typed yet.
return !!navigator.gpu;
}
9 changes: 5 additions & 4 deletions app/src/sup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import { Room } from "./room";
import { Canvas } from "./room/canvas";
import { Local } from "./room/local";

import "@kixelated/hang/support/element";
import "@moq/watch/support/element";
import "@moq/publish/support/element";
import { Sound } from "./room/sound";
import Settings from "./settings";

Expand Down Expand Up @@ -50,8 +51,8 @@ export function Sup(props: { canvas: Canvas; room: string }): JSX.Element {

connection.url.set(new URL(data.url));

local.camera.path.set(Moq.Path.from(data.path, "camera"));
local.share.path.set(Moq.Path.from(data.path, "screen"));
local.camera.name.set(Moq.Path.from(data.path, "camera"));
local.share.name.set(Moq.Path.from(data.path, "screen"));

// Save the guest account settings
Settings.account.guest.set(data.guest);
Expand Down Expand Up @@ -110,7 +111,7 @@ function Preview(props: { room: string; local: Local; connection: Moq.Connection
<WebLayout>
<div class="font-semibold mb-6 text-center text-gray-400">ready to hang?</div>

<hang-support class="text-2xl" prop:show="none" />
<moq-watch-support class="text-2xl" prop:show="never" />

{/* Join Button */}
<div class="mb-12 flex justify-center">
Expand Down
2 changes: 1 addition & 1 deletion app/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
"resolveJsonModule": true,
"types": ["vite/client", "vite-plugin-glsl/ext", "../api/worker-configuration.d.ts"]
},
"include": ["src"]
"include": ["src", "../moq/js/common/worklet.d.ts"]
}
11 changes: 8 additions & 3 deletions biome.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,18 @@
"useImportType": "off"
},
"suspicious": {
// Until Tailwind support lands (very soon)
"noUnknownAtRules": "off",
// Some runtimes need ts-ignore
"noTsIgnore": "off"
"noTsIgnore": "off"
}
}
},
"css": {
"parser": {
"cssModules": false,
"allowWrongLineComments": false,
"tailwindDirectives": true
}
},
"javascript": {
"formatter": {
"quoteStyle": "double"
Expand Down
Loading
Loading