Skip to content

Alexs branch#13

Open
Abblanchette wants to merge 11 commits intocodyde:mainfrom
robdillisse-oss:Alexs-branch
Open

Alexs branch#13
Abblanchette wants to merge 11 commits intocodyde:mainfrom
robdillisse-oss:Alexs-branch

Conversation

@Abblanchette
Copy link

No description provided.

Rob Dillisse and others added 11 commits February 11, 2026 13:12
Added structured logging with Sentry.logger and custom metrics with
Sentry.metrics throughout the application for enhanced observability.

Server-side changes:
- Chat API: Log requests, validation errors, tool usage, and response times
- Track metrics for request counts, tool usage, and response time distributions
- Monitor streaming errors and completion status

Client-side changes:
- Window management: Track window operations (open, close, minimize, maximize)
- Monitor active window count and user interactions
- Chat component: Log message sent/received, track response times
- Desktop: Track icon clicks and application launches

Metrics tracked:
- chat.request, chat.validation_error, chat.tool_usage
- chat.response_time (distribution), chat.tools_per_request (gauge)
- window.open, window.close, window.minimize, window.active_count
- chat.message_sent, chat.message_received, chat.client_response_time
- desktop.icon_opened, app.page_load

All logging includes relevant context attributes for filtering and analysis
in Sentry's observability platform.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Built a comprehensive POC tracking application to help Sentry teams and
customers stay accountable during POC processes.

Features:
- Create and manage multiple POC projects
- Track customer information and contacts (Sentry + Customer)
- Visual progress gauges showing completion percentage
- Milestone management with checkbox completion
- Due date tracking with overdue warnings
- Status indicators (not-started, in-progress, completed, blocked)
- On-track calculation based on time elapsed vs progress
- Statistics dashboard showing total, in-progress, completed, blocked POCs
- Filter POCs by status
- Local storage persistence
- Full Sentry instrumentation with structured logging and metrics

UI Components:
- POCCard: Display POC with progress bars, milestones, stats
- POCForm: Modal form for creating/editing POCs and milestones
- POCTracker: Main dashboard with stats and POC grid view

Metrics tracked:
- poc_tracker.page_load
- poc_tracker.project_created/updated
- poc_tracker.milestone_toggled

Desktop integration:
- Added chart icon to DesktopIcon component
- New desktop icon launches POC Tracker in resizable window
- Positioned as primary desktop icon for easy access

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Completely rebuilt POC Tracker to match the Catawiki Excel file structure
with 3 main views for comprehensive POC management.

New Structure:
1. Mutual Action Plan - Timeline of key milestones with due dates, owners
2. POC by Phase - Tasks organized by phases (Initial Setup, Setting up for
   Success, Full Value) with collapsible phase views
3. Success Criteria - Validation criteria grouped by category with priority
   and detailed validation methods

Features:
- Tabbed interface to switch between 3 views
- Overall progress dashboard showing completion across all dimensions
- Click to toggle completion status for action items, tasks, and criteria
- Visual progress indicators per phase
- Priority badges for success criteria (High/Medium/Low)
- Status badges for all items (Completed/In Progress/Not Started)
- Due date tracking with overdue warnings
- Expandable rows in Success Criteria for validation details
- Resource links for phase tasks
- Team information display

Data Import:
- Parsed Catawiki Excel file data
- Created excelParser.ts with real POC data
- Includes 5 action items, 3 phases with 12 tasks, 10 success criteria

Components:
- MutualActionPlan: Table view with checkboxes, due dates, owners
- POCByPhase: Collapsible phase sections with task tables
- SuccessCriteria: Grouped criteria with expandable validation details
- POCTracker: Main dashboard with tabs and overall progress

Full Sentry instrumentation:
- poc_tracker.action_item_toggled
- poc_tracker.phase_task_toggled
- poc_tracker.success_criterion_toggled
- poc_tracker.tab_switched

Installed xlsx package for Excel file parsing support.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Restored the original project list UI while keeping the new 3-tab
detailed view, creating a hierarchical navigation structure.

Navigation Flow:
1. Project List (Home) - Card-based grid showing all POC projects
2. Project Detail - Click any card to open the 3-tab detailed view
3. Back Button - Return to project list from detail view

Components Added:
- POCProjectCard: Summary card showing progress, stats, contacts
- POCProjectList: Grid view of all POC projects
- POCProjectDetail: 3-tab interface (extracted from main tracker)

Features:
- Click any POC card to drill into details
- "Back to Projects" button in detail view
- Progress bars and stats visible in both list and detail
- Arrow indicator on hover for cards
- Real-time updates persist when navigating back

POCTracker Component:
- Now manages state for both list and detail views
- Handles project selection and navigation
- Updates projects array when changes are made
- Logs navigation events to Sentry

Sentry Metrics:
- poc_tracker.project_opened
- poc_tracker.back_to_list

This gives users the best of both worlds:
- Overview of all POCs at a glance (list view)
- Deep dive into specific POC details (detail view with 3 tabs)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created realistic POC projects for Flo Health, DOJO, and Bitvavo with
comprehensive data and company logos from Clearbit.

New Mock Projects:
1. Flo Health - Mobile Error & Performance Monitoring
   - Women's health app with 100M+ users
   - Focus on iOS/Android SDK integration
   - 5 action items, 3 phases (11 tasks), 4 success criteria

2. DOJO - Payment Processing Error Monitoring
   - Payment solutions company with PCI compliance focus
   - Backend Node.js monitoring with distributed tracing
   - 5 action items, 2 phases (7 tasks), 4 success criteria

3. Bitvavo - High-Volume Trading Platform Monitoring
   - Crypto exchange with 100K+ transactions per second
   - Enterprise setup with rate limiting and quotas
   - 6 action items, 2 phases (8 tasks), 5 success criteria

Features Added:
- logoUrl field in POCProject type
- Logo display on POC cards (12x12, rounded, white background)
- Logo display in detail view header (10x10)
- Uses Clearbit Logo API for company logos
- Fallback gracefully if logo fails to load

Each POC includes:
- Realistic timelines and team members
- Industry-specific challenges and requirements
- Appropriate tech stack (mobile, payments, high-volume)
- Detailed success criteria relevant to use case
- Custom notes highlighting key business context

The grid now shows 4 diverse POC projects demonstrating
different industries and monitoring needs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Built a robust logo fetching system that automatically tries multiple
sources with graceful fallback, similar to searching for logos on Google.

Components Created:

1. logoUtils.ts - Multi-source logo utility
   - Clearbit Logo API (priority 1, best quality)
   - Google Favicon API with 128px size (priority 2)
   - DuckDuckGo Icons (priority 3)
   - Favicon.io (priority 4)
   - Automatic domain extraction from company names
   - Known domain mappings for common companies

2. CompanyLogo.tsx - Smart React component
   - Automatically tries all logo sources in priority order
   - On error, seamlessly switches to next source
   - Loading spinner while fetching
   - Fallback to building icon if all sources fail
   - Configurable sizes: small (8x8), medium (12x12), large (16x16)
   - Zero configuration needed - just pass company name

Features:
- Automatic fallback chain: Clearbit → Google → DuckDuckGo → Favicon.io → Icon
- Handles network errors gracefully
- No manual logo URL configuration needed
- Works like searching "DOJO logo PNG" on Google
- Consistent styling with rounded white backgrounds
- Loading states for better UX

Integration:
- Updated POCProjectCard to use CompanyLogo
- Updated POCProjectDetail to use CompanyLogo
- Removed hardcoded logoUrl fields from mock data
- Component auto-discovers best logo source for each company

Benefits:
- Resilient: If one logo service is down, automatically tries others
- Maintenance-free: No need to manually find and add logo URLs
- Better UX: Always shows something (logo or fallback icon)
- Scalable: Add new companies without configuring logos

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implemented secure authentication system to address compliance requirements
ensuring customers can't see each other's POC projects.

Authentication System:

1. auth.tsx - Authentication Context & User Management
   - User type with Google/GitHub provider support
   - Session persistence with localStorage
   - Sentry user tracking integration
   - Login/logout with metrics tracking
   - 4 demo Sentry users (Rob, Sarah, Tom, Laura)

2. LoginScreen.tsx - Beautiful OAuth Login UI
   - Google OAuth-style button
   - GitHub OAuth-style button
   - Two-step flow: Provider selection → User account selection
   - Security note about OAuth 2.0 protection
   - Gradient background with shield icon
   - Mobile-responsive design

3. POC Filtering by User
   - Projects filtered by sentryContact field
   - Users only see POCs they're managing
   - Automatic filtering on login
   - Compliance-safe data isolation

