Skip to content

Commit 3807529

Browse files
Release 0.6.0
1 parent 9a4ccb4 commit 3807529

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+3535
-1290
lines changed

AGENTS.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@
77
- Write UI copy in present tense.
88
- If a beta or testing action is intentionally exposed in the UI, keep the copy short and action-oriented without internal implementation details.
99

10+
## Public Release Copy
11+
12+
- Treat `CHANGELOG.md` as public end-user copy. It is shown inside the app, so write it for a broad audience.
13+
- Write changelog entries in plain language around visible improvements, new capabilities, and user-facing fixes.
14+
- Do not describe internal debugging, implementation mistakes, infrastructure failures, or engineering process details unless they matter directly to users.
15+
- Avoid technical internals such as SQL, database query behavior, CI, hooks, migration mechanics, deployment plumbing, or exact failure modes in public changelog entries.
16+
- If a change is mostly internal, summarize the user-facing benefit or omit it from the public changelog.
17+
18+
## Catalog References
19+
20+
- Do not use specific song titles, artist names, chart examples, or catalog contents as public examples in UI copy, documentation, or repo instructions unless the user explicitly asks for them.
21+
- Keep public-facing copy neutral about catalog contents and focus on product behavior instead of example entries.
22+
1023
## Runtime And Browser Checks
1124

1225
- For this repo, assume the app is normally already running at `http://localhost:9000`.

CHANGELOG.md

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22

33
All notable changes to this project are documented here.
44

5+
## [0.6.0] - 2026-04-14
6+
7+
### Added
8+
- Song search now keeps alternate chart versions together so requesters can choose a song without having to guess which chart is the right one.
9+
10+
### Changed
11+
- Favoriting a song now applies across grouped versions, so saved favorites stay consistent wherever that song appears.
12+
- Search results, request handling, and playlist version selection now stay aligned around the same grouped-song view.
13+
14+
### Fixed
15+
- Streamers and moderators now get a more complete version list when a song has alternate charts.
16+
- Admin tools are cleaner in production, while development-only review tools stay limited to development.
17+
518
## [0.5.0] - 2026-04-13
619

720
### Added
@@ -15,38 +28,37 @@ All notable changes to this project are documented here.
1528
- Documentation now explains the current catalog grouping and charter preference behavior.
1629

1730
### Fixed
18-
- Full-text search falls back cleanly when D1 rejects oversized MATCH queries, and the UI now shows friendly error messages instead of raw SQL details.
31+
- Search failure handling is smoother, with clearer messages when a search cannot be completed.
1932
- Manual adds, viewer adds, and chart version switching now surface sibling chart versions more consistently in the playlist manager.
2033

2134
## [0.4.4] - 2026-04-12
2235

2336
### Changed
24-
- Local verification now catches formatting problems earlier, including JSON and translation files.
25-
26-
### Fixed
27-
- Formatting mistakes now fail before CI instead of only showing up after a push.
37+
- Behind-the-scenes quality checks were tightened to keep updates more stable.
38+
39+
### Fixed
40+
- Release preparation is more reliable.
2841

2942
## [0.4.3] - 2026-04-12
3043

31-
### Changed
32-
- Release notes and contributor guidance now follow clearer versioning rules.
33-
34-
### Fixed
35-
- Old local file path examples were removed from the repo history and test data.
44+
### Changed
45+
- Documentation was cleaned up and clarified.
46+
47+
### Fixed
48+
- Examples and references were cleaned up for consistency.
3649

3750
## [0.4.2] - 2026-04-12
3851

39-
### Changed
40-
- Release and deployment steps are clearer and more consistent.
41-
42-
### Fixed
43-
- CI no longer builds the standalone Twitch panel package when it is not needed.
44-
- The unused dashboard panel preview route and preview copy were removed.
52+
### Changed
53+
- General release housekeeping and documentation were cleaned up.
54+
55+
### Fixed
56+
- The dashboard no longer includes an unused panel preview page.
4557

4658
## [0.4.1] - 2026-04-12
4759

