Devices build on linux #3
|
I'm currently trying to get the app to build on linux. I made a change to webble to just accept my exercise bike name, and that works just fine. However, no changes to any of the .ts files in the devices files seem to show up in the running code. I run the build command and can confirm that test strings show up when I grep the appimage. However, they don't appear in the log dump. I tried changing 'BLE-FM' to another string, and it always just dumps as BLE-FM. Apparently, it is ignoring whatever I link in and loading from the web. I'm not really familiar with this development environment, I mostly did compiled c/c++ code. Can anyone help me get a local clone of devices to work within the app? |
Replies: 1 comment 1 reply
|
The desktop app and the web bundle are distributed seperately. The desktop app is basically just a Chromium browser with some additional logic ( to enable functionality a normal web page would not have - exposed via IPC) The web bundle is the one that has the UI (web-ui repo) and busines logic (services repo - which imports devices repo)
So if you want to test your local changes you will have to checkout web-ui, services and devices repo. Your folder structure should have all in the same main folder / run now add One note: In the latest commit to the webble code, I also have included a "auto-approve" for "good" devices (i.e. Smart Trainers, Power-Meters, Cadence Sensors,...) and an "auto-reject" for devices that don't have to correct BLE services ( e.g. speakers, TVs, ....), supported by a local device cache on app level. Maybe this would already address You also need to understand that I'm slightly mis-using WebBLE. In the spec of Web-BLE, the user has to accept a BLE device in the "DeviceList", which is a component that the Browser has to provide. WebBLE will only allow communication to approved devices. The approval request is signalled by the Web-BLE stack via messages. I'm hiding this "DeviceList" and silently approve(or reject) the device in the background. The devices-lib will ony see "approved" devices (via peripheral announcement). |
The desktop app and the web bundle are distributed seperately.
The desktop app is basically just a Chromium browser with some additional logic ( to enable functionality a normal web page would not have - exposed via IPC)
The web bundle is the one that has the UI (web-ui repo) and busines logic (services repo - which imports devices repo)
At the start of the app, the app check if there is a "pageUrl" configured in the settings.json,
So if you want to test your local changes you will ha…