Keep/CHANGELOG.md

1.9 KiB

Changelog

All notable changes to this project will be documented in this file.

[Unreleased] - 2026-01-04

Added

  • Label Management System: Complete redesign of label/tag management
    • Added Label model to Prisma schema with centralized database storage
    • Created LabelContext for global state management with React Context API
    • Added useLabels hook for easy access to label functionality
    • Implemented full CRUD API for labels (GET, POST, PUT, DELETE)
    • Updated all components to use the new context instead of localStorage

Fixed

  • Tests: Fixed Playwright drag-and-drop tests to work with dynamically generated note IDs
    • Changed selectors from hardcoded text (text=Note 1) to flexible attribute selectors ([data-draggable="true"])
    • Updated matchers from toContain('Note') to regex patterns toMatch(/Note \d+/) to handle unique IDs with timestamps
    • Replaced UI-based cleanup with API-based cleanup using request.delete() for more reliable test cleanup

Database

  • Cleaned up 38 accumulated test notes from database using MCP memento tool
  • Retained only essential notes: "test" and 2x "New AI Framework Released"
  • Added migration 20260104203746_add_labels_table for new Label model

Technical Details

  • Label Management:

    • Labels now stored in database with colors, eliminating localStorage duplication
    • All label operations are centralized through LabelContext
    • Automatic synchronization across all components
    • Better performance with single source of truth
    • Support for user-specific labels (userId field for future auth)
  • Tests:

    • The drag-and-drop functionality itself was working correctly
    • The issue was in Playwright tests which expected exact text matches but notes were created with unique IDs (e.g., test-1767557327567-Note 1)
    • Tests now properly handle the dynamic note generation system

[Previous Versions]

See individual commit history for earlier changes.