## What was done: ✅ Fixed Firebase Admin initialization to use default credentials for Firebase Functions ✅ Updated frontend to use correct Firebase Functions URL (was using Cloud Run URL) ✅ Added comprehensive debugging to authentication middleware ✅ Added debugging to file upload middleware and CORS handling ✅ Added debug buttons to frontend for troubleshooting authentication ✅ Enhanced error handling and logging throughout the stack ## Current issues: ❌ Document upload still returns 400 Bad Request despite authentication working ❌ GET requests work fine (200 OK) but POST upload requests fail ❌ Frontend authentication is working correctly (valid JWT tokens) ❌ Backend authentication middleware is working (rejects invalid tokens) ❌ CORS is configured correctly and allowing requests ## Root cause analysis: - Authentication is NOT the issue (tokens are valid, GET requests work) - The problem appears to be in the file upload handling or multer configuration - Request reaches the server but fails during upload processing - Need to identify exactly where in the upload pipeline the failure occurs ## TODO next steps: 1. 🔍 Check Firebase Functions logs after next upload attempt to see debugging output 2. 🔍 Verify if request reaches upload middleware (look for '�� Upload middleware called' logs) 3. 🔍 Check if file validation is triggered (look for '🔍 File filter called' logs) 4. 🔍 Identify specific error in upload pipeline (multer, file processing, etc.) 5. 🔍 Test with smaller file or different file type to isolate issue 6. 🔍 Check if issue is with Firebase Functions file size limits or timeout 7. 🔍 Verify multer configuration and file handling in Firebase Functions environment ## Technical details: - Frontend: https://cim-summarizer.web.app - Backend: https://us-central1-cim-summarizer.cloudfunctions.net/api - Authentication: Firebase Auth with JWT tokens (working correctly) - File upload: Multer with memory storage for immediate GCS upload - Debug buttons available in production frontend for troubleshooting
78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
apiVersion: serving.knative.dev/v1
|
|
kind: Service
|
|
metadata:
|
|
name: cim-processor-backend
|
|
annotations:
|
|
run.googleapis.com/ingress: all
|
|
run.googleapis.com/execution-environment: gen2
|
|
spec:
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
run.googleapis.com/execution-environment: gen2
|
|
run.googleapis.com/cpu-throttling: "false"
|
|
run.googleapis.com/startup-cpu-boost: "true"
|
|
autoscaling.knative.dev/minScale: "0"
|
|
autoscaling.knative.dev/maxScale: "100"
|
|
autoscaling.knative.dev/targetCPUUtilization: "60"
|
|
spec:
|
|
containerConcurrency: 80
|
|
timeoutSeconds: 300
|
|
containers:
|
|
- image: gcr.io/cim-summarizer/cim-processor-backend:latest
|
|
ports:
|
|
- containerPort: 8080
|
|
env:
|
|
- name: NODE_ENV
|
|
value: "production"
|
|
- name: PORT
|
|
value: "8080"
|
|
- name: PROCESSING_STRATEGY
|
|
value: "agentic_rag"
|
|
- name: GCLOUD_PROJECT_ID
|
|
value: "cim-summarizer"
|
|
- name: DOCUMENT_AI_LOCATION
|
|
value: "us"
|
|
- name: DOCUMENT_AI_PROCESSOR_ID
|
|
value: "add30c555ea0ff89"
|
|
- name: GCS_BUCKET_NAME
|
|
value: "cim-summarizer-uploads"
|
|
- name: DOCUMENT_AI_OUTPUT_BUCKET_NAME
|
|
value: "cim-summarizer-document-ai-output"
|
|
- name: LLM_PROVIDER
|
|
value: "anthropic"
|
|
- name: VECTOR_PROVIDER
|
|
value: "supabase"
|
|
- name: AGENTIC_RAG_ENABLED
|
|
value: "true"
|
|
- name: ENABLE_RAG_PROCESSING
|
|
value: "true"
|
|
resources:
|
|
limits:
|
|
cpu: "2"
|
|
memory: "4Gi"
|
|
requests:
|
|
cpu: "1"
|
|
memory: "2Gi"
|
|
startupProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 5
|
|
timeoutSeconds: 3
|
|
failureThreshold: 3
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
periodSeconds: 30
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3 |