Skip to content

chore(admin): update dependencies and remove promo code functionality - #1298

Merged
smakosh merged 3 commits into
mainfrom
chore/upgrade-react-next
Dec 3, 2025
Merged

smakosh merged 3 commits into
mainfrom
chore/upgrade-react-next

Conversation

@smakosh

@smakosh smakosh commented Dec 3, 2025 •

Copy link
Copy Markdown
Member

Summary

  • Upgraded next to version 16.0.7 and react to version 19.2.1 across admin and UI applications.
  • Removed promo code handling from payment processing and UI components, simplifying the top-up credits dialog and related payment routes.

Changes

  • Updated package.json files to reflect new dependency versions.
  • Deleted middleware handling for promo codes in the admin application.
  • Refactored payment routes to eliminate promo code logic.
  • Adjusted UI components to remove promo code input fields and related logic.

Test Plan

  • Verify that the admin dashboard functions correctly with updated dependencies.
  • Ensure that payment processing works without promo code functionality.
  • Confirm that the top-up credits dialog displays correctly without promo code inputs.

Summary by CodeRabbit

  • New Features

    • New reusable MetricCard component and redesigned dashboard metrics for clearer visibility and compact layout.
  • Changes

    • Removed promo code functionality across payment APIs and UI; fee displays and payment flows simplified accordingly.
  • Improvements

    • Updated React and related type dependencies for stability.

✏️ Tip: You can customize this high-level summary in your review settings.

## Summary
- Upgraded `next` to version 16.0.7 and `react` to version 19.2.1 across admin and UI applications.
- Removed promo code handling from payment processing and UI components, simplifying the top-up credits dialog and related payment routes.

## Changes
- Updated `package.json` files to reflect new dependency versions.
- Deleted middleware handling for promo codes in the admin application.
- Refactored payment routes to eliminate promo code logic.
- Adjusted UI components to remove promo code input fields and related logic.

## Test Plan
- [ ] Verify that the admin dashboard functions correctly with updated dependencies.
- [ ] Ensure that payment processing works without promo code functionality.
- [ ] Confirm that the top-up credits dialog displays correctly without promo code inputs.
@smakosh
smakosh requested a review from steebchen December 3, 2025 16:41
@smakosh smakosh self-assigned this Dec 3, 2025
@smakosh
smakosh enabled auto-merge December 3, 2025 16:42
@coderabbitai

coderabbitai Bot commented Dec 3, 2025 •

Copy link
Copy Markdown
Contributor

Walkthrough

Removes promo-code support from backend and frontend payment flows, renames admin export middleware → proxy, updates React/react-dom and @types/react versions in some apps, and adds a reusable MetricCard component used by the dashboard.

Changes

Cohort / File(s) Summary
Dependency updates
apps/admin/package.json, apps/ui/package.json, apps/playground/package.json
Bump react/react-dom 19.2.0 → 19.2.1 and @types/react ^19.2.6 → ^19.2.7 in admin; no script changes.
Admin proxy function
apps/admin/proxy.ts
Export renamed from middleware → proxy; no other logic changes.
Payments API — promo removal
apps/api/src/routes/payments.ts
Removed all promo-code logic and constants; removed promoCode from request schemas and parsing for /create-payment-intent, /top-up-with-saved-method, /calculate-fees; removed promo-related response fields and Stripe metadata; simplified fee calculation paths.
Stripe handler — promo usage removal
apps/api/src/stripe.ts
Deleted block that recorded promo-code usage on successful payment intent; rest of success handling unchanged.
Frontend top-up flows — promo removal (playground & ui)
apps/playground/src/components/credits/top-up-credits-dialog.tsx, apps/ui/src/components/credits/top-up-credits-dialog.tsx
Removed promoCode state, props, UI and related fee rendering; updated step component signatures and API calls to stop sending promoCode; simplified fee/total rendering.
Dashboard — metric card component & layout
apps/ui/src/components/dashboard/metric-card.tsx, apps/ui/src/components/dashboard/dashboard-client.tsx
Added new MetricCard component and replaced five inline metric cards with MetricCard instances; adjusted grid columns from lg:grid-cols-5 → lg:grid-cols-3.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Areas to check closely:
    • apps/api/src/routes/payments.ts — ensure no remaining promo metadata keys or schema inconsistencies.
    • apps/api/src/stripe.ts — verify removal of promo-recording doesn't break auditing or expectations elsewhere.
    • Frontend top-up components (top-up-credits-dialog.tsx) — confirm all callers updated to new props and TypeScript types.
    • Dashboard MetricCard — verify styling/responsiveness after replacing cards and grid column change.

Possibly related PRs

Suggested reviewers

  • steebchen

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes: dependency upgrades and removal of promo code functionality across multiple applications.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/upgrade-react-next

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8a27815 and 7c187e9.

⛔ Files ignored due to path filters (3)
  • apps/playground/src/lib/api/v1.d.ts is excluded by !**/v1.d.ts
  • apps/ui/src/lib/api/v1.d.ts is excluded by !**/v1.d.ts
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • apps/admin/package.json (2 hunks)
  • apps/playground/package.json (1 hunks)
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx (5 hunks)
  • apps/ui/package.json (1 hunks)
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx (6 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • apps/ui/package.json
  • apps/admin/package.json
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
🧰 Additional context used
📓 Path-based instructions (6)
**/*.{ts,tsx,js,jsx,json,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Always use tabs for indentation

Files:

  • apps/playground/package.json
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx}: Never use any or as any unless absolutely necessary in TypeScript code
For database reads: Use db().query.<table>.findMany() or db().query.<table>.findFirst()

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx,js,jsx}: Always use top-level import, never use require or dynamic imports
No unnecessary code comments

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
apps/{ui,playground}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

apps/{ui,playground}/**/*.{ts,tsx}: Use cookies for user-settings which are not saved in the database to ensure SSR works
Use Next.js App Router with React Server Components for frontend development

Use cookies for user-settings which are not saved in the database to ensure SSR works

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
**/*.{js,ts,tsx,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Always use top-level import, never use require or dynamic imports

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
apps/{ui,playground,docs}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Use next/link for links and next/navigation's router for programmatic navigation

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build-split (ui, linux/amd64)
  • GitHub Check: build-split (worker, linux/amd64)
  • GitHub Check: build-split (gateway, linux/amd64)
  • GitHub Check: build-split (admin, linux/amd64)
  • GitHub Check: build-split (api, linux/amd64)
  • GitHub Check: build-split (playground, linux/amd64)
  • GitHub Check: build-split (docs, linux/amd64)
  • GitHub Check: build-unified (linux/amd64)
  • GitHub Check: test / run
  • GitHub Check: build / run
  • GitHub Check: lint / run
  • GitHub Check: generate / run
  • GitHub Check: autofix
🔇 Additional comments (7)
apps/playground/package.json (2)

63-64: React and react-dom versions updated correctly.

The bump from 19.2.0 to 19.2.1 is a patch release with no breaking changes. The corresponding @types/react and @types/react-dom versions (^19.2.7 and ^19.2.3) are compatible with React 19.2.1.


56-56: Correct version inconsistency analysis: docs app is on 16.0.3, not playground being behind 16.0.7.

The assumption in the original comment appears to be incorrect. No application in the repository is running Next.js 16.0.7. The actual versions are:

  • admin, playground, ui: 16.0.1
  • docs: 16.0.3

If the PR objectives mention upgrading to 16.0.7, either that upgrade was not completed or the objectives need clarification. The real inconsistency is that the docs app is at 16.0.3 while other apps remain at 16.0.1. React versions (lines 63-64) are consistent across apps at 19.2.1.

Likely an incorrect or invalid review comment.

apps/ui/src/components/credits/top-up-credits-dialog.tsx (5)

222-222: LGTM!

The comment clearly documents the removal of promo code UI, which is helpful for maintainability.


282-285: LGTM!

The simplified "Total" label improves clarity by removing promo-related complexity from the fee breakdown display.


615-621: LGTM!

The removal of promoCode from both the calculate-fees and top-up-with-saved-method API calls is consistent with the promo code removal objective. The request bodies correctly include only the necessary parameters (amount and paymentMethodId).

Also applies to: 643-661


719-722: LGTM!

The simplified "Total" label in the payment confirmation step is consistent with the AmountStep changes and improves user clarity.


170-179: Backend API already updated for promo code removal.

The removal of promoCode from the calculate-fees request body is consistent with the backend implementation. The /calculate-fees endpoint schema accepts only amount (required) and paymentMethodId (optional), with no promoCode parameter. The calculateFees function signature also confirms promo code has been removed entirely from the fee calculation logic across the codebase.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
apps/ui/src/components/credits/top-up-credits-dialog.tsx (2)

282-295: Remove dead code referencing removed promo fields.

The API no longer returns promoDiscountAmount or totalAmountBeforePromo fields (as seen in apps/api/src/routes/payments.ts), but the UI still checks for them. These conditional blocks will never execute and should be removed.

Apply this diff to clean up the dead code:

 								)}
-								{feeData.promoDiscountAmount && (
-									<div className="flex justify-between">
-										<span>Total before promo</span>
-										<span>${feeData.totalAmountBeforePromo.toFixed(2)}</span>
-									</div>
-								)}
 								<div className="border-t pt-1 flex justify-between font-medium">
-									<span>
-										{feeData.promoDiscountAmount
-											? "Total after promo"
-											: "Total"}
-									</span>
+									<span>Total</span>
 									<span>${feeData.totalAmount.toFixed(2)}</span>
 								</div>

729-740: Remove dead code referencing removed promo fields.

Similar to the AmountStep, this code references promoDiscountAmount and totalAmountBeforePromo which are no longer returned by the API.

Apply this diff:

 							)}
-							{feeData.promoDiscountAmount && (
-								<div className="flex justify-between">
-									<span>Total before promo</span>
-									<span>${feeData.totalAmountBeforePromo.toFixed(2)}</span>
-								</div>
-							)}
 							<div className="border-t pt-2 flex justify-between font-medium">
-								<span>
-									{feeData.promoDiscountAmount ? "Total after promo" : "Total"}
-								</span>
+								<span>Total</span>
 								<span>${feeData.totalAmount.toFixed(2)}</span>
 							</div>
apps/playground/src/components/credits/top-up-credits-dialog.tsx (2)

261-279: Remove dead code and unsafe type casts.

The code uses (feeData as any) to access promoDiscountAmount and totalAmountBeforePromo, which are no longer returned by the API. These as any casts are masking the fact that these fields don't exist in the type, and the conditional blocks will never execute.

Apply this diff:

 								)}
-								{(feeData as any).promoDiscountAmount && (
-									<div className="flex justify-between">
-										<span>Total before promo</span>
-										<span>
-											$
-											{(
-												(feeData as any).totalAmountBeforePromo as number
-											).toFixed(2)}
-										</span>
-									</div>
-								)}
 								<div className="border-t pt-1 flex justify-between font-medium">
-									<span>
-										{(feeData as any).promoDiscountAmount
-											? "Total after promo"
-											: "Total"}
-									</span>
+									<span>Total</span>
 									<span>${feeData.totalAmount.toFixed(2)}</span>
 								</div>

666-684: Remove dead code and unsafe type casts.

Same issue as in the AmountStep—these fields no longer exist in the API response.

Apply this diff:

 							)}
-							{(feeData as any).promoDiscountAmount && (
-								<div className="flex justify-between">
-									<span>Total before promo</span>
-									<span>
-										$
-										{(
-											(feeData as any).totalAmountBeforePromo as number
-										).toFixed(2)}
-									</span>
-								</div>
-							)}
 							<div className="border-t pt-2 flex justify-between font-medium">
-								<span>
-									{(feeData as any).promoDiscountAmount
-										? "Total after promo"
-										: "Total"}
-								</span>
+								<span>Total</span>
 								<span>${feeData.totalAmount.toFixed(2)}</span>
 							</div>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 995bf42 and eda0ff4.

⛔ Files ignored due to path filters (2)
  • apps/admin/src/lib/api/v1.d.ts is excluded by !**/v1.d.ts
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (9)
  • apps/admin/package.json (1 hunks)
  • apps/admin/proxy.ts (1 hunks)
  • apps/api/src/routes/payments.ts (6 hunks)
  • apps/api/src/stripe.ts (0 hunks)
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx (4 hunks)
  • apps/ui/package.json (1 hunks)
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx (4 hunks)
  • apps/ui/src/components/dashboard/dashboard-client.tsx (2 hunks)
  • apps/ui/src/components/dashboard/metric-card.tsx (1 hunks)
💤 Files with no reviewable changes (1)
  • apps/api/src/stripe.ts
🧰 Additional context used
📓 Path-based instructions (9)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx}: Never use any or as any unless absolutely necessary in TypeScript code
For database reads: Use db().query.<table>.findMany() or db().query.<table>.findFirst()

