Skip to content

v0.6.0 — Notification overhaul

Choose a tag to compare

@tonyalaribe tonyalaribe released this 14 Apr 18:39
· 228 commits to master since this release

Highlights

Major overhaul of Slack and Discord notifications for runtime errors, monitors, new endpoints, log patterns, and scheduled reports — denser, clearer, less wasted vertical space, and more actionable.

Slack alerts

  • Severity color bar via attachments wrapper — red/orange/amber/blue/green/slate applied consistently across all alert types
  • Compact titles{emoji} *{label}* · {errorType} in {project} (no more triple-duplicated error headers)
  • Top stack frame inlined in the body for file/line context at a glance
  • Secondary action buttonView trace appears alongside 🔍 Investigate when a traceId is present, jumping into Log Explorer filtered by trace_id
  • Single context block (was up to three), empty fields dropped instead of rendering as empty backticks
  • First seen now shows compact relative + absolute time (e.g. 3m ago · Apr 14 4:17 PM)
  • Field labels standardized: Environment / Route / Rate / Runtime / Trace
  • Monitor alert: passive 🤖 Alert triggered for X → active 🚨 Monitor alerting: X; resolved state gets green bar + clickable title
  • New endpoints: proper singular/plural, redundant body prose removed
  • Log-volume rate change: signed change (+42% / -18%), amber on spike / blue on drop
  • Report: merged context blocks, terse image titles, explicit Open report button

Discord alerts

  • Per-severity embed colors matching Slack palette
  • Monitor content and titles aligned with Slack wording
  • Removed redundant body intros on log-pattern and rate-change embeds
  • New-endpoint plural fixed

Chart rendering fix

  • ECharts bars rendered as a fused "square blob" due to showBackground painting empty buckets — removed, added barCategoryGap: 30%, barMaxWidth: 10, and rounded borderRadius so columns read as distinct rounded bars

Incidental fixes

  • Trace viewer: orphan spans whose parent isn't in the current batch are normalized to roots instead of being silently dropped
  • Span timing bar chart: guard against non-finite maxDuration when all bars share the same start