Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
b514285
fix: Remove permission hijacking from Chronicle PreToolUse hook [CHR-4]
memyselfandm Aug 21, 2025
dcc9fcf
feat(CHR-9,CHR-8,CHR-56): implement Sprint 1 - foundation & real-time…
memyselfandm Aug 21, 2025
0299757
docs: Update documentation to reflect Chronicle's pure observability …
memyselfandm Aug 21, 2025
db345e5
Merge branch 'chr-4-ptu-permissions' into dev
memyselfandm Aug 21, 2025
e8b0ac0
feat(CHR-19,CHR-18,CHR-7): implement Sprint 2 - core UI components
memyselfandm Aug 21, 2025
ca80a88
feat(CHR-25.S03): Complete Event Feed & Performance Sprint
memyselfandm Aug 21, 2025
63128ea
fix(CHR-82): Phase 1 - Fix data loading and display issues in dashboard
memyselfandm Aug 22, 2025
73f7cfe
feat(CHR-82): Rebuild Header component based on I4V2-V4 reference design
memyselfandm Aug 22, 2025
9892582
fix(CHR-85): Implement event-based session filtering and sidebar impr…
memyselfandm Aug 22, 2025
faaf4c5
fix: Remove emoji icons and fix table name references
memyselfandm Aug 22, 2025
702306a
feat(sidebar): implement redesigned sidebar with improved session org…
memyselfandm Aug 22, 2025
5f17029
feat(sidebar): enhance awaiting input section and session hover states
memyselfandm Aug 22, 2025
a987685
fix(CHR-82,CHR-87): Fix event feed design and session termination bug
memyselfandm Aug 22, 2025
c0dd8c0
feat(CHR-25): Update event feed design to match V5 table structure an…
memyselfandm Aug 23, 2025
f868ec2
fix(CHR-82): Fix event feed data loading issue
memyselfandm Aug 23, 2025
5403d42
chore: Add .playwright-mcp directory to gitignore
memyselfandm Aug 23, 2025
dea3777
feat(CHR-83): Add missing get_session_summaries RPC function
memyselfandm Aug 24, 2025
df8e91b
fix(CHR-87): Fix sessions incorrectly marked as completed
memyselfandm Aug 24, 2025
e2dbd97
refactor(CHR-84): Clean up and consolidate dashboard components
memyselfandm Aug 24, 2025
7baed5f
feat(CHR-25.S05): Complete dashboard integration sprint
memyselfandm Aug 25, 2025
9433a17
test(CHR-6): Add comprehensive test infrastructure and utilities
memyselfandm Aug 25, 2025
c40e287
test(CHR-6): Add component unit tests with 90%+ coverage
memyselfandm Aug 25, 2025
38d9a10
test(CHR-6): Add hooks and utilities tests achieving 96% coverage
memyselfandm Aug 25, 2025
132246b
test(CHR-6): Add Supabase integration tests with 500 events/sec valid…
memyselfandm Aug 25, 2025
1f55d64
test(CHR-6): Add performance testing suite with benchmarks and monito…
memyselfandm Aug 25, 2025
fa15811
test(CHR-6): Add E2E tests and complete testing validation
memyselfandm Aug 25, 2025
7f40529
docs(CHR-5): Add comprehensive dashboard documentation
memyselfandm Aug 26, 2025
0e84308
fix(CHR-113): Fix Chronicle hooks to be purely observational
memyselfandm Aug 26, 2025
a5c63d1
fix: Resolve merge conflict - keep observational approach from CHR-113
memyselfandm Aug 26, 2025
57390c6
Merge pull request #5 from memyselfandm/chr-25-dashboard-redesign
memyselfandm Aug 26, 2025
968411e
feat(CHR-32-39): Implement core infrastructure - local database and A…
memyselfandm Aug 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -153,3 +153,4 @@ dev_*.sh
output_*.json
debug_output.*
test_output.*
.playwright-mcp/
12 changes: 12 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": [
"@playwright/mcp@latest"
],
"env": {}
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/current-implementation-loaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/dashboard-fixed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/dashboard-loading-state.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/dashboard-state.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/design-variant-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/design-variant-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/event-feed-actual-state.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/event-feed-alignment-issue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/event-feed-final-typography.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/event-feed-fixed-final.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/event-feed-layout-issue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/event-feed-working-final.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/header-with-material-icons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/i4v4-header-reference-detail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/i4v4-header-reference.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/our-implementation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/reference-design.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/reference-i4v2-v3-colors.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/reference-i4v2-v5-typography.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/sidebar-final-improvements.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/sidebar-updated.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .playwright-mcp/sidebar-with-sessions.png
55 changes: 37 additions & 18 deletions apps/dashboard/.env.local.template
Original file line number Diff line number Diff line change
@@ -1,31 +1,50 @@
# Chronicle Dashboard Local Environment Template
# Chronicle Dashboard - Local Backend Mode Template
# ==============================================================================
# IMPORTANT: This template requires the root .env file to be configured first
# 1. Copy /path/to/project/.env.template to .env in the project root
# 2. Configure the root .env file with your Supabase and other settings
# 3. Copy this file to .env.local for local dashboard overrides
# This template configures Chronicle to use the local SQLite backend
# Copy this to .env.local and adjust as needed for your setup
# ==============================================================================

