Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 1 addition & 3 deletions .claude/skills/version-bump/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,7 @@ mixing the content block types below in any order.
{
"version": "YYYY.MM.DD",
"date": "YYYY-MM-DD",
"changes": [
/* content blocks */
]
"changes": [/* content blocks */]
}
```

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
bun-version-file: package.json

- run: bun install --frozen-lockfile

Expand Down
7 changes: 6 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ in page chrome, referer-based robots.txt fixtures).
- Test files live in a `tests/` subfolder beside the code they cover (e.g.
`entrypoints/popup/tests/`, `utils/tests/`) with a `.test.ts` suffix, and are
excluded from `tsconfig.json`
- Bun has no DOM. Tests that need one use `linkedom` (`parseHTML`): assign its
globals to `globalThis` before importing the module under test and restore
them in `afterAll`, since all test files share one process (see
`utils/tests/toast.test.ts`)
- Analytics events live in `utils/analytics-actions.ts` (`ANALYTICS_ACTIONS`,
the source of truth); the Supabase track function imports
`valid-actions.gen.ts`, generated from it via `bun run track:gen` (run
Expand All @@ -53,7 +57,8 @@ in page chrome, referer-based robots.txt fixtures).
## Version Bumping & Changelog

When bumping the version or updating the changelog, use the `/version-bump`
skill. It handles CalVer format, file updates, and changelog entries.
skill, including inside `/ship`. It handles CalVer format, file updates, and
changelog entries.

## Pruning Theme Data

Expand Down
16 changes: 10 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ started.

## Prerequisites

- [Bun](https://bun.sh/) (v1.2+)
- [Bun](https://bun.sh/) (v1.4+)
- Chrome

## Development Setup
Expand Down Expand Up @@ -78,11 +78,15 @@ Unit tests use Bun's built-in test runner:
bun test
```

Test files live next to the code they cover with a `.test.ts` suffix (e.g.
`entrypoints/popup/robots.test.ts`) and are excluded from `tsconfig.json`. If
you add or rename an analytics event in `utils/analytics-actions.ts`, update
`VALID_ACTIONS` in `supabase/functions/track/index.ts` too — a parity test
fails `bun test` when the two lists drift.
Test files live in a `tests/` subfolder beside the code they cover, with a
`.test.ts` suffix (e.g. `entrypoints/popup/tests/robots.test.ts`), and are
excluded from `tsconfig.json`. Bun has no DOM, so tests that need one build it
with [linkedom](https://github.com/WebReflection/linkedom).

If you add, rename, or remove an analytics event in
`utils/analytics-actions.ts`, run `bun run track:gen` to regenerate
`supabase/functions/track/valid-actions.gen.ts`. A parity test fails `bun test`
when the generated file is stale.

## Submitting Changes

Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ who got tired of clicking through endless menus.
- Draggable panel resizers for the customizer layout
- Theme inspector auto-toggle (always on/off/remember last state)
- Theme list utilities: copy preview URLs, quick actions per theme
- **Admin Sidebar Collapse**: toggle the Shopify admin sidebar for more
screen space
- **Code Editor Close Warning**: prevents accidental tab close (Cmd+W) in the
theme code editor
- **Collaborator Permission Presets**
Expand All @@ -51,7 +49,7 @@ who got tired of clicking through endless menus.

### Prerequisites

- [Bun](https://bun.sh/) (v1.2+)
- [Bun](https://bun.sh/) (v1.4+)
- Chrome

### Setup
Expand Down
14 changes: 14 additions & 0 deletions TODOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,20 @@ The background service worker runs a `setInterval` keep-alive (`entrypoints/back

**Revert story:** one commit, e.g. `fix(background): register menu click listener eagerly, drop keep-alive`. Reverting that commit restores keep-alive and the lazy listener wholesale.

## Shopify Admin

### Retire the one-time sidebar toggle goodbye toast

**Priority:** P3. Do it once most toggle users have opened the admin on v2026.09.24 or later (a few months after release, e.g. December 2026).

`entrypoints/shopify-admin.content/index.ts` shows a one-time goodbye toast to merchants who still have the `admin-sidebar-state` storage key left by the retired sidebar toggle. Once the goodbye has done its job, remove:

- The farewell block and `SIDEBAR_STATE_KEY` in `entrypoints/shopify-admin.content/index.ts`, plus the farewell tests in `entrypoints/shopify-admin.content/tests/index.test.ts`.
- The `'announcement'` toast variant in `utils/toast.ts` (scoped CSS and `<br>` splitting) and its tests in `utils/tests/toast.test.ts`, if nothing else uses it by then.
- `removeItem` in `utils/storage.ts`, if the farewell is still its only caller.

Leftover `admin-sidebar-state` keys for merchants who never saw the goodbye are harmless and can stay.

## Cartograph

### Cart Permalinks / Checkout Links
Expand Down
1,013 changes: 645 additions & 368 deletions bun.lock

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions changelog.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
[
{
"version": "2026.09.24",
"date": "2026-09-24",
"changes": [
{
"type": "heading",
"content": "Farewell, Admin Sidebar Toggle"
},
{
"type": "paragraph",
"content": "Shopify's new admin dashboard now has its own sidebar toggle, and it does the job far better than ours did. Collapse or expand the navigation from the admin itself, or press ⌘B (Ctrl+B on Windows). Alfred's toggle has retired, and anyone who used it will see a short goodbye the next time they open the admin."
}
]
},
{
"version": "2026.09.01",
"date": "2026-09-01",
Expand Down
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## 2026.09.24
@ 2026-09-24

### Farewell, Admin Sidebar Toggle
Shopify's new admin dashboard now has its own sidebar toggle, and it does the job far better than ours did. Collapse or expand the navigation from the admin itself, or press ⌘B (Ctrl+B on Windows). Alfred's toggle has retired, and anyone who used it will see a short goodbye the next time they open the admin.


## 2026.09.01
@ 2026-09-01

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
const store = getSettingsStore();

const settingsItems = [
{ key: 'collapsibleSidebar', label: 'Collapsible sidebar', details: 'Adds a toggle button to collapse/expand the Shopify admin navigation sidebar' },
{ key: 'warnBeforeClosingCodeEditor', label: 'Warn before closing code editor', details: 'Show a confirmation dialog before closing the theme code editor page' },
{ key: 'themeListUtils', label: 'Theme list utilities', details: 'Adds copy buttons for Theme ID and Preview URL to each theme on the themes list page' },
{ key: 'timeline', label: 'Timeline', details: 'Shows a Shopify-style timeline at the bottom of product, collection, page, blog post, and blog admin screens' }
Expand Down
212 changes: 0 additions & 212 deletions entrypoints/shopify-admin.content/ToggleSidebar.ts

This file was deleted.

Loading
Loading