Jobs: purge dead letters and redact LastError
- Dominant language
- C#
- Stars
- 6
- Forks
- 7
- Avg merge
- 4h 42m
- Merged PRs (30d)
- 307
Description
Follow-up to #106 (PR #525). Two hygiene gaps on the job records before anything real moves onto the queue:
- Dead-lettered and cancelled records are never purged, so the jobs table grows without bound once email and webhooks are jobs. A `Jobs:DeadLetterRetentionDays` sweep in the shape of the delivery-log sweep from #524.
- `LastError` is the raw exception message and `GET /api/jobs` returns it to any `view_jobs` holder. When webhook delivery is a job, an `HttpRequestException` message can carry the target URL, and some webhook URLs embed a token. Redact the way the run error already redacts a URL.
Contributor guide
Research direction
Read the delivery-log sweep from #524, then inspect the job-record path behind GET /api/jobs and the existing run-error URL redaction. Done means dead-lettered and cancelled records are removed according to Jobs:DeadLetterRetentionDays, while LastError no longer exposes sensitive webhook URL data to view_jobs holders.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api, backend, databases, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100