Major architectural improvements: - Auto-generate SSL certificates on first startup with OpenSSL - Dual HTTP (8081) + HTTPS (8443) backend API servers - Frontend auto-detects protocol and uses appropriate API endpoint - Fix database ORM initialization race condition with getDb() pattern - WebSocket authentication with JWT verification during handshake - Zero-config .env file generation for production deployment - Docker and nginx configurations for container deployment Technical fixes: - Eliminate module initialization race conditions in database access - Replace direct db imports with safer getDb() function calls - Automatic HTTPS frontend development server (npm run dev:https) - SSL certificate generation with termix.crt/termix.key - Cross-platform environment variable support with cross-env This enables seamless HTTP→HTTPS upgrade with zero manual configuration. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
25 lines
1.4 KiB
Plaintext
25 lines
1.4 KiB
Plaintext
-----BEGIN CERTIFICATE-----
|
|
MIID/zCCAuegAwIBAgIUG6+dZQ7SQOEO/RgH6hclicwzoAswDQYJKoZIhvcNAQEL
|
|
BQAwaTELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
|
|
MQ8wDQYDVQQKDAZUZXJtaXgxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxEjAQBgNV
|
|
BAMMCWxvY2FsaG9zdDAeFw0yNTA5MjIwMjQ0MDhaFw0yNjA5MjIwMjQ0MDhaMGkx
|
|
CzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVTdGF0ZTENMAsGA1UEBwwEQ2l0eTEPMA0G
|
|
A1UECgwGVGVybWl4MRYwFAYDVQQLDA1JVCBEZXBhcnRtZW50MRIwEAYDVQQDDAls
|
|
b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCA5RvhN4y
|
|
5c3D8L8tKavR5tXHPpWImDTIQmf5XgUvkUq6ojq/TmotYcyerValq/CwruZjxaiE
|
|
HHcfzqejYYa20OsyiYFa4m87pyVoo+PR0KMkkw2nuQlXtTOH6ScFbgYJFGU3gfT8
|
|
C2SJxKvc+fNnQUrIbdByXbJKYXSOf9YCJ7CIX1+YmDAxFfdVDZS7bcq7WVruLO5m
|
|
ZjW2JSyUpbJbeLLiy62f2r56/rMj8ps3mhknahKbThmVwNBi4PdRIc9LeDXrAEc0
|
|
sUm2evc6z6V+peXUCjlAnGJeMjDet58l1BDOzcAnypEv00GgngkogLF5Sb6FfmKQ
|
|
ZUC2ggivWHrrAgMBAAGjgZ4wgZswCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwYgYD
|
|
VR0RBFswWYIJbG9jYWxob3N0ggkxMjcuMC4wLjGCCyoubG9jYWxob3N0ggx0ZXJt
|
|
aXgubG9jYWyCDioudGVybWl4LmxvY2FshwR/AAABhxAAAAAAAAAAAAAAAAAAAAAB
|
|
MB0GA1UdDgQWBBRd0IxOKh559qJIZbVXTeU7Vco88DANBgkqhkiG9w0BAQsFAAOC
|
|
AQEAm/OHTaz7IePbfcp8A7mO72Hu8OO/Tq4tuVCC8T4SY7NdnOHrV9+z2dd5Judn
|
|
yGMtOeE64xKgPqJIjOdbAvYPgTwpo7yXnuTohqeWcyW/JWtNmFCw+eQyTx5tnD+J
|
|
DSF4/QHK/fB791NzQYc+Z01P37yOwi0zRO9BWshwaxZTlrqg4tBPSdKIUyhrWRoT
|
|
KqXN0+kDjeNyiXM+6TnRjiigThRO2VEc1FW7ohm7c47VbfWr63Vf146ckhR5zq5Q
|
|
D1gHuwHV9VdwImzrBYpvhHZlAWgTnznRkcGhQ5uOtcaZy+CH1apQ2fu9ukDl6+Ee
|
|
GO9etliK5I6mCwsiO/5T0Kcesw==
|
|
-----END CERTIFICATE-----
|