Skip to content

Feat/new web - #7

Merged
NullishUsername merged 7 commits into
mainfrom
feat/new-web
Aug 12, 2026
Merged

Feat/new web#7
NullishUsername merged 7 commits into
mainfrom
feat/new-web

Conversation

@NullishUsername

@NullishUsername NullishUsername commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Introduced a refreshed StegNet homepage with responsive styling and light, dark, and system theme options.
    • Added an Sentry demonstration page with connectivity checks, tracing, logging, and sample error reporting.
    • Added reusable buttons, inputs, dropdown menus, and theme controls.
  • Monitoring

    • Improved client, server, and edge error monitoring with Sentry.
  • Deployment

    • Added automated production deployments for versioned releases.
  • Changes

    • Removed the previous Terms of Service and Privacy Policy pages.

@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
frontpage Ready Ready Preview Aug 12, 2026 11:16am

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ba70480c-6eb4-4e1e-91e3-3f4a8ab11da3

📥 Commits

Reviewing files that changed from the base of the PR and between 6082d0f and 482ecf1.

📒 Files selected for processing (3)
  • .github/workflows/deploy-production.yml
  • package.json
  • src/instrumentation-client.ts
💤 Files with no reviewable changes (1)
  • package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/instrumentation-client.ts

📝 Walkthrough

Walkthrough

The project moves to a Sentry-enabled Next.js structure. It adds reusable UI components, theme support, Sentry example flows, and a GitHub Actions workflow for semver-tagged Vercel production deployments.

Changes

Sentry-enabled Next.js deployment

Layer / File(s) Summary
Project foundation and tooling
package.json, tsconfig.json, components.json, src/lib/utils.ts, .gitignore, .mcp.json, .vscode/mcp.json, AGENTS.md, CLAUDE.md
Project metadata, dependencies, path aliases, UI configuration, contributor guidance, ignore rules, and MCP settings are added or updated.
Application shell and reusable UI
src/app/globals.css, src/app/layout.tsx, src/app/page.tsx, src/components/..., src/components/ui/...
The root layout, home page, theme controls, global styling, and reusable button, menu, and input components are added.
Sentry runtime instrumentation
next.config.ts, sentry.edge.config.ts, sentry.server.config.ts, src/instrumentation-client.ts, src/instrumentation.ts, src/app/global-error.tsx
Client, server, and edge Sentry initialization is added with request-error handling, global error reporting, profiling, replay, logging, and build configuration.
Sentry example experience
src/app/sentry-example-page/page.tsx, src/app/api/sentry-example-api/route.ts
A Sentry example page and dynamic API route exercise logging, tracing, connectivity checks, and error capture.
Production tag deployment
.github/workflows/deploy-production.yml, vercel.json
The deployment workflow validates release tags and main ancestry, prepares the Vercel environment, builds with Sentry release metadata, and deploys the prebuilt artifact.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant SentryExamplePage
  participant Sentry
  participant SentryExampleAPI
  SentryExamplePage->>Sentry: log page load and check connectivity
  SentryExamplePage->>SentryExampleAPI: invoke traced GET request
  SentryExampleAPI->>Sentry: log request and throw SentryExampleAPIError
  SentryExamplePage->>Sentry: report failed request or frontend error
Loading
sequenceDiagram
  participant GitHubActions
  participant VercelCLI
  participant Sentry
  GitHubActions->>GitHubActions: validate semver tag and main ancestry
  GitHubActions->>VercelCLI: pull production environment
  GitHubActions->>Sentry: provide release tag and credentials
  GitHubActions->>VercelCLI: build and deploy prebuilt artifact
  VercelCLI-->>GitHubActions: return deployment URL
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 3.70% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title identifies a new web frontend, which matches the main changes, but it is broad and omits the deployment and Sentry additions.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/new-web

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration.


Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 8

🧹 Nitpick comments (1)
sentry.server.config.ts (1)

20-27: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Set a production telemetry budget instead of full sampling.

All three runtime configurations use a 1.0 trace rate. The server and browser configurations also profile at 1.0. This creates maximum telemetry volume and profiling overhead for production traffic.

  • sentry.server.config.ts#L20-L27: Set production trace and profile rates from an explicit, lower telemetry budget.
  • sentry.edge.config.ts#L11-L12: Set an Edge trace rate that matches the production telemetry budget.
  • src/instrumentation-client.ts#L24-L30: Set browser trace and profile rates that match the production telemetry budget.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@sentry.server.config.ts` around lines 20 - 27, Replace the production 1.0
