FreeNew
Demo mode
No summary provided by the publisher yet.
Install
msc install --appId=demo-modeWhat this extension does
Demo Mode API
A demo mode module for RestoApp website with GraphQL support.
Abstract
The demo-mode module provides functionality for demo environments in RestoApp. It integrates with GraphQL APIs, offering features for demonstration purposes.
What it does
This module enables your application to:
- Provide demo data for testing and demonstration
- Manage demo configurations through GraphQL
- Simulate real application behavior in demo mode
Key Features
- GraphQL Integration: Provides queries for demo data
- Data Simulation: Generates fake data for demonstrations
- Configuration Management: Handles demo mode settings
Changelog
demo-mode
3.4.0 (2026-09-21)
Install step (installSteps/step_demo.ts, views/installSteps/step_demo.ejs):
- The step is marked as done only when the set is really imported.
DEMO_INSTALL_SKIPused to be set in afinallyblock, so a failed download or import still hid the step from the wizard and there was no way left to install the set. Now a failure keeps the flag unset, returns the step to the unprocessed state and shows the reason at the top of the step. - The archive download got a socket timeout (60 s of inactivity), 3 attempts with a pause between
them, and removal of the partially downloaded file: a 28 MB download from GitHub releases used to
be able to hang forever, and a truncated archive used to go into
taras is. A response shorter thancontent-lengthand a connection dropped mid-body are now errors, not a silent success. - Download progress is logged by time (once per 5 s) instead of on every chunk — that was thousands
of lines in
docker logsper install. - Sets are identified by slugs (
world-cuisine) instead of array positions. The array boundary was checked as<=and the "is something selected" check relied on"0"being a non-empty string: the first set would have become "do not install" as soon as ids became numbers, and the last set of a two-set list would have resolved toundefined. An unknown id is now rejected with an error. - The step says that installing a set deletes all dishes and groups of the concept, and asks for an explicit confirmation; "Next" stays disabled until a set is picked and the replacement confirmed. The list also has an explicit "Do not install demo data" choice.
- The set list lives only in
step_demo.tsand reaches the template through the step payload — it used to be duplicated in the.ejsfile. - The "World cuisine" set was rebuilt as
world-cuisine-1.1.0.tarinwebresto/restoapp-demo(releasedemos) and the step now points at that versioned asset instead of the movingworld-cuisine.tar, so a rebuild of the set no longer silently changes what an already-tagged install pulls in.demoData[].versionand the version shown next to the set name in the wizard come from the same value. The new build adds dishes with modifiers (a required single-choice group, an optional multi-choice group, and a modifier withmaxAmount > 1), boundary cases the old set had none of (balance: 0, a finitebalance,visible: false, a dish without a picture), drops the deadgroupIdfield from every dish, and carries its ownfixtureVersion/builtAtinstead of the Node version of the server that exported it.
Release history
8 releases| Version | Channel | Status |
|---|---|---|
| 3.4.0 | staging | Latest on staging |
| 3.3.0 | main | Latest stable |
| 3.2.0 | staging | Archived |
| 3.1.1 | main | Archived |
| 3.1.0 | main | Archived |
| 3.0.0 | main | Archived |
| 2.0.16 | main | Archived |
| 2.0.14 | main | Archived |
Support
Issues with the extension itself go to the publisher. Anything about the registry goes to us.