<feed xmlns='http://www.w3.org/2005/Atom'>
<title>whois-band/app/routes, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/'/>
<entry>
<title>Fix build: merge detail/update into existing API routes</title>
<updated>2026-05-14T15:22:37+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T15:22:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=4ab34c8f0f9b4e1f636a26012f2a75863b471c51'/>
<id>4ab34c8f0f9b4e1f636a26012f2a75863b471c51</id>
<content type='text'>
Parametric resource routes cause a React Router prod build error
(commonjs--resolver server-only module conflict). Merged the GET?id=
and PATCH logic into the existing api-bands.tsx and api-artists.tsx
instead of creating separate :uuid route files.

- GET /api/bands?id=UUID  → band detail with links/members
- PATCH /api/bands        → partial update (append_links, append_members)
- Same pattern for /api/artists

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Parametric resource routes cause a React Router prod build error
(commonjs--resolver server-only module conflict). Merged the GET?id=
and PATCH logic into the existing api-bands.tsx and api-artists.tsx
instead of creating separate :uuid route files.

- GET /api/bands?id=UUID  → band detail with links/members
- PATCH /api/bands        → partial update (append_links, append_members)
- Same pattern for /api/artists

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build: add default export to parametric API resource routes</title>
<updated>2026-05-14T15:18:24+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T15:18:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=9ca51b91e5a9c3c3b1d0104c569a2530c58a0eee'/>
<id>9ca51b91e5a9c3c3b1d0104c569a2530c58a0eee</id>
<content type='text'>
React Router requires a default export for parametric routes (:uuid) to
correctly split server/client code during the production vite build.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
React Router requires a default export for parametric routes (:uuid) to
correctly split server/client code during the production vite build.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix nav classes, add detail APIs, add update-band-info skill</title>
<updated>2026-05-14T15:16:27+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T15:16:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=b29876cf6f865182ef6958aaf63d91d43dd08d55'/>
<id>b29876cf6f865182ef6958aaf63d91d43dd08d55</id>
<content type='text'>
- Fix nav: apply .nav class and .nav-brand to logo (styles were not rendering)
- Add GET+PATCH /api/bands/:uuid and /api/artists/:uuid endpoints
  - PATCH supports append_links / append_members for non-destructive updates
- Add /update-band-info skill: fetch SNS profiles and update band description/members

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix nav: apply .nav class and .nav-brand to logo (styles were not rendering)
- Add GET+PATCH /api/bands/:uuid and /api/artists/:uuid endpoints
  - PATCH supports append_links / append_members for non-destructive updates
- Add /update-band-info skill: fetch SNS profiles and update band description/members

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add bands/artists index pages and redirect top page</title>
<updated>2026-05-14T15:08:25+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T15:08:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=1a8a159a71fd018bab0e14d9df952c53ae5ea062'/>
<id>1a8a159a71fd018bab0e14d9df952c53ae5ea062</id>
<content type='text'>
- / now redirects to /bands
- /bands shows band list with "+ Band" link
- /artists shows artist list with "+ Artist" link
- Nav simplified to Bands / Artists only

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- / now redirects to /bands
- /bands shows band list with "+ Band" link
- /artists shows artist list with "+ Artist" link
- Nav simplified to Bands / Artists only

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix API routes to return JSON as resource routes</title>
<updated>2026-05-14T14:46:41+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T14:46:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=ad7bf60a3ed79b7e1c1d0aba8c4fb5d261b33116'/>
<id>ad7bf60a3ed79b7e1c1d0aba8c4fb5d261b33116</id>
<content type='text'>
Removing default component export makes these resource routes,
so React Router returns the Response directly instead of wrapping in HTML SSR.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removing default component export makes these resource routes,
so React Router returns the Response directly instead of wrapping in HTML SSR.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add lists feature (band recommendation lists with history)</title>
<updated>2026-05-10T15:06:52+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T15:06:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=e9e576abd9d6c6030aa4bb290e869890831488ad'/>
<id>e9e576abd9d6c6030aa4bb290e869890831488ad</id>
<content type='text'>
New lists, list_entries, list_revisions tables; full CRUD routes under /lists; nav link in root.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New lists, list_entries, list_revisions tables; full CRUD routes under /lists; nav link in root.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add band index page sorted by slug, show hiatus status only</title>
<updated>2026-05-10T13:56:42+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T13:56:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=609dc6a3769d85e1cc4a8f06af58165be86b598c'/>
<id>609dc6a3769d85e1cc4a8f06af58165be86b598c</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate current/former members with calculable period dates</title>
<updated>2026-05-10T13:46:59+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T13:46:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=ec2417fc3e7029cb6fa84aa184daac2768ddad85'/>
<id>ec2417fc3e7029cb6fa84aa184daac2768ddad85</id>
<content type='text'>
- Add MemberGroup/BandGroup types and groupBandMembers/groupArtistMembers helpers
- Calculate membership duration in months from YYYY-MM since/until values
- Band view splits members into 在籍中 / 元メンバー sections with duration label
- Artist view splits bands into 在籍中 / 元在籍 sections with duration label
- Change since/until inputs to type="month" for structured data entry

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add MemberGroup/BandGroup types and groupBandMembers/groupArtistMembers helpers
- Calculate membership duration in months from YYYY-MM since/until values
- Band view splits members into 在籍中 / 元メンバー sections with duration label
- Artist view splits bands into 在籍中 / 元在籍 sections with duration label
- Change since/until inputs to type="month" for structured data entry

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add members table with membership period and note support</title>
<updated>2026-05-09T15:21:04+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-09T15:21:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=184e6947707ecdf07dfa3a5cbc6e51cf9440e93a'/>
<id>184e6947707ecdf07dfa3a5cbc6e51cf9440e93a</id>
<content type='text'>
Replace band_artists + member_periods with a single members table
(id, band_id, artist_id, role, since, until, note, order_index).
Each row represents one membership period, so rejoining artists
get multiple rows. Existing band_artists data is auto-migrated on
startup. Export format bumped to version 3.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace band_artists + member_periods with a single members table
(id, band_id, artist_id, role, since, until, note, order_index).
Each row represents one membership period, so rejoining artists
get multiple rows. Existing band_artists data is auto-migrated on
startup. Export format bumped to version 3.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add /api/export and /api/import endpoints for DB backup and sync</title>
<updated>2026-05-09T05:36:28+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-09T05:36:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=0e12e7238f48ffc2a5d35dae059c2f00c7250f3b'/>
<id>0e12e7238f48ffc2a5d35dae059c2f00c7250f3b</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
