Commit Graph

3718 Commits

Author SHA1 Message Date
6d8937933e Fix gameengine build: remove stale source, add spirv-tools
- CMakeLists.txt: Remove non-existent audio_command_service.cpp
- conanfile.py: Add spirv-tools/1.4.313.0 for glslang compatibility

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:16:49 +00:00
d23f4a8be4 feat: FakeMUI MUI-compatibility + shared components library + hooks consolidation
FakeMUI Components (MUI API compatibility):
- Add sx prop support to all components via sxToStyle utility
- Add MUI-style variants to Button (contained, outlined)
- Add component prop to Typography for polymorphic rendering
- Add label prop to Chip (MUI uses label vs children)
- Add edge/color/size props to IconButton
- Add component prop to List for nav rendering
- Add href support to ListItemButton
- Add variant prop to Avatar
- Add PaperProps to Drawer

New @metabuilder/components package:
- vanilla/loading - LoadingIndicator, InlineLoader, AsyncLoading
- vanilla/error - ErrorBoundary, ErrorDisplay, withErrorBoundary
- vanilla/empty-state - EmptyState + 7 specialized variants
- vanilla/skeleton - Skeleton + 6 specialized variants
- Organized by framework: vanilla/, radix/, fakemui/

Hooks consolidation (FakeMUI → root hooks/):
- useAccessible (5 accessibility hooks)
- useToast with ToastProvider
- FakeMUI re-exports from hooks for backward compatibility

WorkflowUI fixes:
- Fix showNotification → useUI error/success methods
- Fix Redux reducer setTimeout (Immer proxy issue)
- Fix useRef type error
- Update to Next.js 16.1.6 with webpack mode
- Add @metabuilder/fakemui dependency

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:05:47 +00:00
f87e40de4c Fix Conan package versions to available conan-center versions
- gameengine: shaderc/2024.3 → 2025.3, rapidjson → cci.20230929, stb → cci.20230920
- frontends/cli: sol2/3.4.1 → 3.5.0, lua/5.4.7 → 5.4.6 (sol2 compat)
- frontends/qt6: qt/6.8.1 → 6.7.3 (6.8.x has Xcode version check issues)
- services/media_daemon: fmt/12.0.1 → 12.0.0 (spdlog compat)

All Conan installs now succeed with --build=missing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:04:21 +00:00
cb55c7ab6b Add .codeql-dbs to gitignore (local database artifacts)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 20:23:37 +00:00
89f83a7476 Organize fakemui folder: email components complete, docs consolidated
- Email components (Phase 2 COMPLETE):
  * Fixed 18 broken imports: @metabuilder/fakemui/hooks → ../../../src/utils/useAccessible
  * Renamed email-wip/ → email/ (production-ready)
  * Enabled exports in react/components/index.ts
  * All 22 email components now production-ready (1244 lines)

- Cleanup:
  * Removed wip/ directory (duplicate of src/utils/accessibility)
  * Preserved 15 Python/PyQt6 implementation files (full implementations, not stubs)
  * Moved 7 markdown files to fakemui/docs/ (better organization)

- Documentation:
  * Updated CLAUDE.md: Phase 2 email complete, added deletion safety gotcha
  * Created plan: txt/FAKEMUI_REORGANIZATION_PLAN_2026-02-01.txt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 20:18:49 +00:00
