+
{(author) => (
diff --git a/packages/gui-extensions/src/updater/beta-page.tsx b/packages/gui-extensions/src/updater/beta-page.tsx
index 7dfd3129402..84065a32279 100644
--- a/packages/gui-extensions/src/updater/beta-page.tsx
+++ b/packages/gui-extensions/src/updater/beta-page.tsx
@@ -1,12 +1,13 @@
-import { Show } from "solid-js"
+import { createSignal, For, onCleanup, onMount, Show } from "solid-js"
+import { createMediaQuery } from "@solid-primitives/media"
import { Option } from "effect"
import { Button } from "@opencode/ui/button"
import { useExtension } from "../sdk"
-import { Section } from "./beta-dialog"
-import { allBetaNotes, betaHistory, decodeEmbeddedNotes, type EmbeddedNotes } from "./beta-notes"
+import { Meta, Visual } from "./beta-dialog"
+import { allBetaNotes, betaHistory, decodeEmbeddedNotes, type BetaNote, type EmbeddedNotes } from "./beta-notes"
import type definition from "./index"
-/** Settings > What's new in beta: every change this build carries, as the dialog shows them. */
+/** Settings > What's new in beta: every change this build carries, in the host's settings list markup. */
export default function BetaNotesPage() {
const ctx = useExtension()
@@ -20,6 +21,9 @@ export default function BetaNotesPage() {
export function BetaNotesView(props: { embedded: EmbeddedNotes | undefined; open: (href: string) => void }) {
const ctx = useExtension()
+ // Below 640px a row's control slot wraps under its title, so narrow windows leave the visuals to the dialog.
+ const wide = createMediaQuery("(min-width: 640px)")
+ const watch = createWatch()
return (
@@ -30,15 +34,15 @@ export function BetaNotesView(props: { embedded: EmbeddedNotes | undefined; open
<>