diff --git a/ui/src/views/Forecast.jsx b/ui/src/views/Forecast.jsx index 4fbd522..ffedd80 100644 --- a/ui/src/views/Forecast.jsx +++ b/ui/src/views/Forecast.jsx @@ -796,7 +796,14 @@ export default function Forecast({ sources = [], sourceId, versions = [], versio // `expressions` wholesale, so expressions applied earlier were being wiped // by the very next line and the ordering columns never appeared in the // column list. - await syncOrderExpressions() + try { + await syncOrderExpressions() + } catch (err) { + // Its own try covers only restore(); save() and the builders sit outside + // it, and a throw there would abort the rest of initViewer silently. + console.error('[pf-order] threw', err) + flash(`Column ordering failed: ${err.message || err}`, 'error') + } if (viewer._pspUpdate) viewer.removeEventListener('perspective-config-update', viewer._pspUpdate) viewer._pspUpdate = async () => {