github / github/app

Keep Markdown source editable in the composer

Open
#2,310 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

### Feature summary

Use a Discord-style Markdown editor that renders formatting while keeping the Markdown source markers visible and editable.

### What problem are you trying to solve?

The GitHub Copilot app composer now renders Markdown as WYSIWYG, but it hides the source syntax after applying formatting. This affects all of the Markdown forms I tested:

- Inline code hides its backticks.
- Bold, italic, and strikethrough hide their asterisks, underscores, or tildes.
- Headings and blockquotes hide their `#` and `>` markers.
- Ordered, unordered, and task lists hide their list markers, including when used inside blockquotes.
- Fenced multiline code blocks are not rendered as WYSIWYG at all.
- Links show only the label from `[label](URL)`. The parentheses, URL, and all other link syntax are completely hidden.

The rendered result can look correct, and task-list checkboxes remain clickable, but the underlying Markdown is difficult or impossible to inspect, change, or remove. Links are especially problematic because there is no visible indication of the destination URL or an obvious way to edit it.

Nested blockquotes entered as `> >` also do not render at the correct nesting level.

### Proposed solution

Render Markdown formatting while preserving its source markers in the editable text, similar to Discord. Keep backticks, asterisks, underscores, tildes, heading markers, list markers, quote markers, link destinations, and code fences visible and directly editable while still showing the resulting formatting.

Add WYSIWYG rendering for fenced multiline code blocks while keeping their fences visible. Interactive behavior such as clickable task-list checkboxes should remain. Formatting should also be reversible by deleting or changing the visible Markdown rather than requiring users to select text and guess its current state.

Nested blockquotes should render at the correct nesting level.

### Workflow impact

This would make formatting easier to inspect, edit, and undo. It would prevent hidden links and accidental formatting changes, and improve the experience of composing technical messages with code, emphasis, lists, links, headings, and quotes.

### Installation context

GitHub Copilot desktop app composer, current release.

### Additional context

Confirmed affected examples:

````markdown
`code`
**bold**
*italic*
_italic_
~~strikethrough~~
# heading
- unordered item
1. ordered item
- [ ] task item
[link text](https://example.com)
```js
const value = 1;
```
> quote
> > nested quote
> - list inside quote
````

Multiline fenced code blocks currently remain unrendered. Lists inside blockquotes have the same hidden-marker behavior as lists outside blockquotes.

Contributor guide

Open the contributing guide

Research direction

Start by locating the GitHub Copilot desktop app composer and its Markdown editing entry point. Reproduce the listed examples, including links, fenced code blocks, task lists, and nested blockquotes, then compare the rendered result with the visible editable source. Done means the source markers remain editable while formatting, checkbox interaction, and nested quote rendering work as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.