ScreenHub Display Management is a LAN-based, offline-capable Electron display management system. It provides remote playlist scheduling, playback synchronization, client control, and stable deployment for distributed screen display installations.
Warning
Windows Field Conflict Hazard (Fixed in v1.0.1): Having multiple instances of the display client (e.g., both portable zip and setup exe files) on the same machine will trigger severe runtime conflicts. Stale auto-start registry items and task schedulers can launch the wrong binary, resulting in frozen UIs or playlist delivery failures. Keep only one client binary per machine.
| Target Scenario | ScreenHub Solution |
|---|---|
| Distributed Offline Control | Electron-based server and client setup designed to run over LAN environments without internet connections. |
| Conflicting Binary Instances | Startup cleanup module detects and wipes out conflicting portable/installed client processes and registry configs. |
| Duplicate Server Processes | Built-in single-instance server lock to prevent database synchronization corruption and control state conflicts. |
| Durable Auto-Start Handling | Self-cleaning registry rules that safely reset old auto-start pathways and Windows scheduled tasks. |
- Go to the v1.0.1 Release Page.
- Download both setup assets:
- Server:
AdvertisingScreenServer-Setup-1.0.0.exe - Client:
AdvertisingScreenClient-Setup-1.0.0.exe
- Server:
- Install the Server on the management computer and launch the admin backend.
- Install the Client on the display monitor PC.
- Connect both machines over the LAN and pair the client.
- Clone the repository and install dependencies in both subdirectories:
# Configure Client cd client npm install # Configure Server cd ../server npm install
- Run standard Electron startup scripts:
npm run start
Note
Documentation Center: The core operating specifications, milestones, and architectural blueprints are preserved in PROJECT_GUIDE_AND_README/. Review these documents before initiating modifications.
| Directory / File | Core Purpose |
|---|---|
client/ |
Electron player client source code, playback window logic, and build configs |
server/ |
Electron central admin server, management portal backend, and build configs |
PROJECT_GUIDE_AND_README/ |
Master documentation hub for architecture definitions and milestone logs |
- Master Center:
PROJECT_GUIDE_AND_README/README_MASTER_CENTER.md - System Definitions:
PROJECT_GUIDE_AND_README/status/L1_SYSTEM_DEFINITION.md - Baseline Status:
PROJECT_GUIDE_AND_README/status/03_V1_0_0_STABLE_BASELINE.md - Milestone Logs:
PROJECT_GUIDE_AND_README/history/L2_MILESTONE_LOGS.md
- Wrong-Instance Shield: Auto-detects legacy portable folders, installed executables, and cleans up process overlapping.
- Registry & Task Reset: Automatically deletes old, invalid auto-start registry entries and conflicting Windows Tasks.
- Server Lock: Prevents running multiple central servers on the same local port to keep state databases pure.
- Offline Synchronization: Hardened file-transmitting protocols to guarantee stable playback sync in disconnected networks.
To maintain repository cleanliness, the following files are excluded via git configurations:
- Local environment files (
.env) - Compiled node dependencies (
node_modules/) - Temporary packaging folders and unpacked build byproducts
- Local sandbox diaries or private developer files (e.g.
agentlogic.md)