Commit graph

492 commits

Author SHA1 Message Date
LUIS NOVO
50157c3c79 fix: use standalone server for Next.js in Docker
Replace 'next start' with 'node server.js' to properly utilize
Next.js standalone output mode in Docker deployments.

Changes:
- Update supervisord.conf to run standalone server
- Update supervisord.single.conf to run standalone server
- Update package.json start script for consistency

This eliminates the startup warning and follows Next.js best
practices for optimized Docker deployments.
2026-01-14 22:03:15 -03:00
Luis Novo
f92c42a5a4
Merge pull request #423 from lfnovo/feature/nextjs-16-upgrade
feat: upgrade Next.js 15 → 16 to fix large file uploads
2026-01-14 13:08:51 -03:00
LUIS NOVO
e7c3ef0520 chore: bump to 1.4 2026-01-14 13:08:06 -03:00
LUIS NOVO
4fe36be43c docs: update CLAUDE.md files for Next.js 16 upgrade
- Update root CLAUDE.md: Next.js 15 → 16
- Update frontend/src/CLAUDE.md: middleware.ts → proxy.ts
2026-01-14 13:02:33 -03:00
LUIS NOVO
136698864e feat: upgrade Next.js 15 → 16 to fix large file uploads
- Upgrade Next.js from 15.4.10 to 16.1.1
- Upgrade React from 19.1.0 to 19.2.3
- Rename middleware.ts → proxy.ts (Next.js 16 requirement)
- Update function name: middleware → proxy
- Enable proxyClientMaxBodySize configuration (now supported in Next.js 16)
- Update documentation to reference Next.js 16 requirement
- Fix upload size limit issue for files >10MB

This upgrade fixes GitHub issue #361 where users cannot upload files
larger than 10MB. The proxyClientMaxBodySize configuration option was
introduced in Next.js 16.1+ and allows configuring the proxy body size
limit to 100MB.

Fixes #361
Related to PR #405
2026-01-14 10:33:19 -03:00
Luis Novo
e364b48134
Merge pull request #421 from lfnovo/fix/cleanup-files-on-source-delete
fix: delete uploaded files when sources are removed
2026-01-14 08:41:44 -03:00
LUIS NOVO
fad4446f36 fix: delete uploaded files when sources are removed
Previously, uploaded files remained on disk after source deletion,
causing disk space accumulation and potential privacy concerns.
The Source.delete() method now removes associated files before
database cleanup, with graceful error handling to prevent
database inconsistency if file deletion fails.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 08:11:17 -03:00
Luis Novo
cb66d6e2b3
Merge pull request #419 from lfnovo/fix/broken-docs-links
fix: update broken documentation links to ai-providers.md
2026-01-13 20:41:02 -03:00
LUIS NOVO
304cc30f1b chore: remove outdated setup_guide directory
The setup_guide directory contained only redirect files pointing to the
new docs location and outdated example files that are already available
in the root directory.

- Removed setup_guide/README.md (redirect only)
- Removed setup_guide/DOCKER_SETUP_ADVANCED.md (redirect only)
- Removed setup_guide/docker-compose.yml (outdated)
- Removed setup_guide/docker.env (outdated)
- Updated .gitignore to remove setup_guide reference
2026-01-13 20:37:55 -03:00
LUIS NOVO
7717e0f9f6 fix: update broken documentation links to ai-providers.md
Updated all references from non-existent docs/features/ai-models.md
to the correct path docs/5-CONFIGURATION/ai-providers.md

Fixes #412
2026-01-13 20:34:04 -03:00
Luis Novo
dd4e47a127
Merge pull request #418 from lfnovo/fix/remove-zip-support-indication
fix: remove zip support indication
2026-01-13 20:01:58 -03:00
LUIS NOVO
3d696b0ab0 fix: remove zip support indication fixes #415 2026-01-13 19:56:09 -03:00
Luis Novo
9ab8100b09
Merge pull request #408 from fauziralpiandi/feat/add-cta-button-to-empty-state-list
feat: add CTA button to empty state list
2026-01-13 19:49:00 -03:00
Luis Novo
aef8a0850e
Merge pull request #414 from Nayrode/main
feat: improve dockerfile to support offline deployments
2026-01-13 19:38:45 -03:00
Luis Novo
f47b139328
Merge pull request #417 from lfnovo/fix/claude-workflow-conditional-runs
fix: prevent duplicate Claude Code workflow runs
2026-01-13 19:38:29 -03:00
LUIS NOVO
03eb9b3555 fix: prevent duplicate workflow runs for PRs
Add conditional logic to ensure only one workflow runs per PR:
- pull_request_target: Only for fork PRs (external contributors)
- pull_request: Only for same-repo PRs (internal branches)