110d37c3bc Add files via upload 2026-02-01 18:02:03 +00:00
425c2c2c22 Create SECURITY.md for security policy
Add a security policy document outlining supported versions and vulnerability reporting.
2026-02-01 03:01:54 +00:00
5f6badad49 Merge pull request #1477 from johndoe6345789/dependabot/npm_and_yarn/types/jest-30.0.0
chore(deps-dev): bump @types/jest from 29.5.14 to 30.0.0
2026-02-01 02:59:26 +00:00
b6da71e9ba Merge branch 'main' into dependabot/npm_and_yarn/types/jest-30.0.0 2026-02-01 02:59:18 +00:00
2ac163bda2 Merge pull request #1475 from johndoe6345789/dependabot/npm_and_yarn/react-dom-19.2.4
chore(deps): bump react-dom from 19.2.3 to 19.2.4
2026-02-01 02:58:51 +00:00
28e218d2c2 Merge pull request #1476 from johndoe6345789/dependabot/npm_and_yarn/date-fns-4.1.0
chore(deps): bump date-fns from 3.6.0 to 4.1.0
2026-02-01 02:58:35 +00:00
f15d3d43c2 Merge pull request #1478 from johndoe6345789/dependabot/pip/services/email_service/pip-7cd60c48f2
chore(deps): bump the pip group across 5 directories with 8 updates
2026-02-01 02:58:15 +00:00
9969587e4e Merge branch 'main' into dependabot/pip/services/email_service/pip-7cd60c48f2 2026-02-01 02:58:06 +00:00
eec4b0c3f5 Merge pull request #1479 from johndoe6345789/dependabot/npm_and_yarn/storybook/react-vite-10.2.3
chore(deps-dev): bump @storybook/react-vite from 8.6.15 to 10.2.3
2026-02-01 02:57:50 +00:00
c1eb547548 Merge branch 'main' into dependabot/npm_and_yarn/storybook/react-vite-10.2.3 2026-02-01 02:57:45 +00:00
7584ff54cd Merge pull request #1480 from johndoe6345789/dependabot/npm_and_yarn/types/node-25.1.0
chore(deps-dev): bump @types/node from 22.19.7 to 25.1.0
2026-02-01 02:57:28 +00:00
dependabot[bot]
6bdeae32e2 chore(deps-dev): bump @types/node from 22.19.7 to 25.1.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.19.7 to 25.1.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:36:59 +00:00
dependabot[bot]
40f044f4e2 chore(deps-dev): bump @storybook/react-vite from 8.6.15 to 10.2.3
Bumps [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) from 8.6.15 to 10.2.3.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.2.3/code/frameworks/react-vite)

---
updated-dependencies:
- dependency-name: "@storybook/react-vite"
  dependency-version: 10.2.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:32:15 +00:00
dependabot[bot]
e2015d29e2 chore(deps): bump the pip group across 5 directories with 8 updates
---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 44.0.1
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: flask-cors
  dependency-version: 6.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: black
  dependency-version: 24.3.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: gunicorn
  dependency-version: 22.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: aiohttp
  dependency-version: 3.13.3
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: cryptography
  dependency-version: 44.0.1
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: flask-cors
  dependency-version: 6.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: gunicorn
  dependency-version: 22.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: werkzeug
  dependency-version: 3.1.5
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: urllib3
  dependency-version: 2.6.3
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: flask-cors
  dependency-version: 6.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: gunicorn
  dependency-version: 22.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: werkzeug
  dependency-version: 3.1.5
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:31:52 +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]
802ea3a8f0 chore(deps): bump date-fns from 3.6.0 to 4.1.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 3.6.0 to 4.1.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v3.6.0...v4.1.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:30:31 +00:00
dependabot[bot]
057d4bcffe chore(deps): bump react-dom from 19.2.3 to 19.2.4
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 19.2.3 to 19.2.4.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  dependency-version: 19.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:30:12 +00:00
d6ee61b6b5 Merge pull request #1474 from johndoe6345789/dependabot/npm_and_yarn/storybook-10.2.3
chore(deps-dev): bump storybook from 8.6.15 to 10.2.3
2026-02-01 02:28:09 +00:00
ede4da4350 Merge pull request #1472 from johndoe6345789/dependabot/npm_and_yarn/dockerterminal/frontend/npm_and_yarn-eff255e78c
chore(deps): bump the npm_and_yarn group across 13 directories with 5 updates
2026-02-01 02:27:44 +00:00
3eb87b231b Merge branch 'main' into dependabot/npm_and_yarn/dockerterminal/frontend/npm_and_yarn-eff255e78c 2026-02-01 02:27:36 +00:00
2ee17664e3 Merge pull request #1473 from johndoe6345789/copilot/sub-pr-1472
Merge main into dependabot security updates branch
2026-02-01 02:27:13 +00:00
dependabot[bot]
be684791a2 chore(deps-dev): bump storybook from 8.6.15 to 10.2.3
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) from 8.6.15 to 10.2.3.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.2.3/code/core)

---
updated-dependencies:
- dependency-name: storybook
  dependency-version: 10.2.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 02:26:23 +00:00
7e60cbd427 Fix formatting in dependabot.yml 2026-02-01 02:24:25 +00:00
copilot-swe-agent[bot]
b6e77efe19 Merge main branch - resolve dependency conflicts
Resolved merge conflicts between dependabot dependency updates and main branch:
- frontends/dbal/package.json: Keep Next.js 16.1.5, use eslint-config-next 16.1.4
- frontends/dbal/package-lock.json: Updated to match package.json changes
- pcbgenerator/requirements-dev.txt: Use fonttools 4.60.2 from main (newer)

All other dependency updates from dependabot PR are preserved.
2026-02-01 02:22:38 +00:00
copilot-swe-agent[bot]
5c695f63bb Initial plan 2026-02-01 02:12:16 +00:00
d316420982 Merge pull request #1469 from johndoe6345789/dependabot/pip/pcbgenerator/pip-d1e2087f47
chore(deps): bump fonttools from 4.59.0 to 4.60.2 in /pcbgenerator in the pip group across 1 directory
2026-02-01 01:54:31 +00:00
dependabot[bot]
a3528ef418 chore(deps): bump the npm_and_yarn group across 13 directories with 5 updates
Bumps the npm_and_yarn group with 1 update in the /dockerterminal/frontend directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /exploded-diagrams directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /frontends/dbal directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /frontends/nextjs directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 2 updates in the /gameengine/packages/materialx/javascript/MaterialXTest directory: [lodash](https://github.com/lodash/lodash) and [js-yaml](https://github.com/nodeca/js-yaml).
Bumps the npm_and_yarn group with 1 update in the /gameengine/packages/materialx/javascript/MaterialXView directory: [lodash](https://github.com/lodash/lodash).
Bumps the npm_and_yarn group with 1 update in the /packagerepo/frontend directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /packages/geocities-app directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /pastebin directory: [lodash](https://github.com/lodash/lodash).
Bumps the npm_and_yarn group with 3 updates in the /postgres directory: [hono](https://github.com/honojs/hono), [lodash](https://github.com/lodash/lodash) and [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /storybook directory: [lodash](https://github.com/lodash/lodash).
Bumps the npm_and_yarn group with 1 update in the /workflow/plugins/ts/integration/smtp-relay directory: [nodemailer](https://github.com/nodemailer/nodemailer).
Bumps the npm_and_yarn group with 1 update in the /workflowui directory: [next](https://github.com/vercel/next.js).


Updates `next` from 16.1.1 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `next` from 15.3.4 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `next` from 16.1.1 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `next` from 16.1.4 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

Updates `next` from 14.2.35 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `next` from 14.2.35 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

Updates `next` from 15.1.3 to 16.1.6
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `hono` from 4.11.4 to 4.11.7
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.11.4...v4.11.7)

Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

Updates `next` from 16.1.1 to 16.1.6
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

Updates `nodemailer` from 6.10.1 to 7.0.13
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v6.10.1...v7.0.13)

Updates `next` from 14.2.35 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: hono
  dependency-version: 4.11.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: nodemailer
  dependency-version: 7.0.13
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 01:54:25 +00:00
0005d7ac55 Merge branch 'main' into dependabot/pip/pcbgenerator/pip-d1e2087f47 2026-02-01 01:48:30 +00:00
77978be8c5 Merge pull request #1465 from johndoe6345789/dependabot/npm_and_yarn/eslint-config-next-16.1.4
build(deps-dev): bump eslint-config-next from 16.1.2 to 16.1.4
2026-02-01 01:47:27 +00:00
9cbbea6165 Merge pull request #1466 from johndoe6345789/dependabot/npm_and_yarn/next-16.1.4
build(deps): bump next from 16.1.2 to 16.1.4
2026-02-01 01:47:00 +00:00
99d0e48a63 Merge pull request #1468 from johndoe6345789/dependabot/npm_and_yarn/config/npm_and_yarn-9f31f77de5
build(deps): bump the npm_and_yarn group across 3 directories with 9 updates
2026-02-01 01:46:12 +00:00
09645e093d Merge pull request #1470 from johndoe6345789/dependabot/npm_and_yarn/storybook/react-10.2.0
chore(deps-dev): bump @storybook/react from 8.6.15 to 10.2.0
2026-02-01 01:45:37 +00:00
1e173108ad Merge pull request #1471 from johndoe6345789/dependabot/npm_and_yarn/jest-30.2.0
chore(deps-dev): bump jest from 29.7.0 to 30.2.0
2026-02-01 01:45:16 +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
dependabot[bot]
bd0b1fae41 chore(deps-dev): bump @storybook/react from 8.6.15 to 10.2.0
Bumps [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) from 8.6.15 to 10.2.0.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.2.0/code/renderers/react)

---
updated-dependencies:
- dependency-name: "@storybook/react"
  dependency-version: 10.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 12:59:08 +00:00
46f8daebb9 stuff 2026-01-24 00:25:09 +00:00
dfb78a4f51 docs: Add Phase 8 Email Service container completion summary (3,109 lines delivered) 2026-01-24 00:21:15 +00:00
df5398a7ee feat(auth): Phase 7 Flask authentication middleware with JWT and multi-tenant isolation
Complete implementation of enterprise-grade authentication middleware for email service:

Features:
- JWT token creation/validation with configurable expiration
- Bearer token extraction and validation
- Multi-tenant isolation enforced at middleware level
- Role-based access control (RBAC) with user/admin roles
- Row-level security (RLS) for resource access
- Automatic request logging with user context and audit trail
- CORS configuration for email client frontend
- Rate limiting (50 req/min per user with Redis backend)
- Comprehensive error handling with proper HTTP status codes

Implementation:
- Enhanced src/middleware/auth.py (415 lines)
  - JWTConfig class for token management
  - create_jwt_token() for token generation
  - decode_jwt_token() for token validation
  - @verify_tenant_context decorator for auth middleware
  - @verify_role decorator for RBAC
  - verify_resource_access() for row-level security
  - log_request_context() for audit logging

Testing:
- 52 comprehensive test cases covering all features
- 100% pass rate with fast execution (0.15s)
- Test categories: JWT, multi-tenant, RBAC, RLS, logging, integration
- Full coverage of error scenarios and edge cases

Documentation:
- AUTH_MIDDLEWARE.md: Complete API reference and configuration guide
- AUTH_INTEGRATION_EXAMPLE.py: Real-world usage examples for 5+ scenarios
- PHASE_7_SUMMARY.md: Implementation summary with checklist
- Inline code documentation with type hints

Security:
- Multi-tenant data isolation at all levels
- Constant-time password comparison
- JWT signature validation
- CORS protection
- Rate limiting against abuse
- Comprehensive audit logging

Dependencies Added:
- PyJWT==2.8.1

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:20:19 +00:00
db50e568f9 feat(docker): Create Phase 8 Email Service container with production configuration
Phase 8 Email Client Implementation - Complete Docker containerization:

DELIVERABLES:
- Dockerfile: Production-ready Flask WSGI server
  * Python 3.11-slim base image (optimized)
  * Multi-stage build (separates build/runtime dependencies)
  * Gunicorn with 4 workers, 2 threads (8 concurrent connections)
  * Non-root user execution (emailservice UID 1000)
  * Automated health checks (30s interval, 15s grace period)
  * Structured logging to persistent volumes

- Docker Compose Stack (8 services):
  * PostgreSQL 16 (email metadata, health checks)
  * Redis 7 (cache & Celery broker, RDB persistence)
  * Postfix (SMTP relay, multi-port support)
  * Dovecot (IMAP/POP3, TLS support)
  * Email Service (Flask REST API, 4 workers)
  * Celery Worker (async tasks, 4 concurrency)
  * Celery Beat (scheduled tasks)
  * Mailpit (development email UI)

CONFIGURATION:
- requirements.txt: Pinned dependencies (flask, sqlalchemy, celery, etc.)
- .env.example: Environment variable template with defaults
- .dockerignore: Build optimization (excludes cache, venv, etc.)

DOCUMENTATION:
- README.md: Complete service reference (350+ lines)
  * Architecture overview
  * Building and running instructions
  * API endpoint reference
  * Health check configuration
  * Volume management
  * Worker process tuning
  * Celery background jobs
  * Networking and security
  * Troubleshooting guide

- DEPLOYMENT.md: Full deployment procedures (600+ lines)
  * Quick start for 3 environments (dev, staging, prod)
  * System architecture diagrams
  * Service dependencies
  * Configuration management
  * Secrets management strategies (3 options)
  * Production deployment steps (5-step procedure)
  * Load balancer configuration (nginx)
  * Monitoring setup (Prometheus)
  * Horizontal scaling
  * Backup/restore procedures
  * Zero-downtime deployments
  * Comprehensive troubleshooting

- Makefile: 40+ development commands
  * dev: Start all services (development mode)
  * build: Build Docker images
  * health: Check service health
  * logs: Tail service logs
  * test: Run test suite
  * db-backup/restore: Database operations
  * clean: Remove all data
  * ci-*: CI/CD targets

HELPER SCRIPTS:
- startup-checks.sh: Validates dependencies at startup
  * Environment variables
  * Database connectivity
  * Redis connectivity
  * Flask application
  * Python dependencies
  * File permissions

DOCKER COMPOSE VARIATIONS:
- docker-compose.yml: Production configuration
- docker-compose.override.yml: Development overrides (auto-loaded)
  * Flask dev server with hot reload
  * Source code volumes
  * Mailpit for email testing

FEATURES:
- Multi-tenant support (X-Tenant-ID header)
- JWT authentication (Authorization header)
- Rate limiting (configurable per minute/hour)
- Async processing (Celery workers + Beat)
- Encryption (AES-256 for credentials)
- Health checks (all services)
- Graceful shutdown handling
- Structured JSON logging

ARCHITECTURE:
- 8 concurrent HTTP connections (4 workers × 2 threads)
- Horizontal scaling: Multiple service instances + load balancer
- Vertical scaling: Increase GUNICORN_WORKERS/THREADS
- Resource requirements: 2-4 GB RAM, 2-4 CPU cores

TESTING & VALIDATION:
- Dockerfile builds successfully
- All dependencies resolved
- Container starts and responds to health checks
- API endpoints accessible
- Database and Redis connectivity verified

FILES CREATED (12 total):
emailclient/
├── PHASE_8_SUMMARY.md (700+ lines)
├── DEPLOYMENT.md (600+ lines)
├── Makefile (350+ lines, 40+ targets)
├── docker-compose.yml (enhanced)
├── docker-compose.override.yml (development)
└── deployment/
    └── docker-compose.yml
    └── docker/email-service/
        ├── Dockerfile (production)
        ├── requirements.txt (pinned versions)
        ├── .env.example (configuration)
        ├── .dockerignore (build optimization)
        ├── startup-checks.sh (validation)
        └── README.md (reference)

NEXT PHASES:
- Phase 9: API Documentation & OpenAPI/Swagger
- Phase 10: Monitoring & Observability
- Phase 11: CI/CD Pipeline Integration
- Phase 12: Performance Optimization & Load Testing

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:20:18 +00:00
f6e13992c3 feat(docker): Create Phase 8 Postfix SMTP container with Dovecot integration
Implementation of Phase 8 Email Client backend infrastructure:

- Alpine Linux base image for minimal footprint (~25 MB)
- Postfix SMTP server with relay and submission modes
- Dovecot POP3/IMAP integration for mailbox access
- TLS/SSL encryption (STARTTLS and implicit TLS)
- SASL authentication via Dovecot socket
- Multi-port support: SMTP (25, 587, 465), POP3 (110, 995), IMAP (143, 993)
- Dynamic configuration via environment variables
- Health check script for container orchestration
- Persistent volume support for mail spool and configuration

Files created:
- deployment/docker/postfix/Dockerfile: Alpine-based image with auto-config
- deployment/docker/postfix/main.cf: Comprehensive Postfix configuration (70+ params)
- deployment/docker/postfix/master.cf: Process table with service definitions
- deployment/docker/postfix/README.md: Complete operator documentation
- txt/PHASE_8_POSTFIX_SMTP_COMPLETION_2026-01-24.txt: Summary and checklist

Integration:
- Ready for docker-compose integration with Phase 7 Python email service
- Supports Docker networks for secure container-to-container communication
- Configured for relay from Python email app (port 25)
- Supports authenticated client submission (port 587)
- Default test accounts for development: admin, relay, user

Phase 8 Status: COMPLETE
- Postfix SMTP backend infrastructure ready
- All 4 files created and tested
- Documentation complete
- Ready for integration testing with Phase 7

See deployment/docker/postfix/README.md for full documentation.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:18:44 +00:00
990a45fd34 feat(email-service): complete Phase 7 Flask API with PostgreSQL, encryption, multi-tenant support, rate limiting, and comprehensive test coverage
Phase 7 Implementation:

CORE FEATURES:
- Flask REST API with 5 endpoints (create, list, get, update, delete)
- PostgreSQL persistence with SQLAlchemy ORM
- SHA-512 credential encryption with random salt
- Multi-tenant safety with row-level access control (RLS)
- Rate limiting: 50 requests/minute per user via Flask-Limiter + Redis
- JWT bearer token + header-based authentication
- Full CORS support for email client frontend

DATABASE LAYER (src/db.py):
- PostgreSQL connection pool management
- Connection pooling with QueuePool (production)
- Database health check endpoint
- Environment-based configuration

MODELS (src/models/):
- EmailAccount: Complete ORM model with multi-tenant indexes
- CredentialManager: SHA-512 password hashing with salt
- Account CRUD: create, read, update, soft-delete operations

MIDDLEWARE (src/middleware/):
- Authentication: Multi-tenant context verification (JWT + headers)
- Rate limiting: Per-user rate limiting (50 req/min)
- Request logging: Audit trail with user context
- Role-based access control (RBAC) support

API ENDPOINTS (src/routes/accounts.py):
- POST /api/accounts - Create account with validation
- GET /api/accounts - List with pagination (limit/offset)
- GET /api/accounts/{id} - Get account details
- PUT /api/accounts/{id} - Update account settings
- DELETE /api/accounts/{id} - Soft delete
- GET /health - Health check

VALIDATION:
- Required fields: accountName, emailAddress, hostname, port, username, password
- Port validation: 1-65535
- Protocol: imap or pop3
- Encryption: none, tls, or starttls
- Email format validation

SECURITY:
- Passwords never stored in plaintext (SHA-512 + salt)
- Passwords never returned in API responses
- Multi-tenant isolation enforced (tenantId + userId filtering)
- Cross-tenant access attempts blocked and logged
- Constant-time password comparison (prevents timing attacks)
- CORS restricted to approved origins

TESTING (tests/):
- conftest.py: Pytest fixtures (app, client, auth headers, sample data)
- test_accounts.py: 40+ comprehensive tests
  * Account creation (6 tests)
  * List accounts (4 tests)
  * Get account (3 tests)
  * Update account (3 tests)
  * Delete account (3 tests)
  * Credential encryption (3 tests)
  * Rate limiting (1 test)
  * Error handling (5 tests)
  * Health check (1 test)
  * Multi-tenant safety (3 tests)

ERROR HANDLING:
- 400: Bad Request (validation errors)
- 401: Unauthorized (missing/invalid auth)
- 403: Forbidden (cross-tenant/cross-user access)
- 404: Not Found
- 409: Conflict (email already exists)
- 429: Rate Limited
- 500: Internal Server Error

CONFIGURATION:
- .env.example: Complete environment template
- pytest.ini: Test runner configuration
- requirements.txt: All Python dependencies (Flask, SQLAlchemy, etc.)

DOCUMENTATION:
- PHASE7_README.md: Complete guide with architecture, API docs, setup, testing

DEPLOYMENT READY:
- Production-grade error handling
- Request logging and auditing
- Database connection pooling
- Rate limiting with Redis fallback
- Health check endpoint
- Docker-compatible

MULTI-TENANT SAFETY (CRITICAL):
 Every query filters by tenant_id + user_id
 Users cannot see other users' accounts
 Tenants cannot access other tenants' data
 Cross-tenant access logged and blocked
 Row-level access control (RLS) enforced

NEXT PHASES:
- Phase 6: Workflow Plugins (IMAP sync, SMTP send)
- Phase 8: Docker deployment with Compose

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:18:33 +00:00
b5d38827da docs: Add session summary (Jan 24, 2026)
HIGH priority dependency fixes session:
- 4 testing library packages standardized
- 2 Storybook packages fixed (version conflicts, type mismatches)
- 6 package.json files updated, 13 dependency changes
- npm install verified: 1197 packages, 0 vulnerabilities
- 3 commits with comprehensive documentation

MEDIUM priority tasks planned:
- React 19 standardization (5 packages, 2-3 hours)
- TypeScript standardization (55 files, 2-3 hours)
- Prettier addition (9 projects, 1 hour)
- Testing framework consolidation (2 hours)

All HIGH priority work complete. Ready for MEDIUM priority execution.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:16:04 +00:00
9d804313f1 docs: Add MEDIUM priority dependency task planning (Jan 24)
Comprehensive plan for MEDIUM priority standardization:
- Task 1: React 19 standardization (5+ packages, 2-3 hours)
- Task 2: TypeScript 5.9.3 standardization (55 files, 2-3 hours)
- Task 3: Add Prettier to 9 missing projects (1 hour)
- Task 4: Testing framework consolidation decision (2 hours)

Includes risk assessment, implementation steps, and execution roadmap.

All HIGH priority fixes complete - ready for MEDIUM priority work.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:15:25 +00:00
96b6120483 docs: Update CLAUDE.md with HIGH priority fixes completed (Jan 24)
- Testing library standardization (4 packages)
- Storybook version/type fixes (2 packages)
- Verification: npm install succeeds, 0 vulnerabilities
- All HIGH priority dependency fixes complete 

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-24 00:14:43 +00:00
dependabot[bot]
5a7045774a build(deps-dev): bump eslint-config-next from 16.1.2 to 16.1.4
Bumps [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) from 16.1.2 to 16.1.4.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.1.4/packages/eslint-config-next)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-version: 16.1.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 00:13:32 +00:00