fix: rate limiter was blocking all /api/cats reads after 10 requests #3

Merged
HeagBoKaT merged 1 commits from claude/sleepy-shirley-adfe57 into main 2026-06-26 09:46:42 +03:00
3 changed files with 7 additions and 3 deletions
Showing only changes of commit 852e0f5f5b - Show all commits

View File

@@ -33,10 +33,11 @@ function AnimatedRoutes() {
if (el) { if (el) {
el.classList.remove('page-enter-active'); el.classList.remove('page-enter-active');
el.classList.add('page-enter'); el.classList.add('page-enter');
requestAnimationFrame(() => { const rafId = requestAnimationFrame(() => {
el.classList.remove('page-enter'); el.classList.remove('page-enter');
el.classList.add('page-enter-active'); el.classList.add('page-enter-active');
}); });
return () => cancelAnimationFrame(rafId);
} }
}, [location.pathname]); }, [location.pathname]);

View File

@@ -268,7 +268,6 @@ export default function ProfilePage() {
<div className="divider mb-4" /> <div className="divider mb-4" />
<div> <div>
<input type="file" ref={fileInputRef} onChange={onFileChange} accept="image/*" className="hidden" />
<Button <Button
variant="outline" variant="outline"
onClick={() => fileInputRef.current?.click()} onClick={() => fileInputRef.current?.click()}

View File

@@ -54,7 +54,11 @@ async function main() {
standardHeaders: true, standardHeaders: true,
legacyHeaders: false, legacyHeaders: false,
}); });
app.use('/api/cats', uploadLimiter); // Rate-limit only cat uploads (POST), not reads
app.use('/api/cats', (req, _res, next) => {
if (req.method !== 'POST') return next();
return uploadLimiter(req, _res, next);
});
app.use('/uploads', express.static(path.join(__dirname, '..', 'uploads'))); app.use('/uploads', express.static(path.join(__dirname, '..', 'uploads')));