jaiarobotics / jaiabot

Jaiabot source code
Other
20 stars 2 forks source link

feature/confirmation-for-sending-mission-out-of-range #847

Closed marshalllele closed 3 months ago

marshalllele commented 3 months ago

If a user tries to run a mission containing a run that will finish outside of comms range of the hub (250 meters), a dialog box will pop up asking for confirmation before the run is sent.

A warning will also show up if the user attempts to send a mission while the hub has no location data.

Testing: Out of Comms Range:

No Hub Location Data:

This should force the warning to come up.

JRoybot commented 3 months ago

I've been free testing this branch, trying different ways to edit missions that have waypoints out of range. Not sure of exact sequence but did see this inconsistency in Edit Mode occur. One window shows run in edit but other does not

image

JRoybot commented 3 months ago

Note on inconsistent Edit Mode state identified above. When the 2 windows are out of sync toggling edit mode to on in either window will toggle the other one to off state. Maybe the state is being managed in more than one place?

JRoybot commented 3 months ago

When I launch the web using this branch it takes much longer to build than previously and then repeatedly re-compiles indefinitely.

🟢 Installing npm dependencies in ./ 🟢 Building JCC and JED into /home/jeff/jaiabot/src/web/../..//build/web_dev/ 141 assets 2248 modules webpack 5.90.1 compiled successfully in 42665 ms WARNING:root:no ip specified, using localhost WARNING:root:🏓 Pinging server localhost:40000

JRoybot commented 3 months ago

Also note that for some reason launching the web stuff on this branch causes the contents of src/web/jed/script.js to be deleted. After launching the web and observing the repeated building if I go back to the window where I switched to the branch I see the file has been modified. Git diff shows every line of the file removed. Here is the terminal output showing git status before and after launching the web. Note I recreated the branch and recreated this issue several times.

jeff@jeff-Latitude-7400:~/jaiabot$ git status On branch feature/confirmation-for-sending-mission-out-of-range Your branch is up to date with 'origin/feature/confirmation-for-sending-mission-out-of-range'.

nothing to commit, working tree clean jeff@jeff-Latitude-7400:~/jaiabot$ git status On branch feature/confirmation-for-sending-mission-out-of-range Your branch is up to date with 'origin/feature/confirmation-for-sending-mission-out-of-range'.

Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: src/web/jed/script.js

no changes added to commit (use "git add" and/or "git commit -a") jeff@jeff-Latitude-7400:~/jaiabot$

JRoybot commented 3 months ago

Note the issues I had with the web build and the inconsistent edit mode are not due to this branch. I did not see the recent note to delete current build directory and recreate. Once I did that the web build errors went away and I have not been able to recreate the edit mode issue. Sorry.

edsanville commented 3 months ago

Note the issues I had with the web build and the inconsistent edit mode are not due to this branch. I did not see the recent note to delete current build directory and recreate. Once I did that the web build errors went away and I have not been able to recreate the edit mode issue. Sorry.

Yep, that's definitely because of the leftover softlink that linked src/web/jed to build/web_dev/jed.

We moved from soft-linking JED, to building it with webpack. Since the old softlink was still there, it was essentially trying to build back into the source directory, which triggered another build, ad infinitum.

The issue should be gone now that the build directory was cleared. We could add a check to make sure the destination directory isn't a softlink. That would prevent anyone from experiencing this issue again, but it would add a bit of weird complexity to the run.sh script.

michael-jaia commented 3 months ago

Closing PR due to new edge cases found that would hurt the user experience such as when the hub does not have GPS every run would prompt a second confirmation to play.