CopilotKit / CopilotKit/outpost

observability: Sentry is a no-op stub and no @sentry package is installed

Open
#196 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: infrastructure roadmap roadmap: next
Dominant language
TypeScript
Stars
7
Forks
3
Avg merge
7d 16h
Merged PRs (30d)
15

Description

apps/web/src/lib/sentry.ts is a stub. Without SENTRY_DSN every call logs to stderr and returns:

export function captureException(error: unknown, context?: Record<string, unknown>): void {
    if (!sentryConfig.dsn) {
        console.error('[sentry-stub] exception captured:', error, context ?? '');
        return;
    }

No @sentry/* package is installed in any workspace package.json, so even setting the DSN would not send anything. The default alert handler only logs as well.

Why it matters

Production has no error reporting. When the worker drops a job or a webhook 500s, nobody finds out unless they are reading Railway logs at that moment. This compounds #182 (a wedged worker still reports healthy) — two independent blind spots on the same service.

Fix

Install @sentry/nextjs for apps/web and @sentry/node for the worker and bots, wire the real SDK behind the existing stub interface so call sites do not change, and route the alert handler to Slack or PagerDuty for anything above a threshold.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with apps/web/src/lib/sentry.ts and inspect the workspace package.json files to understand the existing stub interface and available dependencies. Trace its call sites and the default alert handler before choosing the SDK integration points. Done means the web, worker, and bot errors are sent through Sentry and above-threshold alerts are routed to Slack or PagerDuty without changing call sites.

Written by the indexing model from the issue text.

Assessment

Tech stack
next.js, node.js, typescript
Domain
backend, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.