User Assignments:
- Rob Dillisse → Catawiki POC (1 project)
- Sarah Johnson → Flo Health POC (1 project)
- Tom Anderson → DOJO POC (1 project)
- Laura Martinez → Bitvavo POC (1 project)

Features:
- OAuth 2.0-style authentication flow (simulated for demo)
- Session persistence across page refreshes
- User profile display in header (avatar + name)
- Logout button in all views
- Loading states during auth check
- Sentry user context tracking
- Login/logout metrics tracking

Security & Compliance:
- Data isolation: Each user sees only their POCs
- No cross-customer data visibility
- OAuth-standard authentication flow
- Session management with secure storage
- Audit trail via Sentry logging

UX Improvements:
- Smooth auth flow with loading states
- Professional login screen design
- User avatar and name in header
- One-click logout
- Automatic session restore

The authentication system ensures compliance while maintaining
a seamless, professional user experience similar to modern
SaaS applications.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Create NotificationContext with state management and localStorage persistence
- Build NotificationPanel with bell icon, unread badge, and dropdown UI
- Add automatic notifications for completed action items, tasks, and success criteria
- Implement milestone notifications at 25%, 50%, 75%, and 100% completion
- Add phase completion notifications when all tasks in a phase are done
- Create deadline warning notifications for items due within 3 days
- Add overdue item alerts with localStorage deduplication
- Integrate notification bell into POCProjectList and POCProjectDetail headers
- Include Sentry logging and metrics for notification events
- Support browser notifications when permission is granted

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Create BusinessTimeline component with horizontal timeline visualization
- Add TimelineItem type with categories: legal, commercial, security, onboarding, technical
- Display timeline items with status indicators (completed, in-progress, pending, blocked)
- Add timeline data to all POC projects (Catawiki, Flo Health, DOJO, Bitvavo)
- Include real-world business steps: MSA negotiation, security assessments, vendor onboarding
- Integrate timeline below POC tabs, always visible across all tabs
- Add click-to-toggle status functionality for timeline items
- Create notifications when timeline milestones are completed
- Track timeline events with Sentry logging and metrics
- Show category badges, owner info, target dates, and dependencies
- Include visual legend for status types

Timeline covers non-POC processes:
- Legal: MSA negotiation, DPA review, contract signing
- Commercial: Pricing discussions, license finalization
- Security: Compliance reviews, security assessments, vendor onboarding
- Technical: Infrastructure setup, SSO configuration
- Onboarding: Network access, domain whitelisting

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implement comprehensive status report system allowing users to generate downloadable PDF reports with project progress, upcoming deadlines, and recent activity. Features include:

- Email recipient management with validation
- Project selection (all or specific projects)
- Executive summary with overall statistics
- Per-project details with completion stats, deadlines, and activity
- PDF generation using jsPDF library
- localStorage persistence for preferences
- Settings dialog accessible from project list and detail views
- Sentry metrics and logging integration

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
addNotification({
type: 'warning',
title: '⚠️ Deadline Approaching',
message: `"${item.action}" is due in ${daysUntilDue} day${daysUntilDue > 1 ? 's' : ''}`,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Incorrect properties are used to generate notification messages, referencing item.action, task.description, and criterion.criterion instead of item.milestone, task.task, and criterion.criteria respectively.
Severity: HIGH

Suggested Fix

Update the property accessors in the notification messages within POCProjectDetail.tsx. Change item.action to item.milestone on lines 52, 69, and 106. Change task.description to task.task on line 169. Change criterion.criterion to criterion.criteria on line 235. This will ensure the correct text is displayed in user notifications.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: src/components/desktop/apps/poc-tracker/POCProjectDetail.tsx#L52

Potential issue: In `POCProjectDetail.tsx`, several notification messages are
constructed using incorrect property names, which will result in `undefined` being
displayed in the UI. Specifically, `item.action` is used instead of `item.milestone` for
action plan items (lines 52, 69, 106), `task.description` is used instead of `task.task`
for phase tasks (line 169), and `criterion.criterion` is used instead of
`criterion.criteria` for success criteria (line 235). These bugs will be triggered
during normal app usage, such as when items are nearing deadlines or marked as complete,
leading to confusing and broken notifications for the user.

Did we get this right? 👍 / 👎 to inform future reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant