Merged
Conversation
- Updated multiple PNG images in the documentation and application sections. - Enhanced Playwright tests to save coverage data after each test. - Improved connection status handling in demo mode tests. - Added new unit tests for action summaries and network snapshots. - Implemented web server logs bridge with normalized logging and error handling.
Contributor
There was a problem hiding this comment.
Pull request overview
Improves the repo’s overall coverage signal (unit + Playwright E2E) and hardens connectivity popover behavior/tests, in support of the “Increase test coverage” goal.
Changes:
- Added new unit tests covering low-coverage diagnostics modules (action summaries, network snapshot, web server log bridge).
- Persisted Playwright NYC coverage output for additional E2E specs and adjusted a demo-mode popover close path.
- Updated connectivity popover autofocus behavior and tightened UI layout tolerance; updated CI to enforce coverage against merged LCOV.
Reviewed changes
Copilot reviewed 15 out of 88 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/lib/diagnostics/webServerLogs.test.ts | Adds unit coverage for server-log polling normalization, 401 handling, and error rate-limiting. |
| tests/unit/lib/diagnostics/networkSnapshot.test.ts | Adds unit coverage for REST request/response summarization and deterministic unmatched handling. |
| tests/unit/lib/diagnostics/actionSummaries.test.ts | Adds unit coverage for action summary outcomes/effects including pending REST and action-end errors. |
| src/components/ConnectivityIndicator.tsx | Improves dialog autofocus to focus the close button; adjusts diagnostics row button styling. |
| playwright/webPlatformAuth.spec.ts | Saves NYC coverage after each test run. |
| playwright/video.spec.ts | Saves NYC coverage during finalization to ensure output is captured. |
| playwright/verifyUserTracing.spec.ts | Saves NYC coverage after each test run. |
| playwright/demoMode.spec.ts | Closes the connection popover via the close button (aligns with focus changes) and loosens a flaky status expectation. |
| playwright/debugDemo.spec.ts | Saves NYC coverage after each test run. |
| playwright/connectionStatusLayout.spec.ts | Widens layout tolerance from 4px to 5px for stability. |
| playwright/buttonHighlightProof.spec.ts | Saves NYC coverage after each test run. |
| playwright/accessibility.spec.ts | Saves NYC coverage after each test run. |
| PLANS.md | Reworks plan doc to focus on coverage remediation and tracking. |
| .maestro/subflows/common-navigation.yaml | Makes “Play” navigation more resilient via retry + multiple tap strategies. |
| .github/workflows/android.yaml | Switches coverage threshold gating to use merged LCOV (lcov-merged.info). |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #90 +/- ##
=============================================
+ Coverage 71.66% 90.00% +18.34%
Complexity 101 101
=============================================
Files 271 280 +9
Lines 19750 30798 +11048
Branches 5773 6398 +625
=============================================
+ Hits 14154 27720 +13566
+ Misses 4332 2911 -1421
+ Partials 1264 167 -1097
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
…engths, and source navigation - Added tests for UltiSID 2 identity change and address handling in AudioMixer. - Introduced tests for tryFetchUltimateSidBlob in playbackRouter, covering path normalization and error handling. - Expanded songlengths tests to cover various edge cases, including empty durations and error handling during resolution. - Enhanced InMemoryTextBackend tests to cover edge cases, including path normalization and duplicate entries. - Improved ftpSourceAdapter tests to handle empty entries and cache expiration scenarios. - Added localSourceAdapter tests for SAF entries and error handling. - Enhanced LocalFsSongSource tests for duration resolution and error handling during metadata scans. - Added fetchTrace and traceSession tests for event suppression and error handling. - Introduced controlType tests for checkbox mapping and control kind inference.
…vscService, and more - Added tests for error handling in hvscFilesystem, including scenarios for string errors and file size limits. - Improved hvscMediaIndex tests with better coverage for folder queries and mock entries. - Expanded hvscService tests to cover index readiness and query option fallbacks. - Enhanced hvscSource tests to ensure proper handling of song entries and durations. - Updated controlType tests to validate checkbox mappings and control kind inference. - Refined settingsTransfer tests for payload validation and type checks. - Added mockConfig tests for handling null and empty loader responses. - Improved sliderBehavior tests to cover edge cases in snapping and committing. - Enhanced logging tests to validate behavior when global objects are undefined. - Expanded songlengths tests to cover legacy format handling and out-of-range scenarios. - Improved failureTaxonomy tests to classify various error types and handle null inputs. - Enhanced fetchTrace tests to validate behavior with undefined window and blob types. - Updated redaction tests to ensure proper handling of sensitive data and whitespace. - Improved traceSession tests for event suppression and eviction logic. - Enhanced pathDisplay tests to cover edge cases in path fitting and truncation.
- Added tests for `normalizeDriveDevices` to handle null payloads, non-object entries, and duplicate device classes. - Introduced performance memory logging in `hvscArchiveExtraction` tests. - Enhanced `hvscDownload` tests to cover various edge cases including undefined downloaded bytes and stat size checks. - Improved `networkSnapshot` tests to handle requests without timestamps. - Expanded `sliderBehavior` tests for snapping and throttling behavior. - Added tests for `localArchiveIngestion` to handle non-Error thrown by `unzipSync`. - Enhanced `useStreamData` tests to cover early returns for non-matching entries. - Improved `useSonglengths` tests for file handling and error scenarios. - Added tests for `localSourcesStore` to handle invalid JSON and error handling in SAF sources. - Enhanced `traceTargets` tests to cover mock server scenarios and URL normalization.
…me, ramDumpFolderStore, playFilesUtils, and pathDisplay to improve coverage
…verage and handle edge cases
- Removed duplicate dependency "@sentry/react" from package.json. - Added new dependencies for coverage reporting: "@axe-core/playwright", "@vitest/coverage-istanbul", "nextcov". - Updated collect-coverage.sh to merge coverage reports using nextcov instead of lcov-result-merger. - Enhanced unit tests for drive device normalization to cover multi-word apiKey scenarios. - Added tests for hvscReleaseService to handle various response scenarios and fallback mechanisms. - Introduced tests for safeAddLog and safeAddErrorLog in songlengthServiceFacade to ensure error handling. - Added new tests for developerModeStore and featureFlagsWeb to validate localStorage interactions. - Enhanced error classification tests in failureTaxonomy and traceActionContextStore.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.