Skip to content

WitFoo Management Console v1.4.0

Latest

Choose a tag to compare

@f15hb0wn f15hb0wn released this 19 Feb 01:20
· 334 commits to main since this release

WitFoo Management Console v1.4.0

Release Date: February 19, 2026
Commits: 15 | Files Changed: 163 | Lines: +6,615 / −1,884


New Features

Full Stack Refactor (PR124)

  • Svelte 5 Runes Migration — Migrated all reactive stores from Svelte 4 syntax to Svelte 5 runes ($state, $derived, $effect). New stores: authStore.svelte.ts, roleStore.svelte.ts, notificationStore.svelte.ts replace legacy auth.ts, errors.ts, nodes.ts, organizations.ts, and user_action.ts.
  • Fetch API Client — Replaced axios with a native fetch-based API client (lib/api/client.ts) with full test coverage (252-line test suite). Includes typed request/response handling and standardized error propagation.
  • Standardized Go Backend — Unified handler patterns across auth, node, organization, user, and event endpoints. Standardized API response envelope ({success, message, data}) across all endpoints.
  • RoleGuard Component — New RoleGuard.svelte component for declarative role-based UI access control, with E2E test coverage (role-guard.spec.ts).
  • TypeScript Type System — Added centralized type definitions (lib/types/api.ts, lib/types/auth.ts, lib/types/index.ts) for API contracts and domain models.

Remote Node Configuration Management (PR127)

  • Configuration Push System — New config endpoint suite for pushing configuration changes to remote nodes via WebSocket SSE connections. Full audit trail with config_audit table tracking all configuration changes.
  • Pending Config Queue — Server-side pending configuration system (pending_config repository) that queues changes for nodes that are temporarily disconnected, delivering them on reconnect.
  • Connection Registry — New connection_registry service managing real-time WebSocket connections per node, with 245-line test suite.
  • NodeSettingsPanel UI — 525-line Svelte component for viewing and editing remote node settings with real-time config status badges (ConfigStatusBadge.svelte).
  • Node Model Expansion — Extended node type definitions (lib/models/node.ts) with 60 lines of new configuration-related types.

Self-Registration Endpoint

  • Pending Node Support — New self-registration API endpoint allowing nodes to register themselves with the management console. Includes pending approval workflow with admin review on the nodes list page. Full test coverage (408-line test suite).

Bug Fixes

  • API Response Envelope Unwrapping — Fixed frontend and integration tests to correctly unwrap the {success, message, data} API response envelope, resolving data binding issues across all views.
  • Favicon Assets — Added proper favicon assets (SVG, ICO, apple-touch-icon, 96x96 PNG) with web app manifest for correct browser/PWA iconography.
  • Package Conflicts — Renamed internal/constant → internal/constants and internal/crypto → internal/cryptoutil to resolve Go package naming conflicts.
  • TLS Protocol Handling — Fixed console_protocol setting to correctly enable TLS when configured, ensuring HTTPS works for inter-node communication.
  • Linter Compliance — Fixed unused parameter warnings for revive linter satisfaction.
  • Module Dependencies — Removed local replace directive in go.mod, switched to published common module.

Maintenance

  • Go 1.26.0 — Updated CI workflow to Go 1.26.0.
  • Test Cleanup — Removed obsolete E2E tests (debug-orgs.spec.ts, test-websocket.cjs, theme-simple.spec.ts, theme.spec.ts) and stale test artifacts.
  • New Test Suites — Added unit tests for auth store (243 lines), API client (252 lines), role store (84 lines), config service (434 lines), connection registry (245 lines), and node service (408 lines).