Skip to content

v0.2: Admin Dashboard, Signed URL PDF Delivery & Cloud Run Optimization

Choose a tag to compare

@ZeyuChen ZeyuChen released this 23 Feb 14:16
· 3 commits to main since this release

🎉 ReadPaper v0.2

✨ New Features

  • Admin Dashboard — Full admin panel at /admin with:

    • System overview (total users, papers, translations)
    • User management with paper/data deletion
    • Paper management with re-compilation support
  • GCS Signed URL PDF Delivery — PDFs are now served via time-limited signed URLs directly from Google Cloud Storage, eliminating the backend proxy bottleneck that caused 5+ minute load times for 6MB PDFs.

  • Translation Cache — GCS-backed cache with integrity validation. Previously translated papers are served instantly without re-using Gemini API credits.

🚀 Performance Improvements

  • Cloud Run Optimization:

    • --cpu=2 for faster LaTeX compilation
    • --timeout=900 (15 min) for long papers
    • --no-cpu-throttling — background PDF compilation gets full CPU even after the HTTP request returns (fixes the root cause of compilation timeouts)
  • Eliminated list_files() overhead — Backend now checks known PDF paths directly in GCS instead of listing all blobs under the prefix.

  • Frontend proxy streaming — Binary responses (PDFs) are streamed through the Next.js proxy instead of buffered, preventing serverless function timeouts.

🔧 Bug Fixes

  • Fixed cloudbuild-hotfix.yaml missing GOOGLE_CLIENT_ID and DISABLE_AUTH env vars
  • Fixed _TaskStatusProxy.pop() missing method
  • Fixed frontend PDF viewer cross-origin redirect failure with signed URLs

📚 Documentation

  • Updated README.md with v0.2 features and Cloud Run configuration
  • Updated ARCHITECTURE.md with PDF delivery flow, cache system, admin dashboard, and Cloud Run settings

Files Changed

10 files changed, 1229 insertions(+), 299 deletions(-)