995 feature make missions page workable without drone connection#1008
Conversation
There was a problem hiding this comment.
Pull request overview
This PR makes the Missions page usable without an active drone connection by allowing mission file import/export flows and state transitions to function in “offline” mode, while keeping the existing connected workflows intact.
Changes:
- Backend: allow
set_stateto update server state even when no drone is connected; add “not connected” code paths for mission file import/export. - Backend: refactor mission file import/export into standalone helpers so endpoints can call them without a drone instance.
- Frontend: keep mission import/export socket listeners active when disconnected; update Missions page UI to show offline controls (e.g., aircraft type selection).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| radio/app/endpoints/states.py | Allows changing app “state” even when no drone is connected. |
| radio/app/endpoints/mission.py | Uses standalone mission import/export when droneStatus.drone is None. |
| radio/app/controllers/missionController.py | Extracts import/export logic into standalone functions and adds wrapper methods. |
| gcs/src/redux/middleware/socketMiddleware.js | Moves mission import/export listeners to be active even while disconnected. |
| gcs/src/redux/middleware/emitters.js | Always emits set_state (server now tolerates no-drone state changes). |
| gcs/src/missions.jsx | Removes the “no drone connected” gating to enable offline mission file workflows. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Kwash67
left a comment
There was a problem hiding this comment.
Works for me. But i'd suggest displaying the name of the file read from
No description provided.