Skip to content

Conversation

@kixelated
Copy link
Collaborator

No description provided.

@coderabbitai
Copy link

coderabbitai bot commented Dec 20, 2025

Walkthrough

This pull request replaces pnpm with bun (v1.3.4) across CI, Docker, scripts, and the justfile; updates packageManager and install/build commands accordingly; renames package namespace from moq to kixelated (e.g., kixelated/hang, kixelated/signals/react) and updates imports in components and docs; adds a new blog page; and adjusts astro config and other documentation to reference the new package names.

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether it relates to the changeset. The PR should include a description explaining the changes. Add a description explaining the purpose and content of the hash-tag blog post and any related package manager/namespace updates included in this PR.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Write a hash-tag blog post' accurately describes the main change—adding a new blog post at src/pages/blog/hash-tag-community.mdx. It is concise, clear, and specific.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch hash-tag

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 863f3e5 and 593a15b.

📒 Files selected for processing (1)
  • src/pages/blog/hash-tag-community.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/blog/hash-tag-community.mdx

[style] ~11-~11: Consider using a synonym to be more concise.
Context: ... --- # Hash Tag Community There's been a LOT of new contributions to the project thanks...

(A_LOT_OF)


[style] ~14-~14: Consider setting off ‘too’ with commas if you want to emphasize an abrupt change of thought.
Context: ...sunny Uruguay for the summer camp week. You too can fly out and have awkward conversati...

(MISSING_COMMA_WITH_TOO)


[grammar] ~25-~25: Ensure spelling is correct
Context: ...lated, kixelated, kixelated` like a beatlejuice knockoff. I created a [moq-dev](https:...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[uncategorized] ~27-~27: The official name of this software platform is spelled with a capital “H”.
Context: ...a moq-dev Github organization to reflect the community's...

(GITHUB)


[style] ~41-~41: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...oq/hang): Opinionated media library. - [@moq/hang-ui](https://www.npmjs.com/package/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~42-~42: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... for said opinionated media library. - [@moq/signals](https://www.npmjs.com/package/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~114-~114: To elevate your writing, try using a synonym here.
Context: ...of the improved QoE and scale, but it's hard to beat the cost savings of P2P. `iroh...

(HARD_TO)


[grammar] ~121-~121: Use a hyphen to join words.
Context: ... a CDN for web browsers and iroh for P2P compatible clients. In fact, I just got ...

(QB_NEW_EN_HYPHEN)


[grammar] ~126-~126: Ensure spelling is correct
Context: ...e/latest/moq_lite/) API. The ability to fanout/discover via multiple connections/CDNs ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[uncategorized] ~144-~144: A possessive apostrophe is required here.
Context: ...g stuff, but welcome to megacorp. Money trumps personal satisfaction. ## Go + Java I...

(PRESIDENT_TRUMP)


[style] ~148-~148: In American English, abbreviations like “etc.” require a period.
Context: .../moqt), Akamai, etc). However none are as personally exciti...

(ETC_PERIOD)


[style] ~167-~167: ‘Last but not least’ might be wordy. Consider a shorter alternative.
Context: ...rab now. ## Asymmetric Authentication Last but not least, [einrobin](https://github.com/einrobin...

(EN_WORDINESS_PREMIUM_LAST_BUT_NOT_LEAST)


[style] ~181-~181: ‘Yeah’ is rather colloquial language. To make your writing more formal, re-evaluate if it is necessary in this context.
Context: ...t up the sign/verify responsibilities. So yeah, if you choose to use an asymmetric key...

(SO_YEAH)


[grammar] ~182-~182: Ensure spelling is correct
Context: ...tric key, the CDN can't forge requests. Hurray? Hurray! ## FIN It's tiring being an inf...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~188-~188: Consider removing “of” to be more concise
Context: ... is my legacy, and I greatly appreciate all of the help from the #community. Just a rem...

(ALL_OF_THE)


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/components/watch.tsx (1)

26-26: Fix formatting to resolve pipeline failure.

The pipeline indicates a formatting issue in this section. Run Biome to fix the formatting.

