Skip to content

feat(app): add the launcher-backed document library slice#35

Merged
kpeez merged 1 commit intomainfrom
p5
Mar 12, 2026
Merged

feat(app): add the launcher-backed document library slice#35
kpeez merged 1 commit intomainfrom
p5

Conversation

@kpeez
Copy link
Copy Markdown
Owner

@kpeez kpeez commented Mar 12, 2026

This pull request introduces several new features and improvements focused on enhancing local development experience, improving platform compatibility, and simplifying backend configuration. Notably, it adds a cross-platform native file picker for selecting PDF documents, streamlines the backend to use SQLite by default, and introduces a unified launcher workflow. There are also updates to documentation, CI workflows, and embedding service batching.

Major new features and improvements:

1. Cross-platform native file picker for PDFs

  • Added a new backend service (local_files.py) that provides an API endpoint (/api/local-files/pick-documents) for picking PDF files using native OS dialogs on macOS, Windows, and Linux, with appropriate error handling if unavailable. [1] [2] [3]
  • Introduced a response model for the file picker API.

2. Backend configuration and SQLite support

  • Refactored backend configuration to use SQLite as the default database, with environment variable overrides (PAPERCHAT_DATABASE_URL, PAPERCHAT_DB_PATH). The backend now ensures the SQLite parent directory exists before migrations. [1] [2] [3] [4] [5] [6] [7] [8]
  • Updated documentation to reflect the SQLite-based setup and removed references to Postgres.

3. Unified launcher and workflow improvements

  • Added a new paperchat launch command and a corresponding CI workflow for streamlined local development and testing, including linting and formatting checks for the launcher. [1] [2] [3]
  • Updated .pre-commit-config.yaml to include root-level Ruff checks and formatting for the launcher CLI and tests.

4. Embedding service batching and limits

  • Improved the embeddings service to batch requests (batch size 32) and truncate text to a maximum length (4000 chars) for efficiency and reliability. [1] [2] [3]

5. Backend API and error handling enhancements

  • Added a /api/runtime endpoint to provide runtime configuration details (version, paths, model info). [1] [2] [3] [4]
  • Improved error handling in document import API to return a 400 error if the file is not found.

CI and workflow simplifications:

  • Removed Postgres setup and teardown steps from CI, switching to SQLite for all backend jobs. [1] [2] [3]

These changes collectively make PaperChat easier to set up and use locally, improve platform compatibility, and streamline both development and CI workflows.

@kpeez kpeez merged commit e527417 into main Mar 12, 2026
@kpeez kpeez deleted the p5 branch March 12, 2026 23:27
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.

1 participant