Commit Graph

51 Commits

Author SHA1 Message Date
85e6304bae fix: Use absolute path for DATABASE_URL to avoid working directory issues 2026-03-24 14:46:15 -03:00
cf6b5785d7 fix: Change to /app directory before running prisma and node 2026-03-24 13:13:09 -03:00
66db3de33d fix: Run container as root to avoid volume permission issues 2026-03-24 12:59:09 -03:00
a0451a2084 fix: Add --skip-generate to avoid memory issues in Prisma 5 2026-03-24 12:39:20 -03:00
d91ff3f07c fix: Run prisma db push as root, then switch to nextjs user for app 2026-03-24 12:06:58 -03:00
d5a6d0bfd7 fix: Ensure data directory exists and has proper permissions before prisma db push 2026-03-24 11:44:39 -03:00
97082b0233 fix: Copy @prisma modules needed for prisma CLI 2026-03-24 10:21:05 -03:00
93b6c0b17d fix: Simplify entrypoint - remove npm cache directories 2026-03-24 10:03:51 -03:00
f038f37001 fix: Use local Prisma 5 from node_modules instead of downloading Prisma 7 2026-03-24 09:33:31 -03:00
e5e976caff fix: Remove --skip-generate flag not supported in Prisma 7 2026-03-24 09:14:59 -03:00
e5b6ce3bdc fix: Use npx with proper HOME and cache directories for prisma 2026-03-24 09:08:24 -03:00
5fb1c5d0b0 fix: Copy .bin folder and use local prisma in entrypoint 2026-03-24 09:04:26 -03:00
f6218283f1 fix: Create home directory for nextjs user to fix npm permissions 2026-03-24 09:02:54 -03:00
3ff5e6b031 fix: Improve entrypoint script with better database initialization 2026-03-23 23:54:32 -03:00
1916bc33e4 fix: Add entrypoint script to initialize database on container start 2026-03-23 23:53:18 -03:00
9847b4c5cc fix: Force dynamic rendering on home page to avoid Prisma build error 2026-03-23 23:47:28 -03:00
fc53062eb1 fix: Add DATABASE_URL env var in builder stage for Prisma 2026-03-23 23:32:19 -03:00
28366151cf fix: Remove libc6-compat (Alpine package) from Debian-based Dockerfile 2026-03-23 23:17:27 -03:00
c8674dd56f fix: Change Alpine to Debian-based image for Prisma compatibility
Alpine Linux doesn't have libssl1.1 which Prisma needs.
Using node:20-slim instead with proper OpenSSL libraries.
2026-03-23 23:13:45 -03:00
3a523aafde fix: Exclude id field from noteData in update route 2026-03-23 23:08:17 -03:00
9ca98d96db fix: TypeScript error in import route - cast item to access id 2026-03-23 23:05:03 -03:00
bd1a5bc21c j 2026-03-23 22:49:06 -03:00
2f9233ad41 a 2026-03-23 22:43:43 -03:00
76c98ecdbe a 2026-03-23 22:41:13 -03:00
b4a5abb699 cambio jenkins 2026-03-23 22:38:46 -03:00
ece8163d15 chore: Various improvements and CI setup
- Add Jenkinsfile for CI/CD pipeline
- Fix keyboard shortcut '?' handling for help dialog
- Update note form and connections components
- Add work mode toggle improvements
- Update navigation history and usage tracking
- Improve validators
- Add session summaries
2026-03-23 22:25:36 -03:00
e0433f8e57 docs: Add Docker deployment documentation with data folder
- Update docker-compose to use ./data folder for SQLite database
- Add Docker section to README with setup instructions
2026-03-23 22:13:48 -03:00
13ee0f9922 feat: Add Dockerfile and docker-compose for deployment
- Multi-stage Dockerfile for optimized image size
- docker-compose.yml for easy local deployment
- Enable standalone output mode for Docker support
2026-03-23 22:04:26 -03:00
0a96638681 fix: Bookmarklet improvements and header layout fixes
- Fix bookmarklet URL to use absolute path with window.location.origin
- Change capture prefix from 'rec:' to 'web:' for web captures
- Add BookmarkletInstructions to header and preferences panel
- Redesign QuickAdd as dropdown popup (no header overflow)
- Move capture button and work mode to mobile menu
- Fix isOpen bug in BookmarkletInstructions dialog
2026-03-23 00:03:45 -03:00
33a4705f95 feat: MVP-4 P2 - Preload notes on hover
- Add prefetchNote function in useNoteListKeyboard hook
- Prefetch note pages when navigating with arrow keys
- Add hover prefetch in NoteCard using router.prefetch
- Update KeyboardNavigableNoteList to use prefetchNote
2026-03-22 20:22:57 -03:00
e66a678160 feat: MVP-5 P2 - Export/Import, Settings, Tests y Validaciones
- Ticket 10: Navegación completa de listas por teclado (↑↓ Enter E F P)
- Ticket 13: Historial de navegación contextual con recent-context-list
- Ticket 17: Exportación mejorada a Markdown con frontmatter
- Ticket 18: Exportación HTML simple y legible
- Ticket 19: Importador Markdown mejorado con frontmatter, tags, wiki links
- Ticket 20: Importador Obsidian-compatible (wiki links, #tags inline)
- Ticket 21: Centro de respaldo y portabilidad en Settings
- Ticket 22: Configuración visible de feature flags
- Ticket 24: Tests de command palette y captura externa
- Ticket 25: Harden de validaciones y límites (50MB backup, 10K notas, etc)
2026-03-22 19:39:55 -03:00
8d56f34d68 feat: MVP-5 Sprint 4 - External Capture via Bookmarklet
- Add bookmarklet for capturing web content from any page
- Add capture confirmation page with edit before save
- Add secure /api/capture endpoint with rate limiting
- Add bookmarklet instructions component with drag-and-drop
2026-03-22 18:35:53 -03:00
a40ab18b1b feat: MVP-5 Sprint 3 - Sidebar, Work Mode, and Drafts
- Enhance note-connections with collapsible sections and recent versions
- Add work mode toggle in header for focused work
- Add draft autosave with 7-day TTL and recovery banner
- Save drafts on changes for new notes
2026-03-22 18:28:14 -03:00
cde0a143a5 feat: MVP-5 Sprint 2 - Command Palette and Global Shortcuts
- Add Command Palette (Ctrl+K / Cmd+K) with search and navigation
- Add global keyboard shortcuts: g h (dashboard), g n (notes), n (new note)
- Add keyboard shortcuts help dialog (?)
- Add shortcuts provider component
- Shortcuts ignore inputs/textareas for proper UX
2026-03-22 18:22:28 -03:00
8c80a12b81 feat: MVP-5 Sprint 1 - Backup/Restore system
- Add backup types and RecallBackup format
- Create backup snapshot engine (createBackupSnapshot)
- Add IndexedDB storage for local backups
- Implement retention policy (max 10, 30-day cleanup)
- Add backup validation and restore logic (merge/replace modes)
- Add backup restore UI dialog with preview and confirmation
- Add unsaved changes guard hook
- Integrate backups section in Settings
- Add backup endpoint to export-import API
2026-03-22 18:16:36 -03:00
544decf4ac docs: add new project summary 2026-03-22 2026-03-22 17:51:05 -03:00
7c5fba5f12 docs: update project summary with MVP-4 features
- Add MVP-4 sprints 1-4 features
- Update structure with query-parser.ts, versions.ts
- Add NoteVersion model and versions API
- Update test count to 211
2026-03-22 17:49:49 -03:00
a67442e9ed test: MVP-4 Sprint 4 - Version history tests
- Add 11 tests for versions.ts (create, get, restore, edge cases)
- Add noteVersion mock to api.integration.test.ts
2026-03-22 17:45:53 -03:00
9ed7d8acec feat: MVP-4 Sprint 3 - Version history
- Add NoteVersion model for storing note snapshots
- Add versions API (list, create, get, restore)
- Add version history UI dialog in note detail page
- Create version snapshot before each note update
2026-03-22 17:42:47 -03:00
e57927e37d feat: MVP-4 Sprint 2 - Co-usage sidebar and search cache
- Add co-usage display to NoteConnections (notas vistas juntas)
- Add search results cache with 50 entry limit and FIFO eviction
- Improve contextual sidebar with usage-based suggestions
2026-03-22 17:37:40 -03:00
9af25927b7 feat: MVP-4 Sprint 1 - Query parser, real-time search, keyboard navigation
- Add query-parser.ts with AST for type:, tag:, is:favorite, is:pinned filters
- Integrate parser into search API
- Add real-time search with 300ms debounce in search-bar
- Add keyboard navigation (↑↓ Enter ESC) for Spotlight-like UX
- Add dropdown results display with loading state
- Add 22 tests for query parser

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 17:33:17 -03:00
d5c418c84f fix: responsive header with hamburger menu for mobile
- Desktop: single row with logo, nav links, QuickAdd, New note button
- Mobile: logo + QuickAdd + hamburger icon → dropdown menu
- Improved QuickAdd sizing for small screens

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 17:10:25 -03:00
6cc5f3793a docs: add project summary 2026-03-22
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 16:52:53 -03:00
ff7223bfea feat: MVP-3 Sprint 4 - Co-usage, metrics, centrality, creation source, feature flags
- Add NoteCoUsage model and co-usage tracking when viewing notes
- Add creationSource field to notes (form/quick/import)
- Add dashboard metrics API (/api/metrics)
- Add centrality calculation (/api/centrality)
- Add feature flags system for toggling features
- Add multiline QuickAdd with smart paste type detection
- Add internal link suggestions while editing notes
- Add type inference for automatic note type detection
- Add comprehensive tests for type-inference and link-suggestions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 16:50:40 -03:00
ef0aebf510 feat: MVP-3 Sprint 2 - Auto tag suggestions, note connections panel
- Add auto tag suggestions to note form with debounced API calls
- Rename related notes to "También podrías necesitar" in detail view
- Create NoteConnections component showing backlinks, outgoing links, and related notes
- Add tests for backlinks module and tags/suggest API endpoint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 16:20:39 -03:00
05b8f3910d feat: MVP-3 Sprint 1 - Usage tracking, smart dashboard, scoring boost
## Registro de Uso
- Nuevo modelo NoteUsage en Prisma
- Tipos de eventos: view, search_click, related_click, link_click, copy_command, copy_snippet
- Funciones: trackNoteUsage, getUsageStats, getRecentlyUsedNotes
- localStorage: recentlyViewed (últimas 10 notas)
- Rastreo de copias en markdown-content.tsx

## Dashboard Rediseñado
- 5 bloques: Recientes, Más usadas, Comandos recientes, Snippets recientes, Según actividad
- Nuevo src/lib/dashboard.ts con getDashboardData()
- Recomendaciones basadas en recentlyViewed

## Scoring con Uso Real
- search.ts: +1 per 5 views (max +3), +2 recency boost
- related.ts: mismo sistema de usage boost
- No eclipsa match textual fuerte

## Tests
- 110 tests pasando (usage, dashboard, related, search)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 16:03:14 -03:00
cc4b2453b1 feat: improve related notes algorithm and add seed data
- Add multilingual stop words (English + Spanish) for better matching
- Add technical keywords set for relevance scoring
- Improve scoring weights: tags +3, title matches +3
- Fix false positives between unrelated notes
- Add README with usage instructions
- Add 47 seed examples for testing
- Update quick add shortcut behavior
- Add project summary

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 15:09:20 -03:00
8b77c7b5df feat: MVP-2 completion - search, quick add, backlinks, guided forms
## Search & Retrieval
- Improved search ranking with scoring (title match, favorites, recency)
- Highlight matches with excerpt extraction
- Fuzzy search with string-similarity
- Unified noteQuery function

## Quick Capture
- Quick Add API (POST /api/notes/quick) with type prefixes
- Quick add parser with tag extraction
- Global Quick Add UI (Ctrl+N shortcut)
- Tag autocomplete in forms

## Note Relations
- Automatic backlinks with sync on create/update/delete
- Backlinks API (GET /api/notes/[id]/backlinks)
- Related notes with scoring and reasons

## Guided Forms
- Type-specific form fields (command, snippet, decision, recipe, procedure, inventory)
- Serialization to/from markdown
- Tag suggestions based on content (GET /api/tags/suggest)

## UX by Type
- Command: Copy button for code blocks
- Snippet: Syntax highlighting with react-syntax-highlighter
- Procedure: Interactive checkboxes

## Quality
- Standardized error handling across all APIs
- Integration tests (28 tests passing)
- Unit tests for search, tags, quick-add

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 13:51:39 -03:00
6694bce736 mvp 2026-03-22 13:01:46 -03:00
af0910f428 feat: initial commit 2026-03-22 09:18:07 -03:00