- Connector lists Instagram accounts assigned to the system user without a
Page; numbers, inbox, mentions and publishing work for them
- Clients link by Page or Instagram account ("Link an account"); Facebook
features explain the client has no Page instead of failing
- Drafts for Instagram-only clients drop Facebook automatically
- Images for Instagram-only clients are hosted via the agency's own Page
(META_MEDIA_PAGE_ID, unpublished); never falls back to a client's Page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Refresh on a client with no Facebook Page now returns a clear 400 error
instead of silently replying "started"
- Client page shows "Not linked to a Facebook Page" with a Link a Page
dialog (admins) and shows refresh errors
- New POST /api/clients/:slug/link-page links an existing client folder to
an unlinked Meta Page, keeping its name and files
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- docs/hosting.html: step-by-step setup of app.quorlasocial.com with Docker
- env.js: trim spaces/tabs Docker keeps after "=" (broke the Meta token)
- Dockerfile: chown only writable folders (build step 55s -> 2s)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dashboard (content library, publishing queue with approvals, inbox, team
management, AI runs), Meta connector, branded PDF reports, agent skills,
and Docker packaging (Dockerfile, docker-compose with Caddy HTTPS,
backup and path-relocation scripts).
Client data, live data and secrets are excluded via .gitignore.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>