Commit graph

3862 commits

Author SHA1 Message Date
CREDO23
5bf2734e8c add migration to clean up Electric SQL artifacts 2026-03-24 17:19:07 +02:00
CREDO23
65539b5381 revert changelog - keep historical ElectricSQL reference 2026-03-24 17:08:21 +02:00
CREDO23
0916c1addd remove stale ElectricSQL references from changelog and test fixtures 2026-03-24 17:07:11 +02:00
CREDO23
657f546908 fix: always render ZeroProvider, allow anon queries without 401 2026-03-24 16:59:42 +02:00
CREDO23
54ffdc5aad fix: always init Zero when user exists, pass auth as optional 2026-03-24 16:39:37 +02:00
CREDO23
5c98f1c717 add ZERO_MUTATE_URL and no-op mutate endpoint for zero-cache auth passthrough 2026-03-24 16:25:13 +02:00
CREDO23
0e49cc33f8 format: auto-fix via pnpm format:fix 2026-03-24 16:07:28 +02:00
CREDO23
a74aa4da4f add auth to Zero query endpoint and ZeroProvider 2026-03-24 16:06:20 +02:00
CREDO23
cab33d9f4c fix: make ZERO_QUERY_URL portable across all environments
- Default to Docker service networking (http://frontend:3000) in both
  compose files — works when all services run in Docker
- Add extra_hosts (host.docker.internal:host-gateway) for cross-platform
  host access when running frontend outside Docker
- Document override examples in .env.example for local dev and
  custom domain setups
2026-03-24 15:06:58 +02:00
CREDO23
8dd539c384 feat: add Zero query endpoint and configure ZERO_QUERY_URL
- Create app/api/zero/query/route.ts — resolves named queries to ZQL
  using handleQueryRequest and mustGetQuery from @rocicorp/zero
- Add ZERO_QUERY_URL to both docker-compose files:
  - dev: http://host.docker.internal:3000 (reaches local Next.js from Docker)
  - prod: http://frontend:3000 (Docker service networking)

Without this endpoint, zero-cache cannot resolve named queries and
no data syncs to the client.
2026-03-23 20:58:42 +02:00
CREDO23
4efb4fab4b fix: make migration 107 idempotent for video_presentations table
Check information_schema before creating table to avoid
DuplicateTableError when table already exists from model metadata.
Original op.create_table preserved exactly, only skipped if exists.
2026-03-23 20:27:09 +02:00
CREDO23
29b9cc814f fix: make migration 104 idempotent with if_not_exists on index creation
The notification composite indexes may already exist from the model's
__table_args__, causing DuplicateTableError on fresh migrations.
2026-03-23 20:22:48 +02:00
CREDO23
7d7d032e78 docs: add database permission requirements for Zero in managed environments
Document that the Postgres user needs REPLICATION and CREATE privileges
for zero-cache. Docker setup handles this automatically (superuser), but
managed databases (RDS, Supabase, etc.) may need explicit grants.
2026-03-23 20:01:06 +02:00
CREDO23
cf21eaacfc fix: critical timestamp parsing and audit fixes
- Fix timestamp conversion: String(epochMs) → new Date(epochMs).toISOString()
  in use-messages-sync, use-comments-sync, use-documents, use-inbox.
  Without this, date comparisons (isEdited, cutoff filters) would fail.
- Fix updated_at: undefined → null in use-inbox to match InboxItem type
- Fix ZeroProvider: skip Zero connection for unauthenticated users
- Clean 30+ stale "Electric SQL" comments in backend Python code
2026-03-23 19:49:28 +02:00
CREDO23
f04ab89418 refactor: rename Electric hooks and clean consumer components
Rename hooks to remove Electric branding:
- use-connectors-electric → use-connectors-sync (useConnectorsSync)
- use-messages-electric → use-messages-sync (useMessagesSync)
- use-comments-electric → use-comments-sync (useCommentsSync)

Clean all Electric/PGlite references in consumer components:
connector-popup.tsx, thread.tsx, page.tsx, use-indexing-connectors.ts,
use-connector-dialog.ts
2026-03-23 19:29:08 +02:00
CREDO23
a02bc54e40 feat: rewrite use-inbox and use-documents hooks from Electric to Zero
use-inbox: Keep all API calls (initial load, pagination, unread counts,
markAsRead/markAllAsRead optimistic updates). Replace Electric
sync+PGlite with Zero useQuery. Category filtering in JS. 458 → 273 lines.

use-documents: Keep all API calls (initial load, pagination, type counts,
user enrichment). Replace Electric sync+PGlite with Zero useQuery.
Remove baseline dedup. 511 → 361 lines.

All 7 Electric hooks are now rewritten to use Zero.
2026-03-23 19:21:20 +02:00
CREDO23
833fbb2a76 feat: rewrite use-documents hook from Electric to Zero
Keep all API calls (initial load, pagination, type counts, user
enrichment). Replace Electric sync+PGlite with Zero useQuery for
real-time deltas. Remove baseline dedup. 511 → 361 lines.
2026-03-23 19:16:38 +02:00
CREDO23
cd9d8ca991 feat: rewrite use-comments-electric hook from Electric to Zero
Replace PGlite sync+live query+stream subscriber with Zero useQuery.
All transformation logic preserved exactly: nested comments, mention
rendering, permissions, React Query cache writes. 414 → 207 lines.
2026-03-23 19:08:17 +02:00
CREDO23
5dd101b203 feat: rewrite use-documents-processing hook from Electric to Zero
Replace PGlite aggregate SQL (SUM/CASE) with Zero useQuery + client-side
status counting. State machine (idle/processing/success/error) preserved
exactly. 167 → 79 lines.
2026-03-23 19:06:32 +02:00
CREDO23
c60d2f071c feat: rewrite use-connectors-electric hook from Electric to Zero
Replace PGlite sync+live query with Zero useQuery. Maps camelCase
to snake_case for SearchSourceConnector type. 217 → 44 lines.
2026-03-23 19:04:51 +02:00
CREDO23
5ad25d10ea feat: rewrite use-messages-electric hook from Electric to Zero
Replace PGlite sync+live query with Zero useQuery. Maps camelCase
output to snake_case to preserve consumer contract. 162 → 38 lines.
2026-03-23 19:00:20 +02:00
CREDO23
b27061e44a feat: rewrite use-chat-session-state hook from Electric to Zero
Replace @electric-sql/react useShape with @rocicorp/zero/react useQuery.
Same Jotai atom update, same logic, same consumer contract.
2026-03-23 18:56:32 +02:00
CREDO23
6ad5ead320 docs: add Zero sync documentation and update existing docs
- Create how-to/zero-sync.mdx setup guide
- Update docker-compose.mdx with zero-cache service, env vars, troubleshooting
- Update dev-compose.mdx with Zero build arg
- Update install-script.mdx with zero-cache URL
- Update manual-installation.mdx with Zero frontend env var
- Add Zero sync page to how-to index, meta.json, and sitemap
2026-03-23 18:35:39 +02:00
CREDO23
f29a3edcab chore: update postgresql.conf and contracts comments for Zero
- Replace Electric SQL references in postgresql.conf with Zero-cache
- Clean Electric SQL comments in chat-comments.types.ts and chat-messages.types.ts
2026-03-23 18:30:49 +02:00
CREDO23
f9ba7e52d9 feat: add Zero infra — docker-compose, env vars, Dockerfile, CI workflows
- Add zero-cache service to docker-compose.yml and docker-compose.dev.yml
- Add ZERO_* env vars to docker/.env.example
- Add NEXT_PUBLIC_ZERO_CACHE_URL to surfsense_web/.env.example
- Add NEXT_PUBLIC_ZERO_CACHE_URL placeholder ARG/ENV to Dockerfile
- Add NEXT_PUBLIC_ZERO_CACHE_URL runtime substitution to docker-entrypoint.js
- Add NEXT_PUBLIC_ZERO_CACHE_URL build arg to docker-build.yml and desktop-release.yml
2026-03-23 18:27:18 +02:00
CREDO23
61610106f4 feat: add zero-cache service to production docker-compose
- Add rocicorp/zero:0.26.2 service with Postgres connection,
  SQLite replica volume, healthcheck, and admin password
- Add NEXT_PUBLIC_ZERO_CACHE_URL to frontend env vars
- Frontend now depends on zero-cache health
2026-03-23 18:19:37 +02:00
CREDO23
6143a91406 feat: add ZeroProvider and wire into app layout
- Create components/providers/ZeroProvider.tsx with schema, queries,
  userID, context, and cacheURL configuration
- Wire ZeroProvider into app/layout.tsx wrapping GlobalLoadingProvider
  inside ReactQueryClientProvider (same position ElectricProvider had)
2026-03-23 18:09:59 +02:00
CREDO23
da8f90bfe2 feat: add Zero queries for all 6 synced tables
Define named queries matching each Electric hook's data needs:
- notifications.byUser (use-inbox)
- documents.bySpace (use-documents, use-documents-processing)
- connectors.bySpace (use-connectors-electric)
- messages.byThread (use-messages-electric)
- comments.byThread (use-comments-electric)
- chatSession.byThread (use-chat-session-state)

Also moves schema files from zero/tables/ to zero/schema/ for
consistent modular folder structure.
2026-03-23 17:54:43 +02:00
CREDO23
af2bd744fb feat: add Zero schema with 6 table definitions and relationships
- Create zero/tables/inbox.ts (notifications)
- Create zero/tables/documents.ts (documents, search_source_connectors)
- Create zero/tables/chat.ts (new_chat_messages, chat_comments, chat_session_state)
- Create zero/schema.ts (combines tables, defines relationships, exports zql)
- Consolidate Zero type augmentations into types/zero.d.ts
2026-03-23 17:44:05 +02:00
CREDO23
8298aad2d7 feat: add @rocicorp/zero package and auth context type
- Install @rocicorp/zero@0.26.2 (replaces 4 @electric-sql/* packages)
- Add types/zero-auth.d.ts with Context type for Zero's permission system
2026-03-23 17:23:49 +02:00
CREDO23
2b7465cdaa chore: remove Electric SQL plumbing and infrastructure
Remove all Electric SQL client code, Docker service, env vars, CI build
args, install scripts, and documentation. Feature hooks that depend on
Electric are intentionally left in place to be rewritten with Rocicorp
Zero in subsequent commits.

Deleted:
- lib/electric/ (client.ts, context.ts, auth.ts, baseline.ts)
- ElectricProvider.tsx
- docker/scripts/init-electric-user.sh
- content/docs/how-to/electric-sql.mdx

Cleaned:
- package.json (4 @electric-sql/* deps)
- app/layout.tsx, UserDropdown.tsx, LayoutDataProvider.tsx
- docker-compose.yml, docker-compose.dev.yml
- Dockerfile, docker-entrypoint.js
- .env.example (frontend, docker, backend)
- CI workflows, install scripts, docs
2026-03-23 16:53:20 +02:00
Rohan Verma
af5215fa44
Update video link in README.md 2026-03-22 18:20:47 -07:00
Rohan Verma
06eaac7cad
Merge pull request #900 from MODSetter/dev
style: update GitHub stars badge appearance with improved spacing and…
2026-03-22 03:17:27 -07:00
DESKTOP-RTLN3BA\$punk
de17ef7f44 style: update GitHub stars badge appearance with improved spacing and color adjustments 2026-03-22 03:17:05 -07:00
Rohan Verma
e956de109a
Merge pull request #899 from MODSetter/dev
fixes for deployment
2026-03-22 01:57:18 -07:00
DESKTOP-RTLN3BA\$punk
9b8fc10211 Merge commit '1013586506' into dev 2026-03-22 01:56:33 -07:00
DESKTOP-RTLN3BA\$punk
43c9a09a6c chore: add daytona dependency to pyproject.toml and update uv.lock 2026-03-22 01:55:56 -07:00
DESKTOP-RTLN3BA\$punk
0cd596b91f refactor: update video presentation status enum creation to use SQL execution for better handling of duplicates 2026-03-22 01:41:15 -07:00
Rohan Verma
1013586506
Merge pull request #898 from MODSetter/dev
feat: SearXNG search, Electron desktop app, video agent & UI overhaul
2026-03-22 01:28:58 -07:00
Rohan Verma
23386b0a91
Merge pull request #895 from CREDO23/electon-desktop
[CI] Desktop release workflow & Auto updater
2026-03-22 01:26:01 -07:00
DESKTOP-RTLN3BA\$punk
08e68c16c7 Update README files to reflect changes in video and podcast agent examples, add video generation and presentation features, and update demo links and images across multiple languages. 2026-03-22 01:00:17 -07:00
Rohan Verma
2e1616ad91
Update README with demo and video agent sections 2026-03-22 00:38:44 -07:00
DESKTOP-RTLN3BA\$punk
cb6db30143 feat: add new carousel item for AI-generated video creation 2026-03-22 00:34:41 -07:00
Rohan Verma
fcb299eb70
Merge pull request #897 from MODSetter/feature/video_presentation_agent
feat: added initial video presentation agent
2026-03-21 23:41:08 -07:00
DESKTOP-RTLN3BA\$punk
eb8cfd296c feat: add public routes for video presentations and audio streaming 2026-03-21 23:29:23 -07:00
DESKTOP-RTLN3BA\$punk
d90b6d35ce feat: enhance video presentation agent with parallel theme assignment and watermarking 2026-03-21 23:02:09 -07:00
DESKTOP-RTLN3BA\$punk
0fe5e034fe feat: add video presentation tool to generate group 2026-03-21 22:17:08 -07:00
DESKTOP-RTLN3BA\$punk
b28f135a96 feat: init video presentation agent 2026-03-21 22:13:41 -07:00
DESKTOP-RTLN3BA\$punk
40d949b7d5 chore: correct .RemotionTets/ entry in .gitignore 2026-03-21 19:45:48 -07:00
DESKTOP-RTLN3BA\$punk
2a4a2f4435 chore: add .RemotionTets/ to .gitignore 2026-03-21 19:06:37 -07:00