Files
neonoverlordandClaude Fable 5 e5b4ecbf19
build / build (push) Successful in 5m38s
app: the client inside the Nextcloud frame — app-menu entry + framed page
'Social' in the app menu opens /app: a TemplateResponse whose content area
is one full-bleed same-origin iframe onto /client/ (frame-src 'self'). The
SPA keeps its own document and CSP carve-out; Nextcloud keeps its chrome —
the standard wrap for an SPA that must not inherit the shell's DOM/CSP.
Also canonicalizes /client -> /client/ (trailing slash): entered without
it, Sapper's router sees an empty path and relative resolution escapes
into the app. Brock's direction: it must feel like a normal NC app.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 18:15:29 -07:00

21 lines
739 B
PHP

<?php
/**
* Nextcloud - GoToSocial
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
*
* The Pinnacle client, inside the normal Nextcloud frame: the content area
* is one full-bleed same-origin iframe onto the /client/ route. The SPA
* keeps its own document (and its CSP carve-out); Nextcloud keeps its
* chrome. $_['clientUrl'] comes from ClientController::page().
*/
?>
<div id="gotosocial-client-frame-wrap"
style="position:absolute; inset:0; overflow:hidden;">
<iframe id="gotosocial-client-frame"
src="<?php p($_['clientUrl']); ?>"
title="<?php p($l->t('GoToSocial client')); ?>"
style="width:100%; height:100%; border:0; display:block;"></iframe>
</div>