Project: Lenci V0.2.0 R1
Issue description In Apparel Studio (Fashion Photoshoot), the generated output does not consistently reflect the current session inputs. After selecting a specific model photo and apparel item, the “Generated Images” result can show an image that appears unrelated to the selected inputs (e.g., different person/outfit), which makes the generation flow feel non-deterministic and unreliable. Expected behavior Generated images should be strictly derived from the currently selected inputs in the same session: Selected Model (identity) Selected Apparel Item(s) (outfit) Any applied Art Director concept / settings The “Generated Images” panel should only show outputs that belong to the active studio + active generation session, with no leakage from other runs or previous sessions. Acceptance criteria When the user selects a model + apparel and clicks generate, every returned image: Matches the selected model identity (no different person). Matches the selected apparel item(s) (no unrelated outfit). The Generated Images grid is tied to the current generation request: No old images appear unless the user intentionally loads “My Generations” / history. The UI clearly associates outputs with inputs: Each generated image shows (at minimum) the model/apparel used (thumbnail or label) and a generation timestamp or request id. Switching language (Arabic/English) or navigating within the studio does not cause the next generated outputs to use stale/previous inputs.
api-DnxV09yk.js:1 [PerformanceService] Initialized
api-DnxV09yk.js:1 [PerformanceService] Auto-initialized, session: session_1772316684253_9pey1o393
creditHistoryService-Dglymeu_.js:1 🚀 [AuthContext] Initializing authentication...
creditHistoryService-Dglymeu_.js:1 ✅ [AuthContext] Session found for user: ash4-test-lenci@25hraf.com
creditHistoryService-Dglymeu_.js:1 🔍 [AuthContext] Fetching profile for user: ash4-test-lenci@25hraf.com 5bfe0858-56fe-4629-9b3c-d4995974d65d
main-CWxUIURF.js:9837 [AutoSave] Draft restored for apparel
creditHistoryService-Dglymeu_.js:1 ✅ [AuthContext] User profile loaded from API: {id: '5bfe0858-56fe-4629-9b3c-d4995974d65d', email: 'ash4-test-lenci@25hraf.com', email_verified: true, display_name: 'ash f', avatar_url: null, …}
creditHistoryService-Dglymeu_.js:1 📊 [AuthContext] Final user profile: {id: '5bfe0858-56fe-4629-9b3c-d4995974d65d', email: 'ash4-test-lenci@25hraf.com', plan: 'pro', generationsUsed: 0, creditsBalance: '108.38'}
creditHistoryService-Dglymeu_.js:1 ✅ [AuthContext] User profile set in state
creditHistoryService-Dglymeu_.js:1 [WS] Connected
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Starting generation...', generationType: 'apparel'}
main-CWxUIURF.js:9575 🎬 Starting Apparel Generation
main-CWxUIURF.js:9575 📊 Current Scene State: {lighting: 'Flat & Even', lightingId: 'l7', background: 'Modern Loft', backgroundId: 'b5', backgroundType: 'scene', …}
main-CWxUIURF.js:9575 📊 Current Apparel Controls: {shotType: 'Back View', shotTypeId: 'st2', expression: 'Neutral', expressionId: 'e1', cameraAngle: 'Eye-Level', …}
main-CWxUIURF.js:9575 🎨 AI Concept Applied: Yes (ID: p06)
main-CWxUIURF.js:9575 🎯🎯🎯 REGULAR GENERATION PATH - Full apparelControls State: {shotType: 'Back View', shotTypeId: 'st2', shotTypeDesc: 'in a full-body shot from the back to showcase the rear of the garment, shot at eye-level.', expression: 'Neutral', expressionId: 'e1', …}
main-CWxUIURF.js:9575 🎯🎯🎯 REGULAR GENERATION PATH - Passing to promptService: {shotType: 'Back View', shotTypeDesc: 'in a full-body shot from the back to showcase the rear of the garment, shot at eye-level.', expression: 'Neutral', expressionDesc: 'a neutral, high-fashion expression.', sceneBackground: 'Modern Loft', …}
main-CWxUIURF.js:9300 🎨 PromptService - Custom prompt exists: false
main-CWxUIURF.js:9470 🎯 APPAREL CONTROLS: {shotType: 'Back View', shotTypeDesc: 'in a full-body shot from the back to showcase the rear of the garment, shot at eye-level.', expression: 'Neutral', expressionDesc: 'a neutral, high-fashion expression.'}
main-CWxUIURF.js:9574 📤 FINAL PROMPT BEING SENT TO GEMINI (First 1000 chars): **Face & Body Preservation (CRITICAL):**
Maintain the model's exact facial features, skin tone, body proportions, and hair. No beautification, no aging, no smoothing, no feature changes. The person must be recognizably identical to the reference. For female models: preserve ALL natural details (skin texture, pores, wrinkles, freckles, moles) — zero beautification. Only clothing and pose should change.
**MASTER PHOTOSHOOT DIRECTIVE — NON-NEGOTIABLE RULES:**
1. **FACIAL IDENTITY IS SACRED:** The face from the reference is ABSOLUTE and UNTOUCHABLE. No exceptions — especially for female models.
2. **STRICT MODULARITY:** MODEL, APPAREL, POSE, and SCENE instructions are independent. Do not infer details from one to another.
3. **INPUTS ARE LAW:** Follow text descriptions and image assets as the definitive source of truth.
4. **APPAREL ACCURACY:** Apparel design, pattern, and color come *exclusively* from provided apparel images.
5. **PERSON IN APPAREL IMAGE ≠ MODEL:** Apparel images ma
main-CWxUIURF.js:9574 📤 Prompt includes background: false
main-CWxUIURF.js:9574 📤 Prompt includes lighting: false
main-CWxUIURF.js:9574 📤 Total prompt length: 8935 characters
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Starting generation...', generationType: 'apparel', estimatedTimeRemaining: 25}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 5, stage: 'Generating image 1 of 1...', generationType: 'apparel', estimatedTimeRemaining: 0.019}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 10, stage: 'Uploading images for image 1...', generationType: 'apparel', estimatedTimeRemaining: 0.108}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Starting generation...', generationType: 'apparel', estimatedTimeRemaining: 25}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 20, stage: 'Uploading images...', generationType: 'apparel', estimatedTimeRemaining: 0}
main-CWxUIURF.js:8330 📡 Calling server endpoint: /api/imaging/process (Gemini)
main-CWxUIURF.js:8330 ⚙️ Settings: {shotType: {…}, cameraAngle: {…}, focalLength: {…}, aperture: {…}, lighting: {…}, …}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 40, stage: 'Processing with AI...', generationType: 'apparel', estimatedTimeRemaining: 0}
main-CWxUIURF.js:8330 📦 Compressing images for upload...
main-CWxUIURF.js:8330 ✅ Images compressed successfully
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {stage: 'Credits reserved, generating image...', progress: 30, generationType: 'apparel', estimatedTimeRemaining: 0.487}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {stage: 'AI is generating your image...', progress: 60, generationType: 'apparel', estimatedTimeRemaining: 0.488}
main-CWxUIURF.js:8330 ✅ Server returned data via SSE (attempt 1/4)
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 70, stage: 'Rendering image...', generationType: 'apparel', estimatedTimeRemaining: 3.8905714285714286}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 90, stage: 'Finalizing...', generationType: 'apparel', estimatedTimeRemaining: 1.0086666666666666}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 95, stage: 'Image received, still processing...', generationType: 'apparel', estimatedTimeRemaining: 0.47778947368421143}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 75, stage: 'Image 1 generated', generationType: 'apparel', estimatedTimeRemaining: 3.030666666666667}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 90, stage: 'Image 1 complete', generationType: 'apparel', estimatedTimeRemaining: 1.0108888888888892}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 90, stage: 'Finalizing...', generationType: 'apparel', estimatedTimeRemaining: 1.0108888888888892}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 100, stage: 'Complete', generationType: 'apparel', estimatedTimeRemaining: 0}
main-CWxUIURF.js:8330 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
processImages @ main-CWxUIURF.js:8330
await in processImages
(anonymous) @ main-CWxUIURF.js:8769
generatePhotoshootImage @ main-CWxUIURF.js:8769
(anonymous) @ main-CWxUIURF.js:9575
generateAsset @ main-CWxUIURF.js:9575
await in generateAsset
onClick @ main-CWxUIURF.js:9777
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 [PerformanceService] Skipping sync of 17 metrics (Supabase migration - not persisted)
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 POST https://test-lenci.siyadatech.studio/api/generation-jobs/a44b3c2c-559d-4f8c-81ef-bc1a7aceb2f4/claim 404 (Not Found)
tt @ api-DnxV09yk.js:1
await in tt
rt @ api-DnxV09yk.js:1
(anonymous) @ main-CWxUIURF.js:9814
c @ main-CWxUIURF.js:9814
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
api-DnxV09yk.js:1 [PerformanceService] Skipping sync of 11 metrics (Supabase migration - not persisted)
apparel:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
[Violation] Forced reflow while executing JavaScript took 32ms
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Starting generation...', generationType: 'apparel'}
main-CWxUIURF.js:9575 🎬 Starting Apparel Generation
main-CWxUIURF.js:9575 📊 Current Scene State: {lighting: 'Studio Softbox', lightingId: 'l1', background: 'Studio White', backgroundId: 'b1', backgroundType: 'color', …}
main-CWxUIURF.js:9575 📊 Current Apparel Controls: {shotType: 'Back View', shotTypeId: 'st2', expression: 'Neutral', expressionId: 'e1', cameraAngle: 'Eye-Level', …}
main-CWxUIURF.js:9575 🎨 AI Concept Applied: No
main-CWxUIURF.js:9575 🎯🎯🎯 REGULAR GENERATION PATH - Full apparelControls State: {shotType: 'Back View', shotTypeId: 'st2', shotTypeDesc: 'in a full-body shot from the back to showcase the rear of the garment, shot at eye-level.', expression: 'Neutral', expressionId: 'e1', …}
main-CWxUIURF.js:9575 🎯🎯🎯 REGULAR GENERATION PATH - Passing to promptService: {shotType: 'Back View', shotTypeDesc: 'in a full-body shot from the back to showcase the rear of the garment, shot at eye-level.', expression: 'Neutral', expressionDesc: 'a neutral, high-fashion expression.', sceneBackground: 'Studio White', …}
main-CWxUIURF.js:9300 🎨 PromptService - Custom prompt exists: false
main-CWxUIURF.js:9470 🎯 APPAREL CONTROLS: {shotType: 'Back View', shotTypeDesc: 'in a full-body shot from the back to showcase the rear of the garment, shot at eye-level.', expression: 'Neutral', expressionDesc: 'a neutral, high-fashion expression.'}
main-CWxUIURF.js:9574 📤 FINAL PROMPT BEING SENT TO GEMINI (First 1000 chars): **Face & Body Preservation (CRITICAL):**
Maintain the model's exact facial features, skin tone, body proportions, and hair. No beautification, no aging, no smoothing, no feature changes. The person must be recognizably identical to the reference. For female models: preserve ALL natural details (skin texture, pores, wrinkles, freckles, moles) — zero beautification. Only clothing and pose should change.
**MASTER PHOTOSHOOT DIRECTIVE — NON-NEGOTIABLE RULES:**
1. **FACIAL IDENTITY IS SACRED:** The face from the reference is ABSOLUTE and UNTOUCHABLE. No exceptions — especially for female models.
2. **STRICT MODULARITY:** MODEL, APPAREL, POSE, and SCENE instructions are independent. Do not infer details from one to another.
3. **INPUTS ARE LAW:** Follow text descriptions and image assets as the definitive source of truth.
4. **APPAREL ACCURACY:** Apparel design, pattern, and color come *exclusively* from provided apparel images.
5. **PERSON IN APPAREL IMAGE ≠ MODEL:** Apparel images ma
main-CWxUIURF.js:9574 📤 Prompt includes background: false
main-CWxUIURF.js:9574 📤 Prompt includes lighting: false
main-CWxUIURF.js:9574 📤 Total prompt length: 8849 characters
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Starting generation...', generationType: 'apparel', estimatedTimeRemaining: 25}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 5, stage: 'Generating image 1 of 1...', generationType: 'apparel', estimatedTimeRemaining: 0}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 10, stage: 'Uploading images for image 1...', generationType: 'apparel', estimatedTimeRemaining: 0.18}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Starting generation...', generationType: 'apparel', estimatedTimeRemaining: 25}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 20, stage: 'Uploading images...', generationType: 'apparel', estimatedTimeRemaining: 0}
main-CWxUIURF.js:8330 📡 Calling server endpoint: /api/imaging/process (Gemini)
main-CWxUIURF.js:8330 ⚙️ Settings: {shotType: {…}, cameraAngle: {…}, focalLength: {…}, aperture: {…}, lighting: {…}, …}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 40, stage: 'Processing with AI...', generationType: 'apparel', estimatedTimeRemaining: 0}
main-CWxUIURF.js:8330 📦 Compressing images for upload...
main-CWxUIURF.js:8330 ✅ Images compressed successfully
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {stage: 'Credits reserved, generating image...', progress: 30, generationType: 'apparel', estimatedTimeRemaining: 1.078}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {stage: 'AI is generating your image...', progress: 60, generationType: 'apparel', estimatedTimeRemaining: 1.078}
apparel:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
api-DnxV09yk.js:1 [PerformanceService] Skipping sync of 2 metrics (Supabase migration - not persisted)
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {stage: 'Retrying image generation (attempt 2/3)...', progress: 30, generationType: 'apparel', estimatedTimeRemaining: 9.082}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {stage: 'Retrying image generation (attempt 3/3)...', progress: 30, generationType: 'apparel', estimatedTimeRemaining: 17.858}
main-CWxUIURF.js:9878 ❌ Professional imaging error: Error: The AI could not generate an image for this request. Please try a different image or settings.
at Object.onEvent (main-CWxUIURF.js:8330:5121)
at mE (main-CWxUIURF.js:8330:150)
at async gE (main-CWxUIURF.js:8330:594)
DIe.console.error @ main-CWxUIURF.js:9878
processImages @ main-CWxUIURF.js:8330
await in processImages
(anonymous) @ main-CWxUIURF.js:8769
generatePhotoshootImage @ main-CWxUIURF.js:8769
(anonymous) @ main-CWxUIURF.js:9575
generateAsset @ main-CWxUIURF.js:9575
await in generateAsset
onClick @ main-CWxUIURF.js:9777
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Generation failed', generationType: 'apparel'}
main-CWxUIURF.js:9878 Professional imaging failed, falling back to original method: Error: The AI could not generate an image for this request. Please try a different image or settings.
at Object.onEvent (main-CWxUIURF.js:8330:5121)
at mE (main-CWxUIURF.js:8330:150)
at async gE (main-CWxUIURF.js:8330:594)
DIe.console.error @ main-CWxUIURF.js:9878
(anonymous) @ main-CWxUIURF.js:8769
await in (anonymous)
generatePhotoshootImage @ main-CWxUIURF.js:8769
(anonymous) @ main-CWxUIURF.js:9575
generateAsset @ main-CWxUIURF.js:9575
await in generateAsset
onClick @ main-CWxUIURF.js:9777
Mf @ LanguageContext-D5j2HYtZ.js:48
(anonymous) @ LanguageContext-D5j2HYtZ.js:48
Iu @ LanguageContext-D5j2HYtZ.js:48
gc @ LanguageContext-D5j2HYtZ.js:48
Dc @ LanguageContext-D5j2HYtZ.js:49
dv @ LanguageContext-D5j2HYtZ.js:49
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 0, stage: 'Error generating image 1, retrying...', generationType: 'apparel'}
api-DnxV09yk.js:1 [PerformanceService] Skipping sync of 1 metrics (Supabase migration - not persisted)
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 90, stage: 'Finalizing...', generationType: 'apparel', estimatedTimeRemaining: 4.618444444444442}
main-CWxUIURF.js:8324 [ProgressTracking] Emitting progress: {progress: 100, stage: 'Complete', generationType: 'apparel', estimatedTimeRemaining: 0}
api-DnxV09yk.js:1 [PerformanceService] Skipping sync of 4 metrics (Supabase migration - not persisted)
apparel:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
user: ash4-test-lenci@25hraf.com Issue Description On the Login page, submitting credentials triggers an authentication error that appears to originate from Supabase auth/session handling, even though Supabase is no longer used by the system. This indicates legacy Supabase client code (e.g., AuthContext, session restore, token refresh, or auth error mapping) is still being initialized and/or intercepting the login flow, resulting in misleading errors and potentially blocking the correct auth provider’s behavior. Expected Behavior Login should use only the current authentication provider. No Supabase client/session logic should initialize, attempt to restore a session, refresh tokens, or influence error messages. If credentials are invalid, the UI should show an error sourced from the active auth backend (with a consistent message and status), without any Supabase-related logs or errors. Acceptance Criteria No Supabase-related console logs/errors during Login page load or login submission (e.g., no AuthContext “No active session found”, no Supabase session/token attempts). Invalid credentials show an error message produced by the current auth backend (correct copy + correct error code mapping). Valid credentials authenticate successfully without any Supabase calls. Network tab shows zero requests to Supabase endpoints (e.g., /auth/v1/*, rest/v1/*, realtime/*) during login and session initialization. Removing/disable Supabase does not break routing, landing assets, or session persistence for the current auth system.
LanguageContext-D5j2HYtZ.js:75 POST https://test-lenci.siyadatech.studio/auth/v1/token?grant_type=password 400 (Bad Request) (anonymous) @ LanguageContext-D5j2HYtZ.js:75 hS @ LanguageContext-D5j2HYtZ.js:75 Z @ LanguageContext-D5j2HYtZ.js:75 signInWithPassword @ LanguageContext-D5j2HYtZ.js:90 signInWithEmail @ sanitization-Cr6tJjLl.js:1 te @ login-BqwQRO3r.js:1 Mf @ LanguageContext-D5j2HYtZ.js:48 (anonymous) @ LanguageContext-D5j2HYtZ.js:48 Iu @ LanguageContext-D5j2HYtZ.js:48 gc @ LanguageContext-D5j2HYtZ.js:48 Dc @ LanguageContext-D5j2HYtZ.js:49 dv @ LanguageContext-D5j2HYtZ.js:49 login.html:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received