Skip to content

Release version 1.1.0#22

Merged
mensfeld merged 1 commit intomasterfrom
release-1.1.0
Jan 28, 2026
Merged

Release version 1.1.0#22
mensfeld merged 1 commit intomasterfrom
release-1.1.0

Conversation

@mensfeld
Copy link
Owner

Release 1.1.0

This release introduces a comprehensive error tracking system for hookshot.

🎉 New Features

Error Tracking System

  • Self-contained error tracking with Rails 8 error reporter integration
  • Automatic error capture from all Rails executions (controllers, jobs, console, rake tasks)
  • Error deduplication by fingerprint with occurrence counting
  • Admin UI at /errors with three-tab filtering (Unresolved/Resolved/All)
  • Error resolution workflow (resolve/unresolve actions)
  • Bulk delete for resolved errors

Smart Error Processing

  • Fingerprint-based deduplication normalizes:
    • UUIDs → UUID
    • Numbers → N
    • Hex addresses → 0xHEX
    • Temp paths → /tmp/PATH
  • Context sanitization redacts sensitive data (passwords, tokens, API keys)
  • Backtrace cleaning removes gem paths and limits to 50 lines
  • Background job processing via Solid Queue (non-blocking)

Maintenance

  • Rake task for cleanup: rake errors:cleanup (removes resolved errors older than 30 days)
  • Statistics: 94.3% line coverage, 86.11% branch coverage
  • 73 comprehensive test specs added

📝 Changelog

  • [Feature] Add self-contained error tracking system with Rails 8 error reporter integration
  • [Feature] Error deduplication by fingerprint with automatic occurrence counting
  • [Feature] Admin UI for viewing, filtering, and managing application errors
  • [Feature] Error resolution workflow with resolve/unresolve actions
  • [Feature] Automatic error capture from all Rails executions
  • [Feature] Context sanitization with sensitive data redaction
  • [Feature] Backtrace cleaning to focus on application code
  • [Feature] Background job processing via Solid Queue
  • [Feature] Rake task for cleaning up old resolved errors
  • [Enhancement] Errors accessible at /errors route with HTTP Basic Auth
  • [Enhancement] Comprehensive test coverage with 73 new specs
  • [Technical] Exclude DispatchJob errors (tracked via Delivery model)
  • [Technical] Smart fingerprinting for error deduplication

🔍 Implementation Details

Rails 8 Integration: Uses Rails.error.subscribe() for automatic error capture
Model: ErrorRecord - matches namespace of other models (Webhook, Target, etc.)
Routes: /errors (simpler than /admin/error_records)
Exclusions: DispatchJob errors and HTTP-level errors (404s, validation errors) are not captured

✅ Quality Checks

  • All 256 tests passing
  • Rubocop clean (0 offenses)
  • YARD-lint compliant
  • 94.3% line coverage, 86.11% branch coverage

- Update CHANGELOG.md with error tracking system features
- Bump version from 1.0.1 to 1.1.0

This release adds a comprehensive error tracking system with Rails 8
error reporter integration, deduplication, admin UI, and resolution
workflow.
@mensfeld mensfeld merged commit 670f0bb into master Jan 28, 2026
5 checks passed
@mensfeld mensfeld deleted the release-1.1.0 branch January 28, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant