This commit is contained in:
Stefanescu Mihai
2026-03-19 19:32:46 +02:00
parent 2673552733
commit 528a55cce7
9 changed files with 484 additions and 11 deletions
+11 -11
View File
@@ -95,17 +95,17 @@ A self-hosted error tracking application (inspired by [Bugsink](https://www.bugs
Implement a `/api/{project_id}/store/` endpoint that accepts the Sentry event payload format. This allows using existing Sentry SDKs (for PHP, JS, Python, etc.) as clients without any custom SDK work.
- [ ] `POST /api/{project_id}/store/` route
- [ ] Validate DSN public key via `sentry_key` query param or `X-Sentry-Auth` header
- [ ] `AuthenticateDsn` middleware
- [ ] `EventIngestController`
- [x] `POST /api/{project_id}/store/` route
- [x] Validate DSN public key via `sentry_key` query param or `X-Sentry-Auth` header
- [x] `AuthenticateDsn` middleware
- [x] `EventIngestController`
### 2.2 Event Processing Pipeline
- [ ] `ProcessEventJob` (queued)
- [ ] `PayloadNormalizer` service
- [ ] `EventProcessor` service (find or create Issue, store Event, update counters)
- [ ] Regression detection (re-open resolved issues)
- [x] `ProcessEventJob` (queued)
- [x] `PayloadNormalizer` service
- [x] `EventProcessor` service (find or create Issue, store Event, update counters)
- [x] Regression detection (re-open resolved issues)
```
Ingest Request
@@ -122,7 +122,7 @@ Ingest Request
### 2.3 Fingerprinting / Grouping Strategy
- [ ] `Fingerprinter` service
- [x] `Fingerprinter` service
Group events into issues using a fingerprint hash built from:
1. Exception type (class name)
@@ -238,8 +238,8 @@ Clients configure this DSN in their Sentry SDK — no changes needed on the SDK
- [x] 1. Install Breeze, set up auth
- [x] 2. Create migrations for `projects`, `issues`, `events`, `project_user`
- [x] 3. Build models with relationships
- [ ] 4. Build the ingest endpoint (`POST /api/{project_id}/store/`)
- [ ] 5. Implement fingerprinting and the `ProcessEventJob`
- [x] 4. Build the ingest endpoint (`POST /api/{project_id}/store/`)
- [x] 5. Implement fingerprinting and the `ProcessEventJob`
- [ ] 6. Build a minimal issues list page and issue detail page
- [ ] 7. Test with a real Sentry SDK (e.g. `sentry/sentry-laravel` on another app pointing at this tracker)