feat: integrate Sentry for error tracking and enhance user notifications

- Added Sentry integration for error tracking across various components, including error boundaries and user actions.
- Updated global error handling to capture exceptions and provide detailed feedback to users.
- Enhanced user notifications with toast messages for actions such as credit management, image generation, and canvas exports.
- Improved user experience by displaying relevant messages during interactions, ensuring better visibility of system states and errors.
This commit is contained in:
Matthias
2026-03-27 18:14:04 +01:00
parent 5da0204163
commit 2f89465e82
35 changed files with 2822 additions and 186 deletions

16
lib/rate-limit.ts Normal file
View File

@@ -0,0 +1,16 @@
import { redis } from "./redis";
export async function rateLimit(
key: string,
limit: number,
windowSeconds: number
): Promise<{ success: boolean; remaining: number }> {
const count = await redis.incr(key);
if (count === 1) {
await redis.expire(key, windowSeconds);
}
return {
success: count <= limit,
remaining: Math.max(0, limit - count),
};
}