tududi/docs/MEMORY.md
Chris 105a913a8d
Fix notification deduplication to prevent pile-up in navbar (#945)
* Fix notification deduplication to prevent pile-up in navbar (#944)

When tasks/projects remained pending for multiple days, duplicate
notifications accumulated in the navbar instead of showing only the
most recent one.

Updated notification services to properly handle existing notifications:
- Delete unread notifications before creating new ones
- Respect dismissed notifications (don't recreate)
- Respect read notifications (don't duplicate)

Changes:
- Updated dueTaskService, deferredTaskService, and dueProjectService
- Added comprehensive unit tests with 8 test cases

Fixes #944

* Fix lint errors and add GitHub bug template reminder to docs
2026-03-14 19:45:24 +02:00

2.7 KiB

Claude Memory & Preferences

This document contains preferences, patterns, and memory items specific to working with Claude Code on the tududi project.


Pull Request Preferences

PR Descriptions

  • Do NOT add the "🤖 Generated with Claude Code" footer to pull requests
  • Keep PR descriptions focused on the changes and test plan
  • Follow the standard format:
    • Summary section with bullet points
    • Changes section with detailed breakdown
    • Test plan section with checkboxes

PR Creation Workflow

  • Always create PRs against the main branch
  • Use descriptive branch names following the pattern: fix/, feature/, refactor/, etc.
  • Include comprehensive test coverage in PRs

Commit Message Preferences

General Rules

  • Do NOT add Co-authored-by trailers to commit messages (set globally in ~/.claude/CLAUDE.md)
  • Use conventional commit style when appropriate: fix:, feat:, refactor:, etc.
  • Keep commit messages concise and descriptive

Fixup Commits

  • Use fixup! prefix for commits that should be squashed into previous commits
  • These are typically used with git rebase --autosquash

Testing Preferences

Test Coverage Requirements

  • All new features must include comprehensive unit tests
  • Follow the Arrange-Act-Assert pattern (see testing.md)
  • Test files should be colocated in backend/tests/unit/ matching the module structure

Running Tests

  • Always run tests before pushing with npm test
  • Pre-push hooks will automatically run linting, formatting, and tests

Codebase Patterns to Remember

Backend Patterns

  • Follow the module architecture pattern described in backend-patterns.md
  • Use repository pattern for data access
  • Keep business logic in service files

Frontend Patterns

  • TypeScript for new components
  • Follow component organization in directory-structure.md
  • Use Zustand for global state, SWR for server state

GitHub Issue Preferences

Bug Reports

  • Always follow the GitHub bug template (.github/ISSUE_TEMPLATE/bug_report.yml)
  • Include all required fields: Description, Steps to Reproduce, Expected Behavior, Actual Behavior, OS, Browser
  • Add technical context in Additional Context section (root cause, solution, files affected)

Common Issues & Solutions

Date Formatting

  • Be consistent with date format handling across the application
  • Pay attention to timezone handling in defer/scheduling features

URL Detection

  • The inbox processing service has URL detection logic
  • URLs are detected even without projects for bookmark tag display

Last Updated: 2026-03-14 Maintained by: Claude Code sessions - update as new patterns emerge