From 76cea025130e0dd4bb0afd9c87ad4fc8fc039574 Mon Sep 17 00:00:00 2001 From: jelveh Date: Sun, 23 Aug 2026 21:17:28 -0700 Subject: [PATCH] Treat .md like .txt; remove markus suggestion Merge the .md extension case into the plain-text branch so it suggests ['editor', 'code'] instead of ['markus', 'editor', 'code']. Update the related test to use 'viewer'/'png' as the built-in guard example since 'markus'/'md' no longer applies. --- src/backend/services/apps/SuggestedAppsService.test.ts | 8 +++++--- src/backend/services/apps/SuggestedAppsService.ts | 5 +---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/backend/services/apps/SuggestedAppsService.test.ts b/src/backend/services/apps/SuggestedAppsService.test.ts index f01952351..d4146515e 100644 --- a/src/backend/services/apps/SuggestedAppsService.test.ts +++ b/src/backend/services/apps/SuggestedAppsService.test.ts @@ -285,10 +285,12 @@ describe('SuggestedAppsService hosted-backing guard', () => { const { userId } = await makeUser(); const sub = uniqueName('builtinlive'); await server.stores.subdomain.create({ userId, subdomain: sub }); - // 'markus' is the first built-in opener mapped to `.md`. - await pointBuiltinAt('markus', userId, hostedUrl(sub)); + // 'viewer' is the first built-in opener mapped to `.png`. + await pointBuiltinAt('viewer', userId, hostedUrl(sub)); - expect((await suggestFor('md')).map((a) => a.name)).toContain('markus'); + expect((await suggestFor('png')).map((a) => a.name)).toContain( + 'viewer', + ); }); it('drops a built-in-name opener whose hosted backing is gone', async () => { diff --git a/src/backend/services/apps/SuggestedAppsService.ts b/src/backend/services/apps/SuggestedAppsService.ts index ec3975895..09e42204b 100644 --- a/src/backend/services/apps/SuggestedAppsService.ts +++ b/src/backend/services/apps/SuggestedAppsService.ts @@ -156,12 +156,9 @@ function suggestionsForExtension(ext: string): { if (CODE_EXTS.has(lower)) { return { names: ['code', 'editor'], isFallback: false }; } - if (lower === 'txt' || lower === '') { + if (lower === 'txt' || lower === 'md' || lower === '') { return { names: ['editor', 'code'], isFallback: false }; } - if (lower === 'md') { - return { names: ['markus', 'editor', 'code'], isFallback: false }; - } if (IMAGE_EXTS.has(lower)) { return { names: ['viewer', 'draw'], isFallback: false }; }