You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -22,18 +22,25 @@ All notable changes are documented here. The project uses [Semantic Versioning](
22
22
-**Directory workspace** - Added a dedicated Directory page that groups Leads and Vendors under one navigation entry.
23
23
-**Dedicated settings subpages** - Added Inventory Settings and Message Settings pages with persisted settings scaffolding for inventory display and outbound messaging preferences.
24
24
-**Global crash fallback** - Added a top-level React `ErrorBoundary` with a user-facing reload recovery screen.
25
+
-**Verbose error diagnostics toggle** - Added the `verbose_errors` setting so operators can temporarily expose detailed server and crash-screen error messages while debugging.
25
26
26
27
### Changed
27
28
-**Sidebar information architecture** - Reworked navigation into grouped sections with collapsible mode, hover flyouts, unread/pending badges, and live team presence context.
28
29
-**Inventory and leads loading/search UX** - Replaced spinner-only states with skeleton loaders, added contextual empty-search messages with reset actions, and lazy-loaded inventory thumbnails.
-**Theme consistency pass** - Replaced remaining hardcoded accent/focus colors with theme tokens, fixed the Files page elevated-surface token mismatch, and added a max-width constraint to the main layout.
31
32
-**Dashboard polish** - Updated KPI accent styling to use theme variables and improved loading presentation during data fetches.
33
+
-**Route-level bundle loading** - Converted heavy operator and public screens to lazy-loaded routes so the initial client payload is smaller and secondary pages only load when visited.
34
+
-**Quote detail editing safety** - Quote detail now tracks dirty form state, blocks in-app navigation when edits are unsaved, and warns on browser reload/close.
35
+
-**Messages mobile layout** - The Messages workspace now swaps to a focused single-pane detail flow on smaller screens instead of forcing the desktop split-pane layout.
32
36
33
37
### Fixed
34
38
-**Public quote browser tab title** - Public quote pages now set `document.title` from the active quote name.
35
39
-**Toast accessibility** - Toast notifications now announce through `role="status"` and `aria-live`.
36
40
-**Inventory card action labels** - Icon-only item card actions now expose accessible names for assistive technologies.
41
+
-**Spreadsheet import title validation** - Sheets import now rejects numeric-only item titles, preventing Excel date serials and bare numeric IDs from being imported as inventory names.
42
+
-**Item API metadata parity** - Item create/update/bulk upsert flows now preserve `contract_description` consistently while also rejecting numeric-only titles.
43
+
-**Quote creation failure handling** - Quote creation now returns a structured API error instead of bubbling an unhandled server failure.
Copy file name to clipboardExpand all lines: README.md
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,13 +23,16 @@ BadShuffle is a self-hosted event rental software platform for project-centric q
23
23
24
24
## What’s New In v0.0.8
25
25
26
-
`v0.0.8` is the navigation, admin continuity, and UX polishrelease. It reorganizes the operator experience around workflow-based navigation, adds in-app database backup/restore, introduces dedicated directory/settings surfaces, and tightens resilience through better loading, accessibility, and error handling.
26
+
`v0.0.8` is the navigation, admin continuity, UX polish, and Windows host packaging release, now followed by a hotfix pass that focuses on performance, mobile behavior, editing safety, and import resilience. It reorganizes the operator experience around workflow-based navigation, adds in-app database backup/restore, ships packaged Windows `.exe` artifacts for self-hosted deployments, and tightens daily operator workflows with better loading, error handling, and guardrails.
27
27
28
28
-**Navigation architecture refresh** — The sidebar is now grouped around workflows (Projects, Inventory, Messages, Directory, Settings), supports collapse + flyout behavior, and surfaces unread-message plus pending-admin counts alongside live team presence.
29
29
-**Admin continuity tooling** — Admin now includes SQLite backup export/import so operators can migrate or restore data without leaving the app.
30
30
-**New workspace surfaces** — Added a Directory hub for Leads/Vendors plus dedicated Inventory Settings and Message Settings screens for operational preferences.
31
-
-**UX resilience pass** — Added skeleton loading states, contextual empty-search feedback, a global React error boundary, toast screen-reader announcements, and lazy-loaded inventory imagery.
32
-
-**Theme and builder polish** — Replaced more hardcoded UI colors with theme tokens, fixed remaining surface-token mismatches, tightened quote-builder item presentation, and constrained the main content width for better wide-screen balance.
31
+
-**Windows host packaging** — The project is packaged for Windows hosts with separate server, client, and updater `.exe` artifacts so operators can run BadShuffle without a manual Node deployment.
32
+
-**Performance hotfixes** — Heavy operator and public routes now lazy-load on first navigation, reducing the initial client bundle cost for day-to-day use.
33
+
-**Workflow safety hotfixes** — Quote detail editing now warns before reload or navigation when there are unsaved changes, making large project edits harder to lose accidentally.
34
+
-**Responsive messaging polish** — Messages now behaves as a focused single-pane experience on smaller screens, with cleaner thread/detail transitions during mobile use.
35
+
-**Debugging and import hardening** — Settings can enable verbose error output for debugging, quote creation failures now return cleaner API errors, and sheet/item imports reject numeric-only titles that commonly come from spreadsheet date serials or malformed source data.
33
36
34
37
## Core Features
35
38
@@ -51,9 +54,9 @@ BadShuffle is a self-hosted event rental software platform for project-centric q
51
54
52
55
## Near-Term Roadmap
53
56
54
-
-**Cross-theme QA + responsive pass** — Finish theme verification and close remaining mobile layout gaps across quote editing, messages, and modal-heavy views.
55
-
-**Performance follow-up** — Lazy-load heavy pages and finish image lazy loading on the remaining public/files surfaces.
56
-
-**Workflow safety** — Add unsaved-changes warnings plus better inline confirmation patterns for destructive actions.
57
+
-**Cross-theme QA + responsive pass** — Finish theme verification and close the remaining mobile layout gaps across quote editing, messages, and modal-heavy views.
58
+
-**Performance follow-up** — Finish image lazy loading on the remaining public/files surfaces and review post-split route chunk sizes.
59
+
-**Workflow safety** — Extend unsaved-change protection to other high-risk forms and replace destructive browser confirms with better inline confirmation patterns.
0 commit comments