Where it appears
Central pages do not run or show the scan. Each surface shares the same in-memory state for the active workspace.
Findings
The scan only checks Analytics when an
analytics_sites row exists for the signed-in user and workspace name. It only checks App Logs when a project key exists and logs_enabled is not false.
Fixes
The automatic update accepts package managers
npm, pnpm, yarn, and bun, runs for at most 300,000 ms, and returns the last 40 output lines. The package directory must resolve inside the workspace and contain a package.json whose dependencies or dev dependencies list @aiolaapp/logger.
Why findings cannot be dismissed
Setup Health has no dismiss action. Previous stored dismissals underaiola:setup-health-dismissed:v1 are removed because hiding a required correction leaves the integration broken. A finding clears only when Check again, an automatic post-update scan, or a later workspace scan no longer detects it.
Scan endpoint
200 and this shape:
analytics.status and appLogs.status are ok, issue, or skipped. Authentication failure, missing user, an ineligible plan, an unavailable workspace, SSH runtime, or missing local root returns a successful skipped result with no findings rather than an error response.
Cache and force refresh
The disk scan considers at most 6,000 files, skips files over 512 KiB, stops at 48 MiB total content, and uses a maximum fallback directory depth of 8. It excludes dependencies, build output, Git data, tests, fixtures, and the bundled
analytics.js file.
Access gating
GUI Lifetime access alone does not satisfy this scan’s plan gate.
Logger update endpoint
string
required
string
required
A directory inside the workspace containing a
package.json that lists @aiolaapp/logger.
