Skip to content

feat: add AppPageProps interface for full-bleed app page support - #8

Merged
pikann merged 1 commit into
masterfrom
feature/add-app-page-props
Oct 25, 2026
Merged

pikann merged 1 commit into
masterfrom
feature/add-app-page-props

Conversation

@pikann

@pikann pikann commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds the AppPageProps type for the new app.page extension point, so plugins can register a full-bleed, top-level page that no sidebar lists.

  • src/extension-points.ts: new AppPageProps extends BaseExtensionProps, added to the ExtensionPointProps union and to the extension point list in the header comment.
  • src/index.ts: exports AppPageProps.

Why

A plugin sometimes needs its own URL on the Paca origin. The usual case is the address an external service redirects the browser back to, such as an App-installation or OAuth callback. app.page renders at /plugin-pages/:pluginId/:slug (nav item scope: "app").

Behavior notes (documented in the type's JSDoc)

  • The page sits under the host's authenticated layout. By the time it mounts, an expired access token has been refreshed, or the user has signed in and been returned to the page.
  • The injected api client calls the plugin's own backend as that user. It has no projectId (global scope).
  • The callback's query string should be read from window.location and treated as untrusted input.

Notes

  • Type-only change with no runtime impact. AppPageProps adds no props beyond BaseExtensionProps, like AdminPageProps.
  • Pairs with the host-side app.page extension point support in the Paca app.

@pikann
pikann merged commit 02e3765 into master Oct 25, 2026
1 check passed
@pikann
pikann deleted the feature/add-app-page-props branch October 25, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant