nextcloud / nextcloud/calendar

Improve description field editing UI with contenteditable while preserving linkify

Open
#7,679 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Is your feature request related to a problem? Please describe.

The description field currently uses linkify to automatically convert URLs and other text into clickable links, which is valuable functionality.

However, this comes at the cost of editing usability – the text jumps between the linkified view and the plain textarea when editing, creating a jarring user experience. This is particularly disruptive when you start editing the description and then switch to another browser tab to gather information – upon returning, the view state may have changed, making it harder to resume editing where you left off.

Describe the solution you'd like

Implement a contenteditable div that synchronizes with the underlying textarea to provide the best of both worlds:

  • Preserve linkify functionality: URLs and relevant text remain clickable and formatted
  • Improve editing experience: Users can edit directly in the formatted view without visual jumps
  • Seamless synchronization: Keep the contenteditable div and textarea in sync to maintain data integrity (if needed, i do not yet dig in the code)
Describe alternatives you've considered

No response

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by locating the description field and its linkify implementation, then trace how editing switches between the formatted view and textarea. Done means users can edit in a persistent formatted view, URLs remain clickable, and the contenteditable element stays synchronized with the underlying textarea.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.