diff --git a/core/server.js b/core/server.js index 0128d49..640e94b 100644 --- a/core/server.js +++ b/core/server.js @@ -960,6 +960,7 @@ export function handoffRoute(p) { if (!segs.length || segs.some((x) => !/^[A-Za-z0-9._~%=-]{1,120}$/.test(x))) return '#/overview'; const pages = ['overview', 'users', 'buckets', 'account', 'settings', 'logs']; if (segs[0] === 'drives') return '#/buckets'; + if (segs[0] === 'app') return segs.length > 1 ? handoffRoute('/' + segs.slice(1).join('/')) : '#/overview'; if (pages.includes(segs[0])) return `#/${segs.join('/')}`; return `#/u/${segs.join('/')}`; // /// } diff --git a/test/handoff.test.js b/test/handoff.test.js index 6748cf7..d853fe7 100644 --- a/test/handoff.test.js +++ b/test/handoff.test.js @@ -17,6 +17,8 @@ test('website paths become app routes, and odd ones go to Overview', () => { assert.equal(handoffRoute('/backup-agent/nightly-backups/2026'), '#/u/backup-agent/nightly-backups/2026'); assert.equal(handoffRoute('/settings'), '#/settings'); assert.equal(handoffRoute('/drives'), '#/buckets'); + assert.equal(handoffRoute('/app'), '#/overview'); + assert.equal(handoffRoute('/app/settings'), '#/settings'); assert.equal(handoffRoute('/a/