2026-06-03
@Eugene Sukhodolskiy
Phase 5: Code quality and tech debt (side effects, dedup, dead code, config extraction, log security)
Eugene Sukhodolskiy committed 8 hours ago
@Eugene Sukhodolskiy
Update server-audit.md: mark Phase 4 complete (commit b4968d4)
Eugene Sukhodolskiy committed 9 hours ago
@Eugene Sukhodolskiy
Phase 4: Device communication resilience (batch scanning, retry, configurable timeouts, non-blocking events, reset check)
Eugene Sukhodolskiy committed 9 hours ago
@Eugene Sukhodolskiy
Phase 3: API hardening (validation, JSON wrappers, path traversal, rate limiting)
Eugene Sukhodolskiy committed 9 hours ago
@Eugene Sukhodolskiy
Phase 2: Data integrity & error handling (ErrorHandler, transactions, silent SQL, HTTP statuses, dead stubs)
Eugene Sukhodolskiy committed 9 hours ago
2026-06-02
@Eugene Sukhodolskiy
Phase 1: Security Foundation (auth, SQLi, secrets, hashing, tokens, cookies)
Eugene Sukhodolskiy committed 23 hours ago
@Eugene Sukhodolskiy
Phase 6: Rename webclient-vue to webclient, match legacy dist structure
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Phase 6: Rename webclient to webclient_legacy, switch to Vue client
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Refresh area device states after running an action script
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Show only regular scripts in AreaDetailPage scripts panel
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Reorder AreaDetailPage sections: actions first, then devices, parent area, scripts
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Extract ActionScriptsGrid reusable component
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Add area action scripts grid to AreaDetailPage
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Persist area tree expansion state to localStorage across page reloads
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Persist area tree node expansion state across data reloads
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Render connection status as Online/Offline in device list and detail pages
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Fix device_type mapping in unifyDeviceFields and hide active system status badge in list
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Show system status badge on devices list and detail pages
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Add device reset and resetup to Vue client
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Fix bugs, migrate favorites store to Composition API, DRY state loader, add page tests, replace CSS vars with kit classes
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Move unassign into a dedicated confirm dialog and fix icon ...
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Show warning in assign modal for the last root area ...
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Add unassign action to area, device and script detail pages ...
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Prevent assigning the last root area as a child ...
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Use gnexus-ui-kit semantic colors for device status dot and add state components ...
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Replace connect column with inline status dot in device table
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Make toast backgrounds opaque for readability
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Show per-channel device states in DeviceTable and load states on AreaDetailPage
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Add toast feedback for device reboot in list and detail views
Eugene Sukhodolskiy committed 1 day ago
@Eugene Sukhodolskiy
Fix area assignment button on detail pages ...
Eugene Sukhodolskiy committed 1 day ago