Files:

  • apps/admin/proxy.ts
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
  • apps/ui/src/components/dashboard/metric-card.tsx
  • apps/ui/src/components/dashboard/dashboard-client.tsx
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
  • apps/api/src/routes/payments.ts
**/*.{ts,tsx,js,jsx,json,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Always use tabs for indentation

Files:

  • apps/admin/proxy.ts
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
  • apps/ui/package.json
  • apps/ui/src/components/dashboard/metric-card.tsx
  • apps/admin/package.json
  • apps/ui/src/components/dashboard/dashboard-client.tsx
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
  • apps/api/src/routes/payments.ts
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx,js,jsx}: Always use top-level import, never use require or dynamic imports
No unnecessary code comments

Files:

  • apps/admin/proxy.ts
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
  • apps/ui/src/components/dashboard/metric-card.tsx
  • apps/ui/src/components/dashboard/dashboard-client.tsx
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
  • apps/api/src/routes/payments.ts
**/*.{js,ts,tsx,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Always use top-level import, never use require or dynamic imports

Files:

  • apps/admin/proxy.ts
  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
  • apps/ui/src/components/dashboard/metric-card.tsx
  • apps/ui/src/components/dashboard/dashboard-client.tsx
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
  • apps/api/src/routes/payments.ts
apps/{ui,playground}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

apps/{ui,playground}/**/*.{ts,tsx}: Use cookies for user-settings which are not saved in the database to ensure SSR works
Use Next.js App Router with React Server Components for frontend development

Use cookies for user-settings which are not saved in the database to ensure SSR works

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
  • apps/ui/src/components/dashboard/metric-card.tsx
  • apps/ui/src/components/dashboard/dashboard-client.tsx
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
apps/{ui,playground,docs}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Use next/link for links and next/navigation's router for programmatic navigation

Files:

  • apps/ui/src/components/credits/top-up-credits-dialog.tsx
  • apps/ui/src/components/dashboard/metric-card.tsx
  • apps/ui/src/components/dashboard/dashboard-client.tsx
  • apps/playground/src/components/credits/top-up-credits-dialog.tsx
apps/{gateway,api}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

Use Hono framework with Zod validation and OpenAPI documentation for backend APIs

Files:

  • apps/api/src/routes/payments.ts
{apps/api,apps/gateway,packages/db}/**/*.ts

📄 CodeRabbit inference engine (AGENTS.md)

{apps/api,apps/gateway,packages/db}/**/*.ts: Use Drizzle ORM with latest object syntax for database operations
For database reads: Use db().query.<table>.findMany() or db().query.<table>.findFirst()

Files:

  • apps/api/src/routes/payments.ts
apps/{gateway,api}/src/**/*.ts

📄 CodeRabbit inference engine (AGENTS.md)

apps/{gateway,api}/src/**/*.ts: Use Hono for backend framework in Gateway and API services
Use Zod schemas for validation in Hono services

Files:

  • apps/api/src/routes/payments.ts
🧠 Learnings (3)
📚 Learning: 2025-12-03T12:42:26.143Z
Learnt from: CR
Repo: theopenco/llmgateway PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T12:42:26.143Z
Learning: Applies to apps/{ui,playground,docs}/**/*.{ts,tsx} : Use `next/link` for links and `next/navigation`'s router for programmatic navigation

Applied to files:

  • apps/ui/package.json
  • apps/admin/package.json
📚 Learning: 2025-12-03T12:42:14.208Z
Learnt from: CR
Repo: theopenco/llmgateway PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-03T12:42:14.208Z
Learning: Applies to apps/{ui,playground}/**/*.{ts,tsx} : Use Next.js App Router with React Server Components for frontend development

Applied to files:

  • apps/ui/package.json
  • apps/admin/package.json
📚 Learning: 2025-09-22T18:29:26.406Z
Learnt from: smakosh
Repo: theopenco/llmgateway PR: 911
File: apps/ui/src/lib/components/tweet-card.tsx:244-255
Timestamp: 2025-09-22T18:29:26.406Z
Learning: In the tweet-card component at apps/ui/src/lib/components/tweet-card.tsx, the TweetMedia component is intentionally not used in the MagicTweet component. This is a deliberate design decision to keep testimonials text-focused without rendering images or videos from tweets.

Applied to files:

  • apps/ui/src/components/dashboard/metric-card.tsx
🧬 Code graph analysis (3)
apps/ui/src/components/dashboard/metric-card.tsx (1)
apps/docs/lib/source.ts (1)
  • icon (14-28)
apps/ui/src/components/dashboard/dashboard-client.tsx (1)
apps/ui/src/components/dashboard/metric-card.tsx (1)
  • MetricCard (3-46)
apps/api/src/routes/payments.ts (1)
packages/shared/src/fees.ts (1)
  • calculateFees (21-50)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build-split (admin, linux/amd64)
  • GitHub Check: build-split (ui, linux/amd64)
  • GitHub Check: build-split (playground, linux/amd64)
  • GitHub Check: build-split (worker, linux/amd64)
  • GitHub Check: build-split (gateway, linux/amd64)
  • GitHub Check: build-split (docs, linux/amd64)
  • GitHub Check: build-split (api, linux/amd64)
  • GitHub Check: build-unified (linux/amd64)
  • GitHub Check: test / run
  • GitHub Check: build / run
  • GitHub Check: generate / run
  • GitHub Check: lint / run
  • GitHub Check: autofix
🔇 Additional comments (6)
apps/api/src/routes/payments.ts (3)

58-101: LGTM! Promo code removal is clean.

The promo code logic has been properly removed from the payment intent creation flow. The code now only handles the base amount, calculates fees correctly, and includes appropriate metadata without promo-related fields.


437-528: LGTM! Promo code removal is consistent.

The top-up flow correctly removes all promo code handling while preserving the necessary fee calculation with card country detection for international fees.


568-673: LGTM! Fee calculation properly excludes promo codes.

The calculate-fees endpoint has been correctly updated to:

  • Remove promo code from request schema
  • Exclude promo-related fields from response schema
  • Preserve bonus logic (which is separate from promo codes)

The bonus logic for first-time credit purchases remains intact and is working as intended.

apps/ui/src/components/dashboard/dashboard-client.tsx (1)

246-316: Verify the grid layout change from 5 to 3 columns.

The refactor to use MetricCard components looks clean, but the grid layout has changed from lg:grid-cols-5 to lg:grid-cols-3. With 5 metric cards, this will create a 3-2 layout (3 cards in the first row, 2 in the second row).

Was this layout change intentional? The previous 5-column layout would have displayed all metrics in a single row on large screens.

If the 3-column layout is intentional and provides better responsive behavior, this refactor successfully consolidates the metric card rendering into a reusable component while maintaining all the data aggregation and conditional logic.

apps/ui/src/components/dashboard/metric-card.tsx (1)

1-46: LGTM! Well-structured reusable component.

The MetricCard component is well-designed with:

  • Clear prop interface with appropriate types
  • Proper use of conditional rendering for optional elements
  • Consistent styling using Tailwind with accent color variants
  • Good use of cn utility for dynamic class composition

The component successfully consolidates metric card rendering logic and is properly consumed by dashboard-client.tsx.

apps/admin/proxy.ts (1)

13-13: This review comment is incorrect; the function rename does not affect Next.js middleware.

The proxy.ts file is not configured as Next.js middleware. The next.config.ts does not specify any middleware configuration, and there are no imports of this proxy function anywhere in the codebase. The function appears to be either unused code or will be imported later. The rename from middleware to proxy has no functional impact.

Likely an incorrect or invalid review comment.

Comment thread apps/admin/package.json Outdated
Comment thread apps/ui/package.json Outdated
@smakosh
smakosh added this pull request to the merge queue Dec 3, 2025
Merged via the queue into main with commit 16c169c Dec 3, 2025
21 checks passed
@smakosh
smakosh deleted the chore/upgrade-react-next branch December 3, 2025 17:27
@coderabbitai coderabbitai Bot mentioned this pull request Dec 3, 2025
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.

2 participants