Skip to content

v0.4.0 EventSocket System

Compare
Choose a tag to compare
@theelims theelims released this 21 Apr 21:26
· 43 commits to main since this release
1622a40

This upgrade might require one minor change as MqttPubSub.h and its class had been renamed to MqttEndpoint.h and MqttEndoint respectively. However, it is strongly advised, that you change all existing WebSocketServer endpoints to the new event socket system.

Note

The new Event Socket system is likely to change with coming updates.

Added

  • Added build flag -D SERIAL_INFO to platformio.ini to enable / disable all Serial.print() statements. On some boards with native USB those Serial prints have been reported to block and make the server unresponsive.
  • Added a hook handler to StatefulService. Unlike an UPDATE a hook is called every time a state receives an updated, even if the result is UNCHANGED or ERROR.
  • Added missing include for S2 in SystemStatus.cpp #23
  • Added awareness of front end build script for all 3 major JS package managers. The script will auto-identify the package manager by the lock-file. #40
  • Added a new event socket to bundle the websocket server and the notifications events. This saves on open sockets and allows for concurrent visitors of the internal website. The normal websocket server endpoint remains as an option, should a pure websocket connection be desired. An EventEndpoint was added to use this with Stateful Services. #29 and #43
  • TS Types definition in one central place for the frontend.

Changed

  • more generic board definition in platformio.ini #20
  • Renamed MqttPubSub.h and class to MqttEndpoint.h and class.
  • refactored MqttEndpoint.h into a single class to improve readability
  • Moves appName and copyright to layout.ts to keep customization in one place #31
  • Make event source use timeout for reconnect #34
  • Make each toasts disappear after timeout #35
  • Fixed version platform = espressif32 @ 6.6.0 in platformio.ini
  • Analytics data limited to 1000 data points (roughly 33 minutes).
  • postcss.config.cjs as ESM module #24

Fixed

  • Fixed compile error with FLAG -D SERVE_CONFIG_FILES
  • Fixed typo in telemetry.ts #38
  • Fixed the development warning: Loading /rest/features using 'window.fetch'. For best results, use the 'fetch' that is passed to your 'load' function:

Removed

  • Duplicate method in FeatureService #18
  • Duplicate lines in Systems Settings view.
  • Removes duplicate begin #36
  • Temporary disabled OTA progress update due to crash with PsychicHttp #32 until a fix is found.

Known Issues

  • On ESP32-C3 the security features should be disabled in features.ini: -D FT_SECURITY=0. If enabled the ESP32-C3 becomes extremely sluggish with frequent connection drops.