48-
### Fixed
49-
- The Twitch panel CI build now uses the configured live app URL instead of a hardcoded domain.
60+
### Fixed
61+
- Twitch panel release configuration is more reliable.
5062

5163
## [0.4.0] - 2026-04-12
5264

CONTRIBUTING.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
1. Branch from `main`.
66

77
Never commit directly to `main` and never push directly to `main`. If you start work while checked out on `main`, create a feature branch before staging, committing, or pushing. Do not bypass the repo hook that blocks commits on `main`.
8-
2. Install dependencies and bootstrap local data:
8+
2. Install dependencies and prepare the local app:
99

1010
```bash
1111
npm install
@@ -94,6 +94,9 @@ Do not leave code that expects a schema change without a checked-in migration.
9494
- Keep [CHANGELOG.md](CHANGELOG.md), [package.json](package.json), and [package-lock.json](package-lock.json) aligned when preparing a release.
9595
- Update the version and changelog for every branch that merges into `main`.
9696
- Use a versioned changelog entry for shipped work. Do not keep an `Unreleased` section for merged changes.
97+
- Treat [CHANGELOG.md](CHANGELOG.md) as public release notes for a broad audience because it is shown in the app.
98+
- Write changelog entries around user-visible outcomes, not internal implementation details or engineering process notes.
99+
- Avoid internal-only language in changelog entries, such as SQL, database query behavior, CI, hooks, migrations, deployment plumbing, or exact failure modes.
97100
- Use `0.x.x` while the app is still pre-`1.0`.
98101
- Use a patch release for routine shipped work, fixes, docs, workflow updates, and cleanup.
99102
- Use a minor release when the shipped product scope expands materially.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The local app runs on:
3636
http://localhost:9000
3737
```
3838

39-
Use the bundled sample catalog for normal local development. For Twitch auth, EventSub, bot flows, or panel testing, fill in the Twitch-related values in [`.env.example`](.env.example) and follow [docs/local-development.md](docs/local-development.md).
39+
For Twitch auth, EventSub, bot flows, or panel testing, fill in the Twitch-related values in [`.env.example`](.env.example) and follow [docs/local-development.md](docs/local-development.md).
4040

4141
## Verification
4242

docs/catalog-grouping-and-charter-preferences.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ When `grouped_project_id` is present on catalog rows, the app treats those chart
1010
- song-group blacklists
1111
- channel-scoped version handling in requests and management tools
1212

13-
Some catalog rows are not grouped upstream even though they are effectively alternate charts of the same song. In that case, RockList.Live uses a fallback grouping rule when it builds the version list for a playlist item:
13+
Some catalog rows are not grouped upstream even though they are effectively alternate charts of the same song. In that case, RockList.Live uses a fallback grouping rule across grouped search results, request handling, and playlist version lists:
1414

1515
- same title
1616
- same normalized artist name
@@ -21,9 +21,9 @@ Artist normalization is intentionally conservative. It currently:
2121
- lowercases the name
2222
- strips a leading `The `
2323

24-
That fallback is used when a viewer or manager adds a song and the app needs to preserve alternate chart versions on the resulting playlist item. It helps cases like `The Smashing Pumpkins` and `Smashing Pumpkins` when the upstream catalog does not provide a shared `grouped_project_id`.
24+
That fallback keeps requester and streamer views aligned even when the upstream catalog does not provide a shared `grouped_project_id`.
2525

26-
Search results still render chart-level rows. The app does not persist a separate internal canonical grouping table yet, so fallback grouping is computed at request and add time rather than stored as new catalog metadata.
26+
The app does not persist a separate internal canonical grouping table yet, so fallback grouping is computed from the catalog data rather than stored as new catalog metadata.
2727

2828
## Preferred Charters
2929

@@ -47,4 +47,4 @@ Today, the app uses two layers:
4747
1. upstream catalog grouping from CustomsForge when it exists
4848
2. request-time fallback grouping for same-title and normalized-artist matches when upstream grouping is missing
4949

50-
That gives the streamer a fuller version list when requests are added, while keeping search and moderation behavior predictable.
50+
That keeps search results, request handling, and playlist version selection consistent while preserving a fuller version list for streamers and moderators.

docs/deployment-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ echo "<SENTRY_DSN>" | npx wrangler secret put SENTRY_DSN --config wrangler.aux.j
101101

102102
## Remote Database Setup
103103

104-
Initialize the remote D1 database and the bundled sample catalog:
104+
Initialize the remote D1 database:
105105

106106
```bash
107107
npm run db:bootstrap:remote

docs/local-development.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,13 @@ Add these when you test Twitch auth, EventSub, bot flows, or the panel:
4949

5050
Use `VITE_ALLOWED_HOSTS` when you need extra local hostnames, and `VITE_TWITCH_EXTENSION_API_BASE_URL` when the standalone panel build needs a different app origin.
5151

52-
4. Bootstrap the local D1 database:
52+
4. Bootstrap the app database:
5353

5454
```bash
5555
npm run db:bootstrap:local
5656
```
5757

58-
That resets local D1, applies migrations, and seeds the bundled sample catalog.
58+
That resets D1, applies migrations, and prepares the app database.
5959

6060
5. Start the app:
6161

@@ -82,15 +82,15 @@ For this repo, treat `http://localhost:9000` as the default existing dev app. Be
8282

8383
Use `npm run db:migrate` for normal local schema updates.
8484

85-
Use `npm run db:bootstrap:local` only when you intentionally want to reset local data back to the bundled sample catalog.
85+
Use `npm run db:bootstrap:local` only when you intentionally want to reset the app database.
8686

87-
## What Works With The Sample Catalog
87+
## What Works Locally
8888

8989
- home page and channel pages
9090
- search and filters
9191
- settings and moderation UI
9292
- playlist management flows
93-
- Twitch panel UI against local data
93+
- Twitch panel UI
9494

9595
Twitch sign-in, EventSub, bot replies, and hosted Twitch panel testing need valid Twitch credentials.
9696

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "request-bot",
33
"private": true,
44
"type": "module",
5-
"version": "0.5.0",
5+
"version": "0.6.0",
66
"engines": {
77
"node": ">=22"
88
},

src/components/admin-design-system-reference.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export function AdminDesignSystemReference() {
9090
<Label htmlFor="design-preview-search">Search field</Label>
9191
<Input
9292
id="design-preview-search"
93-
defaultValue="Smashing Pumpkins"
93+
defaultValue="Example Artist"
9494
/>
9595
</div>
9696
<div className="grid gap-2">
@@ -127,9 +127,9 @@ export function AdminDesignSystemReference() {
127127
</div>
128128
<div className="grid grid-cols-[minmax(0,2.1fr)_minmax(0,1.4fr)_minmax(0,1.2fr)_minmax(0,1fr)_72px] gap-4 bg-(--panel-strong) px-4 py-4">
129129
<div>
130-
<p className="font-semibold text-(--text)">Cherub Rock</p>
130+
<p className="font-semibold text-(--text)">Sample Song One</p>
131131
<p className="mt-1 text-sm text-(--brand-deep)">
132-
Smashing Pumpkins
132+
Example Artist
133133
</p>
134134
</div>
135135
<div>
@@ -155,9 +155,9 @@ export function AdminDesignSystemReference() {
155155
</div>
156156
<div className="grid grid-cols-[minmax(0,2.1fr)_minmax(0,1.4fr)_minmax(0,1.2fr)_minmax(0,1fr)_72px] gap-4 bg-(--panel-soft) px-4 py-4">
157157
<div>
158-
<p className="font-semibold text-(--text)">Mayonaise</p>
158+
<p className="font-semibold text-(--text)">Sample Song Two</p>
159159
<p className="mt-1 text-sm text-(--brand-deep)">
160-
Smashing Pumpkins
160+
Example Artist
161161
</p>
162162
</div>
163163
<div>

0 commit comments

Comments
 (0)