Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
df33940
feat: implement storybook config
jakehwll May 4, 2026
d47927c
feat: implement basic stories + theme
jakehwll May 4, 2026
77adc50
fix: use `fontFamily` over `font-family`
jakehwll May 4, 2026
5a1abb8
fix: resolve codicons
jakehwll May 4, 2026
dc8dc2e
feat: add `Opened` variant of `<ActionMenu />` story
jakehwll May 4, 2026
1d1fc50
feat: add queryclient helper
jakehwll May 4, 2026
e1d726c
fix: resolve rendering
jakehwll May 4, 2026
0798669
fix: resolve max-width size
jakehwll May 4, 2026
34dd889
feat: missing args in `<PromptInput />`
jakehwll May 4, 2026
23ae3a2
fix: resolve background color
jakehwll May 4, 2026
ea85877
fix: resolve theme and imports
jakehwll May 4, 2026
b2779b9
fix: prepend `void `
jakehwll May 4, 2026
7d3b120
fix: resolve story type
jakehwll May 4, 2026
7ac9626
fix: add future expansion
jakehwll May 4, 2026
90768d4
fix: document `getDefaultFontStack`
jakehwll May 4, 2026
a0324cb
fix: remove unnecessary themes
jakehwll May 4, 2026
ada1dcb
fix: resolve `acquireVsCodeApi`
jakehwll May 4, 2026
162bc3a
chore: reusable entities
jakehwll May 5, 2026
5587a8d
Merge branch 'main' into jakehwll/implement-storybook
jakehwll May 5, 2026
9dd27f4
fix: resolve rendering of `TasksPanel`
jakehwll May 5, 2026
76a6f3e
feat: move `testHelpers` to `mock`
jakehwll May 5, 2026
12d7c2b
fix: move to existing mock helpers
jakehwll May 5, 2026
eed89ac
feat: implement theme switcher
jakehwll May 5, 2026
fba820c
fix: debroaden `tsconfig.json`
jakehwll May 5, 2026
9def7ca
fix: improve imports
jakehwll May 5, 2026
08d95ac
fix: remove unnecessary `satisfies`
jakehwll May 5, 2026
8861bb5
fix: prefer use of `fn()`
jakehwll May 5, 2026
468b87c
fix: use `fn()` not `() => fn()`
jakehwll May 5, 2026
d28e7ae
fix: move to using `fn()` (again)
jakehwll May 5, 2026
5261c61
fix: use `import type`
jakehwll May 5, 2026
a501c75
chore: cleanup inputs
jakehwll May 5, 2026
cdae85b
fix: remove "useless ecapes"
jakehwll May 5, 2026
c85a0d5
fix: no children as props
jakehwll May 5, 2026
f21ab72
fix: no async `viteFinal`
jakehwll May 5, 2026
1271eef
fix: cleanup `preview.ts` lint
jakehwll May 5, 2026
01544dc
chore: document source of colorSchemes
jakehwll May 5, 2026
901d0d6
fix: use `StoryObj<typeof Foo>`
jakehwll May 5, 2026
ca15391
chore: stale `tsconfig.json`
jakehwll May 5, 2026
763cbea
fix: `rootDir` definition
jakehwll May 5, 2026
6a825dc
chore: comment feedback
jakehwll May 5, 2026
64b5fc6
chore: resolve pnpm lock
jakehwll May 5, 2026
5227a74
feat: `<TasksPanel />` stories
jakehwll May 5, 2026
d08350c
fix: resolve stories
jakehwll May 5, 2026
a47f0f0
chore: lint fix
jakehwll May 5, 2026
af22f0d
fix: taskspanel ids
jakehwll May 5, 2026
4672a84
fix: resolve test
jakehwll May 5, 2026
ca614fa
fix: `useRef` for `queryClient`
jakehwll May 5, 2026
181a491
fix: `createElement` story to preserve side-effects
jakehwll May 5, 2026
82385b8
fix: remove unused comment
jakehwll May 5, 2026
ea16883
fix: dynamically imported tasks css
jakehwll May 5, 2026
6d225a5
fix: describe sidebar width
jakehwll May 5, 2026
93a3e85
fix: rename story
jakehwll May 5, 2026
24f9bed
fix: temporarily disable `TasksPanel.stories.tsx`
jakehwll May 5, 2026
166e289
chore: implement chromatic
jakehwll May 5, 2026
98987e0
chore: add `--config-dir` to `storybook:ci`
jakehwll May 5, 2026
027d8ab
fix: setup chromatic ci actions as per other actions
jakehwll May 5, 2026
71f4834
fix: add missing token
jakehwll May 5, 2026
ecf7da1
fix: unique task IDs in TaskList story, clarify loading assertion in …
jakehwll May 5, 2026
ee1d2a6
fix: add missing assertions in ActionMenu and PromptInput stories
jakehwll May 5, 2026
144ea5e
fix: backport `storybook:build`
jakehwll May 6, 2026
7b5e825
fix: inline storybook dependencies
jakehwll May 6, 2026
cfedf94
fix: remove storybook artifacts from `.vscodeignore`
jakehwll May 6, 2026
0d5d139
fix: storybook `.gitignore`
jakehwll May 6, 2026
e346f15
fix: remove `getDefaultFontStack()`
jakehwll May 6, 2026
90c39bc
fix: resolve storybook to `tsconfig.packages.json`
jakehwll May 6, 2026
9350f36
fix: remove unnecessary values from `preview.ts`
jakehwll May 6, 2026
6ac98ab
fix: minify `WebviewApi`
jakehwll May 6, 2026
3411417
fix: add `@repo/storybook-utils`
jakehwll May 6, 2026
d534058
feat: implement `@repo/mocks`
jakehwll May 6, 2026
1d716b1
refactor: move tasks CSS to per-package withTasksStyles decorator
jakehwll May 6, 2026
563c07c
refactor: move withTasksStyles to utils/storybook.ts
jakehwll May 6, 2026
0983d78
refactor: use useState initializer for QueryClient in withQueryClient
jakehwll May 6, 2026
1e6e091
refactor: remove manual workspace alias resolution from Storybook
jakehwll May 6, 2026
5a94c21
fix: add missing deps to storybook-utils, fix lint errors
jakehwll May 6, 2026
1440080
fix: add tsconfigs for new packages, fix lint errors
jakehwll May 6, 2026
6b3aa21
fix: restore original coder dependency SHA in pnpm-lock.yaml
jakehwll May 6, 2026
93243c2
fix: `.prettierignore` and `eslint.config.mjs` ignore
jakehwll May 6, 2026
eef9896
chore: prettier format
jakehwll May 6, 2026
7f12290
fix: remove spurious workspaces/overrides from package.json
jakehwll May 6, 2026
8a9836a
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 6, 2026
c0321a6
revert: restore getDefaultFontStack in preview.ts
jakehwll May 6, 2026
f05a685
fix: reoslve `TasksPanel.stories.tsx` `CollapsibleToggle`
jakehwll May 6, 2026
1bcc729
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 6, 2026
62208d8
fix: add version tag to chromaui/action in CI workflow
jakehwll May 6, 2026
19f74de
fix: remove brittle play functions from TasksPanel stories
jakehwll May 6, 2026
f6ba089
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 6, 2026
ec29282
fix: sort package.json scripts in lexicographical order
jakehwll May 6, 2026
74c43a9
chore: fix `package.json` lint
jakehwll May 6, 2026
230f711
fix: lighten `Default` story
jakehwll May 7, 2026
ff6b21b
fix: flatten `<AgentChatHistory />`
jakehwll May 7, 2026
97698b3
fix: flatten `<TasksPanel />`
jakehwll May 7, 2026
75efa11
chore: upgrade to latest storybook
jakehwll May 7, 2026
72b82fd
fix: improve `acquireVsCodeApi`
jakehwll May 7, 2026
547ecc3
fix: add `storybook` typecheck
jakehwll May 7, 2026
a295316
fix: improve `tsconfig.json`
jakehwll May 7, 2026
5eb5368
chore: restrict @repo/mocks and @repo/storybook-utils imports in runt…
jakehwll May 7, 2026
7070606
chore: move storybook dependencies back to catalog
jakehwll May 7, 2026
b0ec3f2
fix: set font stack as CSS variable instead of inline fontFamily
jakehwll May 8, 2026
7023245
refactor: replace withTasksStyles decorator with import.meta.glob CSS…
jakehwll May 8, 2026
9ca1df6
chore: add sync-vscode-themes script to fetch upstream theme files
jakehwll May 8, 2026
8232451
Merge remote-tracking branch 'origin/main' into jakehwll/implement-st…
jakehwll May 8, 2026
15b5352
fix: upgrade stories to match more inline with their used variants
jakehwll May 8, 2026
b426e00
feat: resolving rendering of `<StatusIndicator />` story
jakehwll May 8, 2026
0dfc4ce
feat: extend `<TaskList />` story state
jakehwll May 8, 2026
f6f2f7d
feat: return possibly flakey test
jakehwll May 8, 2026
7519653
fix: parallelise `sync-vscode-themes.mjs`
jakehwll May 11, 2026
0f87859
fix: include `storybook.preview.ts` in `tsconfig.json`
jakehwll May 11, 2026
d984dfa
fix: resolve lint
jakehwll May 11, 2026
3d96d18
fix: async lint fix
jakehwll May 11, 2026
b2a01e3
fix: reorganise imports
jakehwll May 11, 2026
dd61f81
Merge remote-tracking branch 'origin/jakehwll/implement-storybook' in…
jakehwll May 11, 2026
a301794
chore: address PR review feedback
jakehwll May 11, 2026
fecbc71
chore: enable storybook eslint flat/recommended rules
jakehwll May 11, 2026
0f1b0b1
fix: revert coder dependency back to v2.33.1
jakehwll May 11, 2026
9e64e15
fix: restore parent branch storybook imports
jakehwll May 11, 2026
8ae45fb
fix: restore story files from parent branch
jakehwll May 11, 2026
c2fcc83
fix: restore .storybook/main.ts from parent branch
jakehwll May 11, 2026
39b2ca0
chore: inline chromatic version, drop eslint-plugin-storybook
jakehwll May 11, 2026
4795ecb
chore: sort @storybook/addon-docs in devDependencies
jakehwll May 11, 2026
0f584e3
fix: tighten scope to chromatic-only changes
jakehwll May 11, 2026
d709c81
chore: add eslint-plugin-storybook with flat/recommended rules
jakehwll May 11, 2026
77e1c57
chore: address remaining review feedback
jakehwll May 11, 2026
80693f0
upgrade storybook v8 to v10
jakehwll May 11, 2026
3ce0c4d
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 11, 2026
d04f325
address remaining review feedback
jakehwll May 11, 2026
4af0d5f
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 11, 2026
62bb158
remove play functions that depend on custom elements or IPC
jakehwll May 11, 2026
73cf031
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 11, 2026
32dd1bf
set --vscode-font-family in storybook theme decorator
jakehwll May 11, 2026
9cb940c
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 11, 2026
1fdb668
Merge remote-tracking branch 'origin/main' into jakehwll/implement-st…
jakehwll May 11, 2026
13b5924
Merge branch 'jakehwll/implement-storybook' into jakehwll/implement-c…
jakehwll May 11, 2026
c3a8631
Merge remote-tracking branch 'origin/main' into jakehwll/implement-ch…
jakehwll May 12, 2026
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
44 changes: 44 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,50 @@ jobs:
run: ${{ runner.os == 'Linux' && 'xvfb-run -a' || '' }} pnpm test:integration --label "VS Code ${{ matrix.vscode-version }}"
shell: bash

