Repository navigation
·
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.tsreplace legacyauth.ts,errors.ts,nodes.ts,organizations.ts, anduser_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.sveltecomponent 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
configendpoint suite for pushing configuration changes to remote nodes via WebSocket SSE connections. Full audit trail withconfig_audittable tracking all configuration changes. - Pending Config Queue — Server-side pending configuration system (
pending_configrepository) that queues changes for nodes that are temporarily disconnected, delivering them on reconnect. - Connection Registry — New
connection_registryservice 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/constantsandinternal/crypto→internal/cryptoutilto resolve Go package naming conflicts. - TLS Protocol Handling — Fixed
console_protocolsetting 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
replacedirective ingo.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).