Commit f83b4b9
feat: Add comprehensive visual diff system for card description changes
This commit introduces a sophisticated visual diff system that enhances
the activity feed with intelligent change detection and professional
presentation. Resolves issue #7201.
Features:
• Smart diff rendering with emoji indicators (➕✏️🗑️🚚)
• Word-level diffing for modifications with <del>/<ins> HTML tags
• Intelligent move detection for relocated unchanged content
• Special handling for checkbox state transitions (☐ ↔ ☑)
• Line number context preservation for better readability
• Noise filtering (empty lines, unchanged content)
Technical Implementation:
• New DiffService with LCS-based diff algorithm
• Enhanced activity provider with diff integration
• Multi-pass detection: moves → modifications → additions/deletions
• Similarity scoring system for optimal operation pairing
• HTML-safe output compatible with activity feed constraints
Benefits:
• Clear visualization of content changes in activity timeline
• Reduced cognitive load with filtered, relevant changes only
• Professional emoji-based change indicators
• Maintains backward compatibility with existing activity system
The system intelligently distinguishes between:
- Line moves (🚚): Exact content relocated to different position
- Modifications (✏️): Content changes with word-level highlighting
- Additions (➕): New content inserted
- Deletions (🗑️): Content removed
Tested extensively with various scenarios including complex multi-operation
changes, edge cases, and performance considerations.
Signed-off-by: Alexander Askin <lexioj@MacBookPro.telekom.ip>1 parent 3ed1fbc commit f83b4b9
2 files changed
+513
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| 41 | + | |
| 42 | + | |
40 | 43 | | |
41 | 44 | | |
42 | 45 | | |
| |||
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| 53 | + | |
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
| |||
335 | 339 | | |
336 | 340 | | |
337 | 341 | | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
338 | 356 | | |
339 | 357 | | |
340 | 358 | | |
| |||
0 commit comments