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: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ If you're unsure whether your idea falls into the preview category, feel free to

```bash
# Database (matches docker-compose.yaml)
DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut"
DATABASE_URL="postgresql://openscript:openscript@localhost:5432/openscript"

# Generate a secure secret for Better Auth
BETTER_AUTH_SECRET="your-generated-secret-here"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bun-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
os: [ubuntu-latest, windows-latest, macos-latest]

env:
DATABASE_URL: "postgresql://opencut:opencut@localhost:5432/opencut"
DATABASE_URL: "postgresql://openscript:openscript@localhost:5432/openscript"
BETTER_AUTH_SECRET: "supersecret"
NEXT_PUBLIC_SITE_URL: "http://localhost:3000"
UPSTASH_REDIS_REST_URL: "https://your-upstash-redis-url"
Expand Down
4 changes: 2 additions & 2 deletions apps/desktop/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[package]
name = "opencut-desktop"
name = "openscript-desktop"
version = "0.1.0"
edition = "2021"

[[bin]]
name = "opencut"
name = "openscript"
path = "src/main.rs"

[dependencies]
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ powershell -ExecutionPolicy Bypass -File .\apps\desktop\script\setup.ps1
**3. Run:**

```bash
cargo run -p opencut-desktop
cargo run -p openscript-desktop
```

## Platform notes
Expand Down
2 changes: 1 addition & 1 deletion apps/web/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ NEXT_PUBLIC_SITE_URL=http://localhost:3000
NEXT_PUBLIC_MARBLE_API_URL=https://api.marblecms.com

# Server
DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut"
DATABASE_URL="postgresql://openscript:openscript@localhost:5432/openscript"
BETTER_AUTH_SECRET=your_better_auth_secret

UPSTASH_REDIS_REST_URL=http://localhost:8079
Expand Down
2 changes: 1 addition & 1 deletion apps/web/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1

# Build-time env stubs to pass zod validation
ENV DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut"
ENV DATABASE_URL="postgresql://openscript:openscript@localhost:5432/openscript"
ENV BETTER_AUTH_SECRET="build-time-secret"
ENV UPSTASH_REDIS_REST_URL="http://localhost:8079"
ENV UPSTASH_REDIS_REST_TOKEN="example_token"
Expand Down
5 changes: 5 additions & 0 deletions apps/web/next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ const nextConfig: NextConfig = {
reactStrictMode: true,
productionBrowserSourceMaps: true,
output: "standalone",
// Multi-Zones: this app is the editor "zone" and owns the /app path prefix.
// The marketing site (apps/website) serves "/" and rewrites /app/* here.
// basePath also namespaces this app's /_next assets under /app/_next so they
// never collide with the marketing zone's assets.
basePath: "/app",
images: {
remotePatterns: [
{
Expand Down
6 changes: 3 additions & 3 deletions apps/web/src/actions/registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import type {
type ActionHandler = (arg: unknown, trigger?: TInvocationTrigger) => void;
const boundActions: Partial<Record<TAction, ActionHandler[]>> = {};

// eslint-disable-next-line opencut/prefer-object-params -- action registries read best as (action, handler).
// eslint-disable-next-line openscript/prefer-object-params -- action registries read best as (action, handler).
export function bindAction<A extends TAction>(
action: A,
handler: TActionFunc<A>,
Expand All @@ -25,7 +25,7 @@ export function bindAction<A extends TAction>(
}
}

// eslint-disable-next-line opencut/prefer-object-params -- action registries read best as (action, handler).
// eslint-disable-next-line openscript/prefer-object-params -- action registries read best as (action, handler).
export function unbindAction<A extends TAction>(
action: A,
handler: TActionFunc<A>,
Expand Down Expand Up @@ -54,7 +54,7 @@ type InvokeActionFunc = {
): void;
};

// eslint-disable-next-line opencut/prefer-object-params -- dispatchers conventionally separate action, payload, and trigger.
// eslint-disable-next-line openscript/prefer-object-params -- dispatchers conventionally separate action, payload, and trigger.
export const invokeAction: InvokeActionFunc = <A extends TAction>(
action: A,
args?: TArgOfAction<A>,
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/actions/use-action-handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import type {
} from "@/actions";
import { bindAction, unbindAction } from "@/actions";

// eslint-disable-next-line opencut/prefer-object-params -- action subscriptions read best as (action, handler, isActive).
// eslint-disable-next-line openscript/prefer-object-params -- action subscriptions read best as (action, handler, isActive).
export function useActionHandler<A extends TAction>(
action: A,
handler: TActionFunc<A>,
Expand Down
4 changes: 3 additions & 1 deletion apps/web/src/auth/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { createAuthClient } from "better-auth/react";
import { webEnv } from "@/env/web";
import { BASE_PATH } from "@/site/brand";

export const { signIn, signUp, useSession } = createAuthClient({
baseURL: webEnv.NEXT_PUBLIC_SITE_URL,
// Mirror the server: endpoints live under the /app basePath.
baseURL: `${webEnv.NEXT_PUBLIC_SITE_URL}${BASE_PATH}`,
});
6 changes: 5 additions & 1 deletion apps/web/src/auth/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { Redis } from "@upstash/redis";
import { db } from "@/db";
import { webEnv } from "@/env/web";
import { BASE_PATH } from "@/site/brand";

const redis = new Redis({
url: webEnv.UPSTASH_REDIS_REST_URL,
Expand Down Expand Up @@ -35,8 +36,11 @@ export const auth = betterAuth({
},
},
},
baseURL: webEnv.NEXT_PUBLIC_SITE_URL,
// baseURL includes the /app basePath so Better Auth's endpoints resolve to
// <origin>/app/api/auth/* — matching where Next mounts the route handler.
baseURL: `${webEnv.NEXT_PUBLIC_SITE_URL}${BASE_PATH}`,
appName: "OpenScript",
// trustedOrigins is an origin check (scheme+host, no path) — leave unprefixed.
trustedOrigins: [webEnv.NEXT_PUBLIC_SITE_URL],
});

Expand Down
3 changes: 2 additions & 1 deletion apps/web/src/feedback/components/feedback-popover.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
clearFormDraft,
} from "@/components/ui/form";
import type { FeedbackEntry } from "../types";
import { BASE_PATH } from "@/site/brand";

const PERSIST_KEY = "feedback-draft";
const HISTORY_KEY = "feedback-history";
Expand Down Expand Up @@ -61,7 +62,7 @@ function useFeedback() {
setIsSubmitting(true);

try {
const res = await fetch("/api/feedback", {
const res = await fetch(`${BASE_PATH}/api/feedback`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(values),
Expand Down
6 changes: 6 additions & 0 deletions apps/web/src/site/brand.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
export const SITE_URL = "https://openscript.app";

// Keep in sync with `basePath` in next.config.ts. The editor ships as a
// Next.js Multi-Zones "zone" mounted under /app, so its API routes and the
// auth baseURL all live beneath this prefix. (next/link & next/navigation are
// basePath-aware automatically; raw fetch() and Better Auth's baseURL are not.)
export const BASE_PATH = "/app";

export const SITE_INFO = {
title: "OpenScript",
description:
Expand Down
4 changes: 2 additions & 2 deletions apps/web/src/subtitles/components/assets-view.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ const IDLE_STATE: ProcessingState = {
warnings: [],
};

/* eslint-disable opencut/prefer-object-params -- React reducers must accept (state, action). */
/* eslint-disable openscript/prefer-object-params -- React reducers must accept (state, action). */
function processingReducer(
state: ProcessingState,
action: ProcessingAction,
Expand All @@ -81,7 +81,7 @@ function processingReducer(
return { status: "idle", error: action.error, warnings: [] };
}
}
/* eslint-enable opencut/prefer-object-params */
/* eslint-enable openscript/prefer-object-params */

export function Captions() {
const [selectedLanguage, setSelectedLanguage] =
Expand Down
4 changes: 2 additions & 2 deletions apps/web/wrangler.jsonc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "opencut",
"name": "openscript",
"main": ".open-next/worker.js",
"compatibility_date": "2025-04-01",
"compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"],
Expand All @@ -11,7 +11,7 @@
"services": [
{
"binding": "WORKER_SELF_REFERENCE",
"service": "opencut"
"service": "openscript"
}
]
}
105 changes: 0 additions & 105 deletions apps/website/app/editor/page.tsx

This file was deleted.

2 changes: 1 addition & 1 deletion apps/website/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
--color-zinc-400: #a1a1aa;
--color-zinc-300: #d4d4d8;

/* Accent color - OpenCut blue */
/* Accent color - OpenScript blue */
--color-blue-500: #0070f3;
--color-blue-600: #0761d1;

Expand Down
6 changes: 3 additions & 3 deletions apps/website/app/success/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ export default function SuccessPage() {
See OpenScript in Action
</h3>
<p className="text-zinc-300 mb-4">
Check out our interactive demo to see how text-based video editing works
Jump into the beta editor — it runs entirely in your browser, no upload required
</p>
<a
href="/editor"
href="/app"
className="inline-block px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-all duration-200 hover:scale-105"
>
Try the Demo
Launch the beta
</a>
</div>

Expand Down
Loading
Loading