Some identity providers might change the case, but in our
products we don't consider case variation to be consider as
different email addresses.
Next step would be to normalize the DB value of email to
be lower-case.
Extract large _run_agent method into smaller focused methods
Add comprehensive module and method documentation
Minor fixes
Signed-off-by: Laurent Paoletti <lp@providenz.fr>
The liveness and readiness are reversed. The liveness was using the
heartbeat process that is cheking all django checks and the database
connection.
Signed-off-by: Laurent Paoletti <lp@providenz.fr>
Split streaming content into independent memoized blocks to avoid
re-rendering all markdown/katex/syntax-highlighting on each update.
Add some tests for split functions and components.
Signed-off-by: Laurent Paoletti <lp@providenz.fr>
Replace rehype-pretty-code with direct Shiki integration
Migrate syntax highlighting from rehype-pretty-code to @shikijs/rehype for
better bundle optimization. Create a centralized Shiki highlighter that
pre-loads only required languages.
Also remove unused dependencies: @ag-media/react-pdf-table,
@react-pdf/renderer, react-select.
Signed-off-by: Laurent Paoletti <lp@providenz.fr>
Find requires access and refresh tokens, but the current
beahavior using Albert API does not. We need to be able to
still use the completion endpoint without any stored
token.
Some architectures do not expose their S3, in such cases
it is only available through the backend.
This commit proposes two implementations to manage this:
- frontend can now upload files to the backend (no direct access
to S3)
- two new modes to send file to the LLM: a temporary URL on the
backend, or directly the file in b64.
Fixed
- ⚡️(front) performance improvements on chat input
- 💄(front) i18n and standardize pdf parsing display
Removed
- 🔥(chat) consider PDF documents as other kind of documents #234
Wrap document_store.parse_and_store_document() calls with
asyncio.to_thread() to prevent blocking the event loop.
Previously, synchronous document parsing (e.g., PDF) blocked the
event loop, preventing keepalive messages from being sent and
causing nginx timeouts in production
Signed-off-by: Laurent Paoletti <lp@providenz.fr>
Vulnerability in jaraco.context caused security issue
in setuptools and python3. change python version to fix
see GHSA-58pv-8j8x-9vj2
The CVE is not actionable, anyway, we want to please
trivy.
We remove the specific management for PDF because it introduces:
- limitation regarding the LLM we can use
- bad behavior when uploading huge PDFs
- more code complexity
while not providing really actionnable improvements.
This commit removes this, to keep a better control over this.
- Auto-generate title via LLM after reaching user message threshold
- Add title_set_by_user_at field to track user-customized titles
- Skip auto-generation when user has set a custom title
- Stream conversation_metadata event to frontend on title update
- Invalidate React Query cache to refresh conversation list
Signed-off-by: Laurent Paoletti <lp@providenz.fr>