Repository navigation
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e5004fc2f6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (activeResult && (selectionChosen || visibleResultsQuery === currentQuery)) { | ||
| openResult(activeResult.url) |
There was a problem hiding this comment.
Reset the chosen result when the query changes
After a user arrows to or points at a result, selectionChosen remains true even if they edit the search text. If they press Enter before the 120 ms search finishes, this branch opens the result selected for the previous query rather than searching the current input. Clear the selection state in the input handler so only navigation performed after the latest edit can override the new query.
Useful? React with 👍 / 👎.
| <div class="container"> | ||
| <p class="eyebrow">{{ icons.tag }} Pricing</p> | ||
| <h1>Simple pricing that <span class="text-gradient">grows with you</span></h1> | ||
| <p>Pay for the events you send, not the seats on your team. Every plan includes the full app and the MCP server for AI coding agents; paid plans add real-time alerts, integrations, longer retention, and Exie.</p> |
There was a problem hiding this comment.
Clarify that Exie excludes the Small paid plan
This says all paid plans add Exie, so a customer choosing the paid Small plan could reasonably expect the assistant to be included. The plan table and the FAQ on this same page instead state that Exie starts with Medium, so the headline should distinguish paid-only features from Medium-and-up features.
Useful? React with 👍 / 👎.
Rebuilds the exceptionless.com site around the brighter green brand and the AI sparkle, adds an AI page that introduces Exie and the MCP server, and refreshes the docs with new screenshots. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e5004fc to
3c78bd5
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3cb072a623
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| stored = localStorage.getItem(tabStorageKey) | ||
| } catch { | ||
| stored = null |
There was a problem hiding this comment.
Initialize the tab storage key before initializing tabs
When a reader selects a documentation code tab and then navigates to another page, their saved choice is never restored. initializeTabs() runs at the top of the module before const tabStorageKey is initialized, so this read throws a temporal-dead-zone ReferenceError. The catch silently treats it as unavailable storage, leaving the first tab selected on every page. Move the key declaration above the initialization calls so the saved preference can be read.
Useful? React with 👍 / 👎.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Verify the rewritten pages against current main and the released .NET 6.2.0 and JavaScript 3.2.1 clients. Correct trial and paid-plan limits, OAuth consent, Exie privacy and runtime settings, request-data exclusions, API responses, and client examples. Preserve the AI-first presentation and existing screenshots for the explicit recapture checklist.
Initialize the shared tab storage key before startup and reset a prior search selection when input changes. Regression tests reproduce saved-tab restoration and keyboard/pointer selection before and after editing. All 18 focused search/bootstrap and redirect tests pass with Deno 2.9.6; full configured checks remain blocked by dependency downloads.
Keep the new API overview and preserve current self-registered and administrator-restricted OAuth scope behavior in the MCP guide. This resolves the only content conflict while retaining the upstream trial, plan, runtime, and client changes used to verify the documentation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3058777a52
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const nav = parseDocsNav(yaml) | ||
| assertEquals(navUrls(nav), [ | ||
| "/docs/", |
There was a problem hiding this comment.
Apply the required Arrange/Act/Assert structure to new tests
The new tests in docs-nav.test.ts, docs-markdown.test.ts, and redirects.test.ts omit the required explicit test sections. Root AGENTS.md requires “explicit // Arrange, // Act, and // Assert sections” for all languages, including JavaScript and TypeScript. Structure these tests accordingly, with blank lines separating setup, execution, and assertions, as the new browser-handler tests already do.
AGENTS.md reference: AGENTS.md:L52-L52
Useful? React with 👍 / 👎.
Refreshes exceptionless.com for 9.0 with the brighter green/sparkle brand, AI-first product pages, and rewritten documentation.
Changes
llms.txt/llms-small.txt/llms-full.txt, structured data, and navigation/link/SEO checks.Review and verification
Content was checked against
mainat 793379c and the tagged SDK sources, including an independent pass on sensitive claims. Current main is merged; the API overview conflict is resolved, with current OAuth scope behavior retained in the MCP guide.Passed on 3058777: Website CI, including configured checks, build/tests, links, SEO, docs validation, telemetry bootstrap, and unused assets. Local verification also passed 18 focused search/bootstrap and redirect tests, focused JavaScript checks, and metadata/1,059 source-reference checks across all 81 published docs pages.
Local full checks were blocked by locked npm dependency downloads under Deno 2.9.6; the successful Website CI run provides the full-site validation with the pinned Deno 2.9.7. Final screenshot comparisons and captures remain open below.
Release notes
The website deploys on
v*tags. App/email/Slack branding is tracked separately in #2682. The hosted MCP URL remainsbe.exceptionless.io/mcpuntil production setsEX_ApiUrl; see #2692 for that decision and the separately tracked product issues.Screenshot and image verification
Visual audit covers all 373 image assets: 120 current screenshots (30 families), six standalone brand assets, one social card, and 246 historical images. 19 screenshot families show old controls or Exie UI; 11 cropped/neutral families still need comparison with the final app. The current source uses brighter green primary controls with dark foregrounds and the Exie UI from #2684. Newly added files and updated logos do not establish that the rest of a screenshot is current.
For every family below, check/update all four files:
-light.webp,-light@2x.webp,-dark.webp, and-dark@2x.webp. Paths are relative todocs/public/assets/img/. All four variants exist, and the @2x dimensions are correct. Capture after the UI/branding is final; keep the current lightbox and responsive-image behavior.Confirmed updates: 19 screenshot families and the social card
product/exie— used on the homepage, tour, and AI page. Capture/exieor the expanded Ask Exie panel with the current Exie mark, Recent chats, New chat, project selector, composer, and trace presentation. The existing image asks about users affected but displays a table ranked by occurrence count; use a prompt and answer that demonstrate the same metric.product/stacks— homepage hero; capture/stack→ All.product/errors— tour; capture/event→ Errors. Both need the current shell/Exie icons and final theme.product/event— homepage and tour; capture/event/<eventId>→ Exception, including the current Fix icon. Use coherent demo data: the existing image mixes an operation-canceled stack title,System.TimeoutExceptionerror type, andSystem.NullReferenceExceptionstack trace.product/mcp— tour; capture/account/ai-toolswith current primary/copy controls and verify the displayed setup commands against that page.docs/filtering-and-searching-filtered-view—/docs/filtering-and-searching/; capture/stackwith the documented filters.docs/managing-stacks-list—/docs/managing-stacks/; capture/stack→ Most Frequent Errors. Both retain old shell Exie icons.docs/managing-stacks-details,docs/managing-stacks-status-menu,docs/managing-stacks-options-menu—/docs/managing-stacks/, with the options image also on/docs/concepts/stacking/. Capture/stack/<stackId>with the summary, status menu, and Stack Options menu respectively, including the current Fix icon.docs/setting-log-levels-logs-view,docs/setting-log-levels-stack-override—/docs/setting-log-levels/. Capture/event→ Logs with the current shell, then a log stack at/stack/<stackId>with the log-level selector open and current Fix icon.docs/user-sessions-dashboard—/docs/user-sessions/; capture/sessionswith the current shell.docs/project-settings-configuration,docs/client-configuration-values—/docs/project-settings/and both/docs/clients/{dotnet,javascript}/client-configuration-values/guides. Capture/project/<projectId>/configuration-valuesand Add New Configuration Value with current primary buttons.docs/project-settings-api-keys—/docs/project-settings/and/docs/api/project-tokens/; capture/project/<projectId>/api-keyswith Add token open and current button styling.docs/integrations-overview,docs/integrations-add-webhook—/docs/integrations/; capture/project/<projectId>/integrationsand Add New Webhook with current primary controls.docs/versioning-mark-fixed—/docs/versioning/; capture/stack/<stackId>→ status → Fixed with the current primary button styling.social-card.png— the default sharing image. Refresh its embedded stacks screenshot after the hero capture is updated; retain its already-updated branding and composition.Verify before keeping: 11 cropped or neutral screenshot families
These images omit decisive theme indicators or are largely neutral. They are not certified updated; compare them with the final app and replace only where it differs.
product/most-frequent— homepage/tour, compare/stack→ Most Frequent Errors;product/logs— tour, compare/event→ Logs;product/sessions— tour, compare/sessions. Check chart, stat-card, and control colors as well as layout.docs/filtering-and-searching-add-filter,docs/filtering-and-searching-raw-filter—/docs/filtering-and-searching/; compare the current Add Filter menu and Raw Filter editor on/stack.docs/bulk-actions-menu—/docs/managing-stacks/; compare/stackwith several rows selected and Actions open, including checkbox styling.docs/filtering-and-searching-save-view—/docs/saved-views/; compare/stack→ View, including labels, home-view actions, and display settings. This image shows the menu, not the separate Save View dialog.docs/notifications-project-settings—/docs/notifications/; compare/account/notifications?project=<projectId>→ Project Notifications, including enabled/disabled toggle styling.docs/plugins-extended-data—/docs/clients/dotnet/plugins/; compare/event/<eventId>→ Extended Data and keep if the structure and typography still match.docs/project-settings-data-exclusions,docs/project-settings-spam-detection—/docs/project-settings/, with Data Exclusions also on/docs/security/; compare the corresponding sections of/project/<projectId>/settings.Deferred surfaces and completed branding/archive checks
The rewrite plan defers screenshots until the UI is frozen. Assess these missing surfaces only where a picture helps explain the workflow, per
docs/STYLE.md:/docs/ai/exie/; the existing marketing image is not currently used there./oauth/authorize?..., for MCP/account documentation./from any app page, for/docs/navigation/./stack→ View → Save As…, for/docs/saved-views/./system/exie,/system/settings, and/system/saved-viewswhen considering the deferred self-hosting/admin illustrations.docs/public/apple-touch-icon.png,docs/public/favicon.ico,docs/public/favicon.svg, anddocs/public/assets/img/{exceptionless-logo.png,logo.svg,logo-dark.svg}. App/email/Slack branding remains tracked separately in Refresh the brand: brighter green and an AI sparkle in the logo and icon #2682.docs/news/anddocs/public/assets/img/news/, plusdocs/public/assets/img/event-occurrence-1024x791.jpgused only by the 2020 monitoring-services comparison. No current docs/marketing reuse of those legacy screenshots was found; retain them as historical records.Audit scope: all assets were visually inspected via contact sheets, with key current mismatches checked at native resolution. The two historical GIFs were sampled at five frames each. Current-app capture was not run, and image-generation provenance was not inferred; the unchecked tasks above retain the final UI verification/capture work.