chromatic:
name: Chromatic
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
persist-credentials: false

- name: Setup pnpm, Node.js, and dependencies
uses: ./.github/actions/setup

# PR builds gate on visual review; mainline auto-accepts.
- name: Publish to Chromatic (non-mainline)
if: github.ref != 'refs/heads/main' && github.repository_owner == 'coder'
uses: chromaui/action@5c6ec06f45a2117a25f07b1bf2b2f3009233fac8 # v16.3.0
env:
NODE_OPTIONS: "--max_old_space_size=4096"
STORYBOOK: true
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
buildScriptName: "storybook:ci"
exitOnceUploaded: true
exitZeroOnChanges: true
skip: "@(renovate/**|dependabot/**)"
onlyChanged: true
zip: true

# Auto-accept on mainline to avoid blocking CI after squash merges.
- name: Publish to Chromatic (mainline)
if: github.ref == 'refs/heads/main' && github.repository_owner == 'coder'
uses: chromaui/action@5c6ec06f45a2117a25f07b1bf2b2f3009233fac8 # v16.3.0
env:
NODE_OPTIONS: "--max_old_space_size=4096"
STORYBOOK: true
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
autoAcceptChanges: true
exitZeroOnChanges: true
buildScriptName: "storybook:build"
zip: true

package:
name: Package
runs-on: ubuntu-24.04
Expand Down
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"build": "concurrently -g -n webviews,extension,compile-tests:integration \"pnpm build:webviews\" \"node esbuild.mjs\" \"pnpm compile-tests:integration\"",
"build:production": "cross-env NODE_ENV=production pnpm build",
"build:webviews": "pnpm -r --filter \"./packages/*\" --parallel build",
"chromatic": "chromatic",
"compile-tests:integration": "tsc -p test/integration --outDir out --noCheck",
"format": "prettier --write --cache --cache-strategy content .",
"format:check": "prettier --check --cache --cache-strategy content .",
Expand All @@ -30,6 +31,7 @@
"package:prerelease": "pnpm build:production && vsce package --pre-release --no-dependencies",
"storybook": "storybook dev -p 6006 --config-dir .storybook",
"storybook:build": "storybook build --config-dir .storybook",
"storybook:ci": "storybook build --test --config-dir .storybook",
"test": "cross-env CI=true ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs",
"test:extension": "cross-env ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs --project extension",
"test:integration": "pnpm compile-tests:integration && node esbuild.mjs && vscode-test",
Expand Down Expand Up @@ -724,6 +726,7 @@
"@vscode/vsce": "^3.9.1",
"babel-plugin-react-compiler": "catalog:",
"bufferutil": "^4.1.0",
"chromatic": "^16.9.1",
"coder": "catalog:",
"concurrently": "^9.2.1",
"cross-env": "^10.1.0",
Expand Down
22 changes: 22 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading