Skip to content

Releases: aFFekopp/FretLog

v0.3.7 Set custom practice time & Bugfixes for mobile view

19 Feb 15:59

Choose a tag to compare

Added

  • Custom Time Editing:
    • Dashboard Inline Editor: Added a pen icon next to active session items, allowing users to manually set practice duration via an inline editor.
    • Manual Session Entry: Updated the "Add Session" modal to allow precise hour/minute input for each practice item, replacing the previous single-minute field.
    • Spinner-Free Inputs: Implemented custom CSS to hide browser spinner arrows on time inputs for a cleaner UI.

Fixed

  • Mobile Layout & Overflow:
    • Horizontal Scrolling: Fixed a critical issue where the Sessions page would horizontally scroll on mobile due to non-wrapping content in category cards.
    • Navigation Bar: Resolved an issue where the bottom mobile navigation bar would disappear or glitch during scrolling by enforcing hardware acceleration and safe-area constraints.
    • Card Overflow: Adjusted button sizing and wrapping in the "Category Breakdown" card to prevent it from pushing the page width on small screens.
    • Practice Item Layout: Fixed practice item rows on mobile to correctly shrink metadata columns, ensuring long item names don't break the layout.

v0.3.6

10 Feb 21:09

Choose a tag to compare

Fixed

  • Sessions Pagination: Re-implemented robust pagination logic for the Sessions page using window-scoped state management, ensuring stable page transitions and correct item slicing.
  • Alphabetical Sorting: Improved the "Add Item" modal in the manual session editor to display library items in alphabetical order, making it easier to find specific entries.
  • Duplicate Prevention: Implemented case-insensitive duplicate checks when adding or updating library items to prevent redundant entries within the same category.
  • Statistics Alignment: Fixed X-axis label alignment and date formatting in the Practice Trends chart (especially for Month/Year view).

v0.3.5 UI Updates & Idle CPU Load reduction

08 Feb 18:05

Choose a tag to compare

Added

  • Dashboard Item Ratings: Added interactive star ratings to songs in the active session panel. Users can now view and update song ratings directly from the dashboard during practice.
  • Desktop-Only View Utilities: Implemented a .desktop-only CSS utility to manage visibility of rich UI elements that are too bulky for mobile screens.
  • Production Server (Gunicorn): Integrated Gunicorn as the production WSGI server for Docker deployments, significantly improving stability and resource management.

Changed

  • Statistics Visual Consistency:
    • Replaced the default Chart.js legend in the Category Breakdown chart with a custom, list-based legend in the same style as the Top Practiced Items card.
    • Improved grid alignment on the Statistics page to ensure cards don't stretch unevenly when content sizes differ.
  • Responsive Layout Polishing:
    • Adjusted the width of practice items' time display to ensure metadata like "(100%)" fits on a single line.
    • Simplified margin and padding in the Category Breakdown card for a more balanced look.
  • Docker Optimization: Optimized Docker image and runtime configuration to reduce idle CPU usage by over 90% by disabling filesystem reloader polling in production.

Fixed

  • Statistics Padding: Resolved an issue with excessive bottom padding in the Category Breakdown card.
  • Star Rating Persistence: Ensured ratings updated from the dashboard are immediately saved to the library database and persistent across sessions.
  • Idle CPU Load: Fixed high CPU usage in Docker environments caused by the Flask development reloader.

v0.3.4 Unified Versioning & Footer Version Display

08 Feb 12:20

Choose a tag to compare

Added

  • Footer Version Display: Added the current version number and a link to the GitHub repository in the application footer.
  • Unified Versioning: Created a central VERSION file to manage the application version across the server and client (Service Worker, Data Store, UI).

Fixed

  • Mobile Scrolling: Resolved persistent scrollbar issues on mobile devices by adjusting viewport height and removing redundant padding on the Sessions page.

v0.3.3 PWA Support & Architectural Cleanup

08 Feb 10:49

Choose a tag to compare

Added

  • Automatic Cache Busting:
    • Implemented versioning for the Service Worker (sw.js).
    • Implemented versioning for the LocalStorage data cache (data.js).
    • Added logic to automatically clear local browser cache if a version mismatch is detected, ensuring users always have the latest schema and assets.
  • Progressive Web App (PWA) Support:
    • Added manifest.json for home screen installation and app configuration.
    • Implemented a Service Worker (sw.js) for static asset caching, improving load times and adding limited offline support.
    • Added iOS-specific meta tags and apple-touch-icon for a more native mobile experience.
    • Updated backend server to correctly serve PWA configuration files from the root directory.

Changed

  • UI Simplification:
    • Replaced the complex header profile dropdown with a direct Instrument Selector.
    • Optimized Settings page layout, moving Appearance (Theme) settings to the top in a streamlined layout.
  • Architectural Cleanup:
    • Removed the users table and all associated code for multiple profiles.
    • Migrated default_instrument_id and other preferences to a simplified settings table.
    • Cleaned up Export/Import logic to exclude old user profile data (name, email), ensuring a more private and streamlined single-user experience.

