2026-04-30 08:12:54,728 - main - INFO - === Logging system initialized ===
2026-04-30 08:12:54,728 - main - INFO - Log file: logs/app_20260430_081254.log
2026-04-30 08:12:54,728 - main - INFO - Log level: INFO
2026-04-30 08:12:54,728 - main - INFO - Timestamp: 20260430_081254
2026-04-30 08:12:54,822 - main - INFO - Included router: routers.agent_availability.router
2026-04-30 08:12:55,747 - main - INFO - Included router: routers.ai_ticket_summary.router
2026-04-30 08:12:55,771 - main - INFO - Included router: routers.aihub.router
2026-04-30 08:12:55,785 - main - INFO - Included router: routers.auth.router
2026-04-30 08:12:55,836 - main - INFO - Included router: routers.chat_analytics_daily.router
2026-04-30 08:12:55,879 - main - INFO - Included router: routers.chat_attachments.router
2026-04-30 08:12:55,947 - main - INFO - Included router: routers.chat_branding.router
2026-04-30 08:12:55,961 - main - INFO - Included router: routers.chat_branding_api.router
2026-04-30 08:12:56,015 - main - INFO - Included router: routers.chat_conversations.router
2026-04-30 08:12:56,081 - main - INFO - Included router: routers.chat_messages.router
2026-04-30 08:12:56,212 - main - INFO - Included router: routers.chat_routing_rules.router
2026-04-30 08:12:56,235 - main - INFO - Included router: routers.contact.router
2026-04-30 08:12:56,277 - main - INFO - Included router: routers.contact_inquiries.router
2026-04-30 08:12:56,280 - main - INFO - Included router: routers.health.router
2026-04-30 08:12:56,336 - main - INFO - Included router: routers.kb_articles.router
2026-04-30 08:12:56,383 - main - INFO - Included router: routers.notification_preferences.router
2026-04-30 08:12:56,440 - main - INFO - Included router: routers.notifications.router
2026-04-30 08:12:56,490 - main - INFO - Included router: routers.plans.router
2026-04-30 08:12:56,510 - main - INFO - Included router: routers.settings.router
2026-04-30 08:12:56,543 - main - INFO - Included router: routers.smtp_settings.router
2026-04-30 08:12:56,580 - main - INFO - Included router: routers.storage.router
2026-04-30 08:12:56,686 - main - INFO - Included router: routers.support_chat.router
2026-04-30 08:12:56,724 - main - INFO - Included router: routers.support_departments.router
2026-04-30 08:12:56,867 - main - INFO - Included router: routers.support_seats.router
2026-04-30 08:12:56,877 - main - INFO - Included router: routers.ticket_notifications_sync.router
2026-04-30 08:12:56,913 - main - INFO - Included router: routers.ticket_summaries.router
2026-04-30 08:12:56,950 - main - INFO - Included router: routers.ticket_sync_states.router
2026-04-30 08:12:56,960 - main - INFO - Included router: routers.user.router
2026-04-30 08:12:57,007 - main - INFO - Included router: routers.user_profiles.router
2026-04-30 08:12:57,113 - main - INFO - Included router: routers.whmcs.router
2026-04-30 08:12:57,170 - main - INFO - Included router: routers.whmcs_admin.router
2026-04-30 08:12:57,208 - main - INFO - Included router: routers.whmcs_extra.router
2026-04-30 08:12:57,210 - main - INFO - === Application startup initiated ===
2026-04-30 08:12:57,210 - services.database - INFO - Ignore creating tables
2026-04-30 08:12:57,210 - services.mock_data - INFO - Ignore initialize data
2026-04-30 08:12:57,210 - services.auth - INFO - Ignore initialize admin
2026-04-30 08:12:57,211 - main - INFO - === Application startup completed successfully ===
2026-04-30 08:13:15,042 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-30 08:13:15,042 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-30 08:13:15,051 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-30 08:13:15,053 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-04-30 08:13:15,053 - core.database - WARNING - Database session maker not available, attempting lazy initialization...
2026-04-30 08:13:15,053 - core.database - WARNING - Database not initialized, attempting lazy initialization...
2026-04-30 08:13:15,053 - core.database - INFO - Starting database initialization...
2026-04-30 08:13:15,053 - core.config - DEBUG - Read dynamic attribute database_url from environment variable DATABASE_URL
2026-04-30 08:13:15,053 - core.database - INFO - Normalizing database URL for async compatibility...
2026-04-30 08:13:15,054 - core.database - INFO - Creating async database engine...
2026-04-30 08:13:15,054 - core.database - INFO - Using QueuePool with connection pooling for non-Lambda environment
2026-04-30 08:13:15,096 - core.database - INFO - Database engine created successfully
2026-04-30 08:13:15,097 - core.database - INFO - Creating async session maker...
2026-04-30 08:13:15,097 - core.database - INFO - Async session maker created successfully
2026-04-30 08:13:15,097 - core.database - INFO - Database connection initialized successfully
2026-04-30 08:13:15,097 - core.database - DEBUG - [DB_OP] Starting create_tables
2026-04-30 08:13:15,097 - core.database - INFO - 🔧 Starting table creation...
2026-04-30 08:13:15,284 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-30 08:13:15,297 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-30 08:13:15,297 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-30 08:13:15,297 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-30 08:13:15,367 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-30 08:13:15,376 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fbe8e698460>
2026-04-30 08:13:15,376 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fbe8e6a3dc0> server_hostname='atoms.dev' timeout=120.0
2026-04-30 08:13:15,387 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fbe8e698490>
2026-04-30 08:13:15,388 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-30 08:13:15,388 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-30 08:13:15,389 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-30 08:13:15,389 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-30 08:13:15,389 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-30 08:13:15,815 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Thu, 30 Apr 2026 15:13:15 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'061290a0a41d097d433ac43c27b3ae55'), (b'X-Trace-Id', b'ca5e20c8a3974bddba25557ad1dfce50'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f477d472cafc4e7-LAX')])
2026-04-30 08:13:15,816 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-30 08:13:15,816 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-30 08:13:15,817 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-30 08:13:15,817 - httpcore.http11 - DEBUG - response_closed.started
2026-04-30 08:13:15,817 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-30 08:13:15,817 - httpcore.connection - DEBUG - close.started
2026-04-30 08:13:15,818 - httpcore.connection - DEBUG - close.complete
2026-04-30 08:13:17,715 - core.database - INFO - Tables initialized successfully
2026-04-30 08:13:17,716 - core.database - DEBUG - [DB_OP] Create tables completed in 2.6192s
2026-04-30 08:13:17,780 - core.database - INFO - Lazy database initialization completed successfully
2026-04-30 08:13:17,781 - core.database - DEBUG - [DB_OP] Database session created successfully in 2.7276s
2026-04-30 08:13:18,247 - core.database - DEBUG - [DB_OP] Database session cleanup after 3.1945s
2026-04-30 08:13:21,146 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-30 08:13:21,408 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-30 08:13:21,453 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-30 08:13:21,461 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fbe8c4811b0>
2026-04-30 08:13:21,461 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fbe8c566c40> server_hostname='atoms.dev' timeout=120.0
2026-04-30 08:13:21,473 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fbe8c480f10>
2026-04-30 08:13:21,474 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-30 08:13:21,474 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-30 08:13:21,475 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-30 08:13:21,475 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-30 08:13:21,475 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-30 08:13:22,060 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Thu, 30 Apr 2026 15:13:22 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'ef0b297b5bedfc7ed39e9391a6d505d0'), (b'X-Trace-Id', b'7a58a75c757349b1a4a25535259cd0b4'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f477d6d3d0497ca-LAX')])
2026-04-30 08:13:22,060 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-30 08:13:22,061 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-30 08:13:22,061 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-30 08:13:22,061 - httpcore.http11 - DEBUG - response_closed.started
2026-04-30 08:13:22,061 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-30 08:13:22,062 - httpcore.connection - DEBUG - close.started
2026-04-30 08:13:22,062 - httpcore.connection - DEBUG - close.complete
2026-04-30 08:14:15,073 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-04-30 08:14:15,076 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-04-30 08:14:15,076 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0002s
2026-04-30 08:14:15,397 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3213s
2026-04-30 08:14:23,475 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-04-30 08:14:23,481 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-04-30 08:14:23,481 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0002s
2026-04-30 08:14:23,799 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3187s
2026-04-30 08:15:30,735 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-04-30 08:15:30,736 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-04-30 08:15:30,737 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0002s
2026-04-30 08:15:31,054 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3175s
2026-04-30 08:16:31,658 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-04-30 08:16:31,659 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-04-30 08:16:31,979 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3215s
2026-04-30 08:17:21,449 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-04-30 08:17:21,449 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0007s
2026-04-30 08:17:21,451 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-04-30 08:17:21,768 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3195s
2026-04-30 08:18:16,762 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-30 08:18:16,831 - core.database - INFO - Database connection closed and engine disposed
2026-04-30 08:18:16,831 - services.database - INFO - Database connections closed
2026-04-30 08:18:16,831 - services.database - DEBUG - [DB_OP] Database close completed in 0.0694s
