# 11-Feb-2026 — Deploy, Ci and 2 more areas: 1 feature and 3 fixes [#160](https://github.com/nbarrett/ngx-ramblers/issues/160)

## [build 479](https://github.com/nbarrett/ngx-ramblers/actions/runs/21922199377) — [commit efc8277](https://github.com/nbarrett/ngx-ramblers/commit/efc827787a51830055d40b3eb4e66d1341cb614b)

_____

Add custom ngx: Iconify icon pack with brand SVGs for MongoDB, Cloudflare,
Fly.io, AWS, Brevo, Express, Meetup, Mailchimp, OS Maps, Ramblers HQ, and
NGX Ramblers. Register icon packs lazily in app.module.ts. Replace devicon
dependency with project-specific custom icons.

### **deploy**: close MongoDB connection after loading secrets to prevent process hang ([#160](https://github.com/nbarrett/ngx-ramblers/issues/160))

The importSecretsFromDatabase function opens a mongoose connection to load
secrets but never closes it, leaving the Node.js event loop alive indefinitely.
This caused the Fly.io deploy step to hang forever in CI.
Add disconnect() to mongoose-client and call it after loading secrets.

### **ci**: add deploy step timeout and cancel-in-progress for deploy concurrency ([#160](https://github.com/nbarrett/ngx-ramblers/issues/160))

Add 15-minute timeout to Fly.io deploy step to prevent indefinite hangs.
Enable cancel-in-progress on the deploy concurrency group so new pushes
automatically cancel stuck deployments.

### **test**: make DateUtilsService tests timezone-independent ([#160](https://github.com/nbarrett/ngx-ramblers/issues/160))

Use dateUtils.asDateTime() factory method instead of DateTime.fromObject()
to ensure consistent Europe/London timezone handling across all environments.