# ===========================================
# LOCAL DASHBOARD OVERRIDES
# BACKEND CONFIGURATION - LOCAL MODE
# ===========================================
# Only add variables here that need to be different from the root config
# for your local development environment

# Local development Supabase (if different from root config)
# NEXT_PUBLIC_SUPABASE_URL=http://localhost:54321
# NEXT_PUBLIC_SUPABASE_ANON_KEY=your-local-anon-key
# Backend mode - set to 'local' for SQLite backend
NEXT_PUBLIC_CHRONICLE_MODE=local

# Local development flags
# NEXT_PUBLIC_DEBUG=true
# NEXT_PUBLIC_SHOW_DEV_TOOLS=true
# NEXT_PUBLIC_ENABLE_PROFILER=true
# Local server configuration
NEXT_PUBLIC_LOCAL_SERVER_URL=http://localhost:8510

# ===========================================
# DEVELOPMENT SETTINGS
# ===========================================

# Development environment
NODE_ENV=development

# Debug settings for local development
NEXT_PUBLIC_DEBUG=true
NEXT_PUBLIC_SHOW_DEV_TOOLS=true
NEXT_PUBLIC_ENABLE_PROFILER=true
NEXT_PUBLIC_SHOW_ENVIRONMENT_BADGE=true

# Performance settings optimized for local development
NEXT_PUBLIC_MAX_EVENTS_DISPLAY=500
NEXT_PUBLIC_POLLING_INTERVAL=2000

# ===========================================
# FEATURES (Optional Overrides)
# ===========================================
# Uncomment to override default feature flags

# NEXT_PUBLIC_ENABLE_REALTIME=true
# NEXT_PUBLIC_ENABLE_ANALYTICS=true
# NEXT_PUBLIC_ENABLE_EXPORT=true
# NEXT_PUBLIC_ENABLE_EXPERIMENTAL_FEATURES=true

# ===========================================
# REFERENCE
# NOTES
# ===========================================
# All main configuration is in the root .env file using CHRONICLE_ prefixes
# Next.js will automatically load both root .env and this .env.local file
# - Ensure your local Chronicle server is running on port 8510
# - Local mode uses SQLite database stored locally
# - No Supabase credentials needed in local mode
# - All events and sessions are stored locally
80 changes: 80 additions & 0 deletions apps/dashboard/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Changelog

All notable changes to the Chronicle Dashboard will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.5.0] - 2025-08-24

### Added
- Full component integration with real-time data flow
- Keyboard navigation support (j/k for events, 1/2/3 for filters, Cmd+B for sidebar)
- Session filtering through sidebar selection
- Real-time metrics in header (active/awaiting counts, event rate sparkline)
- Event feed with virtual scrolling for 1000+ events
- Session grouping by git repository or project folder
- Awaiting sessions highlighting and priority section
- Layout persistence in localStorage
- Tool name extraction from metadata JSON fields
- Multi-select support for session filtering

### Fixed
- CHR-88: Dashboard layout issues with floating event feed
- CHR-88: CSS Grid containment properly implemented
- CHR-88: Removed debug displays and development overlays
- CHR-62: Tool names showing as "null" in events
- CHR-62: Sessions with notifications not showing as awaiting
- CHR-62: Event details not displaying correct tool information

### Changed
- Event feed now displays as full-width section without borders
- Session column width doubled from 140px to 280px
- Header shows real-time metrics instead of static text
- Sidebar sessions organized by project with collapsible folders
- Event rows reduced to 22px height for maximum density

### Technical
- Implemented Zustand store for component communication
- Added metadata extraction logic for tool names
- Enhanced session awaiting detection algorithm
- Optimized React rendering with proper memoization
- Added keyboard event handlers throughout application

## [0.4.0] - 2025-08-23

### Added
- Component cleanup and consolidation (CHR-84)
- Standardized component naming conventions
- Proper TypeScript types throughout

### Fixed
- Removed duplicate components
- Fixed import paths
- Resolved TypeScript errors

## [0.3.0] - 2025-08-22

### Added
- Event feed with real-time updates
- Virtual scrolling for performance
- Event batching system
- Color-coded event types

## [0.2.0] - 2025-08-21

### Added
- Sidebar with session management
- Header with status indicators
- Basic layout structure
- Supabase integration

## [0.1.0] - 2025-08-20

### Added
- Initial project setup
- Next.js 14 configuration
- Tailwind CSS setup
- Basic component structure
Loading
Loading