Summary
teleop-pro on main can pass multiple frontend mounts to the public teleop core so the backend can serve the operator UI at /, the operator alias at /teleop, and the spectator TV UI at /tv.
The current local teleop core on feature-multi-arm expects frontend_dir to be a single string path. When teleop-pro passes the mount list, the Webots bridge crashes during backend startup.
Observed error
TypeError: expected str, bytes or os.PathLike object, not list
Stack:
File ".../backend/__init__.py", line 40, in __init__
self.teleop = Teleop(...)
File ".../teleop/teleop/__init__.py", line 306, in __setup_routes
assets_dir = os.path.join(self.__frontend_dir, "assets")
Expected behavior
The core teleop.Teleop serving hook should remain backward compatible with a single frontend directory and also support a list of (mount_path, frontend_dir) pairs.
Acceptance criteria
frontend_dir="/path/to/dist" still serves the legacy core UI at /.
frontend_dir=[("/", operator), ("/teleop", operator), ("/tv", tv)] serves each frontend and its assets correctly.
/ws and product routers continue to work unchanged.
teleop-pro setup docs specify the required teleop branch or commit containing this support.
Notes
A local compatibility patch was tested successfully by normalizing frontend mounts in teleop.Teleop and mounting assets at /assets, /teleop/assets, and /tv/assets.
Summary
teleop-proonmaincan pass multiple frontend mounts to the publicteleopcore so the backend can serve the operator UI at/, the operator alias at/teleop, and the spectator TV UI at/tv.The current local
teleopcore onfeature-multi-armexpectsfrontend_dirto be a single string path. Whenteleop-propasses the mount list, the Webots bridge crashes during backend startup.Observed error
Stack:
Expected behavior
The core
teleop.Teleopserving hook should remain backward compatible with a single frontend directory and also support a list of(mount_path, frontend_dir)pairs.Acceptance criteria
frontend_dir="/path/to/dist"still serves the legacy core UI at/.frontend_dir=[("/", operator), ("/teleop", operator), ("/tv", tv)]serves each frontend and its assets correctly./wsand product routers continue to work unchanged.teleop-prosetup docs specify the requiredteleopbranch or commit containing this support.Notes
A local compatibility patch was tested successfully by normalizing frontend mounts in
teleop.Teleopand mounting assets at/assets,/teleop/assets, and/tv/assets.