Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
7b107f2
feat(editor): replace Slate with ProseMirror in the composer
eleboucher Aug 10, 2026
6a00075
feat(editor): add live markdown preview while typing
Th-Underscore Aug 12, 2026
f1f9ff1
fix(editor): refine the live markdown preview
Th-Underscore Aug 12, 2026
a766362
fix(timeline): stop repinning when the user scrolls up during compose…
Th-Underscore Aug 12, 2026
feee40b
refactor(editor): align markdown preview comments and helpers with re…
Th-Underscore Aug 12, 2026
c957955
feat(editor): render the markdown preview like sent messages
Th-Underscore Aug 13, 2026
72e1db6
docs: update changeset for the final markdown preview feature set
Th-Underscore Aug 13, 2026
51be8c4
fix(editor): keep intraword underscores literal in the markdown preview
Th-Underscore Aug 14, 2026
fb6c641
fix(timeline): satisfy consistent-return in the viewport observer
Th-Underscore Aug 14, 2026
b84ec94
test(timeline): model a genuinely pinned viewport in the shrink re-pi…
Th-Underscore Aug 14, 2026
82f12c1
refactor(editor): align markdown preview JSDoc with repo conventions
Th-Underscore Aug 14, 2026
5af8e82
fix(settings): register the markdown preview toggle's focusId
Th-Underscore Aug 14, 2026
19ade8a
fix(editor): style the markdown preview box scrollbar
Th-Underscore Aug 14, 2026
d36d79e
feat(editor): preview markdown thematic breaks
Th-Underscore Aug 16, 2026
0995fe3
fix(editor): keep underscores inside bare URLs in the markdown preview
Th-Underscore Aug 16, 2026
f459263
fix(editor): match markdown preview inline code to sent-message code …
Th-Underscore Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/add-composer-markdown-preview-prosemirror.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
default: minor
---

Add a live markdown preview to the composer: markdown syntax characters stay visible but dimmed, with their content styled inline while typing (bold, italic, underline, strikethrough, spoilers, links, per-level headings, and fenced code blocks syntax-highlighted like sent messages), plus an optional rendered preview box that can be enabled above the composer in Settings. Also lets Enter insert a newline in the composer and stops the timeline from snapping back to the bottom when the composer grows while scrolling up.
12 changes: 7 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,12 @@
"matrix-widget-api": "^1.17.0",
"nanoid": "^6.0.0",
"pdfjs-dist": "^6.1.200",
"prosemirror-commands": "^1.7.2",
"prosemirror-history": "^1.5.0",
"prosemirror-keymap": "^1.2.3",
"prosemirror-model": "^1.25.11",
"prosemirror-state": "^1.4.4",
"prosemirror-view": "^1.42.2",
"react": "^18.3.1",
"react-aria": "^3.50.0",
"react-blurhash": "^0.3.0",
Expand All @@ -119,17 +125,12 @@
"react-leaflet": "^4.2.1",
"react-range": "^1.10.0",
"react-router-dom": "^6.30.4",
"slate": "^0.124.1",
"slate-dom": "^0.124.1",
"slate-history": "^0.113.1",
"slate-react": "^0.125.1",
"tauri-plugin-android-fs-api": "28.4.0",
"ua-parser-js": "^2.0.10",
"virtua": "^0.50.1",
"workbox-precaching": "^7.4.1"
},
"devDependencies": {
"tauri-plugin-app-icon-api": "github:SableClient/tauri-plugin-app-icon#6da508ab93ee8c791aa28112c8e171e42257cc3c",
"@cloudflare/vite-plugin": "^1.42.4",
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
"@faker-js/faker": "^10.5.0",
Expand Down Expand Up @@ -160,6 +161,7 @@
"oxfmt": "^0.57.0",
"oxlint": "^1.72.0",
"oxlint-tsgolint": "^0.24.0",
"tauri-plugin-app-icon-api": "github:SableClient/tauri-plugin-app-icon#6da508ab93ee8c791aa28112c8e171e42257cc3c",
"testcontainers": "^12.0.4",
"typescript": "^5.9.3",
"vite": "^7.3.5",
Expand Down
Loading