Skip to content

1.0.8

Latest

Choose a tag to compare

@dawiisss dawiisss released this 20 Jun 18:27

Performance & Architecture

  • Data Lookup Optimizations: Replaced linear checks with $O(1)$ lookup maps in servers.js (for favorites check) and modManager.js (for mod update check).
  • Parallelized Favorites Refresh: Switched sequential favorite queries to parallel pings using Promise.all.
  • Incremental Ping Count Tracking: Added totalPingedCount to the central state.js store, allowing incremental updates and eliminating expensive $O(N)$ filter operations.
  • Asynchronous File I/O: Migrated cache loading and saving operations in servers.js to async fs.promises.
  • Monolithic Function Decomposition: Decomposed the monolithic 217-line fetchDayZServers function in servers.js into five single-purpose helper functions.
  • Standalone Watchlist Storage: Decoupled the server watchlist from settings.json into its own dedicated watchlist.json file.
  • Global Variables Migration: Moved global cachedSortOrder and currentModCheckInterval off the window object into the central state object.

Refactoring & Cleanup

  • Win32 Platform Code Removal: Simplified findDayzWorkshopFolder in steamPaths.js to assume Linux as the target platform.
  • Alias queryServerGameDig: Removed the redundant pass-through function pingServer and aliased it directly to queryServerGameDig in exports.
  • Cleaned Up Unused Callbacks: Prefixed unused stdout/stderr arguments inside launch-process callbacks with _ to satisfy strict lints.
  • Standardized Imports: Standardized core Node.js built-ins in main.js to use node: prefixes.

Bug Fixes

  • Linux App Icon Resolution: Guarded Wayland/desktop launcher name bindings and used nativeImage.createFromPath for correct app icon resolution on Linux platforms.
  • Integration Test Mocks: Resolved integration test suite crashes inside ipc-handlers.test.js by mocking nativeImage properties and merged duplicate properties in global mocks.
  • Query Port Loss: Fixed a bug in the merge loops of the server list scripts where merging BattleMetrics data would overwrite valid/curated queryPort numbers with null when a server was offline or its query status was invalid.
  • Dependency Security Patch: Resolved a high-severity vulnerability in the transitive package form-data under axios by applying an override to version ^4.0.6 in pnpm-workspace.yaml.