# 12-Sep-2026 — Maps and Skills: 1 fix and 1 documentation update [#99](https://github.com/nbarrett/ngx-ramblers/issues/99)

## [build 938](https://github.com/nbarrett/ngx-ramblers/actions/runs/34715724735) — [commit 72cad54](https://github.com/nbarrett/ngx-ramblers/commit/72cad5427bc0ada91bf471e45f0e824f4d177e3f)

_____

### **maps**: a job only counts as finished when it says it has finished ([#99](https://github.com/nbarrett/ngx-ramblers/issues/99))

## What's new

A running conversion no longer shows a green tick against its job
session while it is still working, and the session you started stays
selected instead of flicking back to the previous one first.

### **skills**: read a CMS page as a tree and never overwrite one the user is editing

Nested rows live on `PageContentColumn.rows`, so a column with empty
contentText is usually not empty at all, and a flat read of
rows[].columns[].contentText will report sections as missing that are
sitting in nested rows. The skills now say to walk the tree before
judging what a page contains, to spread rather than rebuild rows and
columns so nothing unseen is dropped, and to rewrite imageSource
recursively when copying a page between sites.

The CMS keeps no version history, so a PUT that replaces rows is
unrecoverable. The skills now require fetching immediately before the
write, saving a copy first, and asking before writing to a page the user
has said they are editing.

### **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))

## What's new

While a conversion is running, the job session shown above the progress
log keeps up with it: the spinner becomes a tick when the job finishes
and the elapsed time is the real one rather than 0 ms, without needing a
page refresh.