Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions apps/openscene/lib/docs/content.en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,8 @@ const dataAndPrivacy: DocPage = {
"**No telemetry.** No analytics, crash reporting, or usage tracking",
"**No background network calls.** The app talks to a provider only when you ask it to, using a provider you connected",
] },
{ kind: "heading", text: "Advertising disclosure" },
{ kind: "paragraph", text: "A banner ad may appear above the tab bar on project screens (the timeline, generation and library tabs), and an interstitial ad may appear only after a video export completes successfully." },
{ kind: "heading", text: "Where your data lives" },
{ kind: "paragraph", text: "Projects are folders you choose. Assets, chat history, and generated results are written inside them. App-managed projects and window recordings live under Electron user data, and recordings can be redirected with `VIDEO_TOOL_RECORDINGS_DIR`." },
{ kind: "heading", text: "The process boundary" },
Expand Down
7 changes: 7 additions & 0 deletions apps/openscene/test/docs.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@ describe("OpenScene documentation routes", () => {
expect(main.getByRole("link", { name: "Install and run" }).getAttribute("href")).toBe("/docs/install");
});

it("renders the English data and privacy ad disclosure", async () => {
await renderRoute(["data-and-privacy"]);
const main = screen.getByRole("main");
expect(main.textContent).toContain("A banner ad may appear above the tab bar on project screens (the timeline, generation and library tabs), and an interstitial ad may appear only after a video export completes successfully.");
expect(main.textContent).not.toContain("in Settings");
});

it("renders a Korean page from its own path", async () => {
await renderRoute(["ko", "install"]);
expect(screen.getByRole("heading", { level: 1, name: "설치와 실행" })).toBeDefined();
Expand Down
Loading