3 Commits

Author SHA1 Message Date
c95b0d5650 feat: add Docker environment configuration for remote access
Fixes redirect issue where application redirects to localhost:3000
instead of server IP when accessed from remote browser.

Problem:
- Accessing http://192.168.1.190:3000 redirects to http://localhost:3000
- NEXTAUTH_URL was hardcoded to localhost in .env
- Remote users cannot access the application

Solution:
1. Create .env.docker with server-specific configuration
   - NEXTAUTH_URL="http://192.168.1.190:3000"
   - Ollama URL for container-to-container communication

2. Update docker-compose.yml:
   - Add env_file: .env.docker
   - Loads Docker-specific environment variables

3. Create .env.docker.example as template:
   - Document NEXTAUTH_URL configuration
   - Users can copy and customize for their server IP/domain

Files:
- .env.docker: Docker environment (gitignored)
- .env.docker.example: Template for users
- docker-compose.yml: Load .env.docker
- .env.example: Update NEXTAUTH_URL documentation

Usage:
On production server, edit .env.docker with your server IP:
NEXTAUTH_URL="http://YOUR_IP:3000"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 21:38:46 +01:00
ff110b735c fix: resolve Docker Compose build failure with Prisma Client generation
Fix critical issue where `docker compose build` was failing with:
"Module not found: Can't resolve '../prisma/client-generated'"

Root cause:
- Next.js build requires Prisma Client during webpack compilation
- Prisma Client was not being generated before the Next.js build step

Changes:
1. keep-notes/Dockerfile:
   - Add explicit `RUN npx prisma generate` in builder stage before `npm run build`
   - Ensures client-generated directory exists when Next.js compiles

2. keep-notes/package.json:
   - Update build script: "prisma generate && next build --webpack"
   - Double-protection: runs prisma generate both in Dockerfile and build script

3. docker-compose.yml:
   - Remove obsolete `version: '3.8'` attribute (deprecated in Docker Compose v2)

Result:
✓ Docker build now completes successfully
✓ Prisma Client generated at ./prisma/client-generated
✓ Next.js webpack compilation finds the client module

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 21:12:47 +01:00
640fcb26f7 fix: improve note interactions and markdown LaTeX support
## Bug Fixes

### Note Card Actions
- Fix broken size change functionality (missing state declaration)
- Implement React 19 useOptimistic for instant UI feedback
- Add startTransition for non-blocking updates
- Ensure smooth animations without page refresh
- All note actions now work: pin, archive, color, size, checklist

### Markdown LaTeX Rendering
- Add remark-math and rehype-katex plugins
- Support inline equations with dollar sign syntax
- Support block equations with double dollar sign syntax
- Import KaTeX CSS for proper styling
- Equations now render correctly instead of showing raw LaTeX

## Technical Details

- Replace undefined currentNote references with optimistic state
- Add optimistic updates before server actions for instant feedback
- Use router.refresh() in transitions for smart cache invalidation
- Install remark-math, rehype-katex, and katex packages

## Testing

- Build passes successfully with no TypeScript errors
- Dev server hot-reloads changes correctly
2026-01-09 22:13:49 +01:00