From c0ef5bffdd74940a1a8050cade9259ed64572ce4 Mon Sep 17 00:00:00 2001 From: Richard Taylor Date: Fri, 27 Mar 2026 16:14:31 +0000 Subject: [PATCH] Fix desktop run: handle missing _webrepl module gracefully MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The WebServer import chain (mpos/__init__.py → webserver.py → webrepl_http.py) requires the _webrepl C module which is only available on ESP32 builds. This causes an ImportError on desktop/Unix systems, preventing the entire mpos package from loading. Wrap the import in try/except so desktop builds can still run. main.py already has a similar guard around WebServer.auto_start(). Co-Authored-By: Claude Opus 4.6 --- internal_filesystem/lib/mpos/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal_filesystem/lib/mpos/__init__.py b/internal_filesystem/lib/mpos/__init__.py index 82ce41c0..4b6520f5 100644 --- a/internal_filesystem/lib/mpos/__init__.py +++ b/internal_filesystem/lib/mpos/__init__.py @@ -19,7 +19,10 @@ # Battery manager (imported early for UI dependencies) from .battery_manager import BatteryManager -from .webserver.webserver import WebServer +try: + from .webserver.webserver import WebServer +except ImportError: + WebServer = None # _webrepl not available on desktop/Unix builds # Common activities from .app.activities.chooser import ChooserActivity