Skip to content

Commit 4694cf5

Browse files
authored
Rename to the new org. (#72)
1 parent bd08c50 commit 4694cf5

11 files changed

Lines changed: 50 additions & 50 deletions

File tree

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ npm run fix # Auto-fix code issues and audit dependencies
3333

3434
### Key Components
3535

36-
1. **MoQ Client Implementation** (`@kixelated/hang` package):
36+
1. **MoQ Client Implementation** (`@moq/hang` package):
3737
- Custom web components: `<hang-publish>`, `<hang-watch>`, `<hang-support>`
3838
- WebTransport protocol for relay connections
3939
- Publishing: `src/components/publish.tsx` - Creates broadcasts with random names
@@ -67,6 +67,6 @@ npm run fix # Auto-fix code issues and audit dependencies
6767

6868
- WebTransport requires HTTPS even in development (handled by vite-plugin-mkcert)
6969
- Broadcasts are ephemeral - no persistence layer
70-
- The `@kixelated/hang` package handles all MoQ protocol implementation
70+
- The `@moq/hang` package handles all MoQ protocol implementation
7171
- For new blog posts, add MDX files to `src/pages/blog/`
7272
- Component changes in `src/components/` automatically reload with HMR

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<p align="center">
2-
<img height="128px" src="https://github.com/kixelated/moq.dev/blob/main/public/home/logo.svg" alt="Media over QUIC">
2+
<img height="128px" src="https://github.com/moq-dev/moq.dev/blob/main/public/home/logo.svg" alt="Media over QUIC">
33
</p>
44

55
This repository contains the code for [moq.dev](https://moq.dev).
66

77
This is a client only.
8-
You'll either need to run a local server using [moq](https://github.com/kixelated/moq) or use a public server such as `cdn.moq.dev`.
8+
You'll either need to run a local server using [moq](https://github.com/moq-dev/moq) or use a public server such as `cdn.moq.dev`.
99

1010
Join the [Discord](https://discord.gg/FCYF3p99mr) for updates and discussion.
1111

astro.config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ export default defineConfig({
2626
fs: {
2727
allow: [
2828
".",
29-
// Allow `npm link @kixelated/hang`
30-
fs.realpathSync(path.resolve("node_modules/@kixelated/hang")),
29+
// Allow `npm link @moq/hang`
30+
fs.realpathSync(path.resolve("node_modules/@moq/hang")),
3131
],
3232
},
3333
},
@@ -37,7 +37,7 @@ export default defineConfig({
3737
},
3838
},
3939
optimizeDeps: {
40-
exclude: ["@kixelated/hang"],
40+
exclude: ["@moq/hang"],
4141
},
4242
},
4343
});

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"fix": "biome check --write && pnpm audit fix"
1414
},
1515
"dependencies": {
16-
"@kixelated/hang": "^0.6.1",
16+
"@moq/hang": "^0.1.0",
1717
"astro": "^5.8.2",
1818
"solid-js": "^1.9.7",
1919
"unique-names-generator": "^4.7.1"

src/components/publish.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { adjectives, animals, uniqueNamesGenerator } from "unique-names-generator";
22
import { createSignal } from "solid-js";
33

4-
import "@kixelated/hang/support/element";
5-
import "@kixelated/hang/publish/element";
4+
import "@moq/hang/support/element";
5+
import "@moq/hang/publish/element";
66

77
export default function () {
88
const name = uniqueNamesGenerator({ dictionaries: [adjectives, animals], separator: "-" });
@@ -71,7 +71,7 @@ export default function () {
7171
<ul>
7272
<li>
7373
🔓 <strong>Open Source</strong>: <a href="/source">Typescript and Rust libraries</a>; this demo is{" "}
74-
<a href="https://github.com/kixelated/moq/blob/main/js/hang-demo/src/publish.html">here</a>.
74+
<a href="https://github.com/moq-dev/moq/blob/main/js/hang-demo/src/publish.html">here</a>.
7575
</li>
7676
<li>
7777
🌐 <strong>100% Web</strong>: WebTransport, WebCodecs, WebAudio, WebWorkers, WebEtc.
@@ -95,7 +95,7 @@ export default function () {
9595
</li>
9696
<li>
9797
🔧 <strong>Compatible</strong>: TCP fallback via{" "}
98-
<a href="https://github.com/kixelated/web-transport/tree/main/web-transport-ws">WebSocket</a>, Safari fallback
98+
<a href="https://github.com/moq-dev/web-transport/tree/main/web-transport-ws">WebSocket</a>, Safari fallback
9999
via <a href="https://github.com/Yahweasel/libav.js/">libav.js.</a>
100100
</li>
101101
</ul>

src/components/support.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { onMount } from "solid-js";
22

33
export default function Support() {
44
onMount(() => {
5-
import("@kixelated/hang/support/element");
5+
import("@moq/hang/support/element");
66
});
77

88
return <hang-support prop:show="full" prop:details={true} />;

src/components/watch.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Use the hang web components.
2-
import "@kixelated/hang/support/element";
3-
import "@kixelated/hang/watch/element";
2+
import "@moq/hang/support/element";
3+
import "@moq/hang/watch/element";
44
import { Show } from "solid-js";
55

66
export default function () {
@@ -39,7 +39,7 @@ export default function () {
3939
<ul>
4040
<li>
4141
🔓 <strong>Open Source</strong>: <a href="/source">Typescript and Rust libraries</a>; this demo is{" "}
42-
<a href="https://github.com/kixelated/moq/blob/main/js/hang-demo/src/index.html">here</a>.
42+
<a href="https://github.com/moq-dev/moq/blob/main/js/hang-demo/src/index.html">here</a>.
4343
</li>
4444
<li>
4545
🌐 <strong>100% Web</strong>: WebTransport, WebCodecs, WebAudio, WebWorkers, WebEtc.
@@ -65,7 +65,7 @@ export default function () {
6565
</li>
6666
<li>
6767
🔧 <strong>Compatible</strong>: TCP fallback via{" "}
68-
<a href="https://github.com/kixelated/web-transport/tree/main/web-transport-ws">WebSocket</a>, Safari fallback
68+
<a href="https://github.com/moq-dev/web-transport/tree/main/web-transport-ws">WebSocket</a>, Safari fallback
6969
via <a href="https://github.com/Yahweasel/libav.js/">libav.js.</a>
7070
</li>
7171
</ul>

src/pages/blog/first-app.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ And maybe you can catch me in [hang.live/@moq](https://hang.live/@moq) when the
3939
## Open Source
4040
Even if you don't want to use a site designed for cringe teenagers, there's much to be excited about.
4141

42-
The core networking and media stuff is [open source](https://github.com/kixelated/moq), written in **Rust** and **Typescript**.
42+
The core networking and media stuff is [open source](https://github.com/moq-dev/moq), written in **Rust** and **Typescript**.
4343
I've been polishing the core libraries for a few years now, so they're actually pretty good.
4444
There's some less-than-generic features, like [hang.live](https://hang.live) is using a track that contains the `x,y,z` coordinates of a broadcast.
4545
However, *every* component is opt-in via `enabled: true` so you can pick your poison.

src/pages/blog/first-cdn.mdx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ Check it out if you want to see the ~cringe~ cool stuff you can do with MoQ.
2929
This is a [technical preview](https://developers.cloudflare.com/moq/), so it's both free and subject to change.
3030

3131
Cloudflare is hosting a public `relay.cloudflare.mediaoverquic.com` endpoint that you can ~abuse~ test.
32-
Connect using [my library](https://github.com/kixelated/moq), [Mike's fork](https://github.com/englishm/moq-rs), [Lorenzo's imquic](https://www.meetecho.com/blog/imquic/), [Meta's moxygen](https://github.com/facebookexperimental/moxygen), or any client that supports this limited subset of draft-07.
32+
Connect using [my library](https://github.com/moq-dev/moq), [Mike's fork](https://github.com/englishm/moq-rs), [Lorenzo's imquic](https://www.meetecho.com/blog/imquic/), [Meta's moxygen](https://github.com/facebookexperimental/moxygen), or any client that supports this limited subset of draft-07.
3333

34-
I'm biased so naturally I'm going to use [@kixelated/hang](https://github.com/kixelated/moq/tree/main/js/hang) (smash that star button).
35-
You can publish a live broadcast in the browser using the [web demo](/publish) or the [library](https://github.com/kixelated/moq/blob/main/js/hang-demo/src/publish.html#L25):
34+
I'm biased so naturally I'm going to use [@moq/hang](https://github.com/moq-dev/moq/tree/main/js/hang) (smash that star button).
35+
You can publish a live broadcast in the browser using the [web demo](/publish) or the [library](https://github.com/moq-dev/moq/blob/main/js/hang-demo/src/publish.html#L25):
3636

3737
```html
3838
<script type="module">
3939
// Registers the <hang-publish> element.
40-
import "@kixelated/hang/publish/element";
40+
import "@moq/hang/publish/element";
4141
</script>
4242

4343
<!-- You'll need to replace `name` with something unique/random. -->
@@ -47,11 +47,11 @@ You can publish a live broadcast in the browser using the [web demo](/publish) o
4747
</hang-publish>
4848
```
4949

50-
There's a link to watch your live broadcast using the [web demo](/watch), or again you can use the [library](https://github.com/kixelated/moq/blob/9f5f6153458c03f255877a036e36f68f742d5c85/js/hang-demo/src/index.html#L30):
50+
There's a link to watch your live broadcast using the [web demo](/watch), or again you can use the [library](https://github.com/moq-dev/moq/blob/9f5f6153458c03f255877a036e36f68f742d5c85/js/hang-demo/src/index.html#L30):
5151
```html
5252
<script type="module">
5353
// Registers the <hang-watch> element.
54-
import "@kixelated/hang/watch/element";
54+
import "@moq/hang/watch/element";
5555
</script>
5656

5757
<!-- Use the same name as the broadcast you published. -->
@@ -69,7 +69,7 @@ But that's a whole separate blog post; it's pretty cool.
6969
[hang.live](/blog/first-app) uses the far more powerful Javascript API to do more complicated stuff like get access to individual video frames.
7070
There's a *super secret* section at the end of this blog if you LOVE sample code, but I'm not going to bore the rest of you.
7171

72-
There's also a 🦀 Rust 🦀 library [to import MP4](https://github.com/kixelated/moq/tree/main/rs/hang), [pipe media from ffmpeg](https://github.com/kixelated/moq/blob/9f5f6153458c03f255877a036e36f68f742d5c85/rs/justfile#L103), and [publish/watch using gstreamer](https://github.com/kixelated/moq/blob/9f5f6153458c03f255877a036e36f68f742d5c85/rs/justfile#L119) so you can do more complicated media stuff without 🤮 Javascript 🤮.
72+
There's also a 🦀 Rust 🦀 library [to import MP4](https://github.com/moq-dev/moq/tree/main/rs/hang), [pipe media from ffmpeg](https://github.com/moq-dev/moq/blob/9f5f6153458c03f255877a036e36f68f742d5c85/rs/justfile#L103), and [publish/watch using gstreamer](https://github.com/moq-dev/moq/blob/9f5f6153458c03f255877a036e36f68f742d5c85/rs/justfile#L119) so you can do more complicated media stuff without 🤮 Javascript 🤮.
7373
I wish I could spend more time on the Rust side but **WebSupport** is a big deal.
7474
We are no longer forced to use WebRTC, but that also means we need to build our own WebRTC in 🤮 Javascript 🤮.
7575
I can suffer and you can reap the rewards.
@@ -82,15 +82,15 @@ Cloudflare is only supporting a *tiny* subset of an [old draft](https://www.ietf
8282
They're using a [fork](https://github.com/englishm/moq-rs) of my terrible code so bugs are guaranteed.
8383

8484
- **There's no authentication yet**: choose an unguessable name for each broadcast.
85-
- **There's no ANNOUNCE support**: my [conferencing example](https://github.com/kixelated/moq/blob/main/js/hang-demo/src/meet.html) uses **ANNOUNCE** to discover when broadcasts start/stop, so that won't work.
85+
- **There's no ANNOUNCE support**: my [conferencing example](https://github.com/moq-dev/moq/blob/main/js/hang-demo/src/meet.html) uses **ANNOUNCE** to discover when broadcasts start/stop, so that won't work.
8686
- **There's no [Safari support](https://caniuse.com/webtransport)**: [It's coming eventually](https://github.com/WebKit/standards-positions/issues/18#issuecomment-1495890122).
8787
- **Nothing has been optimized**: the user experience will improve over time.
8888

89-
If any of these are deal breakers, then you could always run your own [moq-relay](https://github.com/kixelated/moq/tree/main/rs/moq-relay) in the meantime.
89+
If any of these are deal breakers, then you could always run your own [moq-relay](https://github.com/moq-dev/moq/tree/main/rs/moq-relay) in the meantime.
9090
I've been adding new features and fixing a bunch of stuff *after* Cloudflare smashed that fork button.
9191
For example, authentication (via JWT) and a WebSocket fallback for Safari/TCP support.
9292

93-
There's even a [terraform module](https://github.com/kixelated/moq/blob/main/cdn/relay.tf) that powers `cdn.moq.dev`.
93+
There's even a [terraform module](https://github.com/moq-dev/moq/blob/main/cdn/relay.tf) that powers `cdn.moq.dev`.
9494
You too can run your own "global" CDN with 3 nodes and pay ~GCP~ Linode a boatload of money for the privilege.
9595
It's not *quite* as good as Cloudflare's network, currently available for free...
9696

@@ -168,10 +168,10 @@ I knew you would win.
168168

169169
Here's an example of my reactive library in action.
170170
It powers [hang.live](/blog/first-app) so the API is subject to change and is probably already out of date.
171-
When in doubt, [consult the source code](https://github.com/kixelated/moq/tree/main/js/hang) like the hacker you are.
171+
When in doubt, [consult the source code](https://github.com/moq-dev/moq/tree/main/js/hang) like the hacker you are.
172172

173173
```typescript
174-
import { Watch } from "@kixelated/hang"
174+
import { Watch } from "@moq/hang"
175175

176176
// Start downloading a broadcast.
177177
const watch = new Watch.Broadcast({
@@ -186,7 +186,7 @@ const watch = new Watch.Broadcast({
186186
watch.audio.enabled.set(true);
187187

188188
// There are helpers to convert my custom signals, like for React:
189-
import react from "@kixelated/signals/react"
189+
import react from "@moq/signals/react"
190190
const audioInfo = react(watch.audio.info); // a JSON blob of track information
191191

192192
// You could use the built-in renderers.

src/pages/index.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,22 @@ There's a new way to achieve **real-time latency** in the browser, including con
3232
- 🔓 **Open Source**: Production-ready [Rust and TypeScript libraries](/source).
3333
- 🌐 **100% Web**: Utilizes [WebTransport](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport), [WebCodecs](https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API), [WebAudio](https://developer.mozilla.org/en-US/docs/Web/API/WebAudio_API), WebEtc.
3434
-**Real-time**: Minimal latency by skipping less important media during congestion.
35-
- 🚀 **Massive Scale**: Host your own CDN with [moq-relay](https://github.com/kixelated/moq/tree/main/rs/moq-relay) or use [Cloudflare](/blog/first-cdn).
36-
- 🎬 **Multi-Platform**: [Web](https://github.com/kixelated/moq/tree/main/js/hang), [FFmpeg](https://github.com/kixelated/moq/tree/main/rs/hang-cli), [GStreamer](https://github.com/kixelated/hang-gst), and [native](/source) clients available.
35+
- 🚀 **Massive Scale**: Host your own CDN with [moq-relay](https://github.com/moq-dev/moq/tree/main/rs/moq-relay) or use [Cloudflare](/blog/first-cdn).
36+
- 🎬 **Multi-Platform**: [Web](https://github.com/moq-dev/moq/tree/main/js/hang), [FFmpeg](https://github.com/moq-dev/moq/tree/main/rs/hang-cli), [GStreamer](https://github.com/moq-dev/gstreamer), and [native](/source) clients available.
3737
- 🔍 **Discoverable**: Live notifications when broadcasts are published or finish.
3838
- 💪 **Efficient**: No encoding or bandwidth usage until a viewer needs it.
39-
- 🌍 **Compatible**: TCP fallback via [WebSocket](https://github.com/kixelated/web-transport/tree/main/web-transport-ws), Safari fallback via [libav.js](https://github.com/Yahweasel/libav.js/).
39+
- 🌍 **Compatible**: TCP fallback via [WebSocket](https://github.com/moq-dev/web-transport/tree/main/web-transport-ws), Safari fallback via [libav.js](https://github.com/Yahweasel/libav.js/).
4040
- 🔧 **Customizable**: Hardware accelerated encoding, the rest is in your control.
4141

4242
### *Standards
43-
This website uses a [fork](/blog/transfork) of the IETF draft called [moq-lite](https://kixelated.github.io/moq-drafts/draft-lcurley-moq-lite.html) and a media layer called [hang](https://kixelated.github.io/moq-drafts/draft-lcurley-moq-hang.html).
43+
This website uses a [fork](/blog/transfork) of the IETF draft called [moq-lite](https://moq-dev.github.io/moq-drafts/draft-lcurley-moq-lite.html) and a media layer called [hang](https://moq-dev.github.io/moq-drafts/draft-lcurley-moq-hang.html).
4444
The principles behind MoQ are fantastic, but standards are **SLOW** and involve too much arguing.
4545
My goal is to build something simple that you can use *now*, even if it's not a standard *yet*.
4646

4747

4848
### Learn More
4949
Check out the [blog](/blog) for more information and a smattering of jokes.
50-
Once you're ready for more, check out the [Github](https://github.com/kixelated/moq) and/or join [Discord](https://discord.gg/FCYF3p99mr).
50+
Once you're ready for more, check out the [Github](https://github.com/moq-dev/moq) and/or join [Discord](https://discord.gg/FCYF3p99mr).
5151

5252

5353
Contributions are welcome, of course.

0 commit comments

Comments
 (0)