Skip to content

995 feature make missions page workable without drone connection#1008

Merged
1Blademaster merged 11 commits intomainfrom
995-feature-make-missions-page-workable-without-drone-connection
Feb 28, 2026
Merged

995 feature make missions page workable without drone connection#1008
1Blademaster merged 11 commits intomainfrom
995-feature-make-missions-page-workable-without-drone-connection

Conversation

@1Blademaster
Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings February 24, 2026 20:37
@1Blademaster 1Blademaster linked an issue Feb 24, 2026 that may be closed by this pull request
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_state to 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.

Comment thread gcs/src/missions.jsx Outdated
Comment thread radio/app/controllers/missionController.py
Comment thread radio/app/controllers/missionController.py
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread radio/app/endpoints/mission.py
Comment thread radio/app/endpoints/mission.py
Comment thread radio/app/controllers/missionController.py
Comment thread radio/app/endpoints/states.py Outdated
Copy link
Copy Markdown
Contributor

@Kwash67 Kwash67 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me. But i'd suggest displaying the name of the file read from

@1Blademaster 1Blademaster merged commit e957ead into main Feb 28, 2026
7 of 8 checks passed
@1Blademaster 1Blademaster deleted the 995-feature-make-missions-page-workable-without-drone-connection branch February 28, 2026 03:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Make missions page workable without drone connection

3 participants