Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

Overview

go-flutter - A package that brings Flutter to the desktop

Awesome Flutter Documentation Go Report Card Join the chat at https://gitter.im/go-flutter-desktop/go-flutter

Purpose

Flutter allows you to build beautiful native apps on iOS and Android from a single codebase.

This unofficial project brings Flutter to the desktop through the power of Go and GLFW.

The flutter engine itself doesn't know how to deal with desktop platforms (eg handling mouse/keyboard input). Instead, it exposes an abstraction layer for whatever platform to implement. This project implements the Flutter's Embedding API using a single code base that runs on Windows, macOS, and Linux. For rendering, GLFW fits the job because it provides the right abstractions over the OpenGL's Buffer/Mouse/Keyboard for each platform.

The choice of Golang comes from the fact that it has the same tooling on every platform. Plus Golang is a great language because it keeps everything simple and readable, which makes it easy to build cross-platform plugins.

Screenshot of the Stocks demo app on macOS

Getting started

The best way to get started is to install hover, the official go-flutter tool to set up, build and run Flutter apps on the desktop, including hot-reload.

Read the hover tutorial to run your app on the desktop, or start with one of our example apps.

If you want more in-depth information about go-flutter, read the wiki.

Supported features

  • Linux 🐧
  • MacOS 🍎
  • Windows 🏁
  • Hot Reload
  • Plugin system
    • BinaryMessageCodec, BinaryMessageChannel
    • StandardMessageCodec, JSONMessageCodec
    • StandardMethodCodec, MethodChannel
  • Plugin detection for suppoted plugins
  • Importable as Go library into custom projects
  • UTF-8 Text input
  • Clipboard copy & paste
  • Window title and icon
  • Standard keyboard shortcuts
    • ctrl-c ctrl-v ctrl-x ctrl-a
    • Home End shift-Home shift-End
    • Left ctrl-Left ctrl-shift-Left
    • Right ctrl-Right ctrl-shift-Right
    • Backspace ctrl-Backspace Delete
  • Mouse-over/hovering
  • Mouse-buttons
  • RawKeyboard events
  • Distribution format (windows-msi, mac-dmg, linux-appimage, and more)
  • Cross-compiling using docker 🐳

Are you missing a feature? Open an issue!

Examples

A separate repository contains example Flutter apps that also run on the desktop. Go to github.com/go-flutter-desktop/examples to give them a try.

Plugins

Some popular plugins are already implemented over at github.com/go-flutter-desktop/plugins. If you have implemented a plugin that you would like to share, feel free to open a PR on the plugins repository!

For a detailed tutorial on how to create a plugin, read the wiki.

Version compatibility

Flutter version

Flutter itself is a relatively young project. Its framework and engine are updated often. The go-flutter project tries to stay compatible with the beta channel of Flutter.

Go version

Updating Go is simple and Go seldomly has backwards-incompatible changes. This project remains compatible with the latest Go stable release.

GLFW version

This project uses go-gl/glfw for GLFW v3.3.

License

BSD 3-Clause License

Comments
  • Blackscreen after #308

    Blackscreen after #308

    @pchampio After #308 my app only shows a blackscreen and spits out this error on linux (also tested windows with wine and got the same error):

    2019/12/26 12:59:30 error.go:171: PlatformError: GLX: Failed to make context current
    

    When running using hover run -b '@2d582358f34c257933c47e1f0591fc38c713c78c' (the previous commit) the app starts like normal so it's definitely an issue with #308.

    embedder engine bug 
    opened by jld3103 39
  • VSCode Hot reload

    VSCode Hot reload

    Now that it is possible to get automatic hot reload working using https://github.com/google/flutter-desktop-embedding and vscode is there a way now to get it working with hover?

    question hover 
    opened by kingwill101 36
  • Windows: Failed to create OpenGL context

    Windows: Failed to create OpenGL context

    Flutter version

    Flutter 1.9.1+hotfix.1 • channel beta • https://github.com/flutter/flutter
    Framework • revision a1fb3fabec (27 hours ago) • 2019-09-03 18:07:52 -0700
    Engine • revision cc88fa45db
    Tools • Dart 2.5.0
    

    Go Flutter Version

    v0.29.0 
    

    But v0.28.0 work.

    Golang Version

    go version go1.13 windows/amd64
    

    Windows version

    Windows 10 1903
    

    Golang errors (Optional)

    hover: Using engine from cache
    go: finding github.com/go-gl/glfw latest
    go: finding github.com/go-gl/gl latest
    creating glfw window: VersionUnavailable: WGL: Failed to create OpenGL context
    hover: app 'xx' exited with error: exit status 1
    

    Steps to Reproduce

    hover run
    
    embedder 
    opened by nzlov 35
  • Black screen in windows.

    Black screen in windows.

    Hover doctor

    $ hover doctor
    hover: Running on windows
    hover: Sharing flutter version
    Flutter 1.17.0-3.3.pre • channel beta • https://github.com/flutter/flutter.git
    Framework • revision 0da1ab0922 (3 days ago) • 2020-04-28 11:02:34 -0700
    Engine • revision 376ad6a64b
    Tools • Dart 2.8.0
    hover: Flutter engine commit: https://github.com/flutter/engine/commit/376ad6a64b08aa26005e3f82aed26de2e290b572
    hover: Finding out the C compiler version
    gcc (tdm64-1) 9.2.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    hover: Sharing the content of go.mod
    module github.com/go-flutter-desktop/examples/stocks/desktop
    
    go 1.12
    
    require (
            github.com/go-flutter-desktop/go-flutter v0.39.0
            github.com/pkg/errors v0.9.1
    )
    hover: Warning: No hover.yaml file found: open go\hover.yaml: The system cannot find the file specified.
    hover: Sharing the content of go/cmd
    go\cmd\main.go  go\cmd\options.go
    

    Error output

    Using hover build [...] --XXX to build my application, I get the following error:

    WGL: Failed to make context current: The requested resource is in use
    

    I try to build a demo project from examples/stocks for testing. But when I run hover run, I always get a black screen of the application. My windows version is 1909.

    embedder 
    opened by frocelu 31
  • Build Windows

    Build Windows

    When I try run hover build windows I awalys get this:

    hover: Downloading engine for platform windows-release at version 2c527d6c7e70e2f51bca1a46f1174b250f84c5da...
    hover: Failed to download engine: failed to get Content-Length header: strconv.Atoi: parsing "": invalid syntax
    hover: Engine builds are a bit delayed after they are published in flutter.
    hover: You can either try again later or switch the flutter channel to beta, because these engines are more likely to be already built.
    hover: To dig into the already built engines look at https://github.com/flutter-rs/engine-builds/releases and https://github.com/flutter-rs/engine-builds/actions
    
    hover 
    opened by Bestfastfire 30
  • Hover 0.44.0 segfault on `hover run` in Linux

    Hover 0.44.0 segfault on `hover run` in Linux

    hover doctor -v                                                        
    13:59:12 doctor.go:39: hover: Hover version v0.44.0 running on linux
    13:59:12 doctor.go:41: hover: Sharing flutter version
    Flutter 1.23.0-18.1.pre • channel beta • https://github.com/flutter/flutter.git
    Framework • revision 198df796aa (5 days ago) • 2020-10-15 12:04:33 -0700
    Engine • revision 1d12d82d9c
    Tools • Dart 2.11.0 (build 2.11.0-213.1.beta)
    13:59:16 doctor.go:51: hover: Flutter engine commit: https://github.com/flutter/engine/commit/1d12d82d9cb54876f58044aa52198d53ec841c3d
    13:59:17 doctor.go:63: hover: Finding out the C compiler version
    gcc (GCC) 10.2.0
    Copyright (C) 2020 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    13:59:17 doctor.go:70: hover: Sharing the content of go.mod
    module trackself/go
    
    go 1.14
    
    require (
            github.com/JanezStupar/flutter_systray/go v0.3.1
            github.com/Xuanwo/go-locale v1.0.0 // indirect
            github.com/getlantern/golog v0.0.0-20200929154820-62107891371a // indirect
            github.com/getlantern/ops v0.0.0-20200403153110-8476b16edcd6 // indirect
            github.com/getlantern/systray v1.0.5 // indirect
            github.com/go-flutter-desktop/go-flutter v0.42.0
            github.com/go-flutter-desktop/plugins/path_provider v0.4.0
            github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2 // indirect
            github.com/miguelpruivo/flutter_file_picker/go v0.0.0-20200913011135-405fd7f97798
            github.com/pkg/errors v0.9.1
            github.com/shurcooL/trayhost v0.0.0-20181020202213-114974ef9e16 // indirect
            golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13 // indirect
            gopkg.in/yaml.v2 v2.2.4 // indirect
    )
    13:59:17 doctor.go:84: hover: Sharing the content of hover.yaml
    application-name: Track.Self
    executable-name: trackself
    package-name: trackself
    license: UNLICENSED
    target: lib/main_desktop.dart
    branch: ""
    cache-path: ""
    opengl: ""
    engine-version: ""
    13:59:17 doctor.go:93: hover: Sharing the content of go/cmd
    go/cmd/import-file_picker-plugin.go     go/cmd/import-flutter_systray-plugin.go go/cmd/import-path_provider-plugin.go   go/cmd/main.go  go/cmd/options.go
    
    

    Output of hover run. Note that the same process works fine with hover 0.43.0

    hover run                 
    hover: Downloading engine for platform linux-debug_unopt at version 1d12d82d9cb54876f58044aa52198d53ec841c3d...                                               
    Download completed in 205.28s                                           
    hover: Cleaning the build directory                                     
    hover: Bundling flutter app                                             
    Running "flutter pub get" in desktopapp...                          1.4s                                                                                      
    Font subsetting is not supported in debug mode. The --tree-shake-icons flag will be ignored.                                                                  
    hover: Compiling 'go-flutter' and plugins
    # github.com/shurcooL/trayhost                                
    In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                     from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,   
                     from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                     from /usr/include/gtk-2.0/gtk/gtkbin.h:35,   
                     from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                     from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,     
                     from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                     from /usr/include/gtk-2.0/gtk/gtk.h:33,                                                                                                      
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:
    /usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: ‘GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]                                           
      236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
          | ^~~~                                                     
    In file included from /usr/include/glib-2.0/gobject/gobject.h:24, 
                     from /usr/include/glib-2.0/gobject/gbinding.h:29,
                     from /usr/include/glib-2.0/glib-object.h:22, 
                     from /usr/include/glib-2.0/gio/gioenums.h:28,
                     from /usr/include/glib-2.0/gio/giotypes.h:28,
                     from /usr/include/glib-2.0/gio/gio.h:26,               
                     from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                     from /usr/include/gtk-2.0/gdk/gdk.h:32,
                     from /usr/include/gtk-2.0/gtk/gtk.h:32,                                                                                                      
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:                                 
    /usr/include/glib-2.0/gobject/gtype.h:679:1: note: declared here
      679 | {
          | ^                                                       
    In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,  
                     from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,    
                     from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                     from /usr/include/gtk-2.0/gtk/gtk.h:126,                                                                                                     
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:      
    /usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]                           
       73 |   GTimeVal last_popdown;
          |   ^~~~~~~~                                            
    In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                     from /usr/include/glib-2.0/glib.h:30,            
                     from /usr/include/glib-2.0/gobject/gbinding.h:28,
                     from /usr/include/glib-2.0/glib-object.h:22, 
                     from /usr/include/glib-2.0/gio/gioenums.h:28,
                     from /usr/include/glib-2.0/gio/giotypes.h:28,
                     from /usr/include/glib-2.0/gio/gio.h:26,               
                     from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                     from /usr/include/gtk-2.0/gdk/gdk.h:32,
                     from /usr/include/gtk-2.0/gtk/gtk.h:32,                                                                                                      
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/linux/tray.c:7,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/platform/platform.h:8,
                     from /home/janez/go/pkg/mod/github.com/shurcoo!l/[email protected]/trayhost.go:20:                                 
    /usr/include/glib-2.0/glib/gtypes.h:547:8: note: declared here
      547 | struct _GTimeVal
          |        ^~~~~~~~~                                                       
    hover: Successfully compiled executable binary for linux  
    hover: Build finished, starting app...                          
    hover: Running trackself in debug_unopt mode                                                                                                                                                                                                                                                                                 
    go-flutter: calculated pixelRatio limited to a minimum of 1.0. metrics: {"dpi":93.78461538461538,"monitorWidthMm":520,"monitorWidthSc":1920,"mscpi":93.78461538461538,"pixelRatio":0.5861538461538461,"ppsc":1,"windowWidthPx":360,"windowWidthSc":360}                                                                      
    flutter: Observatory listening on http://127.0.0.1:50300/                
    hover: Connecting hover to 'trackself' for hot reload                                                                                                         
    hover: App 'trackself' exited with error: signal: segmentation fault (core dumped)                                                                            
    Error connecting to the service protocol: failed to connect to http://127.0.0.1:50300/                                          
    
    hover 
    opened by JanezStupar 30
  • "hover build linux-snap" failing on MacOS

    to Reproduce:

    https://github.com/winwisely99/enrollment-mod

    make flu-desk-pack

    It tries to build all 3 linux types. debian works ( hence i closed this issue: https://github.com/go-flutter-desktop/go-flutter/issues/284) snap fails...

    d /Users/apple/workspace/go/src/github.com/winwisely99/enrollment-mod/enrollment && hover build linux-snap
    hover: Using engine from cache
    hover: Cleaning the build directory
    hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
    hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
    hover: Bundling flutter app
    hover: Because darwin is not able to compile for linux out of the box, a cross-compiling container is used
    Sending build context to Docker daemon  2.048kB
    Step 1/2 : FROM dockercore/golang-cross
     ---> e9c59db2dea3
    Step 2/2 : RUN apt-get update && apt-get install libgl1-mesa-dev xorg-dev -y
     ---> Using cache
     ---> 53dfbc3de38e
    Successfully built 53dfbc3de38e
    Successfully tagged hover-build-cc:latest
    hover: Cross-Compiling 'go-flutter' and plugins using docker
    hover: Successfully cross-compiled for linux
    hover: Packaging snap in /var/folders/wp/ff6sz9qs6g71jnm12nj2kbyw0000gp/T/hover-build-enrollment-linux-snap000263251
    Sending build context to Docker daemon  5.632kB
    Step 1/1 : FROM snapcore/snapcraft
    latest: Pulling from snapcore/snapcraft
    16c48d79e9cc: Pull complete 
    3c654ad3ed7d: Pull complete 
    6276f4f9c29d: Pull complete 
    a4bd43ad48ce: Pull complete 
    b05a6d825956: Pull complete 
    113e1c5c1910: Pull complete 
    1264ad5fe4e7: Pull complete 
    c4733adb6584: Pull complete 
    Digest: sha256:c35c269b969a85a361b3c7bb7fb75edd68f130fac07de14ee7d5258dad8a2c6d
    Status: Downloaded newer image for snapcore/snapcraft:latest
     ---> 3f1fc68a4f8a
    Successfully built 3f1fc68a4f8a
    Successfully tagged hover-build-packaging-linux-snap:latest
    The following snaps are required but not installed as snapcraft is running inside docker or podman container: core18.
    Please ensure the environment is properly setup before continuing.
    Ignore this message if the appropriate measures have already been taken
    Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
    Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
    Get:7 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [973 kB]
    Get:8 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
    Get:9 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
    Get:11 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [587 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1350 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [991 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [19.2 kB]
    Get:16 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [6276 B]
    Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7942 B]
    Get:18 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8807 B]
    Fetched 16.1 MB in 0s (0 B/s)
    Get:1 libxdmcp6_1.1.2-1.1_amd64.deb [11.0 kB]
    Fetched 11.0 kB in 0s (0 B/s)
    Get:1 libdrm-nouveau2_2.4.91-2~16.04.1_amd64.deb [16.3 kB]
    Fetched 16.3 kB in 0s (0 B/s)
    Get:1 libpciaccess0_0.13.4-1_amd64.deb [18.1 kB]
    Fetched 18.1 kB in 0s (0 B/s)
    Get:1 libxcb-present0_1.11.1-1ubuntu1_amd64.deb [5218 B]
    Fetched 5218 B in 0s (0 B/s)
    Get:1 libglapi-mesa_18.0.5-0ubuntu0~16.04.1_amd64.deb [23.4 kB]
    Fetched 23.4 kB in 0s (0 B/s)
    Get:1 libxrender1_0.9.9-0ubuntu1_amd64.deb [18.5 kB]
    Fetched 18.5 kB in 0s (0 B/s)
    Get:1 libelf1_0.165-3ubuntu1.2_amd64.deb [43.5 kB]
    Fetched 43.5 kB in 0s (0 B/s)
    Get:1 libbsd0_0.8.2-1_amd64.deb [41.7 kB]
    Fetched 41.7 kB in 0s (0 B/s)
    Get:1 zlib1g_1.2.8.dfsg-2ubuntu4.1_amd64.deb [51.2 kB]
    Fetched 51.2 kB in 0s (0 B/s)
    Get:1 libxcursor1_1.1.14-1ubuntu0.16.04.2_amd64.deb [19.9 kB]
    Fetched 19.9 kB in 0s (0 B/s)
    Get:1 gcc-6-base_6.0.1-0ubuntu1_amd64.deb [14.3 kB]
    Fetched 14.3 kB in 0s (0 B/s)
    Get:1 libx11-6_1.6.3-1ubuntu2.1_amd64.deb [570 kB]
    Fetched 570 kB in 0s (0 B/s)
    Get:1 libexpat1_2.1.0-7ubuntu0.16.04.5_amd64.deb [71.5 kB]
    Fetched 71.5 kB in 0s (0 B/s)
    Get:1 libxshmfence1_1.2-1_amd64.deb [5042 B]
    Fetched 5042 B in 0s (0 B/s)
    Get:1 libgcc1_6.0.1-0ubuntu1_amd64.deb [38.5 kB]
    Fetched 38.5 kB in 0s (0 B/s)
    Get:1 libdrm-amdgpu1_2.4.91-2~16.04.1_amd64.deb [18.9 kB]
    Fetched 18.9 kB in 0s (0 B/s)
    Get:1 libllvm6.0_6.0-1ubuntu2~16.04.1_amd64.deb [14.3 MB]
    Fetched 14.3 MB in 0s (0 B/s)
    Get:1 libxau6_1.0.8-1_amd64.deb [8376 B]
    Fetched 8376 B in 0s (0 B/s)
    Get:1 libtinfo5_6.0+20160213-1ubuntu1_amd64.deb [76.8 kB]
    Fetched 76.8 kB in 0s (0 B/s)
    Get:1 libxcb1_1.11.1-1ubuntu1_amd64.deb [40.0 kB]
    Fetched 40.0 kB in 0s (0 B/s)
    Get:1 libxinerama1_1.1.3-1_amd64.deb [7908 B]
    Fetched 7908 B in 0s (0 B/s)
    Get:1 libxrandr2_1.5.0-1_amd64.deb [17.6 kB]
    Fetched 17.6 kB in 0s (0 B/s)
    Get:1 libdrm2_2.4.91-2~16.04.1_amd64.deb [30.8 kB]
    Fetched 30.8 kB in 0s (0 B/s)
    Get:1 libglu1-mesa_9.0.0-2.1_amd64.deb [168 kB]
    Fetched 168 kB in 0s (0 B/s)
    Get:1 libxfixes3_5.0.1-2_amd64.deb [11.1 kB]
    Fetched 11.1 kB in 0s (0 B/s)
    Get:1 libx11-data_1.6.3-1ubuntu2.1_all.deb [113 kB]
    Fetched 113 kB in 0s (0 B/s)
    Get:1 libgl1-mesa-dri_18.0.5-0ubuntu0~16.04.1_amd64.deb [6080 kB]
    Fetched 6080 kB in 0s (0 B/s)
    Get:1 libxxf86vm1_1.1.4-1_amd64.deb [10.6 kB]
    Fetched 10.6 kB in 0s (0 B/s)
    Get:1 libxdamage1_1.1.4-2_amd64.deb [6946 B]
    Fetched 6946 B in 0s (0 B/s)
    Get:1 libgl1-mesa-glx_18.0.5-0ubuntu0~16.04.1_amd64.deb [132 kB]
    Fetched 132 kB in 0s (0 B/s)
    Get:1 libedit2_3.1-20150325-1ubuntu2_amd64.deb [76.5 kB]
    Fetched 76.5 kB in 0s (0 B/s)
    Get:1 libdrm-intel1_2.4.91-2~16.04.1_amd64.deb [59.9 kB]
    Fetched 59.9 kB in 0s (0 B/s)
    Get:1 libffi6_3.2.1-4_amd64.deb [17.8 kB]
    Fetched 17.8 kB in 0s (0 B/s)
    Get:1 libdrm-radeon1_2.4.91-2~16.04.1_amd64.deb [21.5 kB]
    Fetched 21.5 kB in 0s (0 B/s)
    Get:1 libstdc++6_5.4.0-6ubuntu1~16.04.11_amd64.deb [393 kB]
    Fetched 393 kB in 0s (0 B/s)
    Get:1 libxcb-glx0_1.11.1-1ubuntu1_amd64.deb [20.9 kB]
    Fetched 20.9 kB in 0s (0 B/s)
    Get:1 libxcb-dri2-0_1.11.1-1ubuntu1_amd64.deb [6882 B]
    Fetched 6882 B in 0s (0 B/s)
    Get:1 libsensors4_3.4.0-2_amd64.deb [28.4 kB]
    Fetched 28.4 kB in 0s (0 B/s)
    Get:1 libxcb-dri3-0_1.11.1-1ubuntu1_amd64.deb [5218 B]
    Fetched 5218 B in 0s (0 B/s)
    Get:1 libx11-xcb1_1.6.3-1ubuntu2.1_amd64.deb [9044 B]
    Fetched 9044 B in 0s (0 B/s)
    Get:1 libxcb-sync1_1.11.1-1ubuntu1_amd64.deb [8324 B]
    Fetched 8324 B in 0s (0 B/s)
    Get:1 libxext6_1.3.3-1_amd64.deb [29.4 kB]
    Fetched 29.4 kB in 0s (0 B/s)
    Get:1 libdrm-common_2.4.91-2~16.04.1_all.deb [4764 B]
    Fetched 4764 B in 0s (0 B/s)
    Pulling app 
    Pulling assets 
    Pulling desktop 
    Building app 
    Building assets 
    Building desktop 
    Staging app 
    Sorry, an error occurred in Snapcraft:
    [Errno 17] File exists: 'libbsd.so.0.8.2' -> '/app/stage/lib/x86_64-linux-gnu/libbsd.so.0'
    Traceback (most recent call last):
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 109, in link_or_copy
        link(source, destination, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 143, in link
        os.link(source_path, destination, follow_symlinks=False)
    OSError: [Errno 5] Input/output error: '/app/parts/app/install/lib/x86_64-linux-gnu/libbsd.so.0' -> '/app/stage/lib/x86_64-linux-gnu/libbsd.so.0'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/snap/snapcraft/current/bin/snapcraft", line 11, in <module>
        load_entry_point('snapcraft==3.8', 'console_scripts', 'snapcraft')()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 764, in __call__
        return self.main(*args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 717, in main
        rv = self.invoke(ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 1114, in invoke
        return Command.invoke(self, ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/decorators.py", line 17, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/_runner.py", line 103, in run
        snap_command.invoke(ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/_command.py", line 87, in invoke
        return super().invoke(ctx)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 261, in snap
        _execute(steps.PRIME, parts=[], pack_project=True, output=output, **kwargs)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 66, in _execute
        lifecycle.execute(step, project_config, parts)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 94, in execute
        executor.run(step, part_names)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 148, in run
        self._handle_step(part_names, part, step, current_step, cli_config)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 162, in _handle_step
        getattr(self, "_run_{}".format(current_step.name))(part)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 226, in _run_stage
        self._run_step(step=steps.STAGE, part=part, progress="Staging")
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 281, in _run_step
        getattr(part, step.name)()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 740, in stage
        self._do_runner_step(steps.STAGE)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 242, in _do_runner_step
        return getattr(self._runner, "{}".format(step.name))()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 84, in stage
        "override-stage", self._override_stage_scriptlet, self._stagedir
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 137, in _run_scriptlet
        scriptlet_name, function_call.strip()
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 193, in _handle_builtin_function
        function(**function_args)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 762, in _do_stage
        fixup_func=fixup_func,
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 1125, in _migrate_files
        file_utils.link_or_copy(src, dst, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 117, in link_or_copy
        copy(source, destination, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/lib/python3.5/site-packages/snapcraft/file_utils.py", line 166, in copy
        shutil.copy2(source, destination, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/usr/lib/python3.5/shutil.py", line 251, in copy2
        copyfile(src, dst, follow_symlinks=follow_symlinks)
      File "/snap/snapcraft/current/usr/lib/python3.5/shutil.py", line 112, in copyfile
        os.symlink(os.readlink(src), dst)
    FileExistsError: [Errno 17] File exists: 'libbsd.so.0.8.2' -> '/app/stage/lib/x86_64-linux-gnu/libbsd.so.0'
    You can find the traceback in file '/tmp/tmpf46sgiyb/trace.txt'.
    hover: Docker run failed: exit status 1
    make: *** [flu-desk-pack] Error 1
    
    wontfix MacOS hover experimental bug 
    opened by winwisely99 30
  • Need code review for file_picker plungin and test on darwin / linux before merge to pub.dev

    Need code review for file_picker plungin and test on darwin / linux before merge to pub.dev

    I have tested on Windows 10. It works fine. But I only have Windows, can't test on linux and darwin Could you please help me. Thanks.

    plugin https://github.com/chunhunghan/file_picker

    android https://github.com/chunhunghan/file_picker_example

    good first issue plugin 
    opened by chunhunghan 30
  • windows-msi build error with docker, linux-deb build not working even though should be possible

    windows-msi build error with docker, linux-deb build not working even though should be possible

    Looks like with the recent updates to hover, its not possible to compile for a platform from different host platform even with the --docker option. Is that the case really ? I am trying to compile ubuntu and windows packages from macOS with the --docker option and I am getting the following output:

    For linux-deb:

    [email protected] tomatoroapp % hover build linux-deb --docker
    hover: AOT builds currently only work on their host OS
    

    Also I changed the checks in code to allow running linux-deb packaging with docker option, and on trying to build it, got the following error:

    [email protected] tomatoroapp % hover build linux-deb --docker
    hover: Downloading engine for platform linux-release at version 5babba6c4d25fa237bbf755ab85c9a0c50b3c6ec...
    Download completed in 45.03s
    hover: Failed to strip /Users/swapn/Library/Caches/hover/engine/linux-release/libflutter_engine.so: exit status 1
    

    For windows-msi:

    [email protected] tomatoroapp % hover build windows-msi --docker
    hover: Using engine from cache
    hover: Building using docker container
    Running this docker command: /usr/local/bin/docker run --rm --mount type=bind,source=/Users/swapn/Documents/Projects/Tomatoro/tomatoroapp,target=/app --mount type=bind,source=/Users/swapn/Library/Caches/hover/engine,target=/root/.cache/hover/engine --mount type=bind,source=/Users/swapn/Library/Caches/hover/docker-go-cache,target=/go-cache --env GOCACHE=/go-cache --env HOVER_SAFE_CHOWN_UID=501 --env HOVER_SAFE_CHOWN_GID=20 --env GOPROXY=https://proxy.golang.org,direct
     --env GOPRIVATE=
     goflutter/hover:latest hover-safe.sh build windows-msi --skip-engine-download --version-number 1.0.20+24
    docker container: docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /host_mnt/Users/swapn/Library/Caches/hover/engine.
    docker container: See 'docker run --help'.
    hover: Docker run failed: exit status 125
    

    Building for linux from docker with macOS shhould be possible since docker on macOS runs inside linux VM. Not sure why the error for windows-msi happens.

    hover doctor output:

    hover: Hover version (devel) running on darwin
    hover: Sharing packaging tools
    hover: darwin-bundle is supported
    hover: darwin-dmg is supported
    hover: darwin-pkg is supported
    hover: Packaging linux-appimage is not supported on darwin
    hover: To still package linux-appimage on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-deb is not supported on darwin
    hover: To still package linux-deb on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-pkg is not supported on darwin
    hover: To still package linux-pkg on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-rpm is not supported on darwin
    hover: To still package linux-rpm on darwin you need to run hover with the `--docker` flag.
    hover: Packaging linux-snap is not supported on darwin
    hover: To still package linux-snap on darwin you need to run hover with the `--docker` flag.
    hover: Packaging windows-msi is not supported on darwin
    hover: To still package windows-msi on darwin you need to run hover with the `--docker` flag.
    hover: 
    hover: Sharing flutter version
    Flutter 1.22.0 • channel unknown • unknown source
    Framework • revision d408d302e2 (3 months ago) • 2020-09-29 11:49:17 -0700
    Engine • revision 5babba6c4d
    Tools • Dart 2.10.0
    hover: Flutter engine commit: https://github.com/flutter/engine/commit/5babba6c4d25fa237bbf755ab85c9a0c50b3c6ec
    hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
    hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
    hover: Finding out the C compiler version
    Apple clang version 12.0.0 (clang-1200.0.32.2)
    Target: x86_64-apple-darwin20.1.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    hover: Sharing the content of go.mod
    module tomatoro/go
    
    go 1.13
    
    require (
            github.com/BestBurning/platform_device_id/go v0.1.1
            github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb // indirect
            github.com/go-flutter-desktop/go-flutter v0.42.0
            github.com/go-flutter-desktop/plugins/package_info v0.0.0-20200415181852-215d9c007301
            github.com/go-flutter-desktop/plugins/path_provider v0.3.3
            github.com/go-flutter-desktop/plugins/shared_preferences v0.4.3
            github.com/go-flutter-desktop/plugins/url_launcher v0.1.2
            github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1
            github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2
            github.com/martinlindhe/notify v0.0.0-20181008203735-20632c9a275a
            github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect
            github.com/pkg/errors v0.9.1
            github.com/sidevesh/go-flutter-plugin-sqflite v0.0.0-20200718224941-b1ba30c6bdda
            gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2 // indirect
    )
    hover: Sharing the content of hover.yaml
    application-name: Tomatoro
    executable-name: ""
    package-name: ""
    license: UNLICENSED
    target: lib/main_desktop.dart
    branch: ""
    cache-path: ""
    opengl: ""
    engine-version: ""
    hover: Sharing the content of go/cmd
    go/cmd/desktop_local_notifications.go   go/cmd/main.go  go/cmd/options.go       go/cmd/transparent_title_bar_darwin.go  go/cmd/transparent_title_bar_unsupported.go
    
    opened by sidevesh 24
  • How can I use golang on Android or iOS?

    How can I use golang on Android or iOS?

    I want to write an application on all platforms, it's a perfect solution working with go-flutter on desktop platforms. But I wonder how can I write apps efficiently on Android or iOS, I had seen go mobile or go bind, it seems I need to write code on Java/Kotlin or Swift, which is called by Dart and pass to Go API. I think there must be some ways simpler to call Go API in flutter.

    enhancement plugin-system 
    opened by chengxuncc 20
  • Bug: Cross-Compile corrupts other builds

    Bug: Cross-Compile corrupts other builds

    @jld3103

    When I build one platform, the other folders gets updated and corrupted. Not sure whats happening but on ubuntu platfrom.

    [ERROR:flutter/shell/platform/embedder/embedder.cc(629)] 
    Not running in AOT mode but could not resolve the kernel binary.
    [ERROR:flutter/shell/platform/embedder/embedder.cc(53)]
    Returning error 'kInvalidArguments' (2) from Flutter Embedder API call 
    to 'FlutterEngineRun'. 
    Origin: ../../flutter/shell/platform/embedder/embedder.cc:631
    go-flutter: engine.Run() returned result code 2 (invalid arguments)
    

    Let me know if you guys can reproduce this?

    Flutter version

    Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel master, v1.10.7-pre.70, on Linux, locale en_US.UTF-8)

    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2) [✓] Chrome - develop for the web [✓] Linux toolchain - develop for Linux desktop [✓] Android Studio (version 3.5) [✓] Android Studio (version 3.4) [✓] VS Code (version 1.36.0) [✓] Connected device (3 available)

    wontfix bug hover 
    opened by jascodes 20
  • Auto-Updating app like discord or telegram desktops

    Auto-Updating app like discord or telegram desktops

    Is your feature request related to a problem?

    I think it's feature...

    A clear and concise description of what the problem is. After I distribute the app to clients, of course, I would want to add some new features or fix some bugs. At that time, I have to send newly released versions of the app to clients in dmg or in exe file types. But it's really frustrating for me and my clients.

    Describe the feature you'd like

    So I want to add auto-updating whenever the app starts like discord or telegram desktop apps. How can I implement it? Does your app support such a feature? if not, could you please implement it? so that i can learn it and copy it to my own desktop apps ). I have been searching for a solution to this problem for months... That would be great if you can help me and people who are facing the same problems.

    enhancement 
    opened by Lazizbek97 0
  • arm linux supper

    arm linux supper

    Is your feature request related to a problem?

    A clear and concise description of what the problem is. I have an issue when [...]

    Describe the feature you'd like

    A clear and concise description of what you want to happen.

    arm linux supper

    enhancement 
    opened by aadog 0
  • get go-flutter: no handler found for channel dev.fluttercommunity.plus/connectivity

    get go-flutter: no handler found for channel dev.fluttercommunity.plus/connectivity

    Hover doctor

    $ hover doctor
    hover: Running on linux
    hover: Docker installed: true
    hover: Sharing flutter version
    [...]
    

    Error output

    Using hover build [...] --XXX to build my application, I get the following error:

    hover: Using engine from cache
    hover: Cleaning the build directory
    hover: Bundling flutter app
    hover: Compiling 'go-flutter' and plugins
    [...]
    

    Hi, I am try to developer go-flutter desktop application, I need to get network status, so I import connectivity_plus-2.2.1 in my project but I get go-flutter: no handler found for channel dev.fluttercommunity.plus/connectivity when I use hover run if I use flutter run, it's run fine, but flutter run not run to golang program, how can I fix it, Thanks!

    opened by Bluezz99 0
  • go flutter initalize failed with ` Failed to lookup symbol 'bitsdojo_window_api':`

    go flutter initalize failed with ` Failed to lookup symbol 'bitsdojo_window_api':`

    image

    Following is backtrace:

    hover: Using engine from cache
    hover: Cleaning the build directory
    hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
    hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
    hover: Bundling flutter app
    
    💪 Building with sound null safety 💪
    
    hover: Compiling 'go-flutter' and plugins
    hover: Successfully compiled executable binary for linux
    hover: Build finished, starting app...
    hover: Running magpie_desktop_app in debug_unopt mode
    go-flutter: calculated pixelRatio limited to a minimum of 1.0. metrics: {"dpi":108.37333333333333,"monitorWidthMm":600,"monitorWidthSc":2560,"mscpi":108.37333333333333,"pixelRatio":0.6773333333333333,"ppsc":1,"windowWidthPx":800,"windowWidthSc":800}
    flutter: Observatory listening on http://127.0.0.1:50300/
    hover: Connecting hover to 'magpie_desktop_app' for hot reload
    flutter: Null check operator used on a null value
    flutter: Null check operator used on a null value
    go-flutter: no handler found for channel flutter/system_tray
    go-flutter: no method handler registered for method 'selectSingleEntryHistory' on channel 'flutter/navigation'
    go-flutter: no method handler registered for method 'routeInformationUpdated' on channel 'flutter/navigation'
    [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Invalid argument(s): Failed to lookup symbol 'bitsdojo_window_api': /home/zw963/Magpie/magpie-desktop-app/go/build/outputs/linux-debug_unopt/magpie_desktop_app: undefined symbol: bitsdojo_window_api
    #0      DynamicLibrary.lookup (dart:ffi-patch/ffi_dynamic_library_patch.dart:34:70)
    #1      bitsdojoWindowAPI (package:bitsdojo_window_linux/src/native_api.dart:118:6)
    #2      bitsdojoWindowAPI (package:bitsdojo_window_linux/src/native_api.dart)
    #3      _theAPI (package:bitsdojo_window_linux/src/native_api.dart:121:33)
    #4      _theAPI (package:bitsdojo_window_linux/src/native_api.dart)
    #5      getAppWindowHandle (package:bitsdojo_window_linux/src/native_api.dart:12:5)
    #6      getAppWindowHandle (package:bitsdojo_window_linux/src/native_api.dart)
    #7      new GtkAppWindow._ (package:bitsdojo_window_linux/src/app_window.dart:16:27)
    #8      GtkAppWindow._instance (package:bitsdojo_window_linux/src/app_window.dart:20:54)
    #9      GtkAppWindow._instance (package:bitsdojo_window_linux/src/app_window.dart)
    #10     new GtkAppWindow (package:bitsdojo_window_linux/src/app_window.dart:23:12)
    #11     BitsdojoWindowLinux.appWindow (package:bitsdojo_window_linux/src/bitsdojo_window_linux_real.dart:23:12)
    #12     appWindow (package:bitsdojo_window/src/app_window.dart:42:20)
    #13     app.<anonymous closure> (package:magpie_desktop_app/app.dart:38:17)
    #14     BitsdojoWindowLinux.doWhenWindowReady.<anonymous closure> (package:bitsdojo_window_linux/src/bitsdojo_window_linux_real.dart:16:15)
    #15     _rootRunUnary (dart:async/zone.dart:1436:47)
    #16     _CustomZone.runUnary (dart:async/zone.dart:1335:19)
    <asynchronous suspension>
    
    opened by zw963 2
  • Segmentation fault closing application with multiple isolates and displaying an image

    Segmentation fault closing application with multiple isolates and displaying an image

    Hover doctor

    $ hover doctor
    hover: Hover version v0.47.0 running on linux
    hover: Sharing packaging tools
    hover: darwin-bundle is supported
    hover: darwin-dmg is supported
    hover: To package darwin-pkg these tools are required: mkbom,xar
    hover: Install bomutils from your package manager or from https://github.com/hogliux/bomutils
    hover: Install xar from your package manager or from https://github.com/mackyle/xar
    hover: To still package darwin-pkg without the required tools installed you need to run hover with the `--docker` flag.
    hover: linux-appimage is supported
    hover: linux-deb is supported
    hover: To package linux-pkg these tools are required: makepkg
    hover: You need to be on Arch Linux or another distro that uses pacman as package manager to use this. Installing makepkg on other distros is hard and dangerous.
    hover: To still package linux-pkg without the required tools installed you need to run hover with the `--docker` flag.
    hover: To package linux-rpm these tools are required: rpmbuild
    hover: You need to be on Red Hat Linux or another distro that uses rpm as package manager to use this. Installing rpmbuild on other distros is hard and dangerous.
    hover: To still package linux-rpm without the required tools installed you need to run hover with the `--docker` flag.
    hover: To package linux-snap these tools are required: snapcraft
    hover: Install snapd from your package manager or from https://snapcraft.io/docs/installing-snapd
    hover: To still package linux-snap without the required tools installed you need to run hover with the `--docker` flag.
    hover: windows-msi is supported
    hover: 
    hover: Sharing flutter version
    Flutter 2.8.0-3.3.pre • channel beta • https://github.com/flutter/flutter.git
    Framework • revision 262b70ece1 (2 days ago) • 2021-12-01 13:00:48 -0800
    Engine • revision 06a7363b0c
    Tools • Dart 2.15.0 (build 2.15.0-268.18.beta)
    hover: Flutter engine commit: https://github.com/flutter/engine/commit/06a7363b0cfd4092fe06eb80f829b5fbc94fd32a
    hover: Finding out the C compiler version
    gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    hover: Sharing the content of go.mod
    module skypirates_flutter/go
    
    go 1.13
    
    require (
            github.com/go-flutter-desktop/go-flutter v0.44.0
            github.com/go-flutter-desktop/plugins/path_provider v0.4.0
            github.com/go-flutter-desktop/plugins/shared_preferences v0.4.3
            github.com/google/uuid v1.3.0 // indirect
            github.com/hajimehoshi/go-mp3 v0.3.2 // indirect
            github.com/hajimehoshi/oto v1.0.1 // indirect
            github.com/jfreymuth/oggvorbis v1.0.3 // indirect
            github.com/jslater89/warble/go v0.1.0
            github.com/mewkiz/pkg v0.0.0-20211102230744-16a6ce8f1b77 // indirect
            github.com/pkg/errors v0.9.1
            golang.org/x/exp v0.0.0-20211129234152-8a230f1f7d7a // indirect
            golang.org/x/image v0.0.0-20211028202545-6944b10bf410 // indirect
            golang.org/x/mobile v0.0.0-20211109191125-d61a72f26a1a // indirect
            golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 // indirect
    )
    
    // replace github.com/jslater89/warble/go => /home/jay/development/personal/warble/go
    // replace github.com/go-flutter-desktop/go-flutter => /home/jay/development/personal/go-flutter-desktop/go-flutter
    hover: Sharing the content of hover.yaml
    application-name: Skypirates!
    executable-name: ""
    package-name: ""
    organization-name: ""
    license: ""
    target: lib/main_desktop.dart
    branch: ""
    cache-path: ""
    opengl: ""
    engine-version: ""
    hover: Sharing the content of go/cmd
    go/cmd/import-path_provider-plugin.go   go/cmd/import-shared_preferences-plugin.go      go/cmd/import-warble-plugin.go  go/cmd/main.go  go/cmd/options.go
    

    Problem description

    The application experiences a segfault in the io.flutter.ui thread when closed while additional isolates are running. This happens with the debug engine (which comes from Google) as well as profile/release (which we build). The official Flutter desktop embedding doesn't crash in the same circumstance, so despite the lack of anything out of the project binary in the backtrace, it seems to be go-flutter-desktop related, somehow.

    (gdb) backtrace
    #0  0x00007ffff78f6e78 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #1  0x00007ffff78fde66 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #2  0x00007ffff77d0a40 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #3  0x00007ffff77d0aa7 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #4  0x00007ffff76cde49 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #5  0x00007ffff79cd485 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #6  0x00007ffff749ed73 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #7  0x00007ffff74a6ce6 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #8  0x00007ffff749ec11 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #9  0x00007ffff74a52b5 in ?? () from /path/to/project/go/build/outputs/linux-debug_unopt/libflutter_engine.so
    #10 0x00007ffff5bdb609 in start_thread (arg=<optimized out>) at pthread_create.c:477
    #11 0x00007ffff5a05293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
    

    I haven't managed to find a minimal reproduction yet—it's happening in a large app that isn't currently in a public repository, and I haven't been able to work out which part is causing the problem. I suspect it'll be easier to narrow down once I get an engine built with debug symbols, but I thought I'd check in here to see if there were any ideas.

    opened by jslater89 17
Owner
Flutter on Windows, MacOS and Linux
null
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

ExampleTrayGUI An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functi

Grant Moore 49 Aug 29, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

ExampleTrayGUI An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functi

Grant Moore 49 Aug 29, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functional build process. This repository is intended as a quick reference to help others start similar projects using the referenced libraries and will not be actively maintained.

Grant Moore 49 Aug 29, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

ExampleTrayGUI An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functi

Owen Moore 49 Aug 29, 2022
Go bindings for GLFW 3

GLFW 3.3 for Go Installation GLFW C library source is included and built automatically as part of the Go package. But you need to make sure you have d

OpenGL with Golang 1.3k Sep 23, 2022
Compute shader in GO (using go-gl/glfw)

shadr (compute shader using go-gl/glfw) structure main.go contains intialisation

null 1 Jan 20, 2022
Zenity dialogs for Golang, Windows, macOS

Zenity dialogs for Golang, Windows and macOS This repo includes both a cross-platform Go package providing Zenity-like dialogs (simple dialogs that in

Nuno Cruces 346 Sep 26, 2022
A Go (golang) Custom Flutter Engine Embedder for desktop

Go Flutter desktop embedder ⚠️ Warning: this project has been moved to its own organization. Please take a look at its new location: github.com/go-flu

Pierre Champion | Drakirus 96 Jul 23, 2022
W32find - Find parent windows and their children windows using win32api.

w32find Package w32find provides a set of interface to win32 APIs that can be used to find windows and their controls. Install go get -v github.com/mo

MoonChant 0 Jan 5, 2022
Proof-of-concept Windows-like clipboard manager for Linux in Go

Goclip Simple Windows-like clipboard manager for linux. This application is just a proof-of-concept and might be highly unstable. Features Clipboard t

null 2 Jan 28, 2022
Slice and dice your TMUX windows and panes

Chaakoo is a wrapper over TMUX that can create sessions, windows and panes from a grid based layout. The idea here is inspired by the CSS grid template areas.

Pallav Jha 84 Aug 21, 2022
Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)

webview A tiny cross-platform webview library for C/C++/Golang to build modern cross-platform GUIs. Also, there are Rust bindings, Python bindings, Ni

webview 10.5k Sep 22, 2022
Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)

webview A tiny cross-platform webview library for C/C++/Golang to build modern cross-platform GUIs. Also, there are Rust bindings, Python bindings, Ni

webview 10.5k Sep 27, 2022
Windows API and GUI in idiomatic Go.

Windigo Win32 API and GUI in idiomatic Go. Overview The UI library is divided in the following packages: Package Description ui High-level UI wrappers

Rodrigo 216 Sep 18, 2022
A Windows GUI toolkit for the Go Programming Language

About Walk Walk is a "Windows Application Library Kit" for the Go Programming Language. Its primarily useful for Desktop GUI development, but there is

Alexander Neumann 6.2k Sep 26, 2022
Common library for Go GUI apps on Windows

winc Common library for Go GUI apps on Windows. It is for Windows OS only. This makes library smaller than some other UI libraries for Go.

Tad Vizbaras 139 Aug 23, 2022
Windows GUI framework for Go.

gform is an easy to use Windows GUI toolkit for Go It provides two approaches to create UI. 1. Pure code. gform.Init() mainWindow := gform.NewForm(ni

Allen Dang 275 Sep 24, 2022
Windows GUI library for Go (Golang). Comes with a graphical UI designer.

Version 2 Please go to Version 2 of this library for the latest version. Windows GUI Library This is a pure Go library to create native Windows GUIs.

null 148 Sep 21, 2022
Golang bindings for XCGUI, Windows GUI library, DirectUI design idea.

XCGUI 项目文档 帮助文档 程序示例 介绍 English | 简体中文 DirectUI设计思想: 在窗口内没有子窗口,界面元素都是逻辑上的区域(无HWND句柄,安全,灵活), 所有UI元素都是自主开发(不受系统限制), 更加灵活的实现各种程序界面,满足不同用户的需求.

twgh 192 Sep 30, 2022