Fixed

  • Instrument Selection Regressions:
    • Implemented the missing /api/settings backend endpoint for persistent settings updates.
    • Restored instrument highlighting on the Settings page by ensuring full user data is retrieved for comparison.
    • Corrected the display refresh logic on the Settings page after changing instruments.
  • Dropdown Conflicts: Resolved a click event conflict in sessions.html that prevented the top-right user profile dropdown from opening.
  • Menu Interactions: Improved the global click handler to respect multiple different dropdown mechanisms, ensuring smooth navigation and context menu usage.

v0.3.1 Settings & Layout Polish

08 Feb 08:00

Choose a tag to compare

Added

  • Settings Page UX:
    • Click-to-select functionality for setting the default instrument, replacing the radio button column.
    • Visual highlighting for the selected default instrument row.
    • Added (Selected) text indicator for clarity.

Changed

  • Settings Layout:
    • Refined Instruments and Categories sections into a responsive 2-column grid.
    • Updated table headers to match the Dashboard's rounded, borderless style.
    • Aligned action buttons to the right for better visual balance.
  • Sessions Page Layout:
    • Optimized session list items on desktop to display metadata in a single, wrap-able row.
    • Improved mobile layout by removing horizontal overflow clipping to prevent menu cut-offs.

Fixed

  • Emoji Picker: Reintegrated emoji picker for selecting icons in the Settings page (Instruments and Categories).
  • Mobile Menu Clipping: Resolved an issue where the 3-dot context menu in session lists was being clipped by the container on mobile devices.
  • Dropdown Logic: Fixed z-indexing and event handling for dropdown menus to ensure they overlay correctly and close when clicking outside or opening another menu.

v0.3.0 Mobile Optimizations & UI Improvements

07 Feb 22:35

Choose a tag to compare

Added

  • Global Base Template: Centralized header, navigation, and global timer in templates/base.html for a consistent experience across all pages.
  • Hybrid Rendering: Implemented server-side injection of user profile data to eliminate the "Musician" flash during page loads.
  • Enhanced Library Logic:
    • Added ability to toggle star ratings off by clicking the active star.
    • Improved pagination to preserve current page during rating updates or item edits.
  • Utility Module: Introduced static/js/utils.js for centralized modal management, time formatting, and shared logic.

Changed

  • Page refactor: Migrated all pages (index, sessions, library, statistics, settings) to use the new Flask template system.
  • Performance: Optimized data.js with more robust caching and error handling, ensuring fast item population even with partial cache corruption.
  • Data Normalization: Improved handling of database timestamps and numeric strings to prevent "Invalid Date" errors.

Fixed

  • Critical UI Bugs: Resolved Invalid Date and NaN:NaN errors in session tables.
  • Instrument Mapping: Fixed "Unknown" instrument/category displays by aligning frontend IDs with backend defaults.
  • API Endpoints: Restored missing endpoints for category management and fixed data import/export functionality.
  • Sidebar Highlighting: Corrected navigation state logic to accurately reflect the active page.
  • Database Path: Fixed directory creation logic to ensure the database always lives in the data/ folder.

Removed

  • Legacy Files: Removed all standalone .html files from the root directory.
  • Redundant Code: Cleaned up duplicate helper functions across multiple JavaScript files.

v0.2.0 Major refactor, template system and library enhancements

07 Feb 17:45

Choose a tag to compare

Added

  • Global Base Template: Centralized header, navigation, and global timer in templates/base.html for a consistent experience across all pages.
  • Hybrid Rendering: Implemented server-side injection of user profile data to eliminate the "Musician" flash during page loads.
  • Enhanced Library Logic:
    • Added ability to toggle star ratings off by clicking the active star.
    • Improved pagination to preserve current page during rating updates or item edits.
  • Utility Module: Introduced static/js/utils.js for centralized modal management, time formatting, and shared logic.

Changed

  • Page refactor: Migrated all pages (index, sessions, library, statistics, settings) to use the new Flask template system.
  • Performance: Optimized data.js with more robust caching and error handling, ensuring fast item population even with partial cache corruption.
  • Data Normalization: Improved handling of database timestamps and numeric strings to prevent "Invalid Date" errors.

Fixed

  • Critical UI Bugs: Resolved Invalid Date and NaN:NaN errors in session tables.
  • Instrument Mapping: Fixed "Unknown" instrument/category displays by aligning frontend IDs with backend defaults.
  • API Endpoints: Restored missing endpoints for category management and fixed data import/export functionality.
  • Sidebar Highlighting: Corrected navigation state logic to accurately reflect the active page.
  • Database Path: Fixed directory creation logic to ensure the database always lives in the data/ folder.

Removed

  • Legacy Files: Removed all standalone .html files from the root directory.
  • Redundant Code: Cleaned up duplicate helper functions across multiple JavaScript files.

v0.1.1 - Branding Update

06 Feb 22:22

Choose a tag to compare

  • Added Favicon: The application now has a proper favicon for browser tabs.
  • Improved Logo: Replaced the SVG logo with the new high-resolution PNG icon (48px) across all pages.
  • UI Consistency: Standardized the header identity across Dashboard, Sessions, Library, Statistics, and Settings.

v0.1.0 - Initial Beta: Docker Support & UI Refinement

06 Feb 22:01

Choose a tag to compare

Fix: Database path for Docker persistence and local-aware timezone st…