diff --git a/apps/api/package.json b/apps/api/package.json index 0d9e2f92..149c29c4 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -49,7 +49,6 @@ "@sentry/profiling-node": "^7.110.1", "@supabase/supabase-js": "^2.32.0", "axios": "^1.4.0", - "bcrypt": "^6.0.0", "dotenv": "^16.3.1", "hono": "^4.9.7", "hono-openapi": "^1.0.8", @@ -62,7 +61,6 @@ "zod-openapi": "^5.4.1" }, "devDependencies": { - "@types/bcrypt": "^6.0.0", "@types/katex": "^0.16.7", "@types/node": "^20.19.0", "@typescript-eslint/eslint-plugin": "7.0.1", diff --git a/apps/api/src/middlewares/rate-limiter.ts b/apps/api/src/middlewares/rate-limiter.ts index c33396f0..7732b111 100644 --- a/apps/api/src/middlewares/rate-limiter.ts +++ b/apps/api/src/middlewares/rate-limiter.ts @@ -8,6 +8,7 @@ import { import type { MiddlewareHandler } from 'hono'; import { rateLimiter } from '@api/utils/redis/limiter'; import { userKeyGenerator } from '../utils/redis/key-generators'; +import { env } from '@api/config/env'; export interface RateLimiterOptions { windowMs?: number; @@ -29,7 +30,13 @@ export const createRateLimiter = (options: RateLimiterOptions = {}): MiddlewareH const opts = { ...defaultOptions, ...options }; return async (c, next) => { + // Skip rate limiting if not in production + if (env.NODE_ENV !== 'production') { + return await next(); + } + try { + // Generate rate limit key const key = opts.keyGenerator(c); diff --git a/apps/dashboard/src/lib/features/ui/sidebar/footer/theme-toggle.svelte b/apps/dashboard/src/lib/features/ui/sidebar/footer/theme-toggle.svelte index 1c1fd88c..30b8301b 100644 --- a/apps/dashboard/src/lib/features/ui/sidebar/footer/theme-toggle.svelte +++ b/apps/dashboard/src/lib/features/ui/sidebar/footer/theme-toggle.svelte @@ -1,7 +1,7 @@