Skip to content

Departures cleanup #18

Description

@bombsimon

A while back I started to work on cleaning up the departures app since it seems a lot of the things in the code (and UI) is legacy from T-Skylt when the product only had subway status and no global state or view. However I dropped the ball but when I saw #17 I was thinking about mentioning it in the PR but didn't manage before it was merged.

First of all, I want to ask if there are any products still out there that doesn't run the MatrixBOX system but still uses this app code, i.e. do we need to keep these things in the app for legacy purposes? If not, the things that I think would be nice to fix are

Settings and UI elements that now live (or should live) in the global settings view

  • WiFi connection (SSID/password fields, "Connect" button, network scan)
  • WiFi TX power
  • Rotation
  • System temperature
  • Uptime
  • Email - This is used for telemetry only and should be configured globally in system settings
  • Manual DNS / static-IP form
  • The app's own AP ownership - the main loop calls start_ap() and stops/restarts the system's hotspot itself
  • functions.scan() (network scan for the SSID dropdown) and the /checknet route
  • The on-device "Select network / Save" prompt in mkhtml()

Likely dead or duplicate

  • Boot/connect splash "logo" - shown while the app is doing its own WiFi connect flow. The system already has show_logo()/logo_anim_step() in main.py for exactly this moment. Removing the app's own WiFi flow removes this by extension.
  • Top status card ("connected"/"not connected") - a global state that shouldn't be related to the app

UI/UX related

  • It doesn't use the (now standard?) top bar where the back/exit button, screen on/off toggle, time, ip etc is
  • Styling is not applied on a lot of elements
  • Color scheme is different
  • Fields and buttons are misaligned
  • LED printing "Read only" every time settings are saved

Future improvements


I've started to work on this and am trying to tear pieces out one-by-one and confirming it still works as expected and I'll happily continue to explore this if you agree on the issue and thing the checklist looks sensible?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions