vibe-and-thrive 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-and-thrive",
3
- "version": "1.8.3",
3
+ "version": "1.8.4",
4
4
  "description": "Ship quality code faster with AI - RALPH autonomous loop, Claude Code hooks, and pre-commit checks",
5
5
  "author": "Allie Jones <allie@allthrive.ai>",
6
6
  "license": "MIT",
@@ -273,17 +273,8 @@ async function verify(options: VerifyOptions): Promise<VerifyResult> {
273
273
 
274
274
  // Capture actual console.error calls
275
275
  if (type === 'error') {
276
- // Ignore common noise (favicons, devtools, resource loading 404s, sourcemaps)
277
- const ignoredPatterns = [
278
- 'favicon',
279
- 'DevTools',
280
- 'Failed to load resource', // Browser's generic 404/network error message
281
- '.map', // Sourcemap 404s
282
- 'net::ERR_', // Network errors
283
- 'the server responded with a status of 4', // 4xx errors
284
- ];
285
- const shouldIgnore = ignoredPatterns.some(pattern => text.includes(pattern));
286
- if (!shouldIgnore) {
276
+ // Only ignore truly benign noise (favicons, devtools)
277
+ if (!text.includes('favicon') && !text.includes('DevTools')) {
287
278
  consoleErrors.push(text);
288
279
  }
289
280
  }
@@ -392,15 +383,23 @@ async function verify(options: VerifyOptions): Promise<VerifyResult> {
392
383
  // Check network errors
393
384
  result.networkErrors = networkErrors;
394
385
  if (options.checkNetwork && networkErrors.length > 0) {
395
- // Only fail on actual errors, not 404s for optional resources
386
+ // Filter out truly benign 404s (static resources)
396
387
  const criticalErrors = networkErrors.filter(e =>
397
388
  !e.includes('favicon') &&
398
389
  !e.includes('.map') &&
399
- !e.includes('hot-update')
390
+ !e.includes('hot-update') &&
391
+ !e.includes('.woff') &&
392
+ !e.includes('.ttf') &&
393
+ !e.includes('.png') &&
394
+ !e.includes('.jpg') &&
395
+ !e.includes('.svg') &&
396
+ !e.includes('.ico')
400
397
  );
401
398
  if (criticalErrors.length > 0) {
402
- result.warnings.push(`${criticalErrors.length} network error(s) detected`);
403
- // Don't fail on network errors by default, just warn
399
+ // Show actual URLs so Claude knows what to fix
400
+ result.errors.push(`Network errors (fix these):`);
401
+ criticalErrors.slice(0, 5).forEach(e => result.errors.push(` ${e}`));
402
+ result.pass = false;
404
403
  }
405
404
  }
406
405