Skip to content

feat: User Job History & Cloud Run Worker Stability - #46

Merged
halcyon-past merged 10 commits into
devfrom
feature/dev/user-job-history
Aug 15, 2026
Merged

halcyon-past merged 10 commits into
devfrom
feature/dev/user-job-history

Conversation

@halcyon-past

Copy link
Copy Markdown
Owner

Description

This PR introduces the Extraction History Dashboard and resolves multiple critical performance and stability issues within the Cloud Run worker pipeline.

New Features

  • History Dashboard: Created page for users to view and download past jobs.
  • Column Metadata Enrichment: Jobs now extract descriptions, null counts, distinct counts, and global summaries which are elegantly displayed on the history cards.
  • Google OAuth 2: Added Google Sign-in support via Firebase Auth.
  • User Profiles: Auto-generates user records in Firestore with default roles/plans on first login.
  • Glassmorphic UI Improvements: Updated global headers, cancellation timeline components, and email notifications to match the premium dark theme aesthetic.

Critical Fixes & Worker Optimizations

  • Asyncio Deadlock: Refactored FastAPI worker endpoints from async def to synchronous def to prevent event loop deadlocks caused by blocking gRPC calls to Firestore and Cloud Storage.
  • LLM Fail-Fast on Fatal Errors: Upgraded llm_engine.py retry logic to instantly abort (fail-fast) on 429 Daily Quota limits and 404 API errors, preventing chunks from spinning redundantly for 13+ minutes.
  • Model Rollback: Reverted the LLM API to gemini-2.5-flash to escape restrictive 20 Requests-Per-Day experimental quota caps and utilize the 1,500 daily requests free tier.
  • Docker PyCache Contamination: Fixed .dockerignore to successfully omit nested __pycache__ & .pyc bytecode files, eliminating ghost code execution in Cloud Run.
  • Ghost Worker Prevention: Optimized job cancellation checks to run immediately upon receiving the initial file upload, successfully aborting jobs before they fan-out and flood the Pub/Sub queue.
  • Job Execution Duration: Calculating accurate execution time using created_at and completed_at timestamps to fix UI showing 0s.

Changelog Updated

  • Yes

Copilot AI lite review requested due to automatic review settings August 15, 2026 14:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@halcyon-past
halcyon-past merged commit 1d3b3a5 into dev Aug 15, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants