Skip to content

ViewTouch v25.03.1

Latest

Choose a tag to compare

@No0ne558 No0ne558 released this 27 Dec 03:52
8c9f3d9

ViewTouch v25.03.1 Release Notes

Release Date: December 26, 2025

🎯 Major Highlights

Complete Spanish Language Support

  • 4,000+ Spanish translations covering ~95% of user-facing text
  • Persistent language selection across restarts
  • Language toggle via SoftSwitch button (English ⟷ Español)
  • All system messages, error dialogs, reports, and UI elements fully translated

Enhanced Report Visual Design

  • Sales Report Redesign: Professional formatting with bold headers, color-coded sections, and improved readability
  • Closed Checks Report: Optimized for 80mm receipt printers with better column alignment and server name display
  • Deposit/Book Balance Report: Enhanced with Executive Summary section showing key financial metrics at a glance

✨ New Features

Editor Settings Reorganization

  • Split "Editor Settings" into two distinct buttons:
    • Editor Settings: Developer authentication only
    • Calculation Settings: Price multipliers and adjustments
  • Better organization and clearer purpose for each setting

Language System Improvements

  • Removed F8 key language dialog (streamlined UX)
  • Added Language/Locale SoftSwitch button for easy language toggling
  • Language preference saved to settings file and persists across restarts
  • Hardcoded translation arrays for maximum performance and reliability

🔧 Fixed Issues

Build System

  • Fixed critical compilation errors from overly strict compiler warnings (12-13-2025)
  • Resolved "undeclared 'term' variable" errors in multiple functions
  • All 40/40 tests now passing successfully
  • Disabled -Werror to prevent false-positive build failures

CI/CD Improvements

  • Fixed GitHub Actions CI build memory issues (12-12-2025)
  • Optimized compilation flags for memory-constrained environments
  • Split large translation arrays into manageable chunks
  • Applied -O1 optimization with GC tuning for lower memory footprint

Translation & Localization

  • Fixed language settings not persisting across restarts (12-12-2025)
  • Fixed drawer error messages that weren't translatable
  • All error messages now properly display in selected language

Memory Safety

  • Replaced unsafe strcat/strncpy with bounded safe string functions
  • Fixed socket string overflow vulnerabilities in network code
  • Added null pointer safety checks to terminal data reading functions
  • Prevented buffer overruns in email, socket, and terminal operations

Performance Optimizations

  • String operation caching in dialog rendering
  • Texture cache optimization (reduced from 50 to 45 base textures)
  • Code deduplication in OpenTabDialog rendering
  • Better LRU cache management

🚀 Performance & Optimization

Build Optimizations

  • Changed Release builds from -Os to -O2 for better speed
  • Added aggressive binary stripping for smaller executables
  • Enabled -ffast-math, -ftree-vectorize, and loop optimizations
  • Expected 5-15% runtime performance improvement

Real-World Metrics (Ubuntu 24.04, 64GB RAM, Intel x86_64):

  • vt_main: <1% CPU, 230MB memory (0.4% of system)
  • vt_term: <1% CPU, 104MB memory (0.2% of system)
  • Combined: <1% total CPU, excellent resource efficiency
  • No memory leaks during extended monitoring

📝 Changed Behavior

Order Entry Comment Dialog

  • Width increased from 950 to 1800 pixels (near full-screen on 1080p)
  • Button height increased from 90 to 110 pixels
  • Dialog height increased from 780 to 850 pixels
  • Much improved usability for adding order comments

Socket & Network Improvements

  • Better EINTR/EAGAIN handling with automatic retries
  • Proper EPIPE error handling
  • Fixed terminal socket cloning to preserve peer identity
  • Remote printer sockets now correctly handle fd 0

🗑️ Removed

  • F8 key language selection dialog
  • F2 translate term mode
  • Non-English PO files (German, Greek, Spanish, French, Italian, Dutch, Portuguese)
  • Complex multilingual support infrastructure (simplified to English + Spanish)

📦 Files Modified (Key Changes)

  • CMakeLists.txt - Build system optimizations and warning fixes
  • terminal.cc - Language system, socket fixes, safety improvements
  • check.cc - Translation fixes
  • credit.cc - Translation fixes
  • system_report.cc - Report redesigns (Deposit/Balance, Closed Checks)
  • system_salesmix.cc - Sales report redesign
  • settings_zone.cc - Editor Settings split
  • button_zone.cc - Language button zone
  • socket.cc - Socket safety improvements
  • version.cmake - Version bump to 25.03.1

🔄 Upgrade Notes

  • Language selection now via SoftSwitch button instead of F8 key
  • Spanish translations automatically available for all users
  • No database migrations required
  • Settings file automatically updated with language preference
  • All existing functionality preserved with improved safety and performance

Installation:

chmod +x ViewTouch-Universal-Installer.run
sudo ./ViewTouch-Universal-Installer.run

Full Changelog: View on GitHub