Files
lobehub__lobehub/apps/workbench/app/stubs/trpcClient.client.test.ts
Innei 3d751686af ✨ feat(acceptance): restore in-app workspace and assemble the public page from atoms (#18501)
* ✨ feat(acceptance): restore in-app workspace and assemble the public page from atoms

Keep the full owner workspace in the main SPA and compose the workbench share page from read-only capability atoms so owner actions stay out of the public bundle.

* 📝 docs(compose-atoms): generalize the skill around grain and sink-state

Make the kit apply to any heavy domain feature, and keep focus review filling the in-app frame.

* ⚡ perf(workbench): slim the public page and stop shipping shiki in the bundle

Keep the share surface to identity only, shim the browser lambda client to cookies, stub shiki on SSR, and load grammars from esm.sh on the client.

* ✨ feat(acceptance): show goal and check inventory on workbench detail

* 🐛 fix(acceptance): handle null acceptanceId in useAcceptanceBundle

Signed-off-by: Innei <tukon479@gmail.com>

* ✨ feat(workbench): put a go-to-app CTA on the public header

* ✅ test(workbench): fail the build when the graph uses stub-missing APIs

Keep workbench stubs as an explicit surface and scan the module graph on
build:rr so a later call to a simplified-away method is a build failure.

* 🐛 fix(acceptance): type verdict helpers with TFunction

Database CI lint failed because useTranslation('verify') is not assignable
to the hand-written (key: string) => string helper signatures.

---------

Signed-off-by: Innei <tukon479@gmail.com>
2026-08-20 16:45:21 +08:00

21 lines
646 B
TypeScript

import { readFileSync } from 'node:fs';
import path from 'node:path';
import { describe, expect, it } from 'vitest';
const source = readFileSync(path.join(import.meta.dirname, 'trpcClient.client.ts'), 'utf8');
describe('workbench client lambda shim', () => {
it.each(['@/store/image', '@/store/chat', '@/services/_auth', '@/store/user', 'model-bank'])(
'does not import %s',
(needle) => {
expect(source).not.toContain(needle);
},
);
it('sends cookies and skips the image-page header stack', () => {
expect(source).toContain("credentials: 'include'");
expect(source).toContain("url: '/trpc/lambda'");
});
});