OpenStock is an open-source alternative to expensive market platforms. Track real-time prices, set personalized alerts, and explore detailed company insights — built openly, for everyone, forever free.
25 matches across 5 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | __tests__/ai-provider.test.ts | 10 | // ── getProviderConfig ────────────────────────────────────────────── |
| MEDIUM | __tests__/ai-provider.test.ts | 71 | // ── getFallbackProviderName ──────────────────────────────────────── |
| MEDIUM | __tests__/ai-provider.test.ts | 100 | // ── callAIProvider ───────────────────────────────────────────────── |
| MEDIUM | __tests__/ai-provider.test.ts | 254 | // ── callAIProviderWithFallback ───────────────────────────────────── |
| MEDIUM | lib/ai-provider.ts | 78 | // ── Provider call implementations ────────────────────────────────── |
| MEDIUM | lib/ai-provider.ts | 145 | // ── Public API ───────────────────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | lib/inngest/functions.ts | 59 | // Step 1: Fetch General Market News |
| LOW | lib/inngest/functions.ts | 86 | // Step 3: Send Broadcast via Kit |
| LOW | lib/inngest/functions.ts | 208 | // Step 1: Fetch active alerts |
| LOW | lib/inngest/functions.ts | 228 | // Step 2: Group by symbol |
| LOW | lib/inngest/functions.ts | 231 | // Step 3: Fetch prices |
| LOW | lib/inngest/functions.ts | 250 | // Step 4: Check conditions |
| LOW | lib/inngest/functions.ts | 271 | // Step 5: Process triggers |
| LOW | lib/inngest/functions.ts | 299 | // Step 1: Fetch Inactive Users |
| LOW | lib/inngest/functions.ts | 336 | // Step 2: Send Emails |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/resolve_srv.js | 13 | async function getStandardConnectionString() { |
| LOW | lib/ai-provider.ts | 168 | export async function callAIProviderWithFallback( |
| LOW | lib/utils.ts | 215 | export function formatSymbolForTradingView(symbol: string): string { |
| LOW | lib/actions/adanos.actions.ts | 68 | export async function getStockSentimentInsights( |
| LOW | lib/actions/watchlist.actions.ts | 71 | export async function getWatchlistSymbolsByEmail(email: string): Promise<string[]> { |
| LOW | lib/actions/adanos.helpers.ts | 138 | export function buildStockSentimentInsights( |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | README.md | 301 | # ADANOS_API_BASE_URL=https://api.adanos.org |
| LOW | lib/inngest/functions.ts | 421 | // |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | __tests__/reset-password-email.test.ts | 32 | email: 'user@example.com', |
| LOW | __tests__/reset-password-email.test.ts | 52 | email: 'user@example.com', |