📋 Release Notes
Auggie's Joint POS
v2.2.0
v2.2.0 — Seeded Demo Photos & Ryan's Super Secret Lasagna Burrgerr!
Demo photos seeded at startup — five menu item photos are now baked into the app and automatically populate on first load (without overwriting any photos you've already set manually). Seeded items: Auggie's Doggy, Mc Patty Burger, Hot Cheeto Dog, Pretzel Dog, and Ryan's Super Secret Lasagna Burrgerr!. Photos are compressed to ≤75KB each and stored in the existing auggies_pos_v1_photos localStorage key via a seedDemoPhotos() function that runs before loadState().
Ryan's Super Secret Lasagna Burrgerr! — a new item added to the Burgers category, marked 🤫 Super Secret Menu Item. $15. Description: thin layers of pasta, tomato sauce, ground beef, mozzarella, ricotta, parmesan & fresh basil. Visible only through the secret access points on both apps — not shown on the normal customer menu. Full ordering flow (combo, toppings, cart, kitchen ticket) same as all other items.
POS photo display fix — seeded photos were visible on the customer kiosk but not the Staff POS. Root cause: loadState() returned early when no saved state existed (first load), so the photo-restore block never ran. Fixed by moving photo restore to run unconditionally before the early-return guard, with a second pass after menu restore to handle the case where saved menu items have photo stripped out.
v2.2.0 — Staff Login & Role-Based Access
Staff login modal — full-screen login gate on every page load. Username and PIN/password required before anything is accessible. Enter key submits. Wrong credentials show an error and clear the PIN field.
Two roles: Manager and Staff — Managers have full access to all tabs including Menu Manager, Toppings, Inventory, and Settings. Staff role restricts to Kiosk Order, Kitchen, Pickup Board, and Order History only. Hidden tabs vanish from the nav bar automatically.
Staff badge in nav bar — logged-in name displayed with a color-coded MGR or STAFF badge. Sign Out button re-presents the login screen.
Staff name stamped on orders — every order placed shows which staff member rang it. Appears on kitchen tickets (next to time/total) and in Order History as a purple badge.
Staff Accounts editor in Settings — Managers can add new accounts (display name, username, PIN, role), remove accounts, and see all current accounts. Data persists in localStorage. Cannot remove your own currently logged-in account.
Default accounts: username auggie / PIN 1234 (Manager) and staff1 / PIN 0000 (Staff). Change or remove these in Settings → Staff Accounts.
Customer accounts preserved — the existing customer sign-in modal still works at order time. Staff tap the 👤 Sign In button on the kiosk screen to look up a customer account and attach it to an order.
v2.0.1 — Inventory Auto-Deduct, Topping 86, Inventory Links & About
Inventory auto-decrements on order — when an order is placed, stock counts for all linked ingredients automatically deduct. Double Meat selections deduct 2× from the protein inventory. Counts floor at zero and trigger low-stock alerts and auto-86 immediately.
86 a topping — new 86 button in the Toppings tab. Marks the topping out and cascades to auto-86 every menu item that has it as a standard topping. Un-86 restores the topping and all affected items. State persists across reloads.
Inventory links in Menu Manager — a new 📦 Linked Inventory section in every item's Edit modal. Checkboxes for all inventory items — pre-checked based on current links. Save updates the links live. No more hand-editing code to link a new Special to its ingredients.
About section expanded — detailed feature descriptions for all 10 major feature areas added to the ℹ About tab.
Build date updated to April 18, 2026.
v2.0.0 — Custom Theme Editor, Holiday Themes & Push to Kiosk
Custom Theme Editor — a full theme design studio under the new 🎨 Themes tab in Settings. Build up to 5 named custom themes with complete control: background colors, text colors, accent colors, border radius, display font, body font, letter spacing, font scale, button style (filled/outlined/gradient), card style (flat/bordered/elevated), tab style (pill/square/underline), nav bar colors, and kitchen ticket accent colors.
Live preview — the editor shows a real-time preview panel that updates instantly as you adjust any color, font, or style setting.
10 holiday & seasonal presets — Christmas, Halloween, 4th of July, St. Patrick's Day, Thanksgiving, Valentine's Day, Summer, Winter, Spring, and Fall. Tap to apply. Tap ✏ to open in editor with all fields pre-filled.
Push to both apps — ▶ Apply Now applies to POS and pushes to kiosk. 📡 Push to Kiosk sends to kiosk only. Works instantly via BroadcastChannel.
Customer kiosk expanded — all holiday themes and 5 custom theme slots added to the customer app. Theme push bug fixed (was using undefined BC variable instead of _bc).
v1.9.1 — Customer App Theme & Tap Count Fixes
secretTaps default added to customer FEATURES — the customer app's FEATURES object was missing secretTaps: 7, so the configured tap count from the POS wasn't reliably applied between syncs. Now declared with the correct default.
applyTheme uses classList — the customer app's theme switcher was using body.className = theme which wiped all other body classes. Fixed to use classList.remove() per theme then classList.add(theme).
Body class detection fixed — theme cycling detected the current theme via body.className exact match, which broke if any other class was present. Fixed to classList.contains().
Logo tap flash feedback — each tap on the customer kiosk logo now briefly flashes (80ms opacity dip) so staff can count taps without staring.
v1.9.0 — Customer Themes, Vertical Settings & Configurable Taps
Customer kiosk themes — the customer kiosk now supports all three themes: Clean, Grunge, and Branded. Theme syncs automatically from the POS and also persists locally on the kiosk device.
Logo tap to cycle theme — tap the AUGGIE'S JOINT logo on the customer kiosk the secret number of times within 2 seconds to cycle Clean → Grunge → Branded → Clean. A toast confirms the change. Fun hidden feature for staff to personalise the kiosk during setup.
Configurable secret tap count — Settings → 🤫 Secret Menu now has a Secret Menu Tap Count slider (3–15). Controls three gestures: Specials tap on the POS, Specials tap on the customer kiosk, and logo tap on the customer kiosk. Syncs automatically. Default is 7.
Settings panel vertical tab rail — the four tabs (⚙ Settings, 📖 How-To, 📋 Releases, ℹ About) now live in a fixed vertical rail on the right side of the panel, always visible while scrolling. No more hunting for a tab that scrolled off screen.
Settings section reorder — inside ⚙ Settings, sub-sections are now in a more logical flow: Theme → Feature Toggles → 📊 Stats Banner → 👤 Customer Accounts → 🌭 Loyalty → 🤫 Secret Menu.
v1.8.0 — York PA Facts, Settings Fixes & Loyalty Overhaul
🏛️ Cool York PA Facts loyalty reward — a new reward type added to the Loyalty Surprise program. When triggered, customers see a fun York PA history or culture fact as a popup. 20 built-in facts covering Central Market, the Articles of Confederation, York Peppermint Patties, Harley-Davidson, York Barbell, Utz, the Underground Railroad, covered bridges, and more.
Add facts from the web or manually — in Settings → Loyalty → York PA Facts Library, tap 🔍 Search Google for a York PA Fact to open Google in a new tab — find a fact, copy it, and paste it in. Or type any fact and tap + Add. User-added facts appear alongside the built-ins and sync to the customer kiosk. Remove any user-added fact individually.
Loyalty reward checkboxes now save reliably — hardcoded HTML checked attributes removed from reward type checkboxes; state is now fully controlled by JavaScript from FEATURES. Both change and click events are handled for mobile reliability. Settings panel re-syncs checkboxes from live FEATURES every time it opens.
Customer kiosk crude joke fallback removed — the kiosk previously showed crude jokes even when disabled, due to a fallback condition that fired when no reward types were recognised. Now matches POS behavior exactly: each reward type only fires when explicitly enabled.
Settings panel HTML fixed — recurring broken-tag bug where a <div opening was stripped from the v1.6.0 release note entry causing raw HTML attribute text to render visibly on screen. Also fixed a missing </div> closing the sbox wrapper in the Releases tab. Structural audit now verifies zero rogue attributes and balanced div counts before every delivery.
v1.7.0 — Tickets, Toppings & Settings Overhaul
Settings panel redesigned — four tabbed sections: ⚙ Settings (theme, feature toggles, loyalty, accounts), 📖 How-To guide, 📋 Release Notes, ℹ About. Browseable without scrolling one long page.
Stats banner control — toggle Orders / Revenue / In Queue cards on or off. Hide for a cleaner kiosk view or to keep sales figures private.
Custom trackable stats — add your own stat cards (Tips, Cash, Comps, Waste) with ± buttons. Count or Currency type. Values persist across sessions.
Hide 🤫 Secret button — Settings toggle forces staff to use the 7-tap Specials shortcut rather than the visible button.
Kitchen tickets show category — every ticket opens with a blue station label (CHEESESTEAKS, BURGERS, etc.) so kitchen knows which station builds the item.
Kitchen tickets show full standard toppings — grey standard toppings now appear on every ticket alongside yellow extras and red ★ removals. Kitchen sees the complete build.
Standard toppings no extra charge — bundle cost displays now correctly exclude standard toppings from the shown price. They were always free in the total but the display was misleading.
Standard toppings editable per item — tap Edit on any item in Menu Manager to see the full topping list with checkboxes. Set exactly what comes standard on that item, overriding built-in defaults.
Sensical bundle removed — replaced by the per-item standard toppings editor, which gives precise control rather than a category-level approximation.
Revenue fix for edit-from-kitchen — when a kitchen order is sent back to the kiosk for editing, the original total is now subtracted from revenue before the edited version is re-placed, preventing double-counting.
v1.6.0 — Super Secret Menu & Time-Restricted Items
Super Secret Menu — customer kiosk — tap the Specials button 7 times within 2 seconds on the customer kiosk to reveal a hidden menu with full carnival animations: curtain-rise entrance, shimmering gradient title, pulsing glowing borders, flicker effects, floating stars. Secret items never appear in the normal menu.
Super Secret Menu — staff POS — a 🤫 Secret button sits beside the category tabs on the Kiosk Order screen. Tapping it opens a staff-facing panel listing all secret items with photos, descriptions, prices, time-window status, and sold-out state. Tap any available item to launch the normal choice → combo → toppings → cart flow. Also triggerable by tapping Specials 7 times. Lets staff enter orders for special local customers who aren't using the kiosk app.
Time-restricted items — set Available From / Available To times on any item in Menu Manager. Items outside their window show a grey ⏰ badge and cannot be ordered. Works on both kiosks and inside the secret menu.
Secret items managed in Menu Manager — 🤫 Super Secret Menu Item checkbox on any item. Sets the item hidden from normal menus and visible only through the secret access points.
v1.5.0 — Order History, Revenue Tracking & Kitchen Edit
Order History tab — full session log of every order (walk-up and online) with summary stats, filter buttons (All / Walk-up only / Online only / Completed / Active), and ⬇ CSV export for end-of-day records.
Revenue breakdown — stats row now shows walk-up vs online order counts and revenue separately below the main totals.
Online revenue fixed — customer kiosk orders now correctly add to the revenue counter and order count when they arrive in the kitchen.
Edit on Kiosk — pending and held kitchen tickets now have a ✏ Edit on Kiosk button. Tapping it removes the ticket from the kitchen queue, loads all items into the kiosk cart, and navigates to the Order screen so changes can be made and the order re-placed. Also available from the Order History tab.
Reorder from history — completed (cleared) orders in the Order History tab have a ↩ Reorder button that loads all items back into the cart.
v1.4.0 — Sync Engine Overhaul & Photo Persistence
Photos now sync reliably to the customer app and stay visible — photos are stored in a separate localStorage key to avoid the 5MB quota limit that was silently killing all saves.
Debounced autosave — rapid successive saves (e.g. menu manager render + explicit save) now collapse into one broadcast, eliminating the double-message race that caused photos to flash and disappear.
Photo preservation in applyStaffState — customer app no longer wipes in-memory photos when state syncs; existing photos are carried forward when items are updated.
Deferred render with localStorage fallback — customer app waits for photo broadcast before rendering; if the broadcast is missed, falls back to reading photos from localStorage directly.
Startup crash protection — INIT wrapped in try/catch; any startup error shows a visible red message instead of a blank screen.
Dummy-proof launcher (index.html) — live connection status (green/yellow/red), 4-second auto-refresh, Reset & Reconnect button, step-by-step setup guide, file:// detection.
? buttons baked into modal HTML — no longer injected at runtime, eliminating the overlap-with-✕ bug and the startup crash when old JS met new HTML.
Short filenames: pos.html, customer.html, index.html.
v1.3.1 — Bridge & Kitchen Fixes
saveState hoisting bugs fixed — saveState, applyTheme, markReady, renderMenuManagerPanel, and renderInventory all had duplicate function declarations causing infinite recursion and silent crashes; consolidated to single declarations throughout.
Individual Mark Ready working — single consolidated markReady() that sets status, renders, logs, syncs localStorage, and broadcasts in one call.
Kitchen tickets show full build — standard toppings now listed in grey (·), extras in yellow (+), removals in yellow with red ★ prefix, special instructions with red ★. Red star signals the kitchen to anything that needs active attention.
Customer order sync fixed — BroadcastChannel + localStorage both operational; orders from customer kiosk appear in staff kitchen instantly. Queue-closed flag syncs instantly in both directions.
Setup warning improved — detects file:// vs HTTP, shows appropriate message, auto-dismisses when staff app connects.
v1.3.0 — Help System
Context-sensitive ? help buttons on every dialog in both apps — staff and customer versions use different language and tone. Covers all 13 staff dialogs and 7 customer dialogs. Full ← Back navigation from any help screen.
v1.2.0 — Customer Kiosk & Two-App Bridge
Separate customer-facing kiosk app — full branded ordering experience, sign-in, favorites, order history, soda upsell, toppings with bundles, combo upsell, sold-out suggestions, loyalty popup, and order-ready polling. Shared localStorage + BroadcastChannel bridge. FEATURES object mirrors staff settings in real time.
v1.1.0 — Persistence, Bundles & Cart Re-Edit
Full localStorage persistence across all app state. All-category bundles. Cart item re-edit with ✏ button. Soda upsell for Tots and Walking Crunch. Autosave wired to all mutation points.
v1.0.0 — First Release (April 2026)
Full kiosk ordering · Kitchen queue with delay & scheduling · Pickup board · Inventory with auto-86 & alerts · Topping & bundle manager · Menu manager with photo support & History archive · Per-category combo upsell · Smart suggestion engine · Customer accounts · Loyalty Surprise program · Three themes · All features toggleable.