Repository navigation
Releases
NotifyTrap v1.5.0
Added
- Realistic Device Frames & Client Simulators: Added mobile & tablet hardware chassis views (iPhone 15, Google Pixel 8, iPad Mini) with realistic bezels, dynamic island/camera punch-holes, bottom indicator bars, orientation flipping, and responsive scaling in
DeviceFrameWrapper.vue. - Native Offline MJML Transpiler & Template Variable Linter: Added zero-network MJML tag inspection and semantic HTML transpilation (
mjmlInspector.ts), plus deterministic template linting (templateLinter.ts) alerting on unrendered placeholders ({{...}},${...},null,None,[object Object]). - Live Remote Asset & Deep Link Health Checker: Added async health checker (
asset_checker.rs,asset_audit.rs,LinkAssetAuditModal.vue) inspecting external HTTP/HTTPS assets and links with status code reporting, response latency, and offline caching. - SQLite Storage Metrics & Database Maintenance: Added database disk footprint analysis, per-table row counts, one-click SQLite
VACUUM, and automated retention cleanup card (database_statistics.rs,DatabaseMaintenanceCard.vue). - Public Webhook Ingress Tunneling: Added one-click tunnel runner for local captures (
domain/tunnel.rs,tunnel_manager.rs,PublicTunnelCard.vue) supportingcloudflared,ngrok, andborewith loopback health verification and active tunnel URL management. - Downstream Webhook Auto-Forwarding Pipeline: Added rule-based async forwarding pipeline (
forwarding.rs,forwarder.rs,ChannelRulesModal.vue, migration0005_add_channel_forwarding_rules.sql) dispatching captured webhooks to secondary targets with event name filtering, custom headers, and retry timeouts. - Headless Server & Web Companion Mode: Added headless CLI server (
notifytrap-cli serve) delivering all ingestion endpoints (HTTP, SMTP) and serving the bundled Nuxt SPA web interface over Axum (web_server.rs) without requiring GUI/WebView dependencies. - Synchronized Desktop & Standalone CLI Dual Installers: Modernized
scripts/install.shandscripts/install.ps1installing both Desktop GUI and standalonenotifytrap-clibinary into system PATH, with--cli-onlyheadless flags andnotifytrap-cli updateself-updater. - Automated CLI Release Bundling: Updated GitHub Actions release workflow to compile and package standalone CLI archives (
notifytrap-cli-{platform}.tar.gz/.zip) alongside desktop installers.
Cross-platform desktop installers for Linux (.deb, .rpm, .AppImage), Windows (.exe, .msi), and macOS (.dmg), plus signed updater artifacts.
NotifyTrap v1.4.0
Added
- Structured Search Grammar & Saved Filters: Search notifications using qualifiers (
channel:,status:,run:,tag:,to:,from:,subject:,otp:true|false), quoted phrases,-negation, and bounded case-insensitive/regex/patterns (src-tauri/src/domain/search_query.rs), plus per-project Saved Filter presets in the Inbox. - System Tray & Native OS Notifications: Added Tauri 2 System Tray icon (
Show NotifyTrap/Quit NotifyTrap), configurable Minimize to System Tray on Close (desktop.minimizeToTray), and optional OS Desktop Notifications on Capture (desktop.nativeNotifications) in Settings. - Keyboard DX &
Ctrl/Cmd+KCommand Palette: Added globalCtrl/Cmd+KCommand Palette (CommandPaletteModal.vue) for instant navigation, theme/language switching, and applying saved filters, plusj/knotification navigation and/search focus in the Inbox. - Built-in Local MCP Server &
notifytrap-cliCompanion: Added channel-scoped JSON-RPC 2.0 MCP endpoint (POST /api/v1/mcp) exposinglist_notifications,wait_for_notification,get_notification_detail, andextract_otp_codes, alongside the standalonenotifytrap-clibinary (tail,wait-otp,export, and stdiomcpbridge). - Tests: Added unit/property tests in
domain/search_query.rs, end-to-end integration teststructured_search_and_local_mcp_json_rpc_end_to_end, and Vitest suitetests/phase4DxSavedFilters.spec.ts.
Cross-platform desktop installers for Linux (.deb, .rpm, .AppImage), Windows (.exe, .msi), and macOS (.dmg), plus signed updater artifacts.
NotifyTrap v1.3.0
Added
- Per-Channel Webhook Mock Responses: Configure custom HTTP status codes (
100..599), response headers (up to 32 validated headers), response bodies (up to 64 KiB), and artificial response delays (0..10000 ms) on any Webhook channel (Channels -> Rules). Incoming webhook captures are persisted to SQLite first before returning the configured mock response. - Strict Loopback-Only Webhook Replay: Replay captured webhook requests directly from
Inbox -> Webhook -> Replayto local development targets (http://127.0.0.1,http://localhost,http://[::1]) overtokio::net::TcpStreamwith bounded 5s connect / 10s I/O timeouts and a 1 MiB response cap. External hosts, userinfo, and fragments are strictly rejected. - HTTP & SMTP Chaos Rules: Inject per-channel artificial latency (
0..10000 ms) and probabilistic failure rates (0..100%) with custom HTTP (400..599) or SMTP (400..599) error codes across SMS, Push, Webhook, and SMTPDATAingestion to test client retry and backoff logic locally. - Database Migration & Channel Rule UI: Added SQLite migration
0004_add_channel_rules.sql(webhook_mock_json,chaos_rule_json),ChannelRulesModal.vuewith activeMock/Chaosbadges onChannelCredentialCard.vue, andWebhookReplayModal.vuewith fullen(LTR) andfa(RTL) translations. - Tests: Added Rust unit test
allows_strict_loopback_targets_and_rejects_external_hosts, end-to-end integration testwebhook_mock_loopback_replay_and_chaos_rules_end_to_end, and Vitest suitetests/phase3MockReplayChaos.spec.ts.
Cross-platform desktop installers for Linux (.deb, .rpm, .AppImage), Windows (.exe, .msi), and macOS (.dmg), plus signed updater artifacts.
NotifyTrap v1.2.0
Added
- Email Viewport Switcher & Dark Client Simulation:
- Added Desktop, Tablet (
768px), and Mobile (375px) preview width controls above the sandboxed HTML email viewer (EmailInspectorView.vue). - Added an opt-in Dark Client simulator (
emailSandbox.ts) inverting light-coded HTML email canvases while preserving photo luminance without loosening the strict zero-network offline CSP (script-src 'none',connect-src 'none').
- Added Desktop, Tablet (
- Inline
cid:Image Hydration & Safe Attachment Preview/Download:- Updated backend HTML sanitization (
html_sanitizer.rs) to preserve sanitizedcid:inline image references while still blocking externalhttp://andhttps://tracking pixels. - Added Tauri command
get_notification_attachmentreturning base64-encoded MIME attachment bytes scoped by attachment ID. - Added inline
cid:data:URI resolution in HTML previews (attachmentPreview.ts), safe raster-image (PNG/JPEG/WEBP/GIF) and syntax-highlighted text (TXT/CSV/JSON/HTML/XML) preview modal (EmailAttachmentModal.vue), SVG XSS exclusion, and local file downloads.
- Updated backend HTML sanitization (
- Offline Email Audit & Diagnostics Tab:
- Added deterministic offline checks (
emailAudit.ts) reporting payload size (> 100 KBGmail clipping warning), subject presence, multipart plain-text fallback coverage, missing imagealtattributes, blocked remote tracking pixels, unresolvedcid:references, relative/empty links, andList-Unsubscribeheader presence.
- Added deterministic offline checks (
- SMS GSM-7 / UCS-2 Segment Counter & Push Device Previews:
- Added accurate SMS encoding detection and segment calculation (
smsAnalyzer.ts: GSM-7 basic + extension septet counting with160/153split limits andUCS-2UTF-1670/67limits) alongside a mobile SMS message preview (SmsInspectorView.vue). - Added iOS, Android, and Web Push lock-screen / desktop notification card mockups (
PushInspectorView.vue).
- Added accurate SMS encoding detection and segment calculation (
- Notification Diff Viewer:
- Added Compare modal (
NotificationDiffModal.vue) and LCS line-diff engine (textDiff.ts) comparing formatted payloads, raw payloads, or metadata across captured notifications.
- Added Compare modal (
- Bilingual & Quality Coverage:
- Added full
en(LTR) andfa(RTL) translations for all Inspector Pro tools, audit findings, and diff modes. - Added unit tests (
tests/phase2InspectorPro.spec.ts) and Rust sanitizercid:unit tests.
- Added full
Cross-platform desktop installers for Linux (.deb, .rpm, .AppImage), Windows (.exe, .msi), and macOS (.dmg), plus signed updater artifacts.
NotifyTrap v1.1.0
Added
- Local Query & Wait HTTP API:
GET /api/v1/notifications— scoped channel-key listing withrun_id,recipient,subject,since,status,search,limit, andoffsetfilters.GET /api/v1/notifications/{notification_id}— full detail retrieval strictly isolated to the authenticated channel (404on cross-channel access).GET /api/v1/notifications/wait— event-driven long-polling (timeout_ms, default5000, max30000) backed by an internal Tokio broadcast hub for zero-polling Playwright, Cypress, Pest, and Pytest synchronization (408 WAIT_TIMEOUTon expiry).
- Test-Run Tagging (
X-NotifyTrap-Run):- Added SQLite migration
0003_add_test_run_identifier.sqland indexed filtering across HTTP (sms,push,webhooks) and SMTP email capture. - Added run-tag input filter and card/inspector badges in the Inbox UI.
- Added SQLite migration
- Automatic OTP & Magic-Link Extraction:
- Added deterministic Rust extractor (
domain/verification_extractor.rs) detecting 4–8 digit OTP codes (including dashed codes and Persian/Arabic-Indic digit normalization) and verification/magic links without false positives on hex colors or years. - Added one-click OTP copy buttons on Inbox list cards and extracted verification artifact pills in the Notification Inspector.
- Added deterministic Rust extractor (
- Offline Export (
.eml,JSON,cURL):- Added an Export menu in the Notification Inspector supporting RFC-5322
.emldownload, redactedJSONdownload/copy, and secret-safecURLcommand generation (<CHANNEL_KEY>placeholder) for HTTP channels.
- Added an Export menu in the Notification Inspector supporting RFC-5322
- Bilingual & Quality Coverage:
- Added symmetric
en(LTR) andfa(RTL) translations for all new UI controls. - Added
proptestinvariants, end-to-end Axum/SMTP wait-wakeup integration tests, and Vitest export unit tests.
- Added symmetric
Cross-platform desktop installers for Linux (.deb, .rpm, .AppImage), Windows (.exe, .msi), and macOS (.dmg), plus signed updater artifacts.
NotifyTrap v1.0.0
Cross-platform desktop installers for Linux (.deb, .rpm, .AppImage), Windows (.exe, .msi), and macOS (.dmg), plus signed updater artifacts.