fix: orders page print bill falls back to browser print instead of error toast
sashank1989
e571944
feat: hybrid cloud sync + fix table/KOT state after payment
sashank1989
46ae36f
- Add hybrid sync architecture (local/cloud deployment modes)
- Add sync outbox worker, order relay, and sync endpoints
- Mark KOTs as served with completed_at after full payment
- Add payment sync enqueue after successful payment
- Fix frontend tables: use active_order field (was current_order)
- Add external order relay for Swiggy/Zomato/WhatsApp webhooks
- Cloud receives webhooks, local polls every 15s for new orders
feat: add REOPENED badge to KDS combined pending items side pane
sashank1989
ab62bf7
feat: KDS prep time freeze on completion + REOPENED badge for returning orders
sashank1989
896a5be
- Add CompletedAt timestamp to KOT model, set when all items marked ready
- KDS API returns all KOTs for active orders (including completed ones for context)
- History view shows frozen prep time badge (green clock icon)
- Active view: reopened orders get red border, pulsing REOPENED badge,
previous batch items greyed out with checkmarks, live timer on new items
- Pending items sidebar filters out completed/served KOTs
feat: highlight cash payment change with large green box on POS and Captain pages
sashank1989
846c6d4
feat: add Go mock WhatsApp server and chat simulator for testing
sashank1989
7fa810f
- Replace broken Python mock server with Go implementation (fixes HTTP/1.1 EOF errors)
- WhatsApp chat simulator UI at /wa_chat.html with quick-tap buttons
- Vite proxy for mock server at /mock-wa
- Full conversation flow tested: hi → menu → order → done → address → confirm
fix: remove duplicate sidebar rendering in desktop view
sashank1989
b6b98c5
feat: make restaurant info editable in admin panel (name, address, tax, GSTIN, FSSAI)
feat: add Pine Labs EDC integration and WhatsApp conversational ordering
sashank1989
45d313d
EDC: backend handler with initiate/status/cancel/callback endpoints, background polling, auto-payment recording. Frontend EDC payment flow in POS and Captain pages with animated overlay. Admin EDC config tab with enable toggle and terminal settings.
WhatsApp: rewritten conversational ordering handler with full session flow.
feat: add Petpooja-style dashboard with revenue chart, time filters, and stat cards
sashank1989
3e3b1d7
feat: replace order type dropdown with segmented buttons, default takeaway, mandatory delivery phone+address
sashank1989
e66d854
feat: hierarchical KDS cumulative view - item name + total, then type/notes breakdown
sashank1989
a8cbf18
feat: make per-item notes always visible in POS and captain cart views
sashank1989
c05405f
feat: add per-item comments in POS cart with notes in cumulative KDS view
sashank1989
2126cb7
feat: add Swiggy/Zomato integration with webhook infrastructure, online order management, and platform config
sashank1989
5e69f93
feat: add thermal printer management with routing rules and print bill button
sashank1989
7571d0f
feat: add dedicated Order Summary page with filters, pagination, detail modal
fix: KDS green-bleed on mobile - remove hover:green, add keyed each loops
sashank1989
47274a8
- Removed hover:bg-green-500 from item buttons (caused sticky green on touch devices)
- Changed pending button to border-outline style (border-gray-300, active:green)
- Changed ready indicator to solid bg-green-500 (clearly distinct from pending)
- Added (item.id) and (card.orderId) keys to prevent DOM reuse issues
fix: self-healing counter prevents order number collisions
sashank1989
094d117
NextNumber() now queries max existing sequence number before incrementing,
preventing UNIQUE constraint violations when counter is out of sync.
Also changed counter reset from daily to monthly to match YYMM format.
feat: auto-remove completed orders from KDS — timer stops, new KOTs bring order back
sashank1989
cd0b31f
feat: add KOT History drawer to KDS for traceability and reverification
sashank1989
8089dcf
style: dark background for KDS side pane station headers
sashank1989
e3535c9
feat: group KDS side pane pending items by kitchen station
sashank1989
145e39d
test: trigger rebuild to verify DB restore from backup
sashank1989
de54be9
fix: replace deprecated huggingface-cli with hf command
sashank1989
7cf5982
fix: wait for server readiness before WAL checkpoint, use 127.0.0.1 not localhost
sashank1989
5d1a05a
fix: WAL checkpoint before backup — DB was 4KB (schema only) because WAL held all data
sashank1989
a66f062
debug: add verbose logging to entrypoint.sh backup — remove 2>/dev/null, use portable wc -c
sashank1989
2644407
fix: persist DB via HF Dataset repo — bucket FUSE mount doesn't support SQLite writes
sashank1989
e87926e
fix: persist SQLite via backup/restore — bucket FUSE mount doesn't support SQLite locking
sashank1989
76835ba
fix: KDS side pane orders items by first KOT appearance instead of descending qty
sashank1989
430dc39
feat: KDS side pane shows total per item with Dine/Parcel breakdown
sashank1989
0025b67
feat: KDS side pane split by Dining/Takeaway/Delivery with source badges on cards
sashank1989
f8de0a1
fix: KDS side pane as slide-over drawer on mobile
sashank1989
f48b448
fix: KDS side pane class binding for proper rendering
sashank1989
57d8464
feat: redesign KDS with item-level food-ready, order grouping, and pending side pane
sashank1989
6fdf098
feat: add Order Summary tab to Reports page
sashank1989
01e83d0
- New 'Order Summary' tab as first tab in Reports
- Fetches all orders for selected date range via orders.list() API with pagination
- Summary stats: total orders, total revenue, avg order value, paid count
- Detailed table: order #, time, source, table, customer, items list, qty, subtotal, tax, discount, grand total, payment status, order status
- Voided orders shown with opacity + strikethrough
- Cancelled items shown with strikethrough in red
- Footer row with column totals for subtotal, tax, discount, grand total
- Mobile-responsive: table-scroll wrapper for horizontal scrolling
feat: make all pages mobile-responsive
sashank1989
2bed403
- Global CSS: touch targets (44px buttons), responsive table padding, .table-scroll utility, .mobile-overlay class
- Sidebar: mobile drawer with overlay backdrop, mobileOpen/onclose props, tap-to-close nav items
- Layout: mobileOpen state, toggleSidebar() with viewport detection, dual sidebar rendering (desktop wrapper + mobile drawer)
- Header: larger hamburger touch target (p-2.5), responsive padding
- Modal: larger close button touch target (p-2)
- POS: mobile cart FAB with item count + total, full-screen cart overlay, responsive product grid (2/3 cols)
- Captain: mobile cart FAB + overlay, responsive table/product grids, bigger cart buttons (w-8/w-9), responsive modals (max-w-[480px]/[400px])
- Tables: responsive stat grid (2/4 cols), responsive table grid (2-8 cols across breakpoints)
- KDS: stacked columns on mobile (grid-cols-1 md:grid-cols-3), flex-wrap filter bar, independent scroll per column on desktop
- Reports: all 10 tables in table-scroll wrappers, flex-wrap date range, …
fix: disable AllowCredentials when CORS origins is wildcard - Fiber panics on this combination
sashank1989
d1b20be
fix: include cmd/server directory - was excluded by bare 'server' pattern in gitignore
sashank1989
01c8f6f
fix: dockerignore was excluding cmd/server directory
sashank1989
85a6bb7
Initial commit: HSS POS restaurant management system