Client Status Visibility Automation: A Tab Labeled "All" Was Not Showing All

A filter applied to an already-filtered list can only ever narrow what was never there
A tabbed status filter built entirely in client-side code is a completely reasonable, common pattern — fetch a list once, then let a person switch between views of it instantly with no further network request needed. That pattern's entire correctness depends on one unstated assumption holding true: that the list being filtered client-side is actually the COMPLETE set the filter is meant to operate over. The moment the initial fetch itself applies a narrower scope than the filter UI implies — here, a service defaulting to active-only when no filter is explicitly requested — every one of the client-side filter's own tabs inherits that same narrowing silently, with nothing in the filter logic itself capable of detecting or correcting it, because from the filter's own point of view, it received a list and filtered it exactly as instructed.
How the underlying problem shows up before you fix it
A screen offers multiple named filter options (here, four client status tabs), and one option is explicitly meant to represent the unfiltered, complete set — commonly labeled something like "All."
The data-loading call feeding all of those filter options omits an explicit request for every status, relying instead on whatever the underlying service defaults to when no filter is specified.
The tab labeled to represent the complete set behaves, in practice, identically to whichever narrower default the underlying fetch actually applied — with no visible error, since the tab is doing exactly what its own client-side filtering logic says: showing everything IN THE LIST IT RECEIVED.
A record that transitions to the excluded status (here, a client being paused or deactivated) becomes invisible across every filter option simultaneously, including the one meant to catch everything — because the record was never present in the underlying list to begin with, not because any individual filter incorrectly excluded it.
The underlying service already supports fetching the complete, unfiltered set through an existing option — the gap is not a missing capability in the service itself, but a call site that never actually requested it.
Why an 'All' tab and a genuinely complete list can quietly diverge
Building a tabbed filter UI and writing the data-fetching call that feeds it are, in most codebases, two closely related but separately reasoned-about pieces of work — the filter logic operates entirely on whatever list it is handed, and the fetch call is written once, often before every tab's own exact requirements have been fully considered. A default choice made in the fetch call for entirely reasonable, unrelated reasons — returning only active records unless told otherwise, a sensible general-purpose default for most OTHER uses of the same service — can silently become the actual, binding constraint on what an "All" tab is capable of ever showing, without either piece of code containing anything that looks, on its own, like a mistake. The gap lives specifically in the unstated assumption connecting the two: that the fetch's own scope and the filter UI's own stated promises agree.
How Centriu Maestro aligned what the fetch retrieves with what the tabs promise
Centriu Maestro's client management screen structures its own status filtering as a common, standard pattern: a single data-loading function retrieves a list of clients, and four tabs — Active, Paused, Inactive, All — each apply their own filter to that SAME in-memory list, switching between views instantly with no additional request needed as a person clicks between tabs.
The data-loading function's own call to the underlying client-listing service, before this fix, passed no status filter at all. The service's own default behavior in that case — confirmed directly from its own existing implementation — is to return only clients with an active status, a default written for the service's own general-purpose use across the codebase, not written with this specific four-tab screen's own requirements in mind. Because every one of the four tabs filtered the SAME list the data-loading function returned, every tab inherited that same active-only scope automatically: Paused and Inactive searched a list that structurally could never contain a paused or inactive client, and All searched the identical active-only list, despite its own label implying the complete set.
The fix is a single, targeted change to the data-loading function's own call: it now explicitly requests `includeInactive: true`, an option the underlying client-listing service had already implemented and already supported, simply never invoked by this particular screen before. With that option passed, the service returns clients across every status, and the four tabs' own existing filtering logic — entirely unchanged — now operates on the actual, complete list its own labels always implied it was filtering. The fix was verified by exercising a full client lifecycle directly — create, edit, pause, reactivate — using a disposable test client specifically created for that purpose, and confirming live that the All tab genuinely shows every real client regardless of status, the Inactive tab correctly surfaces a deactivated client, and the reactivation control, previously unreachable for want of any way to find the client it needed to act on, now works end to end.
What is actually built today
Centriu Maestro's client-listing data fetch explicitly requests every client status, rather than relying on the underlying service's own active-only default.
All four status tabs — Active, Paused, Inactive, and All — now filter a genuinely complete list, with the All tab correctly showing every client regardless of status for the first time.
A paused or deactivated client remains reachable and reactivatable through the interface, closing a state that had previously made such a client invisible and unrecoverable through the UI alone.
The fix required no change to any of the four tabs' own filtering logic — each already correctly implemented its own specific status filter; the gap was entirely in what the shared underlying fetch retrieved for all of them to filter.
The fix was verified against a full, real client lifecycle (create, edit, pause, reactivate) using a disposable test record, not merely inferred from reading the corrected code.
A guest list that only ever printed the names still at the party (illustrative framing of the actual measured finding)
Before the fix, a check-in desk offering four different guest lists to browse — Currently Here, Left Early, No-Show, and Full Guest List — printed all four from a single master sheet that itself only ever recorded who was CURRENTLY still at the party, silently dropping anyone who had left. The sheet labeled "Full Guest List" was, in practice, identical to "Currently Here," because both were drawn from the same incomplete master record. After the fix, the master sheet itself records every invited guest regardless of whether they are still present, and all four lists finally show what their own labels always promised.
What changes operationally
Centriu Maestro's client status tabs now filter a genuinely complete client list, closing a gap where a paused or deactivated client had been silently excluded from every tab, including the one explicitly labeled to show all of them.
When this is not the right fit
This automation covers specifically how Centriu Maestro's client management screen fetches and filters clients by status. It is a distinct concern from this pillar's separate pages on Maestro's own campaign-level status handling — pausing, resuming, or a campaign being deleted directly on an ad platform — which operate on entirely different records and entirely different code paths.
Filtering client-side by default vs. confirming the fetch matches every filter option
Fetching once and filtering every tab client-side is an efficient, entirely reasonable pattern precisely because it avoids a separate network request per tab. Its correctness rests entirely on the single fetch actually retrieving the full range every tab claims to filter — an assumption worth explicitly confirming any time a filter option (like an "All" tab) implies a broader scope than whatever default the underlying data source happens to apply when asked for nothing in particular.
Related systems
Main system: Centriu Maestro.
What it does NOT do
- Does not change any of the four status tabs' own filtering logic — each was already correctly implemented; the fix corrects only what the shared underlying fetch retrieves for them to filter.
- Does not change the underlying client-listing service's own default behavior (returning active-only clients when no filter is specified) for any OTHER call site in the codebase — this fix adds an explicit option at this ONE screen's own call, rather than altering the service's general-purpose default.
- Does not affect how a client's status is actually changed (paused, reactivated, deactivated) — this fix is scoped entirely to how clients are FETCHED and DISPLAYED once their status has already changed.
- Does not claim every other screen in Maestro that lists clients was individually audited for the identical gap — this fix closes the one specific, confirmed instance in the client management screen.
- Does not require a person to know which specific status a client currently holds before searching for it — the All tab now genuinely shows every client, regardless of status, as its own label always implied.
Security and governance
Centriu Maestro's client management screen now correctly displays clients of every status, closing a usability gap where a paused or deactivated client became unreachable through the interface entirely. This is a data-visibility fix, not an access-control change; any personal or business data referenced in Maestro's own client records remains subject to Brazil's LGPD (Law No. 13,709/2018). Full detail on access control lives at /governanca and /iso.
Pricing and contracting
Available by monthly subscription, with tiered plans. Values and terms come from the official pricing table at /precos (Centriu's central source — never restated here).
Frequently asked questions
Was any client data actually lost?
No — every paused or inactive client's own record remained fully intact in the database throughout. The gap was entirely in what the client management SCREEN displayed, not in what was stored.
Could a paused client still be found through any other means before this fix?
Not through this specific screen's own UI, which is the primary interface for finding and managing clients by status — a paused or inactive client was, in practice, unreachable and unrecoverable through the interface until this fix.
Why did the "All" tab not simply show everything to begin with?
Because it filtered the SAME underlying list every other tab filtered, and that list itself had already been narrowed to active-only clients before any of the four tabs ever saw it — a gap in what was FETCHED, not in how any individual tab filtered what it received.
How was this fix actually verified?
By exercising a complete, real client lifecycle — create, edit, pause, reactivate — using a disposable test client, and confirming live that all four tabs, including All and Inactive, correctly show the expected clients at each stage.
What does Centriu Maestro cost?
It is sold by subscription with a published starting price — exact current values are on the central pricing page.
See how Centriu Maestro keeps every client visible by status
Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.