Skip to content

App can detect valid broadcast addresses to use for ForeFlight connection. #4

@eklynx

Description

@eklynx

The most common way to have data show up in foreflight is for the sender to send to the network broadcast address. We want the foreflight dropdown to populate with all valid network broadcast addresses (ipv4 + ipv6 link local) that can be used. When one of them is selected, it should grey out the manual host text box. The last used settings should be remembered between app restarts. If the previously used

Acceptance Criteria:

  • The Foreflight connection drop down should show "Broadcast: ###.###.###.XXX" for each IPv4 network to use (it should ignore localhost).
  • The Foreflight connection drop down should show "IPv6 Link Local" for a link local connection as the second to last item.
  • The Foreflight connection drop down should show "Direct IP" as the last item.
  • The text box to enter the IP address should be pre-populated with "127.0.0.1" if no valid IP address has been entered before.
  • The text box to enter the IP address should validate the value is a valid IP on focus lost and connection button. If the address is not valid, the status txt should show an error in red and prevent the "connect' button from changing status (should still be clickable). If it is empty and it loses focus/connect button clicked, it should default to "127.0.0.1".
  • If the network broadcast option that was last used no longer exist, it should still show up in the dropdown box along the currently valid ones. It should remain in there until app shutdown with a different network option selected at which point it should forget the network until it shows up again.
  • The network list should refresh on app app start and every time the dropdown is expanded. If there is too large a performance hit, it should refresh every 5 seconds instead while the foreflight link is disconnected and not at all if the foreflight link is active.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions