LibreChat/client/src
Marco Beretta b55222b6f4
📆 feat: Weekly Schedules on Several Days (#15120)
* feat: weekly schedules on several days

A weekly cadence has always stored `daysOfWeek` as a list, and the API has always
accepted several, but the dialog offered a single day-of-week dropdown. That
picker could only hold `daysOfWeek[0]`, so a multi-day schedule created through
the API read back as running on one day, and the form needed a preservation rule
to avoid collapsing the rest of the set on an unrelated edit.

The dropdown becomes a row of toggles, one per day, so the control can represent
what the cadence already stores. The preservation rule goes with it: there is
nothing left to preserve once an untouched picker shows the real set.

Each pill is a toggle button rather than a checkbox because it renders as one,
and carries the long weekday name as its accessible label since "Mon" reads fine
at a glance but poorly aloud. The submitted set is sorted, so two schedules
picked in a different order are the same cadence.

Weekly with nothing selected is expressible in the form but not on the wire, so
it blocks submit with a message rather than silently saving as Monday.

* fix: keep the weekday pills one line tall and honest about empty sets

Seven 3rem pills wrapped to a second line inside their md cell, spending
height the dialog's no-scroll budget does not have; they now share the
row equally with the locale's narrow weekday labels, composed on the
shared Button so the pills carry its focus ring rather than a bare
feature-styled element. Both labels are built once per locale instead of
fourteen Intl constructions per keystroke, and the cadence summary no
longer describes the Monday fallback while the form says to pick a day.

* fix: name each weekday pill outright on hover

The narrow labels repeat within a week and read by position; until the
week-order preference lands, the position is fixed Sunday-first, so the
title gives a sighted user the full day name without relying on it.
2026-08-23 15:21:05 -04:00
..
@types
a11y
common
components 📆 feat: Weekly Schedules on Several Days (#15120) 2026-08-23 15:21:05 -04:00
constants
data-provider 📡 feat: Stream Detached Subagent Activity (#15111) 2026-08-22 09:45:27 -04:00
hooks 📱 feat: Offer a Dismissable Strip of Chat Beside the Mobile Drawer (#14990) 2026-08-23 14:34:39 -04:00
lib/rum
locales 📆 feat: Weekly Schedules on Several Days (#15120) 2026-08-23 15:21:05 -04:00
polyfills
Providers 🧹 chore: Sort Client Imports Left Behind by the Import Order Gate (#15139) 2026-08-23 15:18:05 -04:00
routes 📱 feat: Offer a Dismissable Strip of Chat Beside the Mobile Drawer (#14990) 2026-08-23 14:34:39 -04:00
store 🫂 fix: Route Subagent Activity Through the Chat Renderer (#15137) 2026-08-23 15:20:28 -04:00
utils 🫂 fix: Route Subagent Activity Through the Chat Renderer (#15137) 2026-08-23 15:20:28 -04:00
App.jsx
main.jsx
mobile.css
style.css
vite-env.d.ts