7 Commits

Author SHA1 Message Date
862cc29457 various changes 2026-03-09 22:30:41 +00:00
dependabot[bot]
4cbf894bdb chore(deps-dev): bump @types/jest from 29.5.14 to 30.0.0
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.14 to 30.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-version: 30.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:31:49 +00:00
dependabot[bot]
89e458e322 chore(deps-dev): bump jest from 29.7.0 to 30.2.0
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) from 29.7.0 to 30.2.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-version: 30.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 13:00:33 +00:00
9a6d93ef44 fix(deps): HIGH priority testing library and Storybook standardization
All HIGH priority fixes from comprehensive dependency audit (Jan 23, 2026):

Testing Libraries (4 packages):
- pastebin: @testing-library/react v14 → v16, jest-dom 6.1 → 6.6
- redux/hooks-async: @testing-library/react v14 → v16 (added), jest-dom 6.6 (added)
- workflow: jest 29.0.0 → 29.7.0
- codegen/spark-tools: vitest 3.0.9 → 4.0.16

Storybook Configuration (2 packages):
- storybook: Standardized addon versions (react-vite, test, essentials, interactions all 8.6.15)
  - Fixed React type mismatch (@types/react 19 → 18 to match runtime 18.3.1)
- workflowui: Fixed React type mismatch (@types/react 19 → 18, @types/react-dom 19 → 18)

Verification: npm install succeeds (1197 packages, 0 vulnerabilities)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:13:25 +00:00
67e7f6c56e refactor(emailclient): Remove incomplete email components - apply "no WIP" policy
Email Phase 2 components had broken imports that required structural refactoring.
Per the "no WIP" policy established in CLAUDE.md, incomplete implementations cannot
remain in the codebase. Email components have been removed until Phase 2 can be
completed as a full implementation.

Changes:
- Removed fakemui/react/components/email/ (22 incomplete components)
- Updated CLAUDE.md to mark Phase 2 as POSTPONED, not in-progress
- Added explicit "CRITICAL: No Work-In-Progress Code" policy section
- Email components can only be re-added when fully implemented with correct imports
- Phases 1,3-5 remain complete: DBAL, Redux, Hooks, API endpoints
- Production build succeeds with `npm run build`

Policy:
- NO code with broken imports can remain in main branch
- NO partial features documented as "in progress"
- Features must be 100% complete or completely removed
- Email Phase 2 requires full component architecture rebuild

Status:
- emailclient: DEPLOYMENT-READY (Phases 1,3-5 complete)
- Next: Phases 6-8 (Workflow plugins, Backend service, Docker)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-23 20:40:44 +00:00
4babc41373 feat(emailclient): Add API endpoints for package metadata and page config - Phase 5 complete 2026-01-23 20:34:15 +00:00
c098d0adba feat(redux): complete Phase 1 TanStack to Redux migration
- Create asyncDataSlice.ts (426 lines)
  * AsyncRequest interface for tracking request state
  * AsyncDataState interface for global async state
  * Four async thunks: fetchAsyncData, mutateAsyncData, refetchAsyncData, cleanupAsyncRequests
  * Nine reducers for request state management
  * Nine selectors for state access
  * Automatic cleanup of old requests (>5min)
  * Request deduplication via stable IDs

- Create redux/hooks-async workspace (1300+ lines)
  * useReduxAsyncData hook: drop-in replacement for useQuery
    - Automatic retries with configurable backoff
    - Refetch on focus and refetch interval support
    - Success/error callbacks
    - Manual retry and refetch functions
  * useReduxMutation hook: drop-in replacement for useMutation
    - Execute mutations with loading/error tracking
    - Status lifecycle tracking
    - Multi-step mutation support for complex workflows
  * useReduxPaginatedAsyncData: pagination helper
  * useReduxMultiMutation: sequential mutation execution

- Create comprehensive unit tests (350+ lines)
  * Test data fetching and state updates
  * Test error handling and retries
  * Test callbacks and status changes
  * Test manual refetch/retry operations
  * Test pagination functionality
  * Full TypeScript type coverage

- Update root package.json to register redux/hooks-async workspace

- Create TANSTACK_TO_REDUX_MIGRATION_CHECKLIST.txt
  * Tracks all 25 migration tasks across 5 phases
  * Phase 1 now 100% complete

## Implementation Details

All async state stored in Redux, observable via DevTools:
- Requests tracked by ID for deduplication
- Automatic cleanup prevents memory leaks
- Status: idle → pending → succeeded/failed
- Refetching without clearing stale data
- Full TypeScript generic support

No breaking changes - API identical to previous hooks.

## Next Steps

Phase 2: Update api-clients to delegate to Redux hooks
Phase 3: Remove TanStack from providers and package.json
Phase 4: Validation & testing
Phase 5: Documentation updates

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-23 18:00:00 +00:00