Changeset 0.10.5 (#61)
This commit is contained in:
47
CHANGELOG.md
47
CHANGELOG.md
@@ -2,6 +2,53 @@
|
||||
|
||||
All notable changes to Chat Switchboard.
|
||||
|
||||
## [0.10.5] — 2026-02-24
|
||||
|
||||
### Added
|
||||
- **`ui-primitives.js` — shared rendering primitives and registries.**
|
||||
Single source of truth for provider types, role definitions, and reusable
|
||||
UI components. Extension-ready via registry pattern (`Providers.add()`,
|
||||
`Roles.add()`). Primitives follow the `renderPresetForm()` pattern:
|
||||
`(container, options) → control object` with `getValues/setValues/clear`.
|
||||
- `Providers` registry — types, labels, default endpoints (was 5 places → 1)
|
||||
- `Roles` registry — names, type filters, hints (was hardcoded in 2 places → 1)
|
||||
- `renderCapBadges(caps, opts)` — consolidates 3 badge builders (compact + detailed)
|
||||
- `renderProviderForm(container, opts)` — replaces 3 form implementations
|
||||
- `renderProviderList(container, opts)` — replaces 3 list renderers
|
||||
- `renderRoleConfig(container, opts)` — replaces 2 role UIs + 4 handlers
|
||||
- `renderUsageDashboard(container, opts)` — replaces 3 usage renderers
|
||||
|
||||
### Fixed
|
||||
- **Admin provider form now auto-fills endpoint on type change.** Was missing
|
||||
from admin (worked in user BYOK and team forms). Now all three scopes use
|
||||
the same primitive with identical behavior.
|
||||
- **Team provider form consolidated.** Was two separate HTML forms (create +
|
||||
edit) with separate listeners. Now a single dual-mode form matching the
|
||||
pattern used by admin and user BYOK scopes.
|
||||
|
||||
### Changed
|
||||
- Provider type definitions removed from `index.html` (2 static `<select>`s)
|
||||
and `settings-handlers.js` (1 dynamic build + 2 endpoint maps). All now
|
||||
sourced from `Providers` registry in `ui-primitives.js`.
|
||||
- Provider list rendering uses event delegation instead of inline `onclick`
|
||||
handlers. Each list returns `{ refresh, getCache }` control handles.
|
||||
- Role configuration uses `data-role-*` attributes for event delegation
|
||||
instead of `id`-based selectors and global `onchange` handlers.
|
||||
- Usage dashboards accept options for compact/full mode, custom API calls,
|
||||
and extension-provided extra columns.
|
||||
- All 16 `confirm()` calls replaced with `showConfirm()` — styled modal
|
||||
dialog matching the app design instead of browser-native dialog. Supports
|
||||
`danger` styling, Escape/Enter keys, click-outside dismiss.
|
||||
- Sidebar collapse icon now always visible (dimmed) next to the logo,
|
||||
brightens on hover. Previously the icon replaced the logo on hover only.
|
||||
When sidebar is collapsed, only the collapse icon shows (logo hidden).
|
||||
- New `.popup-menu` + `.popup-menu-item` shared CSS base for all dropdown
|
||||
and flyout menus. `createPopupMenu(anchor, opts)` primitive available for
|
||||
future menu creation with consistent behavior.
|
||||
- Removed ~360 lines of duplicated code across `admin-handlers.js`,
|
||||
`settings-handlers.js`, `ui-admin.js`, and `ui-settings.js`.
|
||||
- Removed ~40 lines of static HTML form markup from `index.html`.
|
||||
|
||||
## [0.10.4] — 2026-02-24
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user