trace and profile sampling values in sentry.server.config.ts (lines 20-27) with
one explicit lower telemetry budget, and apply that same budget to the Edge
trace setting in sentry.edge.config.ts (lines 11-12) and the browser
trace/profile settings in src/instrumentation-client.ts (lines 24-30); preserve
the existing development behavior unless the shared configuration requires
otherwise.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/deploy-production.yml:
- Around line 27-30: Update the actions/checkout step to set persist-credentials
to false, preventing the GitHub token from being stored in local Git
configuration while preserving the existing full-history checkout behavior.
- Around line 32-38: The “Validate strict semver tag” step uses an incomplete
regex that permits empty dot-separated identifiers and leading-zero numeric
prerelease identifiers. Update its TAG validation pattern to enforce SemVer
rules: require nonempty prerelease/build components and reject numeric
prerelease identifiers beginning with zero, while preserving the existing
vMAJOR.MINOR.PATCH requirement.
- Around line 48-54: Update the production workflow’s “Setup Bun” step to use
Bun version 1.3.14 and replace the oven-sh/setup-bun@v2 tag with its full
immutable commit SHA; update the “Install Vercel CLI” step to install
vercel@58.9.4 instead of the latest release.

In `@package.json`:
- Around line 40-46: Update the package-manager configuration around
trustedDependencies to use a single Bun lifecycle-script policy: remove the
unsupported ignoreScripts array from package.json, and either rely on the
install flag or configure install.ignoreScripts in bunfig.toml. If these
packages must remain blocked, remove sharp and unrs-resolver from
trustedDependencies.

In `@src/app/api/sentry-example-api/route.ts`:
- Around line 11-16: Update the GET function to prevent the intentional Sentry
error from being triggered by unauthenticated production requests. Disable the
route by default when running in production, or gate it behind an authorized
test mechanism, while preserving its current behavior in non-production
environments.

In `@src/app/sentry-example-page/page.tsx`:
- Around line 219-228: Update the .connectivity-error style to remove the fixed
500px width and use a responsive maximum width, allowing the message container
to shrink within narrow viewports while preserving the existing appearance on
wider screens.
- Line 4: Replace the next/head usage in the page component with the App Router
static metadata export, keeping the route as a Server Component. Move any
interactive page content into a separate Client Component and render that
component from the server page.

In `@src/instrumentation-client.ts`:
- Line 22: Update the tracePropagationTargets configuration to include a matcher
for same-origin API routes beginning with /api, such as /^\/api/, while
preserving the existing targets.

---

Nitpick comments:
In `@sentry.server.config.ts`:
- Around line 20-27: Replace the production 1.0 trace and profile sampling
values in sentry.server.config.ts (lines 20-27) with one explicit lower
telemetry budget, and apply that same budget to the Edge trace setting in
sentry.edge.config.ts (lines 11-12) and the browser trace/profile settings in
src/instrumentation-client.ts (lines 24-30); preserve the existing development
behavior unless the shared configuration requires otherwise.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 37d2e461-b14c-417b-9838-3e566c01d68d

📥 Commits

Reviewing files that changed from the base of the PR and between 6d23249 and 6082d0f.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • src/app/favicon.ico is excluded by !**/*.ico
📒 Files selected for processing (38)
  • .github/workflows/deploy-production.yml
  • .gitignore
  • .mcp.json
  • .vscode/mcp.json
  • AGENTS.md
  • CLAUDE.md
  • __tests__/home-page.test.tsx
  • __tests__/smoke.test.ts
  • app/globals.css
  • app/layout.tsx
  • app/page.tsx
  • app/privacy/page.tsx
  • app/terms/page.tsx
  • components.json
  • components/privacy-policy.tsx
  • components/terms-of-service.tsx
  • jest.setup.ts
  • next.config.ts
  • package.json
  • sentry.edge.config.ts
  • sentry.server.config.ts
  • src/app/api/sentry-example-api/route.ts
  • src/app/global-error.tsx
  • src/app/globals.css
  • src/app/layout.tsx
  • src/app/page.tsx
  • src/app/sentry-example-page/page.tsx
  • src/components/theme-provider.tsx
  • src/components/theme-switcher.tsx
  • src/components/ui/button.tsx
  • src/components/ui/dropdown-menu.tsx
  • src/components/ui/input.tsx
  • src/instrumentation-client.ts
  • src/instrumentation.ts
  • src/lib/utils.ts
  • test/__mocks__/fileMock.ts
  • tsconfig.json
  • vercel.json
💤 Files with no reviewable changes (11)
  • test/mocks/fileMock.ts
  • tests/home-page.test.tsx
  • app/privacy/page.tsx
  • app/terms/page.tsx
  • jest.setup.ts
  • app/globals.css
  • app/page.tsx
  • components/privacy-policy.tsx
  • app/layout.tsx
  • tests/smoke.test.ts
  • components/terms-of-service.tsx

Comment thread .github/workflows/deploy-production.yml
Comment thread .github/workflows/deploy-production.yml
Comment thread .github/workflows/deploy-production.yml Outdated
Comment thread package.json Outdated
Comment thread src/app/api/sentry-example-api/route.ts
Comment thread src/app/sentry-example-page/page.tsx
Comment thread src/app/sentry-example-page/page.tsx
Comment thread src/instrumentation-client.ts Outdated
@NullishUsername
NullishUsername merged commit 6fe66a3 into main Aug 12, 2026
3 checks passed
@NullishUsername
NullishUsername deleted the feat/new-web branch August 12, 2026 11:20
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