feat: infinite scroll, HEIC support, likes fix, security & backup
- Fix liked hearts not showing after page reload (sync useEffect in CatCard) - Replace pagination with infinite scroll (useInfiniteQuery + IntersectionObserver) - Add HEIC/HEIF/AVIF image support with sharp conversion to JPEG on upload - Validate MIME type alongside file extension to prevent spoofing - Limit caption to 500 chars; increase upload size limit to 20MB - Delete physical file from uploads/ when post is removed (cats + admin routes) - Add WAL journal mode and graceful shutdown (SIGTERM/SIGINT) to db - Add rate limiter for upload endpoint (10 req / 15 min) - Add pre-deploy backup of data.db and uploads/ to deploy.sh (keeps last 10) - Add plan_modernization.md with ideas for future improvements Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
34
deploy.sh
34
deploy.sh
@@ -1,6 +1,36 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
BACKUP_DIR="$HOME/cats-backups/$(date +%Y-%m-%d_%H-%M-%S)"
|
||||
|
||||
echo "==> Creating backup at $BACKUP_DIR ..."
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Backup database
|
||||
if [ -f server/data.db ]; then
|
||||
cp server/data.db "$BACKUP_DIR/data.db"
|
||||
echo " ✓ data.db backed up"
|
||||
else
|
||||
echo " ⚠ data.db not found, skipping"
|
||||
fi
|
||||
|
||||
# Backup uploads
|
||||
if [ -d server/uploads ] && [ "$(ls -A server/uploads 2>/dev/null)" ]; then
|
||||
cp -r server/uploads "$BACKUP_DIR/uploads"
|
||||
echo " ✓ uploads/ backed up ($(ls server/uploads | wc -l) files)"
|
||||
else
|
||||
echo " ⚠ uploads/ empty or not found, skipping"
|
||||
fi
|
||||
|
||||
# Keep only last 10 backups
|
||||
BACKUP_ROOT="$HOME/cats-backups"
|
||||
BACKUP_COUNT=$(ls -1 "$BACKUP_ROOT" | wc -l)
|
||||
if [ "$BACKUP_COUNT" -gt 10 ]; then
|
||||
ls -1t "$BACKUP_ROOT" | tail -n +11 | xargs -I{} rm -rf "$BACKUP_ROOT/{}"
|
||||
echo " ✓ Old backups pruned (kept last 10)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "==> Pulling latest changes..."
|
||||
git pull
|
||||
|
||||
@@ -11,10 +41,12 @@ echo "==> Installing client dependencies..."
|
||||
npm install --prefix client
|
||||
|
||||
echo "==> Building client..."
|
||||
npm run build
|
||||
npm run build --prefix client
|
||||
|
||||
echo "==> Restarting PM2 process..."
|
||||
sudo pm2 restart cats
|
||||
sudo pm2 save
|
||||
|
||||
echo ""
|
||||
echo "==> Done! Site updated at http://cats.heagbokat-server.ru"
|
||||
echo " Backup saved to: $BACKUP_DIR"
|
||||
|
||||
Reference in New Issue
Block a user