You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- 🚜 [refactor] Centralize FIT file domain state, propagate file paths, and unify lifecycle flows
35
+
- Delegate AppActions.loadFile to fitFileStateManager when available (startFileLoading + handleFileLoaded with { filePath, source }) and fall back to legacy slices when not present
36
+
- decodeFitFile and showFitData now pass filePath + source to fitFileStateManager.handleFileLoaded
37
+
- Add clearFitFileDomainState and use it from unloadFitFile; DragDropHandler prefers file.path and reports that path to state manager and showFitData
38
+
39
+
🚜 [refactor] Harden FitFileStateManager API and legacy compatibility
40
+
- handleFileLoaded(fileData, options?) now updates both domain and legacy slices (fitFile.*, globalData, currentFile, charts/map/tables.isRendered), clears errors, sets progress and lastLoadTime
41
+
- startFileLoading(...) mirrors legacy isLoading state and initializes loadingProgress
42
+
43
+
🚜 [refactor] Modularize data-point filter control for testability
44
+
- Extract DOM wiring, preview logic and state utilities into elementFactory.js, metricsPreview.js and stateHelpers.js
45
+
- Update createDataPointFilterControl to consume the helpers and keep existing UX while simplifying internals
46
+
47
+
🧪 [test] Stabilize and extend tests
48
+
- Update many suites to mock stateManager.subscribe as vi.fn(() => () => {}) to provide unsubscribe no-ops and avoid leaks
49
+
- Adjust tests to assert delegation to fitFileStateManager (startFileLoading, handleFileLoaded, clearFileState) and add coverage for new data-point filter modules (metricsPreview/stateHelpers)
- Add d.ts entries and maps for new modules (elementFactory, metricsPreview, stateHelpers, rendererLogger, control elements) and update fitFileState.d.ts signature for handleFileLoaded
- 🚜 [refactor] Consolidate renderer logging, standardize state + file-open flows, add UI control elements and internal prompts
62
+
63
+
- 🧹 [chore] Add renderer logging helper and unify logging
64
+
- Add electron-app/utils/logging/rendererLogger.js and replace ad-hoc logWithContext usage across renderer modules (showFitData, showUpdateNotification, handleOpenFile); standardize log prefixes and structured context payloads.
65
+
- 🛠️ [fix] Harden file-open flow (handleOpenFile)
66
+
- Use AppActions for file-opening lifecycle, robustly manage isOpeningFileRef, validate showNotification, improve error messages and structured logging, propagate load errors to fit-file state manager via notifyFileLoadError/resolveFitFileStateManager, and ensure proper finalization (AppActions.setFileOpening toggle).
67
+
- 🚜 [refactor] Centralize fit-file state integration
68
+
- Replace direct stateManager imports with namespaced stateCore in utils/state/domain/fitFileState.js, consistently use stateCore.getState/setState/updateState, add typed subscribe wrapper, and expose globalThis.__FFV_fitFileStateManager for renderer integration.
69
+
- ✨ [feat] Modularize data-point filter UI elements
70
+
- Add electron-app/utils/ui/controls/dataPointFilterControlElements.js to build DOM for the map filter control and add eslint max-lines exemption in createDataPointFilterControl.js to support planned modularization.
71
+
- ⚡ [perf] Improve LCOV normalization script
72
+
- Update electron-app/scripts/normalize-coverage-lcov.mjs to use fileURLToPath, repoRoot POSIX normalization, filtered candidateDirs, safer copy/normalize logic and non-fatal behavior (return vs process.exit; set process.exitCode on failure).
73
+
- 🧪 [test] Align tests and types to changes
74
+
- Update test expectations and spies to match renamed state keys and logging behavior (showFitData.test.ts, handleOpenFile.complete.test.ts) and update handleOpenFile.d.ts to include optional context parameter.
75
+
- 📝 [docs] Add internal agent prompts for auditing & TODO workflow
76
+
- Add .github/agents/BeastMode.agent.md and prompts (.github/PROMPTS/Consistency-Check.prompt.md, .github/PROMPTS/Do-ToDo.prompt.md) to drive consistency audits and automated todo creation.
77
+
- 🧹 [chore] Misc cleanup and consolidation
78
+
- Remove duplicate local logWithContext from windowStateUtils.js and import central main logger, and apply minor integration/formatting adjustments across affected modules.
- 🚜 [refactor] Centralize FIT file domain state, propagate file paths, and unify lifecycle flows
35
+
- Delegate AppActions.loadFile to fitFileStateManager when available (startFileLoading + handleFileLoaded with { filePath, source }) and fall back to legacy slices when not present
36
+
- decodeFitFile and showFitData now pass filePath + source to fitFileStateManager.handleFileLoaded
37
+
- Add clearFitFileDomainState and use it from unloadFitFile; DragDropHandler prefers file.path and reports that path to state manager and showFitData
38
+
39
+
🚜 [refactor] Harden FitFileStateManager API and legacy compatibility
40
+
- handleFileLoaded(fileData, options?) now updates both domain and legacy slices (fitFile.*, globalData, currentFile, charts/map/tables.isRendered), clears errors, sets progress and lastLoadTime
41
+
- startFileLoading(...) mirrors legacy isLoading state and initializes loadingProgress
42
+
43
+
🚜 [refactor] Modularize data-point filter control for testability
44
+
- Extract DOM wiring, preview logic and state utilities into elementFactory.js, metricsPreview.js and stateHelpers.js
45
+
- Update createDataPointFilterControl to consume the helpers and keep existing UX while simplifying internals
46
+
47
+
🧪 [test] Stabilize and extend tests
48
+
- Update many suites to mock stateManager.subscribe as vi.fn(() => () => {}) to provide unsubscribe no-ops and avoid leaks
49
+
- Adjust tests to assert delegation to fitFileStateManager (startFileLoading, handleFileLoaded, clearFileState) and add coverage for new data-point filter modules (metricsPreview/stateHelpers)
- Add d.ts entries and maps for new modules (elementFactory, metricsPreview, stateHelpers, rendererLogger, control elements) and update fitFileState.d.ts signature for handleFileLoaded
- 🚜 [refactor] Consolidate renderer logging, standardize state + file-open flows, add UI control elements and internal prompts
62
+
63
+
- 🧹 [chore] Add renderer logging helper and unify logging
64
+
- Add electron-app/utils/logging/rendererLogger.js and replace ad-hoc logWithContext usage across renderer modules (showFitData, showUpdateNotification, handleOpenFile); standardize log prefixes and structured context payloads.
65
+
- 🛠️ [fix] Harden file-open flow (handleOpenFile)
66
+
- Use AppActions for file-opening lifecycle, robustly manage isOpeningFileRef, validate showNotification, improve error messages and structured logging, propagate load errors to fit-file state manager via notifyFileLoadError/resolveFitFileStateManager, and ensure proper finalization (AppActions.setFileOpening toggle).
67
+
- 🚜 [refactor] Centralize fit-file state integration
68
+
- Replace direct stateManager imports with namespaced stateCore in utils/state/domain/fitFileState.js, consistently use stateCore.getState/setState/updateState, add typed subscribe wrapper, and expose globalThis.__FFV_fitFileStateManager for renderer integration.
69
+
- ✨ [feat] Modularize data-point filter UI elements
70
+
- Add electron-app/utils/ui/controls/dataPointFilterControlElements.js to build DOM for the map filter control and add eslint max-lines exemption in createDataPointFilterControl.js to support planned modularization.
71
+
- ⚡ [perf] Improve LCOV normalization script
72
+
- Update electron-app/scripts/normalize-coverage-lcov.mjs to use fileURLToPath, repoRoot POSIX normalization, filtered candidateDirs, safer copy/normalize logic and non-fatal behavior (return vs process.exit; set process.exitCode on failure).
73
+
- 🧪 [test] Align tests and types to changes
74
+
- Update test expectations and spies to match renamed state keys and logging behavior (showFitData.test.ts, handleOpenFile.complete.test.ts) and update handleOpenFile.d.ts to include optional context parameter.
75
+
- 📝 [docs] Add internal agent prompts for auditing & TODO workflow
76
+
- Add .github/agents/BeastMode.agent.md and prompts (.github/PROMPTS/Consistency-Check.prompt.md, .github/PROMPTS/Do-ToDo.prompt.md) to drive consistency audits and automated todo creation.
77
+
- 🧹 [chore] Misc cleanup and consolidation
78
+
- Remove duplicate local logWithContext from windowStateUtils.js and import central main logger, and apply minor integration/formatting adjustments across affected modules.
0 commit comments