This prevents both triggers from firing simultaneously and causing
conflicts or duplicate reviews.
2026-01-13 19:05:16 -03:00
Luis Novo
dfc7235064
Merge pull request #416 from lfnovo/fix/claude-workflow-fork-prs
fix: allow claude code review workflow to run on PRs from forks
2026-01-13 18:48:56 -03:00
LUIS NOVO
21b6809277 security: add persist-credentials false to checkout step
Prevent GITHUB_TOKEN from being stored in .git/config when
checking out PR code in pull_request_target workflows. This
is a security best practice to prevent untrusted code from
potentially accessing stored credentials.

While the Claude Code action doesn't execute arbitrary PR code,
this follows defense-in-depth security principles to minimize
attack surface when handling untrusted code from forks.
2026-01-13 18:47:36 -03:00
LUIS NOVO
faa652dce7 fix: add pull_request trigger alongside pull_request_target
Add both pull_request and pull_request_target triggers to support:
- pull_request: Same-repo PRs (works immediately with changed workflow)
- pull_request_target: Fork PRs (provides OIDC tokens)

This resolves the chicken-and-egg problem where pull_request_target
uses the base branch's workflow file, preventing the workflow from
running when the workflow file itself is changed in the PR.
2026-01-13 18:44:23 -03:00
LUIS NOVO
9ce3cf55fc fix: allow claude code review workflow to run on PRs from forks
Switch from pull_request to pull_request_target event to enable
OIDC token access for external contributor PRs. This allows the
Claude Code action to authenticate properly when reviewing PRs
from forks.

Also added explicit PR head SHA ref to checkout to ensure we
review the correct code.

