Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 25, 2025

Bumps vitest from 3.2.4 to 4.0.3.

Release notes

Sourced from vitest's releases.

v4.0.3

   🐞 Bug Fixes

    View changes on GitHub

v4.0.2

   🐞 Bug Fixes

    View changes on GitHub

v4.0.1

   🐞 Bug Fixes

    View changes on GitHub

v4.0.0

Vitest 4.0 is out!

To stay updated, read our blog post and check the migration guide.

   🚨 Breaking Changes

... (truncated)

Commits
  • ca1766f chore: release v4.0.3
  • 155521a fix: preserve reporter options from config when CLI reporters override them (...
  • abc046f fix(init): use correct jsx/tsx extension (#8792)
  • 0fb74bd fix(happy-dom): support fetch globals (#8791)
  • 07bc56a chore: release v4.0.2
  • 2eedbce fix(spy): reset spies if both restoreMocks and mockReset is set in the co...
  • 26ce88d fix(pool): assign envs before running tests to keep in sync with process.env ...
  • 4a28faa chore: release v4.0.1
  • 3fae73e fix(pool): don't teardown the communication channel too soon if something is ...
  • 8100063 fix: move the getBuiltins check (#8765)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for vitest since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 3.2.4 to 4.0.3.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.3/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Oct 25, 2025

Labels

The following labels could not be found: dependabot, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@kevalyq kevalyq added dependencies Pull requests that update dependencies dependabot Dependabot automated updates labels Oct 25, 2025
@kevalyq
Copy link
Contributor

kevalyq commented Oct 25, 2025

@dependabot rebase

@kevalyq
Copy link
Contributor

kevalyq commented Oct 25, 2025

Closing due to dependency conflicts with @vitest/ui. Dependabot will create a new PR with compatible versions.

@kevalyq kevalyq closed this Oct 25, 2025
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Oct 25, 2025

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/npm_and_yarn/vitest-4.0.3 branch October 25, 2025 21:56
kevalyq added a commit that referenced this pull request Oct 26, 2025
…es (#25)

Comprehensive fixes for preflight script issues

- Fixed pattern validation logic (bugs #7-9)
- Added CRLF support with `tr -d '\r'`
- Replaced git remote show with git symbolic-ref (network reliability)
- Disabled actionlint locally (runs in CI only)
- Fixed critical exit code bug in grep validation
- Added setup-pre-push.sh for automated hook installation
- Improved pattern detection with diverse test filenames

All Copilot review comments addressed.
kevalyq added a commit that referenced this pull request Nov 3, 2025
- Add explanatory comment for duplicate 512x512 icon (maskable purpose)
- Simplify onClose handler to inline arrow function with comment

Addresses Copilot comments #7 and #8.
kevalyq added a commit that referenced this pull request Nov 3, 2025
- Add explanatory comment for duplicate 512x512 icon (maskable purpose)
- Simplify onClose handler to inline arrow function with comment

Addresses Copilot comments #7 and #8.
kevalyq added a commit that referenced this pull request Nov 3, 2025
* feat: add PWA offline-first foundation

Implements core Progressive Web App infrastructure for offline-first
functionality:

Infrastructure:
- Vite PWA plugin with Workbox for service worker management
- Web App Manifest for installability (PWA)
- Auto-update service worker registration in main.tsx

Components & Hooks:
- useOnlineStatus hook for real-time network detection
- OfflineIndicator component for user feedback when offline
- Integration in App.tsx for global offline status

Caching Strategy:
- NetworkFirst for API calls (10s timeout, 24h cache)
- CacheFirst for Google Fonts (1 year cache)
- Glob patterns for static assets (js, css, html, fonts, images)

Assets:
- PWA icons (192x192, 512x512) with SecPal branding
- Manifest with theme color #3b82f6 (blue)

Testing:
- Comprehensive tests for useOnlineStatus hook (4 tests)
- Event listener cleanup verification
- Online/offline state transitions

This establishes the foundation for:
- Offline data access
- Background sync (future)
- Push notifications (future)
- IndexedDB integration (future)

* style: format PWA files with prettier

* fix: address Copilot PR review comments

- Fix icon paths: use .svg instead of .png (icons are SVG files)
- Remove manual service worker registration (VitePWA handles it)
- Remove empty onClose handler from Alert component
- Remove Retry button (alert auto-dismisses when back online)

Addresses all 6 review comments from GitHub Copilot.

* fix: remove unused imports

* fix: add required onClose handler with explanatory comment

Alert component requires onClose prop (Headless UI Dialog).
Handler does nothing as alert auto-dismisses when back online.

* fix: address 2 new Copilot review comments

- Add explanatory comment for duplicate 512x512 icon (maskable purpose)
- Simplify onClose handler to inline arrow function with comment

Addresses Copilot comments #7 and #8.

* perf: optimize noop function and make API URL configurable

- Extract empty onClose handler to noop constant to avoid creating new function on every render (addresses Copilot comment #2485115619)
- Make API URL configurable via VITE_API_URL environment variable with production default (addresses Copilot comment #2485115620)
kevalyq added a commit that referenced this pull request Nov 16, 2025
Address all remaining Copilot review nitpicks:

- Parallel file processing with concurrency limit (default: 3)
  - Add processWithConcurrency helper function
  - Prevents sequential bottleneck for large queues
  - Configurable via parameter (Comment #3)

- Make quota update interval configurable
  - Add options parameter to useFileQueue hook
  - Default: 30s, customizable per use case (Comment #1)

- Enhance sync error handling
  - FILE_QUEUE_SYNCED message now reports success/failed counts
  - Add FILE_QUEUE_SYNC_ERROR message handler
  - Better visibility for background sync issues (Comment #6)

- Clarify exponential backoff logic
  - Improve comment to explain retry 0-4 timing
  - Document first retry vs subsequent retries (Comment #7)

All 17 fileQueue tests passing ✅
Addresses review comments #1, #3, #6, #7 from PR #154
kevalyq added a commit that referenced this pull request Nov 17, 2025
* feat(fileQueue): Add IndexedDB file queue infrastructure

- Add fileQueue table to IndexedDB schema (version 3)
- Implement FileQueueEntry interface with upload states
- Create fileQueue utilities (add, get, update, retry, process)
- Add exponential backoff for failed uploads (max 5 retries)
- Implement storage quota monitoring
- Add 17 comprehensive tests with 100% coverage
- Placeholder for future Secret API integration

Related to #142

* feat(fileQueue): Add Service Worker integration and React hook

- Install idb dependency for Service Worker IndexedDB access
- Integrate FileQueue into Service Worker Share Target handler
- Store shared files directly in IndexedDB (replaces sessionStorage)
- Add Background Sync event listener for offline uploads
- Create useFileQueue() React hook with Dexie live queries
- Support Background Sync registration from client
- Add file IDs to shared file metadata

Related to #142

* feat(fileQueue): Migrate useShareTarget to Service Worker messages

- Update useShareTarget to receive files via SW messages
- Remove sessionStorage dependency for file sharing
- Add file queue IDs to SharedFile interface
- Update CHANGELOG with comprehensive FileQueue documentation
- Document migration from sessionStorage to IndexedDB

Related to #142

* fix: address Copilot review comments

- Remove redundant File→Blob conversion (File extends Blob)
- Extract DB version constant (DB_VERSION = 3) with sync warning
- Add MAX_RETRY_COUNT constant (5 retries) to prevent infinite loops
- Check max retries in syncFileQueue before processing
- Add useCallback to event handlers (prevent listener re-creation)
- Add schema sync risk warning comments in Service Worker

Addresses review comments #2, #4, #5, #8, #9 from PR #154

* feat: implement parallel processing and configurable options

Address all remaining Copilot review nitpicks:

- Parallel file processing with concurrency limit (default: 3)
  - Add processWithConcurrency helper function
  - Prevents sequential bottleneck for large queues
  - Configurable via parameter (Comment #3)

- Make quota update interval configurable
  - Add options parameter to useFileQueue hook
  - Default: 30s, customizable per use case (Comment #1)

- Enhance sync error handling
  - FILE_QUEUE_SYNCED message now reports success/failed counts
  - Add FILE_QUEUE_SYNC_ERROR message handler
  - Better visibility for background sync issues (Comment #6)

- Clarify exponential backoff logic
  - Improve comment to explain retry 0-4 timing
  - Document first retry vs subsequent retries (Comment #7)

All 17 fileQueue tests passing ✅
Addresses review comments #1, #3, #6, #7 from PR #154

* test: fix failing tests for IndexedDB file queue

- Update db.test.ts to expect version 3 and fileQueue table
- Fix useShareTarget.test.ts for new SW message architecture
  - Replace mockFiles expectations with undefined (files via SW)
  - Skip obsolete sessionStorage tests (now IndexedDB)
  - Skip replaceState tests (require SW message mocking)
- Fix fileQueue.ts TypeScript type guard

All 196 tests passing ✅ (11 skipped - require SW integration)
Fixes CI test failures

* chore: update package-lock.json for idb@^8.0.2

Fix npm ci failure in CI caused by package-lock.json mismatch

* test: improve useShareTarget coverage to 97.5%

- Replace obsolete sessionStorage tests with SW message mocking
- Add comprehensive Service Worker message handler tests (7 tests)
- Add history.replaceState tests with SW integration (3 tests)
- Test shareId matching/mismatching logic
- Test SW message listener registration/cleanup
- Test URL parameter combinations with files
- Test empty string handling in URL params

Coverage improved from 62.5% (48% on Codecov) to 97.5%
Only 2 lines uncovered (error edge cases)

26 tests passing, all new tests use proper SW mocking

* fix: address all 22 Copilot review comments on PR #154

Critical fixes:
- Create db-constants.ts to share DB_VERSION, MAX_RETRY_COUNT between app and SW
- Fix Service Worker retry logic: only mark failed after actual upload attempt
- Add exponential backoff cap (60s max) to prevent extreme delays
- Replace concurrency control with robust worker pool pattern
- Fix SW message fields: succeeded/failed instead of success/failed

Service Worker improvements:
- Validate trusted window clients before processing sync
- Distinguish transient vs permanent errors for retry logic
- Send detailed sync stats (succeeded, failed) to clients
- Use shared constants from db-constants.ts

Hook improvements:
- Add runtime check for Background Sync API availability
- Improve useCallback documentation for URL reading pattern
- Track 'skipped' files (backoff) separately from 'pending'
- Handle FILE_QUEUE_SYNC_ERROR messages

Code quality:
- Better error handling for corrupted IndexedDB
- Improved comments explaining empty dependency arrays
- Worker pool prevents concurrency limit violations
- Type safety improvements for Background Sync API

Refs: PR #154 review comments #2532254365-2532284285

* fix: address 7 additional Copilot review comments on PR #154

Critical fixes:
- Change placeholder uploadSucceeded to true to prevent retry exhaustion during testing
  (Comment #2532671518: false would mark all files failed after 5 syncs)

Documentation improvements:
- Add detailed schema documentation in storeFileInQueue with all fields listed
  (Comment #2532671538: Document duplicated schema to aid sync verification)
- Clarify exponential backoff comment about retry 0 meaning first attempt after failure
  (Comment #2532671525: 'first retry' was misleading)
- Document design decision to only upload when window clients exist
  (Comment #2532671535: Prevents uploads without user context/auth)
- Add note about DB connection opened per call (acceptable for 1-3 files)
  (Comment #2532671520: Future optimization opportunity documented)

Code simplifications:
- Remove redundant instance-level sync check (prototype check sufficient)
  (Comment #2532671531: Prototype check guarantees instance has property)
- Fix ESLint disable comment to use correct rule name
  (Comment #2532671530: react-hooks/set-state-in-effect not set-state-in-effect)

All changes maintain test coverage and fix issues identified in second Copilot review.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependabot Dependabot automated updates dependencies Pull requests that update dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants