Skip to content

feat(setup-checks): let ExApps surface setup checks in the admin overview#908

Draft
oleksandr-nc wants to merge 1 commit into
mainfrom
enh/exapp-setup-checks
Draft

feat(setup-checks): let ExApps surface setup checks in the admin overview#908
oleksandr-nc wants to merge 1 commit into
mainfrom
enh/exapp-setup-checks

Conversation

@oleksandr-nc

@oleksandr-nc oleksandr-nc commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Implements #888.

ExApps can now surface admin-facing setup checks in Settings > Administration > Overview, next to the
core ones (e.g. an ExApp warning that it isn't configured correctly). An ExApp opts in with
POST /api/v1/setup_check (and DELETE to opt out); app_api registers a single aggregate "External
Apps" ISetupCheck, and the results come from each opted-in ExApp's /setup_checks endpoint. A down
or slow ExApp shows "not responding".

The SetupCheck page itself does no HTTP. The fan-out to ExApps runs entirely in the background (a
10-min TimedJob plus a one-off job that an admin's page visit enqueues, stale-while-revalidate) and
stores the results in IAppConfig; the page just reads those, filtered to the currently opted-in and
enabled ExApps. So a slow, down, or errored ExApp can never slow down the admin page.

Notes:

  • No new table or migration: the opt-in marker and the computed results both live in IAppConfig.
  • ExApp text is escaped and link URLs validated before rendering; response size, string length, and entry count are bounded.
  • Deploy/init errors stay out of scope (already shown on the ExApp management page).

Draft: the nc_py_api helper (a @setup_check decorator) and docs are a follow-up; this is the
server/app_api side. NC35-only, not backported.

@oleksandr-nc oleksandr-nc force-pushed the enh/exapp-setup-checks branch 2 times, most recently from ca6a6b9 to 68efcb0 Compare June 27, 2026 13:19
…view

Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
@oleksandr-nc oleksandr-nc force-pushed the enh/exapp-setup-checks branch from 68efcb0 to 1942754 Compare June 27, 2026 14:53
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