KAN-68: Add WYSIWYG ticket description editor #172

Merged
Twyco merged 1 commits from feature/KAN-68-wysiwyg-description-editor into main 2026-10-01 19:22:23 +00:00
Owner

Ticket descriptions can now be created and edited visually with Tiptap. The shared ticket form provides bold/italic/strike, headings, lists, quotes, code, links and undo/redo, with a Markdown source toggle. Ticket details display the supported formatting safely.

Descriptions remain Markdown strings for existing storage, API and MCP consumers. Opening a form does not rewrite its source. Descriptions containing unsupported tables, images, task lists or HTML remain available verbatim in source mode to avoid losing content. User HTML is never inserted directly, and links use an explicit safe URL policy. Validation feedback, disabled controls and external form resets are supported.

Validation:

  • 30 affected PHPUnit tests passed (332 assertions), including description persistence, ticket controllers, presentation and localization.
  • Browser fixture passed all toolbar actions, undo/redo, source round trips, link validation/removal, errors, disabled state, reset, clearing and legacy content; narrow-screen layout checked.
  • Production build, TypeScript check, changed-file ESLint, Pint and diff whitespace checks passed.
  • Build retains existing missing local Inter font warnings; the complete repository test suite was not run.

Base branch: fix/dependency-cves (security prerequisite: #173).

Implements KAN-68.

Rebased onto fix/dependency-cves (#173). 42 affected PHPUnit tests, security audits, full ESLint, TypeScript and production build passed after rebasing.

Ticket descriptions can now be created and edited visually with Tiptap. The shared ticket form provides bold/italic/strike, headings, lists, quotes, code, links and undo/redo, with a Markdown source toggle. Ticket details display the supported formatting safely. Descriptions remain Markdown strings for existing storage, API and MCP consumers. Opening a form does not rewrite its source. Descriptions containing unsupported tables, images, task lists or HTML remain available verbatim in source mode to avoid losing content. User HTML is never inserted directly, and links use an explicit safe URL policy. Validation feedback, disabled controls and external form resets are supported. Validation: - 30 affected PHPUnit tests passed (332 assertions), including description persistence, ticket controllers, presentation and localization. - Browser fixture passed all toolbar actions, undo/redo, source round trips, link validation/removal, errors, disabled state, reset, clearing and legacy content; narrow-screen layout checked. - Production build, TypeScript check, changed-file ESLint, Pint and diff whitespace checks passed. - Build retains existing missing local Inter font warnings; the complete repository test suite was not run. Base branch: fix/dependency-cves (security prerequisite: #173). Implements KAN-68. Rebased onto `fix/dependency-cves` (#173). 42 affected PHPUnit tests, security audits, full ESLint, TypeScript and production build passed after rebasing.
Twyco changed target branch from main to fix/dependency-cves 2026-09-30 09:21:44 +00:00
Twyco changed target branch from fix/dependency-cves to main 2026-09-30 10:07:57 +00:00
Twyco added 1 commit 2026-10-01 19:21:25 +00:00
feat(KAN-68): add visual Markdown ticket description editor
CI/CD / preconditions (pull_request) Successful in 1s
macOS checks / Native Rust tests and unsigned build (pull_request) Canceled after 0s
Native JavaScript checks / Native launcher and release tests (pull_request) Successful in 1m11s
CI/CD / test_and_check_app (pull_request) Successful in 5m58s
CI/CD / Publish immutable image (pull_request) Skipped
d8e1659f4b
Twyco force-pushed feature/KAN-68-wysiwyg-description-editor from 693f61659e to d8e1659f4b 2026-10-01 19:21:25 +00:00 Compare
Twyco merged commit f7c3873c19 into main 2026-10-01 19:22:23 +00:00
Twyco deleted branch feature/KAN-68-wysiwyg-description-editor 2026-10-01 19:22:23 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: PetschStudios/KanbanGit#172