Releases: Zycresth/infinity-saving
Releases · Zycresth/infinity-saving
BIG UPDATE
Changelog Summary
Security & Performance
- Added password strength validation (minimum 8 characters)
- Implemented input sanitization with sanitizeTextInput() and sanitizeEmailInput()
- Added XSS prevention with escapeHtml() function
- Optimized mobile performance with debounced operations (500ms delay)
- Disabled canvas-based infinity animation to fix CPU usage/fan issue
- Lazy loaded libraries and debounced resize events
UI/UX Improvements
- Changed default language from Indonesian to English for new users
- Fixed loading screen glitch showing Indonesian text before English
- Integrated lemniscate bloom SVG animation as loading screen (more performant than canvas)
- Fixed empty state message always showing even after creating goal cards
Dark/Light Mode
- Changed Dark Mode from checkbox to dropdown menu (Dark/Light options)
- Implemented complete light mode CSS styling for all UI elements
- Fixed light mode issues: dropdown menus, close button, currency dropdown, submenus, modals, file inputs, notification bar, login screen
- Added Light Mode dropdown menu to login screen
Goal Cards & Drag-and-Drop
- Added Close button (X), Pin feature, and drag-and-reposition for goal cards
- Fixed drag-and-drop swap bug and hidden card reappearing bug
- Implemented modular snap-to-grid with grid/freeform toggle
- Fixed inverted Grid/Freeform mode behavior
- Implemented Freeform mode with absolute positioning and collision detection
- Fixed Freeform mode drag-and-drop not working properly
- Fixed grid mode light mode styling (gray grid lines instead of red)
- Made grid overlay visible only when dragging cards
Menu & Navigation
- Moved Export/Import buttons to Settings submenu with Advanced rail
- Moved Delete All Data button below Export/Import under Advanced rail
- Removed History & Data menu, created Goals Menu dropdown with Charts, Predictions, and History
- Fixed hamburger menu and settings button functionality on side rail
- Fixed settings menu positioning and added sliding animation
Bug Fixes
- Fixed JavaScript error: can't access property 'onclick' of null in attachSidebarEvents
- Fixed Dark Mode checkbox error: applyDarkMode is not defined
- Debugged and fixed Export Report (Txt) function
- Fixed hardcoded text to use i18n system
- Removed Random Challenge and Daily Quote features
What's Changed
- Update from task a9e077f0-9d33-4c03-a965-4b4db1a9f11c by @Zycresth in #7
- Update from task a9e077f0-9d33-4c03-a965-4b4db1a9f11c by @Zycresth in #8
- Update from task a9e077f0-9d33-4c03-a965-4b4db1a9f11c by @Zycresth in #9
- Update from task a9e077f0-9d33-4c03-a965-4b4db1a9f11c by @Zycresth in #11
- Update from task a9e077f0-9d33-4c03-a965-4b4db1a9f11c by @Zycresth in #12
- Update from task b407fac6-a2e6-4d8a-8baf-042d273ba6bf by @Zycresth in #13
Full Changelog: Optimization...Security
v2.13.5
🧠 Intelligent Prediction Engine
Dynamic Goal Forecasting: The 'Prediction' tab is now fully functional. It automatically calculates your ETA (Estimated Time of Arrival) for every goal based on your current savings and routine deposits.
Smart Status Badges: * On Track 🔥: You're killing it! Completion is less than 3 months away.
Monitor 📊: Steady progress, keep it up.
Need Action ⚠️: Routine deposit is missing or goal is stalled.
🏎️ Performance & Kernel-Level Optimization
Silky Smooth Rendering: Implemented DocumentFragment and requestAnimationFrame. UI rendering is now decoupled from the main thread, meaning zero "jank" even on low-RAM devices (looking at you, Realme C11! 📱).
Hardware Acceleration: Added will-change CSS properties to all Glassmorphism cards, forcing the GPU to handle the heavy lifting.
Aggressive Memory Cleanup: All Chart.js instances are now properly destroyed before re-rendering to prevent memory leaks and keep the app lightweight.
🛡️ Privacy & Networking (Hardened)
ISP-Bypass Framework: Added a foundational NETWORK_CONFIG and fetchThroughProxy skeleton. Ready for custom SOCKS5/HTTP proxy integration to keep your financial traffic away from ISP prying eyes.
Privacy-First I/O: Enhanced JSON export/import stability. Your data remains yours, fully offline and encrypted.
🎨 UI/UX Refinement
The "Rp Rp" Exorcism: Successfully fixed the redundant currency symbol bug. Display now follows strict Intl.NumberFormat standards for IDR, USD, EUR, and JPY.
Input Debouncing: Added a 300ms debounce to all input fields, significantly reducing CPU cycles during data entry.
Glassmorphism 2.0: Optimized blur effects to maintain the Neon-Red aesthetic without the performance hit.