# 02-Dec-2025 — Backup, Content and 2 more areas: 4 features and 1 fix [#93](https://github.com/nbarrett/ngx-ramblers/issues/93)

## [build 382](https://github.com/nbarrett/ngx-ramblers/actions/runs/19852581461) — [commit a7316b9](https://github.com/nbarrett/ngx-ramblers/commit/a7316b9d6fe5d920d1ebb68df830c290434fad6f)

_____

Improve dynamic content copy/move UX, add select-all rows, normalize destination paths, and surface row targets. Ensure Markdown editor loads defaults by name, seed walk-admin help text, and add How To tile linking via absolute navigation. Bundle brand icons for action buttons and icon picker so faMeetup is available everywhere.

### **list-events**: navigation fixes

- improve slug handling for edge cases
- improve dynamic content navigation within route

### Add Support for importing images as part of the Walk Import

- Updated import process to handle the new _images.csv files
- Implemented image association logic (one-to-many relationship: Walk → Images)
- Added image upload/storage handling for the local image files
- Updated /walks/admin/import UI to use a multistep workflow in order to accommodate image collection and upload:
- Upload walks CSV
- Match Walk Leaders to Members
- Add images (CSV + files)
- Import & finish

### **agm-stats**: added walk leader chart

### **backup**: resolve stuck sessions and EventEmitter memory leak ([#93](https://github.com/nbarrett/ngx-ramblers/issues/93))

Fixed two critical issues in backup and restore functionality:
1. Sessions getting stuck in 'in_progress' state
- Added comprehensive error handling in executeBackup() and executeRestore()
- Ensures failed operations properly update session status to 'failed'
- Added error logging for better visibility
2. EventEmitter memory leak with concurrent backups
- Increased WebSocket max listeners from 10 to 20
- Allows backing up all 9 environments simultaneously without errors
3. Added timeout protection for stuck sessions
- Sessions stuck in 'in_progress' for >10 minutes are auto-failed
- Cleanup runs automatically when listing sessions