Changelog

What's new and improved in Sleak AI.

Multi-Project Recruiting & Unified Table Filters

v2.5

Two major changes ship today: a full recruiting project hub that replaces the old single-project redirect, and a unified filter system rolled out across every major table in the platform.

Recruiting hub page showing a table of projects with status badges, persona, applicant count, and due date columns
Recruiting hub page showing a table of projects with status badges, persona, applicant count, and due date columns

Multi-Project Recruiting Hub

Your recruiting dashboard is now a full project listing. From /recruiting, you see all projects at a glance — status, assigned persona, applicant count, and due date included. Create new projects in seconds, edit existing ones, or remove what you no longer need, all without leaving the hub.

  • Project hub — dedicated listing page replaces the old auto-redirect to the first project
  • Self-service CRUD — create, edit, and delete projects via dialogs, gated by existing permissions
  • Project switcher — jump between projects directly from the applicant view header, no round-trip to the hub required
  • Optional video step — when no intro video URL is configured, that step is skipped automatically in the applicant flow

Unified Table Filters

Calls, personas, manage personas, applicants, teams, and users all now share the same filter building blocks: a single Filter button that opens a structured dropdown, active filters shown as dismissible chips below the search bar, and a clear-all control. Previously each page had its own ad-hoc filter implementation.

This means you get the same keyboard-friendly, chip-based experience everywhere — and future filter additions to any table will be faster to ship.

Calls table showing the unified filter bar with active filter chips for date range and persona
Calls table showing the unified filter bar with active filter chips for date range and persona

Head to Recruiting to try the new hub, or open any table page to see the updated filters in action.

Scoped Persona Sharing, Call Filters & Analysis RBAC

v2.4

Filtering your workspace just got significantly smarter. This release ships three tightly connected upgrades: scoped persona sharing filters, score-range and persona filters on the calls table, and role-based access control for the Analysis page — all backed by new database infrastructure for full-text member search and an infinite-scroll member combobox rolled out across the product.

Manage Personas table with "Shared With" filter dropdown open, showing workspace option and a team sub-menu scoped to only the teams the current user belongs to
Manage Personas table with "Shared With" filter dropdown open, showing workspace option and a team sub-menu scoped to only the teams the current user belongs to

Persona "Shared With" filter — scoped to your teams

The old visibility filter exposed internal DB values ("workspace", "restricted") that were confusing and showed teams you weren't part of. It's replaced with a Shared With filter that mirrors the public persona grid experience.

Non-admin members see only the teams they belong to. Admins and editors see all org teams. This means the filter is always relevant — no noise from teams that have nothing to do with you.

Score-range and persona filters on Calls

You can now filter your calls table by score range (0–100) and by persona. Both filters integrate into the standard filter dropdown and update the table in real time. The score-range input uses a new reusable FilterNumberRangeSub component — available to any future table that needs numeric min/max filtering.

Calls table with filter dropdown open showing a persona multi-select list and a score range input with 0–100 min/max fields
Calls table with filter dropdown open showing a persona multi-select list and a score range input with 0–100 min/max fields

Analysis page — permission-gated with team scope

The Analysis page now requires the analysis:read permission. Members without it are redirected to a permission error instead of seeing an empty or broken state.

Team admins can access the page but only see data for members within their managed team — enforced entirely server-side. The client cannot manipulate the scope.

Infinite-scroll member search, everywhere

A new AddOrgMemberCombobox replaces the previous member search across programs, teams settings, and user settings. It uses infinite scroll (IntersectionObserver sentinel) backed by a new useInfiniteOrgMembers hook with debounced full-text search powered by a fullName generated column added to the profiles table.

AddOrgMemberCombobox open inside the Programs assigned-users panel, showing a search input with infinite-scroll results loading as the user scrolls
AddOrgMemberCombobox open inside the Programs assigned-users panel, showing a search input with infinite-scroll results loading as the user scrolls

Head to Manage → Personas, Calls, and Analysis to see these changes in action.