Skip to content

Support new BLE metrics and add logbook feature

Compare
Choose a tag to compare
@Abasz Abasz released this 10 Jul 12:37
· 30 commits to master since this release

Version 3.3.0

This release adds support for the Extended BLE API introduced in ESPRM version 5.2 and brings substantial enhancements to the application's functionality. The focus is on user experience improvements, new features, and various bug fixes. The update also introduces several optimizations to ensure smoother and more efficient operation.

Note: This release contains some experimental features which may require user feedback for further refinement.

New Features

Support for New BLE Metrics

  • Extended BLE Metrics: Adds support for Extended BLE metrics, deprecating the WebSocket connection. For backward compatibility, the WebSocket API can still work, but it will be removed in the next major version.
  • Delta Time Logging via BLE: Added functionality to allow receiving delta times via Bluetooth for logging, debugging, and row data analysis purposes.
  • Handle Force Data: Adds support for processing stroke handle force data via BLE.

Logbook Management

Added experimental support for data persistence via the StorageManager API in supported browsers. This feature aims to prevent accidental database deletions and is currently tested in Chrome and Mobile Chrome.

  • Logbook Feature: Added a Logbook feature for managing session data. Users can now delete and download recorded sessions directly from the Logbook dialog.
  • Support for Extended BLE Metrics: Adds support for Extended BLE metrics, deprecating the WebSocket connection. For backward compatibility, the WebSocket API can still work, but it will be removed in the next major version.
  • TCX Export: Implemented the option to export workout data to TCX format, facilitating easy import into platforms like Strava.
  • Database Import/Export: Introduced the ability to import and export databases, making it easier to transfer data between clients. This feature leverages Dexie's native full database import/export capabilities, with the exported files in JSON format for easy editing.

Note: The Logbook feature has some caveats. Please read the README.

General Updates and Fixes

Improved BLE Connection Handling

  • Error Handling and Reconnect: Enhanced error handling for BLE connections, including better feedback through snack bar messages and a more robust reconnect mechanism. Improved the initial connection process and added functionality to restart BLE scanning upon visibility changes.

UI and UX Enhancements

  • PWA Installation: Added a service worker and converted the app to a PWA to be accessible offline. Enhanced the PWA installation experience by adding screenshots to the installation process. The use of PWA allows hosting the WebGUI via GitHub pages, removing issues with secure contexts and SSL certificates. The WebGUI can be accessed here.
  • Connection Indication: Added a connecting state to the BLE connection status API, providing users with clearer feedback during connection attempts.
  • Dialog Components: Added a close button component to dialogs for better user control.
  • Snack Bar Improvements: Enhanced the confirm snack bar API to allow customization of the confirm button text and made the software update snack bar permanently visible with a dismiss button.
  • Icons and Tooltips: Updated icons to use Material Symbols and added tooltips to improve usability. Fixed styling issues with Angular Material dialog titles.

Code Refactoring and Maintenance

  • Settings Refactor: Refactored the SettingsBarComponent to use services instead of Input/Output properties, improving maintainability.
  • Service Layer Refactor: Reworked the data service layer for better flexibility by separating data into individual providers/streams.
  • Constructor Refactor: Improved code readability by refactoring data service constructor setups into more expressive functions.
  • Interface Declarations: Split interface declarations into separate files for better maintainability.

Bug Fixes

  • Angular Updates: Updated Angular to the latest version and resolved related errors.
  • Chunk Processing: Fixed an issue with handleForces chunk processing, ensuring correct data handling across multipart datasets.
  • HR Data Handling: Resolved issues with heart rate (HR) data display, ensuring it hides correctly after monitor disconnections and retries HR measurements appropriately.

Full Changelog: 3.0.1...3.3.0