Skip to content

fix: resolve security vulnerabilities, file downloads, Docker build, and Windows script compatibility - #124

Open
AnandkumarMall wants to merge 1 commit into
jihe520:mainfrom
AnandkumarMall:fix/resolve-reported-issues
Open

fix: resolve security vulnerabilities, file downloads, Docker build, and Windows script compatibility#124
AnandkumarMall wants to merge 1 commit into
jihe520:mainfrom
AnandkumarMall:fix/resolve-reported-issues

Conversation

@AnandkumarMall

@AnandkumarMall AnandkumarMall commented Sep 12, 2026

Copy link
Copy Markdown

Summary / 概述

This PR comprehensively resolves multiple reported community issues and security vulnerabilities across backend APIs, file downloads, Docker builds, Windows scripts, and citation parsing.

本 PR 全面修复了社区反馈的安全漏洞、文件下载缺失、Docker 镜像构建中断、Windows 脚本兼容性及参考文献解析问题。

Fixes #60, fixes #61, fixes #62, fixes #64, fixes #65, fixes #73, fixes #83, fixes #86, fixes #87, fixes #88, fixes #89, fixes #90, fixes #95, fixes #100, fixes #110, fixes #114, fixes #118, fixes #120.


1. Security & Path Traversal / 安全与防路径遍历

2. File Operations & Broken Downloads / 文件管理与下载修复

  • Zip Download 404 Fix: /download_all_url previously pointed to /static/{task_id}/all.zip which was never created. Added dynamic on-demand zip archiving of the task workspace (文件方面的操作均无法实现。只能手动复制路径去文件资源管理器里看 #110).
  • Dynamic Host: Changed /download_url from hardcoded localhost:8000 to settings.SERVER_HOST.
  • Folder Explorer Fix: Converted relative path to absolute path (os.path.abspath) for Windows explorer, and added cross-platform fallbacks for Linux (xdg-open) and macOS (open).

3. Docker & Deployment / 容器构建与历史记录

4. Windows Scripts & Quality Gates / Windows 脚本与环境兼容

5. Citations & Typst Math / 参考文献与 Typst 语法

6. Observability & Usability / 交互与可观测性


Verification / 验证

  • Unit Tests: Added backend/app/tests/test_user_output.py covering citation collection, reference numbering, path safety, and URL normalization. All 7 tests pass (Ran 7 tests in 0.004s - OK).
  • Code Style: ruff check app/ passed with 0 errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment