phase 2
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user