Version 2.0.40 Beta
FireFront X — Release Notes
A seriously big FireFront X update :fire:
FireFront X has been moving quickly.
This release represents a substantial step forward for the platform, with major work across the mobile experience, administration, subscriptions, events, onboarding, communications, kiosk reliability and the wider FireFront X ecosystem.
A lot has changed under the bonnet — and quite a bit has changed where you can see it too.
:android: A Better Mobile FireFront X
FireFront X is being built for people who aren't necessarily sitting behind a desk.
Whether you're at the station, beside an appliance, attending an activity or checking something while you're out and about, the platform needs to work properly from your phone.
We've completed a significant mobile-focused pass across FireFront X, improving:
- Responsive page layouts
- Navigation on smaller screens
- Mobile-friendly forms
- Tables and data presentation
- Touch targets and actions
- Spacing and readability
- Overflow behaviour
- Kiosk reliability
- General usability across phones and tablets
This isn't about creating a cut-down "mobile version" of FireFront X.
It's about making FireFront X work wherever our people are.
:fire: Kiosk Improvements
The station kiosk experience has received some attention as well.
We've worked on kiosk reliability and addressed issues surrounding member identification, including recognition of member numbers.
The goal remains simple: arriving at the station and interacting with FireFront X should be fast, reliable and require as little mucking around as possible.
:credit_card: Subscription Management
The FireFront X administration platform now has considerably more groundwork around subscription management.
We've worked across:
- Subscription Plans
- Organisation Subscriptions
- Subscription Invoices
- Subscription administration
- Plan configuration
We've also improved the way pricing is represented.
Administrators shouldn't have to think in terms of database values such as "1500 cents". FireFront X should speak human, so monetary values can be presented and managed as actual currency amounts.
Plan limits
The subscription architecture is also being expanded so plans can control platform allowances.
This includes the ability to support limits such as:
- Maximum members
- Maximum brigade/organisation administrators
- File storage/upload allowances
- Feature or resource limits
- Unlimited allowances for appropriate plans
This lays important groundwork for offering different FireFront X plans without building completely different versions of the application.
:date: Events
We've addressed problems affecting the Events area of FireFront X, including server errors that prevented the module from loading correctly.
Events remain an important part of the broader FireFront X vision for managing brigade activities and operations from one place.
:envelope: Email & Invitations
FireFront X now has production outgoing email configured and working.
That means the platform can properly communicate with its users rather than relying entirely on somebody remembering to tell Dave that he has an account. :wink:
We've worked on:
- SMTP delivery
- Application email configuration
- Invitation emails
- Invitation expiry
- Account activation
- Password creation
- Email verification during activation
We also investigated and addressed issues in the invitation lifecycle where an accepted invitation could leave the underlying user in an invited state rather than completing account activation correctly.
:bust_in_silhouette: User Onboarding
The account invitation and activation experience has been getting some much-needed attention.
The intended journey is becoming much clearer:
Invite → Email → Activate → Set password → Account enabled → FireFront X
This work is also laying the foundations for the next major authentication improvement coming to the platform.
:closed_lock_with_key: FireFront X Identity
We're building a central authentication service called FireFront X Identity.
Our dedicated Identity platform is now running at:
It uses OpenID Connect and will eventually provide a consistent FireFront X account experience across the ecosystem.
The architecture deliberately separates two responsibilities:
FireFront X Identity determines who you are.
FireFront X determines what you're allowed to do.
Brigade memberships, organisation memberships, roles, permissions, sanctions and platform access remain controlled by FireFront X.
The first integration into the main FireFront X application is currently being developed.
Importantly, we're keeping the existing local authentication available during the transition rather than putting every egg into the SSO basket on day one.
:world_map: Mapping Improvements
We've selected Leaflet-based mapping components as part of the next round of FireFront X improvements.
This will give us a much better foundation for location-aware features throughout the platform, including the ability to select locations visually rather than expecting people to know coordinates.
For a platform designed around emergency-service organisations, good spatial information opens up some very interesting possibilities.
:bar_chart: Better Tables
We're also introducing more capable table functionality throughout FireFront X.
The goal is to make larger operational and administrative datasets easier to work with through better:
- Searching
- Filtering
- Sorting
- Column management
- Data presentation
- Mobile behaviour
This is particularly important as organisations accumulate more members, activities, equipment and operational records.
:memo: FireFront X Onboarding
We've launched a dedicated onboarding platform at:
Powered by our self-hosted forms infrastructure, this gives us a dedicated environment for structured onboarding, information collection and future FireFront X workflows without trying to cram every external process into the main application.
:motorway: FireFront X Journey
We've also launched:
Journey gives FireFront X a dedicated home for the product roadmap, feature requests, feedback and communication around where the platform is heading.
The platform also gives us foundations for additional customer-facing resources including a Help Centre and service/status information.
Instead of feature requests disappearing into messages, conversations and Pete's increasingly questionable number of browser tabs, there's now somewhere for them to live.
:books: Help Centre
Work has begun on establishing a proper FireFront X Help Centre.
As FireFront X grows, documentation needs to grow alongside it.
The aim is to create a useful self-service knowledge base for things such as:
- Getting started
- Account management
- Administration
- Common workflows
- Feature guides
- Troubleshooting
- Frequently asked questions
A good platform shouldn't require somebody to message us every time they need to remember where a button lives.
:gear: Infrastructure Cleanup
We've also done some serious housekeeping behind the scenes.
Several experimental and retired services have been removed from our infrastructure, freeing resources for the systems we're actually using.
Old development/project-management environments including Kaneo, VibeCoder and Spaceworks were retired, along with their containers, storage and associated reverse-proxy configuration.
That work recovered a substantial amount of VPS storage and reduced unnecessary resource usage.
Less abandoned Docker archaeology is always a win.
:bricks: What's Next?
There's plenty more coming.
Current priorities include completing FireFront X Identity integration, continuing the mobile experience work, introducing the new mapping and advanced table components, improving onboarding, expanding subscription controls and continuing to polish the everyday workflows people actually use.
We're also exploring longer-term capabilities including community/forum functionality and broader single sign-on across the FireFront X ecosystem.
The goal hasn't changed:
Build a platform that takes the administrative burden away from the people who would rather be getting on with the job.
FireFront X continues to grow — one release, one bug and occasionally one stubborn Docker container at a time. :fire:
