Stop Tailwind scanning ref strings, colour links in the user bubble

Tailwind read ref literals like [file:12] in prompts and docs as arbitrary-property utilities and emitted invalid CSS; those files hold no className, so they are excluded from the scan. Links in the user's ink bubble get a readable blue instead of the bubble's own ink, and the bubble no longer needs its own CSS class.
This commit is contained in:
2026-10-21 19:03:24 +01:00
parent d17a4a7bdd
commit f644772944
3 changed files with 20 additions and 3 deletions
@@ -14,7 +14,7 @@ export default function UserMarkdownLink(props: ComponentProps<"a">) {
href={props.href} href={props.href}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="text-on-ink underline underline-offset-2 hover:opacity-80 break-words" className="text-blue-400 dark:text-blue-600 underline underline-offset-2 hover:opacity-80 break-words"
> >
{props.children} {props.children}
</Link> </Link>
+6 -2
View File
@@ -61,7 +61,9 @@ try {
await ensureDockerNetwork(); await ensureDockerNetwork();
} catch (error) { } catch (error) {
await logError({ title: "Docker isn't available", error }).catch(() => {}); await logError({ title: "Docker isn't available", error }).catch(() => {});
console.error(`Can't start without docker: ${error instanceof Error ? error.message : String(error)}`); console.error(
`Can't start without docker: ${error instanceof Error ? error.message : String(error)}`,
);
process.exit(1); process.exit(1);
} }
@@ -122,7 +124,9 @@ const server = Bun.serve({
const response = await bunext.bunextRequestHandler({ req, server }); const response = await bunext.bunextRequestHandler({ req, server });
return response ? await compressResponse({ req, response }) : response; return response
? await compressResponse({ req, response })
: response;
} catch (error: any) { } catch (error: any) {
await logError({ await logError({
title: "Unhandled request error", title: "Unhandled request error",
+13
View File
@@ -1,5 +1,18 @@
@import "@moduletrace/twui/base.css"; @import "@moduletrace/twui/base.css";
/* Doc and prompt strings mention refs like `[file:12]`, which Tailwind would
read as an arbitrary-property utility and emit as `file: 12` (esbuild then
warns it is not a CSS property). None of these files holds a className. */
@source not "../../AGENTS.md";
@source not "../../db/**";
@source not "../**/*.test.ts";
@source not "../**/*.test.tsx";
@source not "../data/harness-prompts.ts";
@source not "../utils/file-ref.ts";
@source not "../utils/link-computer-refs.ts";
@source not "../harness/tools/storage/list-files-tool.ts";
@source not "../harness/tools/storage/storage-tool-context.ts";
/* Cobble design tokens (handoff `tokens/tokens.css`). Light on `:root`, dark /* Cobble design tokens (handoff `tokens/tokens.css`). Light on `:root`, dark
on `.dark` (twui's dark variant). Exposed to Tailwind in `@theme inline`. */ on `.dark` (twui's dark variant). Exposed to Tailwind in `@theme inline`. */
:root { :root {