Feature/dashboard#17
Merged
Merged
Conversation
- Add Storage Backend Migration for seamless KV to Turso data migration - Add Data Export/Import tools for backup and restore capabilities - Add Data Visualization dashboard for interactive message viewing - Add Real-time Monitoring for live queue health updates - Add Message Management web interface for message operations - Add Analytics Dashboard for visual insights and performance metrics 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create server-side rendered dashboard using Hono and Tailwind CSS - Add overview page with 7-day trends and hourly state changes - Implement messages list with pagination and filtering - Add detailed message view with timeline history - Include Done logo and improve visual design - Serve static assets (logo) through dedicated route The dashboard provides real-time insights into message queue performance, state transitions, and system health metrics. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Move store-client.ts from dashboard/utils/ to src/services/dashboard/ - Update import path in dashboard-routes.ts - Remove empty dashboard directory This better aligns with the project structure since the dashboard is now fully integrated into the main application. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix import order in sqlite-store.ts - Remove trailing whitespace in multiple files - Add missing trailing commas - Fix arrow function parentheses - Ensure consistent newlines at end of files 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add StatsService for tracking message metrics in both KV and SQLite - Add SimpleStatsService for lightweight KV-based counters - Create SQL migrations for message_stats table - Add utility routes for seeding test data and migrating between storage types - Add shell scripts for common operations (seeding, stats init, migration) - Update message state manager to emit events for statistics tracking - Add test files for dashboard layout and message creation - Update dependencies in deno.json and deno.lock - Include local SQLite database files for development This provides the foundation for real-time statistics and metrics tracking across both KV and Turso storage backends. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace 'any' types with proper TypeScript types - Use Record<string, unknown> for generic objects - Add type annotations for function parameters and return values - Alias unused import with underscore prefix - Add await to async function calls in getStats method All linting issues resolved, code now passes deno lint checks. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add proper type guards for status and publish_at properties - Use type assertions with validation for parsed payload data - Add non-null assertion for params.status after checking it exists - Ensure all property accesses are type-safe All quality checks now pass: - deno fmt ✓ - deno lint ✓ - deno check ✓ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
CI Status Report✅ All CI checks passed! This PR is ready for review and merge. Test Results:
|
- Create messages directly in store with realistic status distribution - Add weighted webhook types (orders 25%, payments 20%, notifications 20%, etc.) - Generate realistic business data (names, companies, products, locations) - Implement time-based status distribution for historical messages - Past messages: 85% sent, 7% DLQ, 3% retry, 3% queued, 2% deliver - Add business hour bias for scheduled messages - Initialize stats automatically after seeding 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…tion - Add getDistributedCreatedAt() to spread messages across today's hours - Use distributed created_at timestamps instead of publish_at - Fix dashboard hourly chart showing all messages at hour 0 - Maintain random minute offsets for realistic distribution 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace generic "Unknown error" with detailed HTTP status errors - Add multiple error entries for DLQ messages showing retry progression - Include variety of error types: 404, 429, 500, 502, 503, timeouts - Show realistic retry patterns with timestamps - Make error messages descriptive and actionable 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Calculate hours from midnight to current time - Distribute messages evenly across today (0 to current hour) - Fix dashboard showing no messages before current hour - Add seconds randomization for more realistic timestamps - Maintain Date object for created_at in last_errors for type compatibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create dedicated login page with token authentication - Implement session-based auth using secure HTTP-only cookies - Add logout functionality with session cleanup - Protect all dashboard routes with auth middleware - Move migration routes to dedicated /migrate endpoint - Convert logs table to use ISO timestamps instead of Unix epoch - Fix seed data to create realistic log entries with state transitions
- Added comprehensive Dashboard section with features overview - Documented authentication process and session management - Included dashboard views description (Overview, Messages, Message Details) - Added dashboard screenshot reference - Updated Roadmap to mark dashboard as completed 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Created interactive HTML API documentation with Swagger-style UI - Added missing Bruno collection endpoints: - System endpoints (ping, health) - Migration endpoints (KV to Turso, stats initialization) - Utility endpoints (seed data) - Updated README with link to interactive API docs using GitHub HTML preview - Removed development test files (test-messages.sh, test-dashboard.html) - Cleaned up local.db from repository The API documentation provides a comprehensive reference with: - All endpoints clearly organized by category - Request/response examples with syntax highlighting - Parameter descriptions and types - Authentication requirements - Always-visible endpoint listing for better discoverability 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Run deno fmt to format code - Fix linting errors by importing Context type - Update dashboard routes to use proper TypeScript types 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
CI Status Report✅ All CI checks passed! This PR is ready for review and merge. Test Results:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.