- Removed manual refresh button from frontend (kept auto-refresh functionality) - Fixed WebKit 'object cannot be found' error by replacing absolute positioning with flexbox - Added lazy loading to images to prevent preload warnings - Cleaned up unused imports and variables: - Removed unused useRef import - Removed unused colors state variable and colorService - Removed unused ColorSwatch import from FilamentTableV2 - Removed unused getModifierIcon function from MaterialBadge - Updated tests to match current implementation - Improved layout stability for better cross-browser compatibility - Removed temporary migration scripts 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Deployment Guide for Filamenteka
Important: API Update Required
The production API at api.filamenteka.rs needs to be updated with the latest code changes.
Changes that need to be deployed:
-
Database Schema Changes:
- Column renamed from
vakumtospulna - Column
otvorenohas been removed - Data types changed from strings to integers for
refillandspulna - Added CHECK constraint:
kolicina = refill + spulna
- Column renamed from
-
API Server Changes:
- Updated
/api/filamentsendpoints to use new column names - Updated data type handling (integers instead of strings)
- Added proper quantity calculation
- Updated
Deployment Steps:
-
Update the API server code:
# On the production server cd /path/to/api git pull origin main npm install -
Run database migrations:
# Run the migration to rename columns psql $DATABASE_URL < database/migrations/003_rename_vakum_to_spulna.sql # Run the migration to fix data types psql $DATABASE_URL < database/migrations/004_fix_inventory_data_types.sql # Fix any data inconsistencies psql $DATABASE_URL < database/migrations/fix_quantity_consistency.sql -
Restart the API server:
# Restart the service pm2 restart filamenteka-api # or systemctl restart filamenteka-api
Temporary Frontend Compatibility
The frontend has been updated to handle both old and new API response formats, so it will work with both:
- Old format:
vakum,otvoreno(strings) - New format:
spulna(integer), nootvorenofield
Once the API is updated, the compatibility layer can be removed.
Verification
After deployment, verify:
- API returns
spulnainstead ofvakum - Values are integers, not strings
- Quantity calculations are correct (
kolicina = refill + spulna)