From faf926c08149348a77b8b197af000c8d570a61e1 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 07:39:35 +0000 Subject: [PATCH 1/3] fix(editor): open existing notes in the user's default note mode Existing notes initialised raw markdown mode from note.checklistMode instead of the defaultNoteMode preference, so users with Markdown as default always got the rich text editor when reopening a note. Fixes #96 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017neWQAAxi6nZYmwRkDThsy --- src/lib/components/NoteEditor.svelte | 2 +- tests/e2e/settings.spec.ts | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/lib/components/NoteEditor.svelte b/src/lib/components/NoteEditor.svelte index 404e79e..829ebfa 100644 --- a/src/lib/components/NoteEditor.svelte +++ b/src/lib/components/NoteEditor.svelte @@ -60,7 +60,7 @@ let showColorPicker = $state(false); let showImageUpload = $state(false); // svelte-ignore state_referenced_locally - let rawMarkdownMode = $state(note ? (note.checklistMode ?? false) : prefs.defaultNoteMode === 'markdown'); + let rawMarkdownMode = $state(prefs.defaultNoteMode === 'markdown'); let textareaEl: HTMLTextAreaElement | undefined = $state(); let tiptapEditor: Editor | undefined = $state(); let editorTick = $state(0); diff --git a/tests/e2e/settings.spec.ts b/tests/e2e/settings.spec.ts index 220b8ae..e5df992 100644 --- a/tests/e2e/settings.spec.ts +++ b/tests/e2e/settings.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from './helpers/fixtures.js'; +import { test, expect, noteCard } from './helpers/fixtures.js'; import type { Page } from '@playwright/test'; const DEFAULT_PREFS = { @@ -81,6 +81,30 @@ test.describe('Settings — Preferences', () => { await expect(page.getByTestId('note-content-input')).toBeVisible(); }); + test('Scenario: Default note mode applies when reopening an existing note', async ({ + authenticatedPage: page + }) => { + await resetPreferences(page); + + // Given a note titled "Existing Markdown Note" exists + const title = `Existing Markdown Note ${Date.now()}`; + await page.request.post('/api/notes', { data: { title, content: 'Some **bold** text' } }); + + // And the user's default note mode is Markdown + await gotoWithStablePrefs(page, '/settings/preferences'); + const putResponse = page.waitForResponse((res) => res.url().includes('/api/preferences') && res.request().method() === 'PUT'); + await page.getByTestId('pref-mode-markdown').click(); + await putResponse; + + // When the user opens the note + await gotoWithStablePrefs(page, '/'); + await noteCard(page, title).click(); + + // Then the note editor opens in markdown mode showing the raw source + await expect(page.getByTestId('note-content-input')).toBeVisible(); + await expect(page.getByTestId('note-content-input')).toHaveValue('Some **bold** text'); + }); + test('Scenario: Footer toggle hides and shows footer', async ({ authenticatedPage: page }) => { From 9cf0c0285b8fddba7a5afa1aeb80ae8f60412b78 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 11 Oct 2026 07:49:40 +0000 Subject: [PATCH 2/3] chore: bump version to 0.35.2 --- package.json | 2 +- website/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 8a9c291..eaccf60 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "crumbs", "private": true, - "version": "0.35.1", + "version": "0.35.2", "type": "module", "packageManager": "pnpm@9.15.9", "license": "MIT", diff --git a/website/index.html b/website/index.html index 3ca8ff4..ff1bedb 100644 --- a/website/index.html +++ b/website/index.html @@ -292,7 +292,7 @@
  • Docs
  • License
  • - v0.35.1 + v0.35.2 From a0f663d9d65144a97f17e94657128735d5bac3da Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 11 Oct 2026 07:56:13 +0000 Subject: [PATCH 3/3] chore: pin docker-compose to v0.35.2 [skip ci] --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 817abf5..32eeb19 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: crumbs: - image: ghcr.io/bretzel-app/crumbs:0.35.1 + image: ghcr.io/bretzel-app/crumbs:0.35.2 container_name: crumbs ports: - "3000:3000"