{"id":"6aa5cbecc042c4906008aa06","title":"2026 09 12 Issue 99 Build 938","path":"how-to/committee/release-notes/2026-09-12-issue-99-build-938","contentMarkdown":"# 12-Sep-2026 — Maps and Skills: 1 fix and 1 documentation update [#99](https://github.com/nbarrett/ngx-ramblers/issues/99)\n\n## [build 938](https://github.com/nbarrett/ngx-ramblers/actions/runs/34715724735) — [commit 72cad54](https://github.com/nbarrett/ngx-ramblers/commit/72cad5427bc0ada91bf471e45f0e824f4d177e3f)\n\n_____\n\n### **maps**: a job only counts as finished when it says it has finished ([#99](https://github.com/nbarrett/ngx-ramblers/issues/99))\n\n## What's new\n\nA running conversion no longer shows a green tick against its job\nsession while it is still working, and the session you started stays\nselected instead of flicking back to the previous one first.\n\n### **skills**: read a CMS page as a tree and never overwrite one the user is editing\n\nNested rows live on `PageContentColumn.rows`, so a column with empty\ncontentText is usually not empty at all, and a flat read of\nrows[].columns[].contentText will report sections as missing that are\nsitting in nested rows. The skills now say to walk the tree before\njudging what a page contains, to spread rather than rebuild rows and\ncolumns so nothing unseen is dropped, and to rewrite imageSource\nrecursively when copying a page between sites.\n\nThe CMS keeps no version history, so a PUT that replaces rows is\nunrecoverable. The skills now require fetching immediately before the\nwrite, saving a copy first, and asking before writing to a page the user\nhas said they are editing.\n\n### **maps**: keep the job session label live, and find out where an export route's time actually goes ([#99](https://github.com/nbarrett/ngx-ramblers/issues/99))\n\n## What's new\n\nWhile a conversion is running, the job session shown above the progress\nlog keeps up with it: the spinner becomes a tick when the job finishes\nand the elapsed time is the real one rather than 0 ms, without needing a\npage refresh.","contentHtml":"<h1>12-Sep-2026 — Maps and Skills: 1 fix and 1 documentation update <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/99\">#99</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/34715724735\">build 938</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/72cad5427bc0ada91bf471e45f0e824f4d177e3f\">commit 72cad54</a></h2>\n<hr>\n<h3><strong>maps</strong>: a job only counts as finished when it says it has finished (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/99\">#99</a>)</h3>\n<h2>What&#39;s new</h2>\n<p>A running conversion no longer shows a green tick against its job\nsession while it is still working, and the session you started stays\nselected instead of flicking back to the previous one first.</p>\n<h3><strong>skills</strong>: read a CMS page as a tree and never overwrite one the user is editing</h3>\n<p>Nested rows live on <code>PageContentColumn.rows</code>, so a column with empty\ncontentText is usually not empty at all, and a flat read of\nrows[].columns[].contentText will report sections as missing that are\nsitting in nested rows. The skills now say to walk the tree before\njudging what a page contains, to spread rather than rebuild rows and\ncolumns so nothing unseen is dropped, and to rewrite imageSource\nrecursively when copying a page between sites.</p>\n<p>The CMS keeps no version history, so a PUT that replaces rows is\nunrecoverable. The skills now require fetching immediately before the\nwrite, saving a copy first, and asking before writing to a page the user\nhas said they are editing.</p>\n<h3><strong>maps</strong>: keep the job session label live, and find out where an export route&#39;s time actually goes (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/99\">#99</a>)</h3>\n<h2>What&#39;s new</h2>\n<p>While a conversion is running, the job session shown above the progress\nlog keeps up with it: the spinner becomes a tick when the job finishes\nand the elapsed time is the real one rather than 0 ms, without needing a\npage refresh.</p>\n"}