Revision Log & Changelog

Home
V1.4.0June 2026Live

Collapsible Completed Views & Custody Board Customizations

Added collapsible sections to hide completed inmates on both dashboard views, interactive sorting, custom housing locations tracking, and custody classification highlights.

UX/UIcollapsible-sections
View details

Collapsible Completed Sections

User Request

Hide completed inmates that are no longer in a tank in a section that can be hidden/expanded.

Build Changes

Created collapsible completed/done panels at the bottom of the Custody table and inside the Main Jail unassigned sidebar.

Databasehousing-locations
View details

Jail Housing Locations & Custom Cells

User Request

Add a column for housing location on Custody board, and display it next to inmates on the Main Jail holding board.

Build Changes

Added housingLocation field to model and routes. Implemented editable Loc / Cell inputs in the table, and location badges in the tank grid.

UX/UIdashboard-customizations
View details

Custody Sorting, Transitions, and Header Cleanup

User Request

Support sorting on custody board, remove floor selectors, adjust tank headers, and automatically map placed inmates to tanks status.

Build Changes

Built interactive headers for sorting, implemented automatic callStatus updates in the PATCH action, and simplified tank card layouts.

V1.3.0June 2026Live

Wheelchair Tracking & Unified Custody Metrics

Introduced dedicated wheelchair need tracking, unified custody UI indicators and backgrounds, restructured the custody selection sequence, and corrected docket stats calculations.

UX/UIwheelchair-tracking
View details

Dedicated Wheelchair Need Tracking

User Request

Add a way to flag when a defendant requires a wheelchair without having to remove their location/classification.

Build Changes

Added a needsWheelchair boolean field to the database, updated the PATCH endpoint to save the field, and added an interactive wheelchair ♿ icon toggle next to the name of in-custody defendants.

UX/UIunified-custody
View details

Unified Custody Indicators & Ordered Dropdown Options

User Request

Unify custody row backgrounds and checks, sort classification options with correct backgrounds, and resolve duplicate MJ options.

Build Changes

Consolidated in-custody checks to target all custody classifications consistently. Sorted dropdown menus sequentially (base, OPP, PC, IOP, ADSG) and removed duplicate MJ boxes.

Databasestats-corrections
View details

Corrected Docket Statistics Counting

User Request

Ensure Present and Zoom checked-in people are not counted as in-custody in statistics.

Build Changes

Updated the Live Docket stats dropdown counters to align with unified custody logic, grouping checked-in Present and Zoom defendants under 'Out' instead of leaving them out of counts.

V1.2.0June 2026Live

All-Department Live Docket Alphabetical Sorting

Added a sorting exception for the 'All' departments selection in 'Live Docket' mode so that co-defendants remain sorted purely alphabetically.

UX/UIlive-docket-sorting
View details

All-Department Live Docket Alphabetical Sorting

User Request

When in Live Docket view with 'All' departments selected, do not group/sort co-defendants; leave them sorted alphabetically instead.

Build Changes

Updated the client-side sorting logic to skip case-grouping and co-defendant matching in Live Docket view when the department filter is set to 'All'.

V1.1.0June 2026Live

Granular Permissions & Case Page Numbering

Added granular access control overrides (SUPERUSER roles, canEdit dashboard write permissions, custody restrictions) and automated court calendar case page numbering.

UX/UIpage-numbering
View details

Automated Case Page Numbering System

User Request

Automatically calculate and assign page numbers to court hearings, grouping co-defendants under a single cell and displaying the Pg column.

Build Changes

Created client-side co-defendant page grouping and numbering algorithms. Enabled customizable column toggles showing the new 'Pg' column, and supported manual overrides via inline inputs.

Securitygranular-permissions
View details

Granular Access Control Overrides

User Request

Add granular permissions for users (edit vs view-only, custody views toggling) and introduce SUPERUSER management controls.

Build Changes

Updated user schema with accessCustody and canEdit fields. Expanded Admin Console with role dropdowns, toggle buttons for custody and edit privileges, and secured mutation APIs.

UX/UIcustody-visibility
View details

Permanent Custody Board Done/Drop Visibility

User Request

Remove the 'Show Done' filter toggle on custody/tank views and ensure completed items are permanently visible.

Build Changes

Bypassed hideCompleted checks on custody housing boards and jail tanks, and hid the redundant 'Show Done' UI toggle on those views.

Securityauth-verification-fixes
View details

Email Verification OTP Loop & Silent Session Refresh

User Request

Fix verification issues where manually approved users are still prompted for email OTP codes.

Build Changes

Automatically verified email checkins upon manual admin approval. Implemented silent session refreshment when DB role/status credentials diverge.

Databasesync-performance
View details

Bulk Calendar Sync Optimizations

User Request

Optimize calendar sync queries and update department name parsing fallbacks.

Build Changes

Replaced sequential database updates during docket sync with bulk queries. Updated court fetcher to scrape clean department names from rows.

V1.0.0June 2026Live

Production Ready System Release

First official release of Bailiff Master, moving out of the local development sandbox into cloud hosting on Vercel with a production PostgreSQL database.

Databasedb-migration
View details

Production PostgreSQL Database Migration

User Request

Transition the local database storage out of SQLite to a production-grade relational database for live multi-user coordination.

Build Changes

Configured PostgreSQL provider in schema.prisma, established Vercel build scripts for Prisma client generation on deploy, and migrated local schema seeding.

Infradomain-setup
View details

Custom Domain & DNS Setup

User Request

Resolve Squarespace domains and Vercel hosting setup conflicts to host the live app securely.

Build Changes

Configured domain CNAME/A records pointing to Vercel, resolved SSL/TLS issues, and linked domain bailiffmaster.com.

Securityaccess-controls
View details

Admin Access Controls & Domain Restricts

User Request

Set up auto-approval email domains and role-based custody access constraints (full access for @sacsheriff.com, restricted custody board for @saccourt.ca.gov and @saccounty.gov).

Build Changes

Added accessCustody toggle to User model, enforced in dashboard view. Integrated Admin settings panel to toggle controls per account.

Brandingbranding
View details

Bailiff Master Branding & Guide

User Request

Rename the system from Court Check-in to Bailiff Master.

Build Changes

Updated all logos, icons, titles, and README documentation to match the new brand identity.

UX/UIdropdown
View details

Department Dropdown UI Improvements

User Request

Refine the department dropdown styling to match the rest of the Master Dashboard buttons.

Build Changes

Modified style classes and transition effects on dropdown selectors to match the high-contrast view actions.

Securityauth-middleware
View details

Session Validation & OTP Middleware Checks

User Request

Ensure pending or rejected users cannot bypass route security using outdated session cookies.

Build Changes

Enhanced middleware.ts and getSessionUser to automatically invalidate and clear cookies for accounts not marked as APPROVED.

Build System Spec

  • Build Versionv1.4.0
  • Client HostVercel Edge
  • DB ConnectionPostgreSQL
  • ORM LayerPrisma ORM
  • Platform FrameworkNext.js 16 (App Router)
  • Runtime EnvNode.js 18+ / React 19
  • Routing MiddlewareJWT Cookie Checked

Deployment Health

The application state is monitored for secure and performant connection handling across agency domains.

Main Site Online100%
Database ConnectionActive