Groundfloor Docs
Shell apps

Troubleshooting

Fix the most common problems when building and publishing a Shell app.

The app doesn't load

ProblemLikely causeWhat to do
The Shell says the app can't be foundThe address uses the wrong slugOpen /apps/<app-slug> with the slug shown on the app's page in the Client Portal
The Shell shows the app but no contentNothing has been published yetRun npm run release and gf apps publish --path release.zip, then check the app's Releases tab
The Shell shows an error where the app should beappId in groundfloor.manifest.json and APP_ID in src/appIdentity.ts don't match the slugMake all three the same, then publish again
The app crashes as soon as it opensThe app is wrapped in its own BrowserRouterRemove it. The Shell already provides the router
Publishing works, but the old version still showsThe browser cached the previous releaseReload the page without the cache
gf apps publish rejects the fileIt isn't the release.zip from npm run releasePublish release.zip, not a ZIP of the dist folder
ProblemLikely causeWhat to do
Links take users out of the appLinks start with /, such as to="/records"Use useAppPath("records"). See Manifest and routes
A page is missing from the navigationIt has no route in the manifest, or the route has "hidden": trueAdd or unhide the route, then publish again
Your app changes how the Shell looksTailwind's base reset is on, or another framework's CSS is loaded globallyKeep preflight: false; load other frameworks with FederatedStyleRoot. See Styling
Inputs and buttons have no bordersCSS after @tailwind utilities overrides the kit's resetPut your own rules in a Tailwind layer, before the utilities

Data, files and flags

ProblemLikely causeWhat to do
401The user isn't signed in, or the token expiredGet a fresh token with __GF_GET_ACCESS_TOKEN__() before each request. Locally, run gf login again
403 on dataThe user's role has no access to that collectionGrant it in Data → Data Vault → the collection's Access. See Data
403 on everythingThe user signed in but has no role in your siteGive them a role on the Users tab of App authentication
404 on a collectionThe collection name is wrong, or it doesn't exist in this workspaceCheck the name in Data Vault
A file upload never appearsThe upload wasn't confirmedCall …/files/{file_id}/finalize after sending the file. See Files
A flag change doesn't showThe hooks check every 60 seconds, or the app reads another environmentWait a minute; check which environment the app is bound to
It works locally but not on the Shell siteLocally you act as a team member; on the site, as an app userGrant the app user's role access. See Local development

Still stuck? Check your release on the app's page in the Client Portal, and the Coderunner logs if your app calls a backend.

On this page