#!/bin/bash
# Fix formatting issue
bun exec biome check --fix src/components/watch.tsx
🧹 Nitpick comments (2)
.github/workflows/pr.yml (1)

17-18: Consider adding Bun dependency caching.

The workflow could benefit from caching Bun dependencies to improve CI performance. This is optional but recommended for faster builds.

💡 Suggested cache configuration
      - uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.3.4
+         cache: true

      - run: bun install --frozen-lockfile
      - run: bun run check

Alternatively, you can use the manual cache action:

      - uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.3.4
+
+     - uses: actions/cache@v4
+       with:
+         path: ~/.bun/install/cache
+         key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
+         restore-keys: |
+           ${{ runner.os }}-bun-

      - run: bun install --frozen-lockfile
      - run: bun run check
src/pages/blog/hash-tag-community.mdx (1)

104-127: Consider hyphenating compound adjective.

Line 120: "P2P compatible clients" should be "P2P-compatible clients" when used as a compound adjective.

This is a minor style improvement for technical writing clarity.

🔎 Proposed fix
-But I think with a few small tweaks, it's possible to use a CDN for web browsers and iroh for P2P compatible clients.
+But I think with a few small tweaks, it's possible to use a CDN for web browsers and iroh for P2P-compatible clients.
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4694cf5 and 863f3e5.

⛔ Files ignored due to path filters (5)
  • bun.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • public/blog/hash-tag-community/hash.png is excluded by !**/*.png
  • public/blog/hash-tag-community/live.png is excluded by !**/*.png
  • public/blog/hash-tag-community/ui.png is excluded by !**/*.png
📒 Files selected for processing (12)
  • .github/workflows/pr.yml (1 hunks)
  • CLAUDE.md (2 hunks)
  • Dockerfile (1 hunks)
  • astro.config.ts (2 hunks)
  • justfile (1 hunks)
  • package.json (2 hunks)
  • src/components/publish.tsx (1 hunks)
  • src/components/support.tsx (1 hunks)
  • src/components/watch.tsx (1 hunks)
  • src/pages/blog/first-cdn.mdx (4 hunks)
  • src/pages/blog/hash-tag-community.mdx (1 hunks)
  • src/pages/source.mdx (1 hunks)
🧰 Additional context used
🪛 GitHub Actions: pr
src/components/publish.tsx

[warning] 1-1: Biome organize-imports: Imports/exports should be sorted.

src/components/watch.tsx

[error] 24-28: File content differs from formatting output. Run Biome format/organize to fix.

🪛 LanguageTool
src/pages/blog/hash-tag-community.mdx

[style] ~11-~11: Consider using a synonym to be more concise.
Context: ... --- # Hash Tag Community There's been a LOT of new contributions to the project thanks...

(A_LOT_OF)


[style] ~14-~14: Consider setting off ‘too’ with commas if you want to emphasize an abrupt change of thought.
Context: ...sunny Uruguay for the summer camp week. You too can fly out and have awkward conversati...

(MISSING_COMMA_WITH_TOO)


[grammar] ~24-~24: Ensure spelling is correct
Context: ...lated, kixelated, kixelated` like a beatlejuice knockoff. I created a [moq-dev](https:...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[uncategorized] ~26-~26: The official name of this software platform is spelled with a capital “H”.
Context: ...a moq-dev Github organization to reflect the community's...

(GITHUB)


[style] ~40-~40: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...oq/hang): Opinionated media library. - [@moq/hang-ui](https://www.npmjs.com/package/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~41-~41: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... for said opinionated media library. - [@moq/signals](https://www.npmjs.com/package/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~113-~113: To elevate your writing, try using a synonym here.
Context: ...of the improved QoE and scale, but it's hard to beat the cost savings of P2P. `iroh...

(HARD_TO)


[grammar] ~120-~120: Use a hyphen to join words.
Context: ... a CDN for web browsers and iroh for P2P compatible clients. In fact, I just got ...

(QB_NEW_EN_HYPHEN)


[grammar] ~125-~125: Ensure spelling is correct
Context: ...r-engineer the protocol. The ability to fanout/discover via multiple connections/CDNs ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[uncategorized] ~143-~143: A possessive apostrophe is required here.
Context: ...ut welcome to megacorp. Sometimes money trumps personal satisfaction. ## Go + Java I...

(PRESIDENT_TRUMP)


[style] ~147-~147: In American English, abbreviations like “etc.” require a period.
Context: .../moqt), Akamai, etc). However none are as personally exciti...

(ETC_PERIOD)


[style] ~166-~166: ‘Last but not least’ might be wordy. Consider a shorter alternative.
Context: ...rab now. ## Asymmetric Authentication Last but not least, [einrobin](https://github.com/einrobin...

(EN_WORDINESS_PREMIUM_LAST_BUT_NOT_LEAST)


[style] ~180-~180: ‘Yeah’ is rather colloquial language. To make your writing more formal, re-evaluate if it is necessary in this context.
Context: ...t up the sign/verify responsibilities. So yeah, if you choose to use an asymmetric key...

(SO_YEAH)


[grammar] ~181-~181: Ensure spelling is correct
Context: ...tric key, the CDN can't forge requests. Hurray? Hurray! ## FIN It's tiring being an inf...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~187-~187: Consider removing “of” to be more concise
Context: ... is my legacy, and I greatly appreciate all of the help from the #community. Just a rem...

(ALL_OF_THE)

🔇 Additional comments (23)
astro.config.ts (1)

29-30: LGTM! Package namespace updated correctly.

The configuration correctly references the new @kixelated/hang package in both the filesystem allow list and optimization exclusions.

Also applies to: 40-40

src/pages/source.mdx (1)

42-43: LGTM! Documentation updated to reflect new package namespace.

The package references are correctly updated from @moq/moq and @moq/hang to @kixelated/moq and @kixelated/hang, maintaining consistency with the codebase changes.

src/components/watch.tsx (1)

2-3: LGTM! Import paths updated correctly.

The import paths are correctly updated to use the @kixelated/hang package.

src/components/support.tsx (1)

5-5: LGTM! Dynamic import path updated correctly.

The dynamic import correctly references the new @kixelated/hang/support/element package path.

justfile (1)

11-54: LGTM! Complete migration from pnpm to Bun.

All commands have been correctly updated to use Bun equivalents:

  • pnpm ibun i
  • pnpm execbun exec
  • pnpm runbun run
  • pnpm testbun test
  • pnpm upgradebun upgrade

The command structure and functionality remain intact while adopting the new package manager.

src/pages/blog/first-cdn.mdx (1)

34-34: LGTM! Blog post updated with new package namespace.

All references to the Hang library and related packages have been correctly updated from the @moq namespace to @kixelated namespace throughout the blog post:

  • Text references and code examples updated
  • Import statements in code samples reflect the new package paths
  • The migration is consistent across all occurrences

Also applies to: 40-40, 54-54, 174-174, 189-189

.github/workflows/pr.yml (1)

13-15: No action needed. Bun version 1.3.4 is a valid release (published 5 days ago), and the version is available for installation. The specification in the workflow is correct.

src/pages/blog/hash-tag-community.mdx (7)

1-8: LGTM!

The frontmatter is correctly structured for an Astro blog post with all required fields present.


10-21: Introduction sets the casual, personal tone effectively.

The reference to the Montevideo Tech Summer Camp and the informal style are appropriate for this blog post.


46-73: LGTM!

The OBS integration section is well-structured with proper attribution to contributors and clear technical explanations.


75-102: LGTM!

Great acknowledgment of frontend contributions with proper links and a welcoming tone for future contributors.


146-164: LGTM!

Good technical overview of alternative MoQ implementations and the rationale for moq-lite. The historical context about previous Go implementations adds valuable perspective.


166-184: LGTM!

Clear explanation of asymmetric authentication benefits with proper technical references. The casual tone ("So yeah") is appropriate for this blog post format.


185-193: LGTM!

Appropriate conclusion with clear calls to action and author attribution.

Dockerfile (3)

7-8: LGTM!

The production dependencies installation correctly uses Bun with appropriate flags (--production --frozen-lockfile) and proper cache configuration.


10-12: LGTM!

Build stage correctly installs all dependencies and runs the build command using Bun.


14-18: LGTM!

The final stage correctly uses Bun to run the server entry point. Bun's Node.js compatibility ensures this will work with the Astro-generated server code.

CLAUDE.md (3)

32-32: LGTM!

Package manager documentation correctly updated to reflect the migration from pnpm to Bun v1.3.4.


36-41: LGTM!

Documentation correctly updated to reflect:

  1. Package rename from @moq/hang to @kixelated/hang
  2. Addition of the watching component

The custom web component references (<hang-publish>, <hang-watch>, <hang-support>) align with the documented component files.


70-70: LGTM!

Consistent package reference update throughout the documentation.

package.json (3)

13-13: LGTM!

The fix script correctly updated to use bun audit fix instead of pnpm audit fix, consistent with the package manager migration.


34-34: LGTM!

Package manager field correctly updated to bun@1.3.4, consistent with the Dockerfile and CLAUDE.md documentation.


16-16: Version increase from 0.1.0 to 0.6.1 is valid but requires verification of compatibility.

The dependency changed from @moq/hang ^0.1.0 to @kixelated/hang ^0.6.1. The package @kixelated/hang is published on npm, confirming the version 0.6.1 exists. Verify that this significant version jump (0.1 → 0.6) does not introduce breaking changes that affect this project's functionality.

FROM node:slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
FROM oven/bun:1.3.4-slim AS base
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use Bun 1.3.5 instead of 1.3.4.

Bun 1.3.4 is confirmed as a stable, released version, but Bun 1.3.5 (released 3 days ago) includes additional bug fixes and improvements. Update the base image to oven/bun:1.3.5-slim for the latest stable release.

🤖 Prompt for AI Agents
In Dockerfile around lines 1 to 1, the base image pins oven/bun:1.3.4-slim;
update the tag to oven/bun:1.3.5-slim to use the newer stable Bun release.
Modify the FROM line to reference oven/bun:1.3.5-slim (no other changes needed).

Comment on lines 1 to +5
import { adjectives, animals, uniqueNamesGenerator } from "unique-names-generator";
import { createSignal } from "solid-js";

import "@moq/hang/support/element";
import "@moq/hang/publish/element";
import "@kixelated/hang/support/element";
import "@kixelated/hang/publish/element";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix import organization to resolve pipeline failure.

The pipeline indicates imports need to be sorted. Run Biome to fix the import order.

#!/bin/bash
# Fix import organization issue
bun exec biome check --fix src/components/publish.tsx
🧰 Tools
🪛 GitHub Actions: pr

[warning] 1-1: Biome organize-imports: Imports/exports should be sorted.

🤖 Prompt for AI Agents
In src/components/publish.tsx around lines 1 to 5, the import statements are not
sorted which fails the CI lint/format pipeline; run Biome to auto-fix import
ordering (e.g., execute bun exec biome check --fix src/components/publish.tsx or
run your project’s configured formatter) so the imports are organized per
project rules, then re-run tests/CI and commit the updated file.

Comment on lines 22 to 44
## moq-dev
But first, some arbitrary renaming to break workflows.
No more typing `kixelated`, `kixelated`, `kixelated` like a beatlejuice knockoff.

I created a [moq-dev](https://github.com/moq-dev) Github organization to reflect the community's newfound professionalism.

- [moq-dev/moq](https://github.com/moq-dev/moq): Rust/Typescript libraries.
- [moq-dev/obs](https://github.com/moq-dev/obs): (*spoiler alert*) OBS plugins. (*spoiler alert*)
- [moq-dev/gstreamer](https://github.com/moq-dev/gstreamer): Gstreamer plugins.
- [moq-dev/moq.dev](https://github.com/moq-dev/moq.dev): This website. So meta.
- [moq-dev/web-transport](https://github.com/moq-dev/web-transport): Rust/Typescript WebTransport libraries.

There's also a new `@moq` NPM organization.
However, I've yet to publish *working* packages under these sick new names yet because of the yet another obscure bundler bug.
The Javascript ecosystem is an absolute mess.

- [@moq/lite](https://www.npmjs.com/package/@moq/lite): Generic network transport.
- [@moq/hang](https://www.npmjs.com/package/@moq/hang): Opinionated media library.
- [@moq/hang-ui](https://www.npmjs.com/package/@moq/hang-ui): Optional UI for said opinionated media library.
- [@moq/signals](https://www.npmjs.com/package/@moq/signals): Custom signaling library because I could.

I will keep renaming stuff until moral improves.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

❓ Verification inconclusive

Script executed:

cat -n src/pages/blog/hash-tag-community.mdx | sed -n '22,44p'

Repository: moq-dev/moq.dev


Repository: moq-dev/moq.dev
Exit code: 0

stdout:

    22	## moq-dev
    23	But first, some arbitrary renaming to break workflows.
    24	No more typing `kixelated`, `kixelated`, `kixelated` like a beatlejuice knockoff.
    25	
    26	I created a [moq-dev](https://github.com/moq-dev) Github organization to reflect the community's newfound professionalism.
    27	
    28	- [moq-dev/moq](https://github.com/moq-dev/moq): Rust/Typescript libraries.
    29	- [moq-dev/obs](https://github.com/moq-dev/obs): (*spoiler alert*) OBS plugins. (*spoiler alert*)
    30	- [moq-dev/gstreamer](https://github.com/moq-dev/gstreamer): Gstreamer plugins.
    31	- [moq-dev/moq.dev](https://github.com/moq-dev/moq.dev): This website. So meta.
    32	- [moq-dev/web-transport](https://github.com/moq-dev/web-transport): Rust/Typescript WebTransport libraries.
    33	
    34	There's also a new `@moq` NPM organization.
    35	However, I've yet to publish *working* packages under these sick new names yet because of the yet another obscure bundler bug.
    36	The Javascript ecosystem is an absolute mess.
    37	
    38	- [@moq/lite](https://www.npmjs.com/package/@moq/lite): Generic network transport.
    39	- [@moq/hang](https://www.npmjs.com/package/@moq/hang): Opinionated media library.
    40	- [@moq/hang-ui](https://www.npmjs.com/package/@moq/hang-ui): Optional UI for said opinionated media library.
    41	- [@moq/signals](https://www.npmjs.com/package/@moq/signals): Custom signaling library because I could.
    42	
    43	I will keep renaming stuff until moral improves.
    44	

Script executed:

find . -name "package.json" -type f | head -20

Repository: moq-dev/moq.dev


Repository: moq-dev/moq.dev
Exit code: 0

stdout:

./package.json

Script executed:

cat ./package.json

Repository: moq-dev/moq.dev


Repository: moq-dev/moq.dev
Exit code: 0

stdout:

{
	"name": "moq.dev",
	"type": "module",
	"version": "0.0.1",
	"private": true,
	"scripts": {
		"dev": "astro dev --open",
		"build": "astro build --production",
		"preview": "wrangler pages dev ./dist",
		"deploy": "wrangler deploy",
		"prod": "astro build --production && wrangler pages dev ./dist --open",
		"check": "biome ci && tsc --noEmit",
		"fix": "biome check --write && bun audit fix"
	},
	"dependencies": {
		"@kixelated/hang": "^0.6.1",
		"astro": "^5.8.2",
		"solid-js": "^1.9.7",
		"unique-names-generator": "^4.7.1"
	},
	"devDependencies": {
		"@biomejs/biome": "2.0.5",
		"vite-plugin-static-copy": "^2.3.1",
		"@astrojs/mdx": "4.3.0",
		"@astrojs/rss": "^4.0.12",
		"@astrojs/solid-js": "5.1.0",
		"@astrojs/tailwind": "6.0.2",
		"@tailwindcss/forms": "^0.5.10",
		"@tailwindcss/typography": "^0.5.16",
		"tailwindcss": "^3.4.17",
		"@types/node": "^22.15.29",
		"wrangler": "^4.29.1"
	},
	"packageManager": "bun@1.3.4"
}

Fix typos and clarify package namespace inconsistency.

  1. Line 24: "beatlejuice" should be "Beetlejuice" (proper movie/character name)
  2. Line 26: "Github" should be "GitHub" (official brand capitalization)
  3. Lines 34-42: The blog discusses publishing packages under the @moq NPM organization, but the actual website depends on @kixelated/hang (see package.json). Clarify whether the blog post predates the decision to use @kixelated instead, or if there's a mismatch between the planned @moq packages mentioned here and the current implementation.
🧰 Tools
🪛 LanguageTool

[grammar] ~24-~24: Ensure spelling is correct
Context: ...lated, kixelated, kixelated` like a beatlejuice knockoff. I created a [moq-dev](https:...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[uncategorized] ~26-~26: The official name of this software platform is spelled with a capital “H”.
Context: ...a moq-dev Github organization to reflect the community's...

(GITHUB)


[style] ~40-~40: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...oq/hang): Opinionated media library. - [@moq/hang-ui](https://www.npmjs.com/package/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~41-~41: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... for said opinionated media library. - [@moq/signals](https://www.npmjs.com/package/...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🤖 Prompt for AI Agents
In src/pages/blog/hash-tag-community.mdx around lines 22 to 44, fix three
issues: change "beatlejuice" to "Beetlejuice" on line 24 and "Github" to
"GitHub" on line 26, and resolve the NPM namespace mismatch described in lines
34–42 by clarifying whether the post predates switching to @kixelated or
updating the text to reflect the current packages; either update the blog text
to state that packages are published under @kixelated (and optionally mention
the planned @moq org), or change the references to @moq only after confirming
and aligning package.json/published packages to @moq so the post and codebase
are consistent.

Comment on lines 128 to 144
## HLS/DASH/CMAF/HAM
For some reason, the media industry really love acronyms.
And big bunnies.

But the media industry **REALLY** loves adding `LL-` in front of an acronym to say "this is the really, really low latency one I swear".

Unfortunately, `LL-HLS` and `LL-DASH` are not quite low latency enough, so we need some way to convert them to MoQ.
[sebastianpiq](https://github.com/sebastianpiq) has added a way to [convert a HLS playlist](https://github.com/moq-dev/moq/pull/789) into a MoQ stream.
That's right, now a megacorp can take their existing HLS infrastructure and put MoQ branding on it! 🎉

It still needs quite a bit more work, like adding the aforementioned `LL-HLS` support.
The next steps are [CMAF passthrough](https://github.com/moq-dev/moq/issues/676) and [MSE playback](https://github.com/moq-dev/moq/issues/682) so said megacorp can support DRM and legacy devices.
Finally, I have a [super secret plan](https://github.com/moq-dev/moq/issues/685) to serve HLS from a generic MoQ relay to make megacorp adoption even easier.

I know, it's not exactly the most exciting stuff, but welcome to megacorp.
Sometimes money trumps personal satisfaction.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix punctuation in American English.

Line 147: "etc)" should be "etc.)" - the period is required after "etc" in American English.

🔎 Proposed fix
-It's no secret that there are plenty of other MoQ implementations in development ([Cloudflare](https://github.com/cloudflare/moq-rs), [Google](https://github.com/google/quiche/tree/4ecc13ccdad3359ff50ea209decb9be243927596/quiche/quic/moqt), [Akamai](https://openmoq.org/), etc).
+It's no secret that there are plenty of other MoQ implementations in development ([Cloudflare](https://github.com/cloudflare/moq-rs), [Google](https://github.com/google/quiche/tree/4ecc13ccdad3359ff50ea209decb9be243927596/quiche/quic/moqt), [Akamai](https://openmoq.org/), etc.).

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~143-~143: A possessive apostrophe is required here.
Context: ...ut welcome to megacorp. Sometimes money trumps personal satisfaction. ## Go + Java I...

(PRESIDENT_TRUMP)

🤖 Prompt for AI Agents
In src/pages/blog/hash-tag-community.mdx around lines 128 to 144 (and
specifically the occurrence noted near line 147), fix the American English
punctuation by changing any "etc)" to "etc.)"; ensure the period comes
immediately after "etc" before the closing parenthesis and update any similar
instances where "etc" ends a parenthetical to include the period.

@kixelated kixelated merged commit d62cb6e into main Dec 20, 2025
1 check failed
@kixelated kixelated deleted the hash-tag branch December 20, 2025 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants