Skip to content

Work on the TODOs #2

@maxim-saplin

Description

@maxim-saplin
  1. Proper management of /assets
  • Handle situation when there're already assets defined in pubspec.yaml
  • When building for a specific platform make sure to remove assets from other platforms to save room
  1. Investigate "Do you want the application “app.app” to accept incoming network connections?" request upon first launch, shouldn't be any - fixed, didn't use loopback address when requesting free port from OS
  2. Fix multi instance launch (currently next instance kills old server)
  3. Slow Python startup when launching Flutter app
  • PyInstaller 8-9s, Nuitka 7-8s (M1 Pro)
  • Consider use -onedir arg with PyInstaller and zip/unzip it via Flutter
  1. Awaiting error code on init, see if can be done faster
     // Give couple of seconds to make sure there're no exceptions upon lanuching Python server
     await Future.delayed(const Duration(seconds: 2));
  2. Look into singing (App, Mac) and distribution flow for binaries
  3. Python has been loaded -> check for better probing, e.g. now when you start client it always says all is good
  4. Authentication flow
    • Authentication in the web with JWT passed in server-side cookie via web proxy
  5. Tailor ./example launch.json for 3 platforms
  6. Plugin codegen and build actions into IDE events, e.g. see how to do more convenient update of .proto and Python parts without forgetting-to-run/running scripts manually
  7. server.py, add param to determine if localhost (local only) or [::] (inbouind remote connection) will be used (server.add_insecure_port('[::]:50051'))
  8. When debugging the app may stop silently upon launching due to swallowed exceptions when probing Python
    • VSCode Debug Pane, in the bottom left there's BREAKPOINTs section, disable expcetions
  9. Updte iOS ios/Runner/Info.plist to allow gRPC networking
  10. VScode debugging, sort out auto start of server
        {
            "name": "app (remote server, auto start)",
            "type": "dart",
            "request": "launch",
            "program": "app/lib/main.dart",
            "toolArgs": [
                "--dart-define",
                "useRemote=true",
              ],
            "preLaunchTask": "start server",
            //"postDebugTask": "stop server" // this one kills Flutter UI when doing hot restart, better keep server running to keep host restart working
        },
    
  11. Add Dart alternatives to shell scripts and publish as package to pub.dev

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions