From 059c236d3f1ef81a4a97dc520a9c717fcf4f3c1f Mon Sep 17 00:00:00 2001 From: metatroncubeswdev Date: Wed, 21 Oct 2026 12:32:30 -0400 Subject: [PATCH] Quorla look for the dashboard; move a connection to another client - Quorla logo, navy/coral colours and page titles in the app (PDF reports keep agency branding) - Connections: Move button reassigns an account to another client without reconnecting - Fix double @ on YouTube handles - HANDOFF.md with current status and next steps Co-Authored-By: Claude Opus 5.5 --- HANDOFF.md | 38 ++++++++++++++++++++++++ branding/quorla-logo-app-white.png | Bin 0 -> 22875 bytes branding/quorla-logo-app.png | Bin 0 -> 33373 bytes branding/quorla-mark-app.png | Bin 0 -> 45623 bytes connector/src/platforms/vault.js | 16 ++++++++++ connector/test/platforms.test.mjs | 11 +++++++ dashboard/server/index.js | 16 ++++++++-- dashboard/web/index.html | 4 ++- dashboard/web/src/App.jsx | 12 ++++---- dashboard/web/src/pages/Client.jsx | 10 +++---- dashboard/web/src/pages/Connections.jsx | 24 +++++++++++---- dashboard/web/src/pages/Login.jsx | 18 +++++------ dashboard/web/src/styles.css | 15 ++++++---- dashboard/web/src/ui.jsx | 2 +- 14 files changed, 128 insertions(+), 38 deletions(-) create mode 100644 HANDOFF.md create mode 100644 branding/quorla-logo-app-white.png create mode 100644 branding/quorla-logo-app.png create mode 100644 branding/quorla-mark-app.png diff --git a/HANDOFF.md b/HANDOFF.md new file mode 100644 index 0000000..6728e0a --- /dev/null +++ b/HANDOFF.md @@ -0,0 +1,38 @@ +# Quorla: handoff (21 Oct 2026) + +Where things stand and what's next. Live app: https://app.quorlasocial.com (HestiaCP server, `~/APPS/quorlasocial`, +Docker behind the Hestia nginx proxy on 127.0.0.1:4310). Hosting steps: `docs/hosting.html`. + +## Live and working +- Dashboard on the server: team logins, admin can add teammates and reset passwords, scheduler runs there. +- Meta (Facebook + Instagram) through the system user. Infini is Instagram-only (no Facebook Page by choice). +- Connections page with quotas (`data/quota.json`; YouTube 10,000 units/day Pacific time, rolling 24 h for others). +- **TikTok:** Sandbox app "Quorla testing" connected (test user @metatron_digitalagency). Domain verified + (two DNS TXT records, both must stay). Details: `docs/tiktok-app.md`. +- **Google:** connecting works now. + - YouTube → Cloud project **Quorla**. GBP → project **GMB Audit** (gmb-audit-489406, GBP API already approved). + - Both are in Testing mode. Only test users can connect: dev@metatroncubesolutions.com and + metatroncubesoftwaresolutions@gmail.com. Add more under Google Auth Platform → Audience → Test users. + - Testing-mode tokens expire after 7 days, so reconnect weekly until the app is verified. Details: `docs/google-app.md`. +- Search Console: quorlasocial.com verified. Legal pages: /privacy and /terms. + +## To do next +1. **TikTok, YouTube and Google Business Profile are on the wrong client** (C2C Agricorp India). After the next + deploy, open Connections → C2C Agricorp India and click **Move** on each card, then pick + MetatronCube Software Solutions Canada. No reconnecting needed. Then choose the Metatroncube location for GBP. +2. First test posts, as drafts approved by a person before anything publishes: + - TikTok: private ("Only me"). Needs a short vertical 9:16 video. + - YouTube: unlisted/private upload with a title. + - GBP: one update post on the Metatroncube profile. +3. TikTok Production: record the demo video (script in `docs/tiktok-app.md`), fill in the listing, and submit for review. +4. Google: submit the OAuth app for verification (YouTube also needs its API audit before the quota goes above the default). +5. Still to set up: LinkedIn, Pinterest, Threads (Meta permissions) and Reddit apps (`docs/platforms.md`). +6. Later: marketing site, Stripe. (The dashboard now uses the Quorla logo and colours; PDF reports keep the agency branding.) +7. Optional: on the server, run `git stash drop` (left over from the branding CRLF fix). + +## Rules that don't change +- Nothing publishes without a person approving the exact caption and media. +- White-label: no Metatroncube mention on client posts. +- Keys and secrets live only in `.env` or the encrypted Connections vault, never in chat, Git, or docs. +- Tests: `node --test connector/test/platforms.test.mjs connector/test/quota.test.mjs`. On Windows, list the files by name; + passing the folder fails. diff --git a/branding/quorla-logo-app-white.png b/branding/quorla-logo-app-white.png new file mode 100644 index 0000000000000000000000000000000000000000..da8ca6dc3f57bdb70f063d08b0df88e24c3748f9 GIT binary patch literal 22875 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

8&{~{0Iqg~!7YHqKfTxM1=XG$(lp%}RqoSxh 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 KMNUMnLSTZL!a}Y9 literal 0 HcmV?d00001 diff --git a/branding/quorla-logo-app.png b/branding/quorla-logo-app.png new file mode 100644 index 0000000000000000000000000000000000000000..45790c2c6a512a26cc26bdcd003ba28631bd7e16 GIT binary patch literal 33373 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 literal 0 HcmV?d00001 diff --git a/connector/src/platforms/vault.js b/connector/src/platforms/vault.js index 8cc0a36..327106d 100644 --- a/connector/src/platforms/vault.js +++ b/connector/src/platforms/vault.js @@ -128,6 +128,22 @@ export function updateConnection(id, patch) { return publicConn(c); } +/** Move a connection to another client (e.g. connected under the wrong one). Keeps tokens and target. */ +export function moveConnection(id, client, by) { + const db = read(); + const c = db.connections.find((x) => x.id === id); + if (!c) throw err("Connection not found.", 404); + if (c.client === client) return publicConn(c); + if (db.connections.some((x) => x.client === client && x.platform === c.platform)) { + throw err("That client already has an account connected on this platform. Disconnect it there first."); + } + c.client = client; + c.movedBy = by || null; + c.updatedAt = now(); + write(db); + return publicConn(c); +} + export function removeConnection(id) { const db = read(); const before = db.connections.length; diff --git a/connector/test/platforms.test.mjs b/connector/test/platforms.test.mjs index 50ce165..d404b0c 100644 --- a/connector/test/platforms.test.mjs +++ b/connector/test/platforms.test.mjs @@ -315,3 +315,14 @@ test("expired tokens are refreshed and saved; failed refresh asks to reconnect", test("posting to an unconnected platform is refused clearly", () => { assert.throws(() => P.validate("linkedin", "nobody", { type: "TEXT", media: [], caption: "x", options: {} }), /isn't connected for this client/); }); + +test("vault: a connection can move to another client, but not onto an existing one", () => { + const tok = { accessToken: "a", refreshToken: "r" }; + const a = vault.saveConnection({ client: "move-from", platform: "tiktok", account: { id: "u1", name: "One" }, tokens: tok, by: "t" }); + vault.saveConnection({ client: "move-taken", platform: "tiktok", account: { id: "u2", name: "Two" }, tokens: tok, by: "t" }); + assert.throws(() => vault.moveConnection(a.id, "move-taken"), /already has an account/); + const moved = vault.moveConnection(a.id, "move-to", "t"); + assert.equal(moved.client, "move-to"); + assert.equal(vault.connectionFor("move-from", "tiktok"), null); + assert.equal(vault.connectionFor("move-to", "tiktok", { withTokens: true }).tokens.accessToken, "a"); +}); diff --git a/dashboard/server/index.js b/dashboard/server/index.js index 9da0a95..265c988 100644 --- a/dashboard/server/index.js +++ b/dashboard/server/index.js @@ -47,8 +47,11 @@ app.post("/api/auth/login", login); app.post("/api/auth/logout", logout); app.post("/api/auth/setup", setupFirstAdmin); app.get("/api/auth/me", (req, res) => res.json({ user: currentUser(req), agency: AGENCY_NAME, setupNeeded: !users.hasUsers() })); -app.get("/brand/logo.png", (_req, res) => res.sendFile(path.join(BRANDING_DIR, "metatroncube-logo.png"))); -app.get("/brand/mark.png", (_req, res) => res.sendFile(path.join(BRANDING_DIR, "metatroncube-mark.png"))); +// App (Quorla) branding. Agency branding for PDF reports stays in branding/ and is used by tools/report-pdf. +app.get("/brand/logo.png", (_req, res) => res.sendFile(path.join(BRANDING_DIR, "quorla-logo-app.png"))); +app.get("/brand/logo-white.png", (_req, res) => res.sendFile(path.join(BRANDING_DIR, "quorla-logo-app-white.png"))); +app.get("/brand/mark.png", (_req, res) => res.sendFile(path.join(BRANDING_DIR, "quorla-mark-app.png"))); +app.get("/brand/icon.png", (_req, res) => res.sendFile(path.join(BRANDING_DIR, "quorla-icon-1024.png"))); // Public legal pages (linked from platform app listings: TikTok, Google, LinkedIn, Pinterest, Meta). const LEGAL_DIR = fileURLToPath(new URL("./legal/", import.meta.url)); @@ -109,7 +112,14 @@ app.get("/api/oauth/:platform/start", requireAdmin, h(async (req) => { app.post("/api/connections/:id/check", requireAdmin, h(async (req) => ({ connection: await extra.checkConnection(req.params.id) }))); app.get("/api/connections/:id/creator-info", h(async (req) => ({ creator: await extra.creatorInfo(req.params.id) }))); app.get("/api/connections/:id/targets", h(async (req) => ({ targets: await extra.targetsFor(req.params.id) }))); -app.patch("/api/connections/:id", requireAdmin, h(async (req) => ({ connection: await extra.setTarget(req.params.id, String(req.body?.targetId || "")) }))); +app.patch("/api/connections/:id", requireAdmin, h(async (req) => { + if (req.body?.client !== undefined) { + const to = String(req.body.client || ""); + if (!clients.getClient(to)) throw Object.assign(new Error("Pick a client to move it to."), { status: 400 }); + return { connection: extra.vault.moveConnection(req.params.id, to, req.user.name || req.user.email) }; + } + return { connection: await extra.setTarget(req.params.id, String(req.body?.targetId || "")) }; +})); app.delete("/api/connections/:id", requireAdmin, h(async (req) => { extra.vault.removeConnection(req.params.id); return { ok: true }; })); // ---------- team members (admins) ---------- diff --git a/dashboard/web/index.html b/dashboard/web/index.html index f98df87..c517744 100644 --- a/dashboard/web/index.html +++ b/dashboard/web/index.html @@ -5,10 +5,12 @@ + + - Social Command · Metatroncube + Quorla

diff --git a/dashboard/web/src/App.jsx b/dashboard/web/src/App.jsx index 699fab2..0359efb 100644 --- a/dashboard/web/src/App.jsx +++ b/dashboard/web/src/App.jsx @@ -29,15 +29,13 @@ const NAV = [ ]; function Shell({ children }) { - const { user, signOut } = useAuth(); + const { user, signOut, agency } = useAuth(); return (
diff --git a/dashboard/web/src/pages/Connections.jsx b/dashboard/web/src/pages/Connections.jsx index 31e2640..a5955e4 100644 --- a/dashboard/web/src/pages/Connections.jsx +++ b/dashboard/web/src/pages/Connections.jsx @@ -1,6 +1,6 @@ import { useCallback, useEffect, useMemo, useState } from "react"; import { useSearchParams } from "react-router-dom"; -import { Check, CircleAlert, Copy, ExternalLink, Plug, RefreshCw, Settings2, Unplug } from "lucide-react"; +import { ArrowRightLeft, Check, CircleAlert, Copy, ExternalLink, Plug, RefreshCw, Settings2, Unplug } from "lucide-react"; import { api } from "../api.js"; import { useAuth } from "../App.jsx"; import { Badge, Button, cx, Dialog, ErrorNote, Field, fmt, Panel, Spinner, timeAgo } from "../ui.jsx"; @@ -77,8 +77,9 @@ function AppDialog({ platform, onClose, onSaved }) { ); } -function PlatformCard({ platform, conn, client, isAdmin, mediaLinks, onSetup, reload, setError, quota }) { +function PlatformCard({ platform, conn, client, clients, isAdmin, mediaLinks, onSetup, onMoved, reload, setError, quota }) { const [busy, setBusy] = useState(null); + const [moving, setMoving] = useState(false); const [targets, setTargets] = useState(null); const needsMediaLinks = ["tiktok", "threads", "gbp"].includes(platform.id) && !mediaLinks; @@ -114,7 +115,7 @@ function PlatformCard({ platform, conn, client, isAdmin, mediaLinks, onSetup, re
{conn.account?.avatar && } {conn.account?.name} - {conn.account?.username && @{conn.account.username}} + {conn.account?.username && @{String(conn.account.username).replace(/^@+/, "")}}
{conn.account?.followers != null && <>{fmt(conn.account.followers)} {platform.id === "youtube" ? "subscribers" : platform.id === "reddit" ? "karma" : "followers"} · } @@ -138,6 +139,18 @@ function PlatformCard({ platform, conn, client, isAdmin, mediaLinks, onSetup, re )} + {isAdmin && conn && moving && ( + + + + )} + {needsMediaLinks &&
Image and video posts need PUBLIC_URL set on the server (e.g. https://app.quorlasocial.com).
}
@@ -145,6 +158,7 @@ function PlatformCard({ platform, conn, client, isAdmin, mediaLinks, onSetup, re {isAdmin && platform.app.configured && !conn && } {isAdmin && conn && } {isAdmin && conn && } + {isAdmin && conn && } {isAdmin && conn && } {isAdmin && platform.app.configured &&