Fixes workflow failure: Unable to get ACTIONS_ID_TOKEN_REQUEST_URL
2026-01-13 18:40:18 -03:00
Dorian TETU
dcf7f4f2cf feat: improve dockerfile to support offline deployments 2026-01-13 08:55:01 +01:00
Fauzira Alpiandi
a1fb7a750f feat: add CTA button to empty state list 2026-01-10 04:08:42 +00:00
Luis Novo
959eef5e91
Merge pull request #407 from lfnovo/ci/remove-single-build-from-dev
ci: remove single-container build from dev workflow
2026-01-09 20:54:19 -03:00
LUIS NOVO
fc872ff6e3 ci: remove single-container build from dev workflow
Reduces CI time by only building the multi-container Dockerfile
during pull requests. The single-container build is still available
in the production build-and-release workflow.
2026-01-09 20:53:32 -03:00
Luis Novo
478ca299d1
Merge pull request #406 from lfnovo/fix/next-config-typescript-types
fix: add type assertion for experimental proxyClientMaxBodySize config
2026-01-09 20:50:56 -03:00
LUIS NOVO
cb525148e3 fix: add type assertion for experimental proxyClientMaxBodySize config
Next.js 15 accepts proxyClientMaxBodySize at runtime but TypeScript types
for ExperimentalConfig don't include it yet, causing build failures.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 20:44:43 -03:00
Luis Novo
8d6d615f2f
Merge pull request #405 from lfnovo/fix/nextjs-proxy-body-size-limit
fix: increase Next.js proxy body size limit for file uploads
2026-01-09 20:24:46 -03:00
LUIS NOVO
6593ab561a fix: increase Next.js proxy body size limit for file uploads
Increase the proxyClientMaxBodySize from 10MB (default) to 100MB to allow
larger files to be uploaded through the /api/* rewrite proxy to FastAPI.

Fixes #361
2026-01-09 20:18:06 -03:00
Luis Novo
24730cf757
Merge pull request #403 from lfnovo/add-claude-github-actions-1767999881072
Add Claude Code GitHub Workflow
2026-01-09 20:09:32 -03:00
Luis Novo
bdfdc9eecd
Merge pull request #404 from lfnovo/fix/cors-headers-on-error-responses
fix: add CORS headers to error responses and document file upload limits
2026-01-09 20:09:04 -03:00
LUIS NOVO
52177f7546 fix: add CORS headers to error responses and document file upload limits
- Added custom exception handler to ensure CORS headers are included in
  all HTTP error responses from the API
- Added documentation for 413 (Payload Too Large) errors when behind
  reverse proxies (nginx, traefik, kubernetes ingress)
- Added client_max_body_size to nginx configuration examples
- Documented how to configure CORS headers for proxy-level error responses

Fixes #401
2026-01-09 20:08:13 -03:00
Luis Novo
b045694992
Merge pull request #400 from lfnovo/fix/surrealdb-persistent-storage
fix: use persistent rocksdb storage instead of memory in docker-compose docs
2026-01-09 20:06:16 -03:00
Luis Novo
62730a9486
Merge pull request #402 from lfnovo/fix/model-duplicate-check-include-type
fix: include type in model duplicate check
2026-01-09 20:05:12 -03:00
Luis Novo
c22ef5a6e1 "Update Claude Code Review workflow" 2026-01-09 20:04:43 -03:00
Luis Novo
f8fcffa4b6 "Update Claude PR Assistant workflow" 2026-01-09 20:04:42 -03:00
LUIS NOVO
3c053c6eed fix: include type in model duplicate check
The model uniqueness constraint now considers (provider, name, type)
instead of just (provider, name). This allows users to add the same
model name for different purposes (e.g., language vs embedding).

Fixes #391
2026-01-09 20:00:20 -03:00
LUIS NOVO
fd03122aa3 fix: use persistent rocksdb storage instead of memory in docker-compose docs
Changed SurrealDB configuration from in-memory storage to RocksDB with
bind mounts for data persistence. Users' data will now survive container
restarts.

Fixes #398
2026-01-09 19:47:47 -03:00
Luis Novo
b8203db380
Merge pull request #396 from lfnovo/pr-346-mcp-integration
feat: add MCP integration documentation
2026-01-09 08:17:27 -03:00
Piotr Mrzygłowski
879e41a180 feat: add MCP integration documentation to README and create dedicated MCP integration guide 2026-01-09 08:14:39 -03:00
Luis Novo
76827af53f
Merge pull request #395 from lfnovo/docs/add-pull-policy-always
docs: add pull_policy always to docker-compose examples
2026-01-09 08:00:20 -03:00
LUIS NOVO
fb6dd01111 docs: add pull_policy always to docker-compose examples
Add pull_policy: always to all open_notebook service definitions
in docker-compose examples across documentation. This ensures
Docker always checks for and pulls newer images when running
docker compose up.

Closes #393
2026-01-09 07:57:25 -03:00
Luis Novo
2f98665676
Merge pull request #386 from jonigl/docs/fix-readme-assets
docs: fix removed assets in PR #379 affecting README.md
2026-01-09 07:54:34 -03:00
Luis Novo
6e5a856c99
Merge pull request #387 from M-Amrollahi/main
Update Doc for docker compose
2026-01-09 07:53:41 -03:00
Luis Novo
06b07df684
Merge pull request #394 from lfnovo/chore/remove-unused-addbutton
chore: remove unused AddButton component
2026-01-08 16:07:56 -03:00
LUIS NOVO
c15a563f26 chore: remove outdated new_docs folder
The new_docs folder contained stale documentation that was superseded
by the updated docs/ folder. The docs/ version has:
- LM Studio alternative instructions
- Updated architecture (single container, port 8502)
2026-01-08 16:02:52 -03:00
LUIS NOVO
a41703fbac chore: remove unused AddButton component
The AddButton component was never imported or used anywhere in the
application. Notebook creation is already implemented and working via:
- "New Notebook" button on the notebooks page
- "Create" button in the sidebar
- "Create Notebook" command in the command palette

Closes #390
2026-01-08 15:56:26 -03:00
Mahdi Amrollahi
31d4a0c84f
Merge pull request #1 from M-Amrollahi/M-Amrollahi-patch-1
Clarify Ollama API base URL in docker-compose.md
2026-01-06 20:48:43 -05:00
Mahdi Amrollahi
7a4ade612a
Clarify Ollama API base URL in docker-compose.md
Updated references to Ollama API base URL in documentation.
2026-01-06 17:21:40 -05:00
Jonathan Gastón Löwenstern
7252c05d33 docs: fix removed assets in https://github.com/lfnovo/open-notebook/pull/379 affecting README.md 2026-01-06 15:07:58 +01:00
Luis Novo
e69485bb72
Merge pull request #382 from thesohamdatta/fix/remove-debug-logging-prefixes
Remove debug prefixes from production error logging
2026-01-05 17:14:57 -03:00