2026-05-03 06:45:26,473 - main - INFO - === Logging system initialized ===
2026-05-03 06:45:26,473 - main - INFO - Log file: logs/app_20260503_064526.log
2026-05-03 06:45:26,474 - main - INFO - Log level: INFO
2026-05-03 06:45:26,474 - main - INFO - Timestamp: 20260503_064526
2026-05-03 06:45:26,550 - main - INFO - Included router: routers.admin_dashboard.router
2026-05-03 06:45:26,592 - main - INFO - Included router: routers.admin_users.router
2026-05-03 06:45:26,636 - main - INFO - Included router: routers.agent_availability.router
2026-05-03 06:45:27,554 - main - INFO - Included router: routers.ai_ticket_summary.router
2026-05-03 06:45:27,578 - main - INFO - Included router: routers.aihub.router
2026-05-03 06:45:27,634 - main - INFO - Included router: routers.api_hub.router
2026-05-03 06:45:27,655 - main - INFO - Included router: routers.audit_log.router
2026-05-03 06:45:27,670 - main - INFO - Included router: routers.auth.router
2026-05-03 06:45:27,692 - main - INFO - Included router: routers.cache_settings.router
2026-05-03 06:45:27,742 - main - INFO - Included router: routers.carts.router
2026-05-03 06:45:27,799 - main - INFO - Included router: routers.chat_analytics_daily.router
2026-05-03 06:45:27,858 - main - INFO - Included router: routers.chat_attachments.router
2026-05-03 06:45:28,059 - main - INFO - Included router: routers.chat_branding.router
2026-05-03 06:45:28,078 - main - INFO - Included router: routers.chat_branding_api.router
2026-05-03 06:45:28,141 - main - INFO - Included router: routers.chat_conversations.router
2026-05-03 06:45:28,193 - main - INFO - Included router: routers.chat_messages.router
2026-05-03 06:45:28,251 - main - INFO - Included router: routers.chat_routing_rules.router
2026-05-03 06:45:28,283 - main - INFO - Included router: routers.contact.router
2026-05-03 06:45:28,327 - main - INFO - Included router: routers.contact_inquiries.router
2026-05-03 06:45:28,386 - main - INFO - Included router: routers.ecom_checkout.router
2026-05-03 06:45:28,389 - main - INFO - Included router: routers.health.router
2026-05-03 06:45:28,452 - main - INFO - Included router: routers.kb_article_feedback.router
2026-05-03 06:45:28,501 - main - INFO - Included router: routers.kb_articles.router
2026-05-03 06:45:28,527 - main - INFO - Included router: routers.local_auth.router
2026-05-03 06:45:28,560 - main - INFO - Included router: routers.mfa.router
2026-05-03 06:45:28,607 - main - INFO - Included router: routers.notification_preferences.router
2026-05-03 06:45:28,656 - main - INFO - Included router: routers.notifications.router
2026-05-03 06:45:28,660 - main - INFO - Included router: routers.notifications_extras.router
2026-05-03 06:45:28,937 - main - INFO - Included router: routers.oauth.router
2026-05-03 06:45:28,984 - main - INFO - Included router: routers.order_items.router
2026-05-03 06:45:29,038 - main - INFO - Included router: routers.orders.router
2026-05-03 06:45:29,044 - main - INFO - Included router: routers.password_reset.router
2026-05-03 06:45:29,095 - main - INFO - Included router: routers.plans.router
2026-05-03 06:45:29,140 - main - INFO - Included router: routers.product_categories.router
2026-05-03 06:45:29,187 - main - INFO - Included router: routers.product_reviews.router
2026-05-03 06:45:29,242 - main - INFO - Included router: routers.products.router
2026-05-03 06:45:29,270 - main - INFO - Included router: routers.role_management.router
2026-05-03 06:45:29,318 - main - INFO - Included router: routers.service_testimonials.router
2026-05-03 06:45:29,341 - main - INFO - Included router: routers.settings.router
2026-05-03 06:45:29,380 - main - INFO - Included router: routers.site_settings.router
2026-05-03 06:45:29,421 - main - INFO - Included router: routers.smtp_settings.router
2026-05-03 06:45:29,458 - main - INFO - Included router: routers.storage.router
2026-05-03 06:45:29,710 - main - INFO - Included router: routers.support_chat.router
2026-05-03 06:45:29,773 - main - INFO - Included router: routers.support_departments.router
2026-05-03 06:45:29,827 - main - INFO - Included router: routers.support_seats.router
2026-05-03 06:45:29,840 - main - INFO - Included router: routers.ticket_notifications_sync.router
2026-05-03 06:45:29,884 - main - INFO - Included router: routers.ticket_summaries.router
2026-05-03 06:45:29,929 - main - INFO - Included router: routers.ticket_sync_states.router
2026-05-03 06:45:30,148 - main - INFO - Included router: routers.uptimerobot_admin.router
2026-05-03 06:45:30,222 - main - INFO - Included router: routers.uptimerobot_client.router
2026-05-03 06:45:30,234 - main - INFO - Included router: routers.user.router
2026-05-03 06:45:30,285 - main - INFO - Included router: routers.user_profiles.router
2026-05-03 06:45:30,329 - main - INFO - Included router: routers.user_roles.router
2026-05-03 06:45:30,433 - main - INFO - Included router: routers.visitor_monitor.router
2026-05-03 06:45:30,446 - main - INFO - Included router: routers.visitor_tracking.router
2026-05-03 06:45:30,466 - main - INFO - Included router: routers.whmcs.router
2026-05-03 06:45:30,535 - main - INFO - Included router: routers.whmcs_admin.router
2026-05-03 06:45:30,872 - main - INFO - Included router: routers.whmcs_extra.router
2026-05-03 06:45:30,875 - main - INFO - === Application startup initiated ===
2026-05-03 06:45:30,875 - services.database - INFO - Ignore creating tables
2026-05-03 06:45:30,875 - services.mock_data - INFO - Ignore initialize data
2026-05-03 06:45:30,876 - services.auth - INFO - Ignore initialize admin
2026-05-03 06:45:30,876 - main - INFO - === Application startup completed successfully ===
2026-05-03 06:46:04,088 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:04,089 - core.database - WARNING - Database session maker not available, attempting lazy initialization...
2026-05-03 06:46:04,090 - core.database - WARNING - Database not initialized, attempting lazy initialization...
2026-05-03 06:46:04,090 - core.database - INFO - Starting database initialization...
2026-05-03 06:46:04,090 - core.config - DEBUG - Read dynamic attribute database_url from environment variable DATABASE_URL
2026-05-03 06:46:04,090 - core.database - INFO - Normalizing database URL for async compatibility...
2026-05-03 06:46:04,091 - core.database - INFO - Creating async database engine...
2026-05-03 06:46:04,092 - core.database - INFO - Using QueuePool with connection pooling for non-Lambda environment
2026-05-03 06:46:04,143 - core.database - INFO - Database engine created successfully
2026-05-03 06:46:04,143 - core.database - INFO - Creating async session maker...
2026-05-03 06:46:04,144 - core.database - INFO - Async session maker created successfully
2026-05-03 06:46:04,144 - core.database - INFO - Database connection initialized successfully
2026-05-03 06:46:04,144 - core.database - DEBUG - [DB_OP] Starting create_tables
2026-05-03 06:46:04,144 - core.database - INFO - 🔧 Starting table creation...
2026-05-03 06:46:04,150 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:04,150 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0004s
2026-05-03 06:46:04,151 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"login_page"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:46:05,346 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:05,347 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-05-03 06:46:05,567 - routers.site_settings - DEBUG - Found 1 site_settingss
2026-05-03 06:46:05,568 - core.database - DEBUG - [DB_OP] Database session cleanup after 1.4183s
2026-05-03 06:46:05,964 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.6175s
2026-05-03 06:46:08,544 - core.database - INFO - Tables initialized successfully
2026-05-03 06:46:08,545 - core.database - DEBUG - [DB_OP] Create tables completed in 4.4009s
2026-05-03 06:46:08,608 - core.database - INFO - Lazy database initialization completed successfully
2026-05-03 06:46:08,609 - core.database - DEBUG - [DB_OP] Database session created successfully in 4.5204s
2026-05-03 06:46:08,609 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"branding"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:46:09,048 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:46:09,049 - core.database - DEBUG - [DB_OP] Database session cleanup after 4.9611s
2026-05-03 06:46:09,876 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:09,876 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-05-03 06:46:09,877 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"pending_registrations"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:46:09,879 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:09,879 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0003s
2026-05-03 06:46:09,880 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"registration"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:46:10,445 - routers.site_settings - DEBUG - Found 1 site_settingss
2026-05-03 06:46:10,446 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.5702s
2026-05-03 06:46:10,450 - routers.site_settings - DEBUG - Found 1 site_settingss
2026-05-03 06:46:10,451 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.5725s
2026-05-03 06:46:13,853 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:13,854 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-05-03 06:46:14,231 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3778s
2026-05-03 06:46:14,257 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-05-03 06:46:14,258 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-05-03 06:46:14,271 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:46:14,603 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:46:14,603 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:14,604 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0006s
2026-05-03 06:46:14,719 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=10.0 socket_options=None
2026-05-03 06:46:14,723 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:46:14,723 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:14,723 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0002s
2026-05-03 06:46:15,062 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e4203a0>
2026-05-03 06:46:15,062 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fe64e3677c0> server_hostname='client.doiteasy.net' timeout=10.0
2026-05-03 06:46:15,104 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3807s
2026-05-03 06:46:15,237 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e3f7250>
2026-05-03 06:46:15,238 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-05-03 06:46:15,238 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-05-03 06:46:15,238 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-05-03 06:46:15,239 - httpcore.http11 - DEBUG - send_request_body.complete
2026-05-03 06:46:15,239 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-05-03 06:46:15,561 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 403, b'Forbidden', [(b'Server', b'nginx'), (b'Date', b'Sun, 03 May 2026 13:46:15 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=b72c1de47e4151115b009ba0225a9604; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-05-03 06:46:15,563 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 403 Forbidden"
2026-05-03 06:46:15,563 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-05-03 06:46:15,564 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-05-03 06:46:15,564 - httpcore.http11 - DEBUG - response_closed.started
2026-05-03 06:46:15,564 - httpcore.http11 - DEBUG - response_closed.complete
2026-05-03 06:46:15,565 - httpcore.connection - DEBUG - close.started
2026-05-03 06:46:15,565 - httpcore.connection - DEBUG - close.complete
2026-05-03 06:46:15,565 - services.whmcs - ERROR - WHMCS API returned HTTP 403 for action GetClients (cf-ray=None server=nginx): {"result":"error","message":"Invalid IP 165.154.218.121"}
2026-05-03 06:46:15,567 - services.whmcs - WARNING - call_whmcs_safe: swallowing WHMCS error for action GetClients: Billing system rejected the request: Invalid IP 165.154.218.121. Please contact the administrator to whitelist the portal's outbound IP in the WHMCS API IP access list.
2026-05-03 06:46:15,600 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=10.0 socket_options=None
2026-05-03 06:46:15,777 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e268c10>
2026-05-03 06:46:15,777 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fe64e367cc0> server_hostname='client.doiteasy.net' timeout=10.0
2026-05-03 06:46:15,952 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e4d8490>
2026-05-03 06:46:15,953 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-05-03 06:46:15,954 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-05-03 06:46:15,954 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-05-03 06:46:15,954 - httpcore.http11 - DEBUG - send_request_body.complete
2026-05-03 06:46:15,954 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-05-03 06:46:16,255 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 403, b'Forbidden', [(b'Server', b'nginx'), (b'Date', b'Sun, 03 May 2026 13:46:16 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=9eb6bc0f59ff2d8488c4cde491203b41; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-05-03 06:46:16,256 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 403 Forbidden"
2026-05-03 06:46:16,256 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-05-03 06:46:16,256 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-05-03 06:46:16,257 - httpcore.http11 - DEBUG - response_closed.started
2026-05-03 06:46:16,257 - httpcore.http11 - DEBUG - response_closed.complete
2026-05-03 06:46:16,258 - httpcore.connection - DEBUG - close.started
2026-05-03 06:46:16,258 - httpcore.connection - DEBUG - close.complete
2026-05-03 06:46:16,259 - services.whmcs - ERROR - WHMCS API returned HTTP 403 for action GetOrders (cf-ray=None server=nginx): {"result":"error","message":"Invalid IP 165.154.218.121"}
2026-05-03 06:46:16,259 - services.whmcs - WARNING - call_whmcs_safe: swallowing WHMCS error for action GetOrders: Billing system rejected the request: Invalid IP 165.154.218.121. Please contact the administrator to whitelist the portal's outbound IP in the WHMCS API IP access list.
2026-05-03 06:46:16,302 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=10.0 socket_options=None
2026-05-03 06:46:16,644 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e26bfa0>
2026-05-03 06:46:16,644 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fe64e42dec0> server_hostname='client.doiteasy.net' timeout=10.0
2026-05-03 06:46:16,817 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e4d9480>
2026-05-03 06:46:16,818 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-05-03 06:46:16,818 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-05-03 06:46:16,818 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-05-03 06:46:16,819 - httpcore.http11 - DEBUG - send_request_body.complete
2026-05-03 06:46:16,819 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-05-03 06:46:17,113 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 403, b'Forbidden', [(b'Server', b'nginx'), (b'Date', b'Sun, 03 May 2026 13:46:17 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=212a4ba1d740d88d6b62b4fb91ce12de; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-05-03 06:46:17,114 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 403 Forbidden"
2026-05-03 06:46:17,115 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-05-03 06:46:17,116 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-05-03 06:46:17,116 - httpcore.http11 - DEBUG - response_closed.started
2026-05-03 06:46:17,116 - httpcore.http11 - DEBUG - response_closed.complete
2026-05-03 06:46:17,117 - httpcore.connection - DEBUG - close.started
2026-05-03 06:46:17,118 - httpcore.connection - DEBUG - close.complete
2026-05-03 06:46:17,118 - services.whmcs - ERROR - WHMCS API returned HTTP 403 for action GetTickets (cf-ray=None server=nginx): {"result":"error","message":"Invalid IP 165.154.218.121"}
2026-05-03 06:46:17,118 - services.whmcs - WARNING - call_whmcs_safe: swallowing WHMCS error for action GetTickets: Billing system rejected the request: Invalid IP 165.154.218.121. Please contact the administrator to whitelist the portal's outbound IP in the WHMCS API IP access list.
2026-05-03 06:46:17,144 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=10.0 socket_options=None
2026-05-03 06:46:17,321 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e2a81c0>
2026-05-03 06:46:17,321 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fe64e42c3c0> server_hostname='client.doiteasy.net' timeout=10.0
2026-05-03 06:46:17,501 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e26ac20>
2026-05-03 06:46:17,507 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-05-03 06:46:17,508 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-05-03 06:46:17,508 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-05-03 06:46:17,508 - httpcore.http11 - DEBUG - send_request_body.complete
2026-05-03 06:46:17,509 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-05-03 06:46:17,840 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 403, b'Forbidden', [(b'Server', b'nginx'), (b'Date', b'Sun, 03 May 2026 13:46:17 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=ba77fbab31969fb7ba4e8b85013004ca; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-05-03 06:46:17,841 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 403 Forbidden"
2026-05-03 06:46:17,841 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-05-03 06:46:17,842 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-05-03 06:46:17,842 - httpcore.http11 - DEBUG - response_closed.started
2026-05-03 06:46:17,843 - httpcore.http11 - DEBUG - response_closed.complete
2026-05-03 06:46:17,843 - httpcore.connection - DEBUG - close.started
2026-05-03 06:46:17,844 - httpcore.connection - DEBUG - close.complete
2026-05-03 06:46:17,844 - services.whmcs - ERROR - WHMCS API returned HTTP 403 for action GetInvoices (cf-ray=None server=nginx): {"result":"error","message":"Invalid IP 165.154.218.121"}
2026-05-03 06:46:17,845 - services.whmcs - WARNING - call_whmcs_safe: swallowing WHMCS error for action GetInvoices: Billing system rejected the request: Invalid IP 165.154.218.121. Please contact the administrator to whitelist the portal's outbound IP in the WHMCS API IP access list.
2026-05-03 06:46:17,872 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=10.0 socket_options=None
2026-05-03 06:46:18,051 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e2a9900>
2026-05-03 06:46:18,051 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fe64e42e240> server_hostname='client.doiteasy.net' timeout=10.0
2026-05-03 06:46:18,233 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e4db8e0>
2026-05-03 06:46:18,234 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-05-03 06:46:18,234 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-05-03 06:46:18,234 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-05-03 06:46:18,235 - httpcore.http11 - DEBUG - send_request_body.complete
2026-05-03 06:46:18,235 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-05-03 06:46:18,557 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 403, b'Forbidden', [(b'Server', b'nginx'), (b'Date', b'Sun, 03 May 2026 13:46:18 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=46890ec310e1b7193500f080e35a6ab8; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-05-03 06:46:18,558 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 403 Forbidden"
2026-05-03 06:46:18,559 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-05-03 06:46:18,559 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-05-03 06:46:18,559 - httpcore.http11 - DEBUG - response_closed.started
2026-05-03 06:46:18,559 - httpcore.http11 - DEBUG - response_closed.complete
2026-05-03 06:46:18,560 - httpcore.connection - DEBUG - close.started
2026-05-03 06:46:18,560 - httpcore.connection - DEBUG - close.complete
2026-05-03 06:46:18,560 - services.whmcs - ERROR - WHMCS API returned HTTP 403 for action GetProducts (cf-ray=None server=nginx): {"result":"error","message":"Invalid IP 165.154.218.121"}
2026-05-03 06:46:18,561 - services.whmcs - WARNING - call_whmcs_safe: swallowing WHMCS error for action GetProducts: Billing system rejected the request: Invalid IP 165.154.218.121. Please contact the administrator to whitelist the portal's outbound IP in the WHMCS API IP access list.
2026-05-03 06:46:18,561 - core.database - DEBUG - [DB_OP] Database session cleanup after 3.9580s
2026-05-03 06:46:21,002 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:21,003 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0006s
2026-05-03 06:46:21,003 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"general"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:46:21,388 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:46:21,389 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3867s
2026-05-03 06:46:24,408 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:46:24,409 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0006s
2026-05-03 06:46:24,409 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"security"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:46:24,789 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:46:24,790 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3821s
2026-05-03 06:47:06,087 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:47:06,088 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0008s
2026-05-03 06:47:06,420 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3330s
2026-05-03 06:47:30,409 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:47:30,410 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-05-03 06:47:30,410 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:47:30,418 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:47:30,418 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0004s
2026-05-03 06:47:30,798 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3797s
2026-05-03 06:47:31,244 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.8350s
2026-05-03 06:48:02,103 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:02,104 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0007s
2026-05-03 06:48:02,105 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:48:02,273 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:02,273 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-05-03 06:48:02,592 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3192s
2026-05-03 06:48:02,935 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.8320s
2026-05-03 06:48:06,096 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:06,096 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0004s
2026-05-03 06:48:06,412 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3160s
2026-05-03 06:48:20,262 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:20,262 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0005s
2026-05-03 06:48:20,331 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:20,332 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0006s
2026-05-03 06:48:20,334 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-05-03 06:48:20,345 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:20,345 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0006s
2026-05-03 06:48:20,346 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"branding"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:48:20,348 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:20,348 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0002s
2026-05-03 06:48:20,348 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"general"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:48:20,649 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3178s
2026-05-03 06:48:20,727 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:48:20,728 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3836s
2026-05-03 06:48:21,109 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:48:21,110 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.7622s
2026-05-03 06:48:21,224 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.9622s
2026-05-03 06:48:29,708 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:48:29,711 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:29,712 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0004s
2026-05-03 06:48:29,712 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:48:29,744 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:29,745 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0009s
2026-05-03 06:48:29,748 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:29,748 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0003s
2026-05-03 06:48:29,748 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"general"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:48:29,751 - core.database - DEBUG - [DB_OP] Starting get_db session creation
2026-05-03 06:48:29,751 - core.database - DEBUG - [DB_OP] Database session created successfully in 0.0003s
2026-05-03 06:48:29,752 - routers.site_settings - DEBUG - Querying site_settingss: query={"key":"branding"}, sort=None, skip=0, limit=1, fields=None
2026-05-03 06:48:29,977 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:48:30,060 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3154s
2026-05-03 06:48:30,128 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:48:30,129 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.3777s
2026-05-03 06:48:30,192 - routers.site_settings - DEBUG - Found 0 site_settingss
2026-05-03 06:48:30,192 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.4446s
2026-05-03 06:48:30,342 - core.database - DEBUG - [DB_OP] Database session cleanup after 0.6305s
2026-05-03 06:48:30,911 - core.auth - DEBUG - Authentication token validated for user hash: f8ef80bf
2026-05-03 06:48:30,911 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-05-03 06:48:30,911 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-05-03 06:48:30,937 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-05-03 06:48:30,944 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e2a9c30>
2026-05-03 06:48:30,944 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fe64e2ce440> server_hostname='atoms.dev' timeout=120.0
2026-05-03 06:48:30,951 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fe64e2abe50>
2026-05-03 06:48:30,952 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-05-03 06:48:30,953 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-05-03 06:48:30,953 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-05-03 06:48:30,953 - httpcore.http11 - DEBUG - send_request_body.complete
2026-05-03 06:48:30,954 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-05-03 06:48:31,097 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 03 May 2026 13:48:31 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'3619cce638023240bf7708e830c9c14f'), (b'X-Trace-Id', b'98c427e5e4264a23bbb78f09e2d2767f'), (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'9f5fb945795adec3-LAX')])
2026-05-03 06:48:31,098 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-05-03 06:48:31,098 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-05-03 06:48:31,099 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-05-03 06:48:31,099 - httpcore.http11 - DEBUG - response_closed.started
2026-05-03 06:48:31,099 - httpcore.http11 - DEBUG - response_closed.complete
2026-05-03 06:48:31,100 - httpcore.connection - DEBUG - close.started
2026-05-03 06:48:31,100 - httpcore.connection - DEBUG - close.complete
2026-05-03 06:48:44,995 - services.database - DEBUG - [DB_OP] Starting database close
2026-05-03 06:48:45,267 - core.database - INFO - Database connection closed and engine disposed
2026-05-03 06:48:45,267 - services.database - INFO - Database connections closed
2026-05-03 06:48:45,267 - services.database - DEBUG - [DB_OP] Database close completed in 0.2723s
