Commit Graph
6 Commits
Author SHA1 Message Date
ang3l12andClaude Fable 5 12383b2225 Fix dev user switcher tooltip covering dropdown options
The MUI Tooltip stayed anchored while the Select menu was open (the select
keeps focus) and overlapped the first user options. Use a native title
attribute instead, which browsers suppress while the popup is open.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-28 10:22:13 -06:00
ang3l12andClaude Fable 5 ba6a61a5bf Fix alembic env crashing on URL-encoded password characters
Passing the DB URL through config.set_main_option() runs it through
ConfigParser, which treats '%' as interpolation syntax — so any password
character that URL-encodes to %xx ('!', '@', '#', ...) crashed migrations
('invalid interpolation syntax'). Build the engine directly from the URL
instead of routing it through the ini config.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 13:58:06 -06:00
ang3l12andClaude Fable 5 45f1c56a52 Default MySQL image to mysql:8.0-debian
The Oracle Linux based mysql:8.4 image requires x86-64-v2 and fails on the
PESCO Docker host even with the Proxmox CPU type set to host. The Debian
build runs on baseline x86-64; MYSQL_IMAGE still allows overriding.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 13:54:39 -06:00
ang3l12andClaude Fable 5 36ee982ca3 Make MySQL image configurable for CPUs without x86-64-v2
mysql:8.4 (Oracle Linux 9 build) aborts with 'Fatal glibc error: CPU does
not support x86-64-v2' on generic VM CPU types (kvm64/qemu64) and pre-2009
hardware. MYSQL_IMAGE env var (default mysql:8.4) lets such hosts run the
baseline-x86-64 mysql:8.0-debian build instead.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 13:49:50 -06:00
ang3l12andClaude Fable 5 2c25fabd42 Fix MySQL init script: executable bit + scope shell options in subshell
Without the exec bit the MySQL entrypoint sources the script instead of
executing it, leaking set -euo pipefail into MySQL's own startup shell and
aborting first-time initialization (container exits -> unhealthy -> compose
dependency failure).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 13:45:27 -06:00
ang3l12andClaude Fable 5 dea316b113 Initial commit: PESCO NCR system
Complete Non-Conformance Report system replacing the PowerApps/SharePoint
prototype: FastAPI + SQLAlchemy 2 (async) + Alembic + MySQL 8 backend,
React 18 + Vite + TypeScript + MUI frontend, Entra ID auth (MSAL / JWKS,
group-gated), Microsoft Graph delegated Mail.Send notifications (OBO),
six-stage workflow state machine with server-side enforcement, atomic
NCR-YYYY-NNNN numbering, attachments with camera capture, immutable
field-level audit trail, admin reopen, reports + CSV export, WeasyPrint
PDF traveler, Power BI reporting views + read-only DB user, documented
VISUAL ERP job-lookup stub, pytest suite (26 tests), docker-compose
deployment.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 11:41:22 -06:00