Preparing your workspace...

assistant-chat.tsx2.5k
utils.ts850
button.tsx720
Quick Actions
codmir
Docs
Discord
Get started
API
  • Introduction
  • Installation
  • Your First Project
  • Your First Agent
  • Overview
  • OverseerClient
  • Error Tracking
  • Session Replay
  • Incidents
  • Deployments
  • Orchestrator

Automatic error capture and reporting

Error Tracking

Overseer automatically captures and reports errors from your application.

Automatic Capture

Once initialized, Overseer automatically captures:

  • Unhandled Errors - window.onerror events
  • Promise Rejections - unhandledrejection events
  • Console Errors - console.error calls (optional)
import { init } from '@codmir/overseer';

init({
  dsn: 'https://your-project.codmir.com/overseer',
  service: 'my-app',
  environment: 'production',
});

// This error is automatically captured
throw new Error('Something went wrong');

Manual Capture

captureException

Capture errors in try/catch blocks:

import { captureException } from '@codmir/overseer';

async function fetchData() {
  try {
    const response = await fetch('/api/data');
    return response.json();
  } catch (error) {
    captureException(error, {
      level: 'error',
      tags: { feature: 'data-fetch' },
      extra: { endpoint: '/api/data' },
    });
    throw error;
  }
}

captureMessage

Log important events:

import { captureMessage } from '@codmir/overseer';

// Info level
captureMessage('User completed onboarding', 'info');

// Warning level
captureMessage('Rate limit approaching', 'warning');

// Error level
captureMessage('Payment gateway timeout', 'error');

Error Context

Tags

Add indexed tags for filtering:

captureException(error, {
  tags: {
    feature: 'checkout',
    region: 'us-east',
    tier: 'enterprise',
  },
});

Extra Data

Add additional context:

captureException(error, {
  extra: {
    orderId: '12345',
    cartTotal: 99.99,
    itemCount: 3,
    user: { id: user.id, plan: user.plan },
  },
});

Severity Levels

LevelUse Case
fatalApp crash, unrecoverable error
errorError that needs fixing
warningPotential issue to monitor
infoImportant event
debugDevelopment debugging

Error Grouping

Overseer automatically groups similar errors using fingerprinting:

  • Same error message pattern
  • Same stack trace location
  • Same error type

Custom Fingerprinting

Override automatic grouping:

captureException(error, {
  fingerprint: ['custom-fingerprint', user.id],
});

Error Deduplication

Duplicate errors are automatically tracked:

  1. First occurrence creates an issue
  2. Subsequent occurrences increment the count
  3. UI shows occurrence count and affected users

React Error Boundaries

import { captureException } from '@codmir/overseer';

class ErrorBoundary extends React.Component {
  componentDidCatch(error, errorInfo) {
    captureException(error, {
      extra: { componentStack: errorInfo.componentStack },
    });
  }
  
  render() {
    if (this.state.hasError) {
      return <ErrorFallback />;
    }
    return this.props.children;
  }
}

Network Error Tracking

Track API errors:

import { captureException, addBreadcrumb } from '@codmir/overseer';

async function apiCall(endpoint: string) {
  addBreadcrumb({
    type: 'http',
    category: 'api',
    message: `Calling ${endpoint}`,
    level: 'info',
  });

  const response = await fetch(endpoint);
  
  if (!response.ok) {
    const error = new Error(`API Error: ${response.status}`);
    captureException(error, {
      tags: { endpoint, status: String(response.status) },
    });
    throw error;
  }
  
  return response.json();
}

Filtering Errors

Skip noisy errors:

init({
  beforeSend(event) {
    // Skip known framework issues
    const skipPatterns = [
      'ResizeObserver loop',
      'ChunkLoadError',
      'Loading chunk',
    ];
    
    if (skipPatterns.some(p => event.message?.includes(p))) {
      return null;
    }
    
    return event;
  },
});
Open in ChatGPTOpen in ClaudeConnect MCP on CursorConnect MCP on WindsurfEdit on GitHub
codmir
Products
Desktop AppMobile AppIDE ExtensionAI AgentsOverseerVoice ModeCortex ProtocolHive MindGame Dev (Godat)PricingDownload
Solutions
AI Code AgentsCode ReviewError TrackingSelf-HealingDeploy TrackingAI Tracking SDKWorkflow AutomationTesting FrameworkTime TrackingVoice Control
Platform
ProjectsTickets & BoardsAgent MarketplaceIntegrationsTemplatesApp HubAdmin PanelAnalytics
Integrations
GitHubSlackDiscordVercelSentryRailwayLinearAll Integrations
Developers
DocumentationAPI ReferenceSDKCLIDeveloper PortalMarketplaceMCP ConnectorsWebhooksExamplesnpm Packages
Resources
BlogChangelogCommunityTutorialsGet StartedSupportStatusFeedback
Company
AboutCareersContact SalesKickstarterReferral Program
Legal
Terms of UsePrivacy PolicyEULATrademarkSecurity
Download on the App StoreGet it on Google Play

Codmir™ 2026. All rights reserved.

Free & open source SDK — Apache 2.0 License