diff --git a/client/src/components/apps/tabs/UpdateTab.jsx b/client/src/components/apps/tabs/UpdateTab.jsx index fa27a54a72..509a6d8492 100644 --- a/client/src/components/apps/tabs/UpdateTab.jsx +++ b/client/src/components/apps/tabs/UpdateTab.jsx @@ -394,6 +394,10 @@ export default function UpdateTab() { const n = installState.pendingMigrations.count; installIssues.push(`${n} pending data migration${n === 1 ? '' : 's'} not yet applied.`); } + if (installState?.submodules?.stale) { + const n = installState.submodules.paths?.length || 0; + installIssues.push(`${n || 'One or more'} submodule checkout${n === 1 ? ' is' : 's are'} out of sync with the revisions pinned by PortOS.`); + } return (
@@ -471,7 +475,7 @@ export default function UpdateTab() {
Your checked-out code is ahead of what’s running or installed — this happens after a manual git pull without ./update.sh. - Reconcile to finish the update (install dependencies, rebuild, run migrations, restart). + Reconcile to finish the update (sync submodules, install dependencies, rebuild, run migrations, restart).