Close OSS self-host gaps: in-repo API docs, legal notes, and packaging.
Add MIT license and docs/api, strip SaaS status/admin remnants from robots and footer, align env/compose/README with payment-free product truth.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { SUPPORT_EMAIL } from "@/lib/plans";
|
||||
import { BRAND_DOMAIN, BRAND_NAME } from "@/lib/branding";
|
||||
|
||||
export const LEGAL_LAST_UPDATED = "July 30, 2026";
|
||||
export const LEGAL_LAST_UPDATED = "August 3, 2026";
|
||||
|
||||
export const LEGAL_OPERATOR = {
|
||||
name: BRAND_NAME,
|
||||
|
||||
@@ -39,10 +39,11 @@ export function isYouTubeUploadLimitError(message: string) {
|
||||
|
||||
export const YOUTUBE_UPLOAD_LIMIT_USER_MESSAGE =
|
||||
"YouTube upload limit reached: this Google/YouTube account has exceeded the number of videos " +
|
||||
"it may upload right now. This is YouTube's own daily limit, not your Songs2VID plan quota. " +
|
||||
"it may upload right now. This is YouTube's own daily limit, not a Songs2VID usage cap " +
|
||||
"(self-hosted OSS does not enforce a video quota paywall). " +
|
||||
"Try again later (often after 24 hours) or use a different YouTube channel.";
|
||||
|
||||
/** User-facing message for the dashboard (distinct from Songs2VID plan quota). */
|
||||
/** User-facing message for the dashboard (distinct from YouTube's own caps). */
|
||||
export function formatYouTubeErrorForUser(err: unknown): string {
|
||||
const raw = extractYouTubeErrorMessage(err);
|
||||
if (isYouTubeUploadLimitError(raw)) return YOUTUBE_UPLOAD_LIMIT_USER_MESSAGE;
|
||||
|
||||
Reference in New Issue
Block a user