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