See the best posts from any Bluesky account
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix zombie processes on dev shutdown and flaky canonical URL tests

Split dev script into predev + dev so concurrently receives SIGINT
directly instead of being buried under sh -c's non-forwarding &&
chain. Canonical URL tests now match the path instead of hardcoding
localhost:3333, which doesn't match Japa's random test port.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+10 -6
+2 -1
package.json
··· 17 17 "scripts": { 18 18 "start": "node bin/server.js", 19 19 "build": "node ace build", 20 - "dev": "pnpm migrate && concurrently --kill-others -n web,jetstream,queue -c blue,green,yellow \"node ace serve --hmr\" \"node ace jetstream:consume\" \"node ace queue:work\"", 20 + "predev": "pnpm migrate", 21 + "dev": "concurrently --kill-others -n web,jetstream,queue -c blue,green,yellow \"node ace serve --hmr\" \"node ace jetstream:consume\" \"node ace queue:work\"", 21 22 "migrate": "node ace migration:run --force && node ace clickhouse:migrate", 22 23 "test": "node ace test", 23 24 "lint": "eslint .",
+8 -5
tests/functional/profile_controller.spec.ts
··· 401 401 402 402 const response = await client.get('/profile/dril.bsky.social/likes') 403 403 response.assertStatus(200) 404 - assert.include( 405 - response.text(), 406 - '<link rel="canonical" href="http://localhost:3333/profile/dril.bsky.social/likes"' 407 - ) 404 + const html = response.text() 405 + assert.include(html, '<link rel="canonical"') 406 + assert.match(html, /href="[^"]*\/profile\/dril\.bsky\.social\/likes"/) 408 407 }).skip(async () => !(await isClickHouseAvailable()), 'ClickHouse not available') 409 408 410 409 // Test 21: canonical URL includes ?days= when set ··· 427 426 response.assertStatus(200) 428 427 assert.include( 429 428 response.text(), 430 - '<link rel="canonical" href="http://localhost:3333/profile/dril.bsky.social/likes?days=30"' 429 + '<link rel="canonical"' 430 + ) 431 + assert.match( 432 + response.text(), 433 + /href="[^"]*\/profile\/dril\.bsky\.social\/likes\?days=30"/ 431 434 ) 432 435 }).skip(async () => !(await isClickHouseAvailable()), 'ClickHouse not available') 433 436