Problem installing applications

Seems to be some sort of type issue when iterating over the apps to install for me.
Adding buckets []
Adding apps [Hack-NF-mono]
An error was encountered while executing action scoop
sequence item 1: expected str instance, App found
Action scoop not handled

Hey! Thanks for reporting the issue!
Could you provide some more info for me please:

Logs with debugging enabled (think it's ./install -vv)
What Python you're using (think it's python --version)

It looks almost like your Python isn't automatically converting the object to a string so maybe you're running an older Python than me. I've been running this for a couple of years without issue so presumably some difference in our environments!
Jamie

Running into the same issue
install.conf.yaml:
- defaults:
    link:
      relink: true

- clean: ['~']

- scoop:
    buckets:
      - extras
    apps:
      - obsidian

install.ps1:
This is just the default install script with the added argument --plugin-dir dotbot-scoop
$ErrorActionPreference = "Stop"

$CONFIG = "install.conf.yaml"
$DOTBOT_DIR = "dotbot"

$DOTBOT_BIN = "bin/dotbot"
$BASEDIR = $PSScriptRoot

Set-Location $BASEDIR
git -C $DOTBOT_DIR submodule sync --quiet --recursive
git submodule update --init --recursive $DOTBOT_DIR

foreach ($PYTHON in ('python', 'python3')) {
    # Python redirects to Microsoft Store in Windows 10 when not installed
    if (& { $ErrorActionPreference = "SilentlyContinue"
            ![string]::IsNullOrEmpty((&$PYTHON -V))
            $ErrorActionPreference = "Stop" }) {
        &$PYTHON $(Join-Path $BASEDIR -ChildPath $DOTBOT_DIR | Join-Path -ChildPath $DOTBOT_BIN) -d $BASEDIR -c $CONFIG --plugin-dir dotbot-scoop $Args
        return
    }
}
Write-Error "Error: Cannot find Python."

output:
PS > python --version
Python 3.12.3

PS > .\install.ps1 -vv
All targets have been cleaned
Found buckets [main (https://github.com/ScoopInstaller/Main.git), extras (https://github.com/ScoopInstaller/Extras), nerd-fonts (https://github.com/matthewjberger/scoop-nerd-fonts)] already configured and apps [7zip, dark, eza, fzf, gcc, GeistMono-NF-Mono, lazygit, make, neovim, nodejs, python, ripgrep, zeal] already installed
Aiming for buckets [extras] to be configured and apps [obsidian] to be installed
Adding buckets []
Adding apps [obsidian]
An error was encountered while executing action scoop
sequence item 1: expected str instance, App found
Action scoop not handled

==> Some tasks were not executed successfully

investigation:
I managed to get the installation to work by modifying _add_missing_apps() to use a string for the command instead of joining an array. My python knowledge is limited so I'm not sure why the App class is not being converted automatically. Hopefully this provides some insight.
def _add_missing_apps(self, to_add):
    self._log.debug(f'Adding apps [{", ".join(str(a) for a in to_add)}]')

    success = True
    for app in to_add:
-       command = ['scoop install', app]
+       command = 'scoop install {0}'.format(str(app))

        try:
            subprocess.run(
-               [' '.join(command)],
+               command,
                shell=True,
                check=True)
        except subprocess.CalledProcessError:
            self._log.error(f"Failed to add app {app} by running the command {command}")
            success = False

    return success

output:
PS > .\install.ps1 -vv
All targets have been cleaned
Found buckets [main (https://github.com/ScoopInstaller/Main.git), extras (https://github.com/ScoopInstaller/Extras), nerd-fonts (https://github.com/matthewjberger/scoop-nerd-fonts)] already configured and apps [7zip, dark, eza, fzf, gcc, GeistMono-NF-Mono, lazygit, make, neovim, nodejs, python, ripgrep, zeal] already installed
Aiming for buckets [extras] to be configured and apps [obsidian] to be installed
Adding buckets []
Adding apps [obsidian]
Installing 'obsidian' (1.5.12) [64bit] from 'extras' bucket
Loading Obsidian.1.5.12.exe from cache
Checking hash of Obsidian.1.5.12.exe ... ok.
Extracting dl.7z ... done.
Running pre_install script...
Linking ~\scoop\apps\obsidian\current => ~\scoop\apps\obsidian\1.5.12
Creating shortcut for Obsidian (Obsidian.exe)
'obsidian' (1.5.12) was installed successfully!
New installed set of buckets [main (https://github.com/ScoopInstaller/Main.git), extras (https://github.com/ScoopInstaller/Extras), nerd-fonts (https://github.com/matthewjberger/scoop-nerd-fonts)] and apps [7zip, dark, eza, fzf, gcc, GeistMono-NF-Mono, lazygit, make, neovim, nodejs, obsidian, python, ripgrep, zeal]
All buckets have been added
All apps have been added

==> All tasks executed successfully

Thanks for the extra info!
Just to confirm are you getting the same error sequence item 1: expected str instance, App found?
I wonder if this is because you use Powershell. I run WSL (which is able to call windows executables like scoop) so potentially there's a mismatch in how Python calls WSL vs Powershell. Perhaps taking shell=True off could help here so Python invokes the executable directly
I'll try and have a play this weekend, maybe I can reproduce it and fix!

Just to confirm are you getting the same error sequence item 1: expected str instance, App found?

Yup, I get:
Adding buckets []
Adding apps [obsidian]
An error was encountered while executing action scoop
sequence item 1: expected str instance, App found
Action scoop not handled

I run WSL (which is able to call windows executables like scoop)

Ah good to know! I didn't know WSL is able to call windows executables.

Hey folks,
Managed to reproduce the problem and also found a couple of other issues with Powershell compatibility and how the plugin calls scoop.
Please give the latest main a test and let me know if it's solved your issue! I'll leave this open for you to confirm 🙂

The latest changes fix the issue for me. Thanks for taking the time to look into this!


Don't use fullName for type variables

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/25892728-don-t-use-fullname-for-type-variables?utm_campaign=plugin&utm_content=tracker%2F14719420&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F14719420&utm_medium=issues&utm_source=github).

In this case, some is just declared as:
final def some[A](a: A): Option[A] = Some(a)
and we get:
"typeArgs": [
          {
            "name": "A",
            "fullName": "scalaz.std.A",
            "typehint": "BasicTypeInfo",
            "typeId": 37,
            "typeArgs": [],
            "members": [],
            "declAs": {
              "typehint": "Nil"
            }
          }

so in this case we want to use name and not fullName. But what can we decide this upon?

In a case like this, I think I want to show the package name:

But the aforementioned one is just a type variable and shouldn't really need a package. This class one states class in "declAs":
"type": {
      "name": "Thang",
      "fullName": "se.foo.bar.Thang",
      "pos": {
        "typehint": "OffsetSourcePosition",
        "file": "/Users/viktor/dev/projects/ensime-test-project/src/main/scala/se/foo/bar/Thang.scala",
        "offset": 31
      },
      "typehint": "BasicTypeInfo",
      "typeId": 689,
      "typeArgs": [],
      "members": [],
      "declAs": {
        "typehint": "Class"
      }
    }

Can I use this maybe?


Support the new MaterialApp.router navigation

Platform:

[ ]  Dart
[x]  Flutter Android or iOS
[ ]  Flutter Web

IDE:

[x]  VSCode
[ ]  IntelliJ/AS
[ ]  XCode
[ ]  Other, which one?

split-debug-info and obfuscate (Flutter Android or iOS) or CanvasKit (Flutter Web):

[ ]  Enabled
[x]  Disabled

Platform installed with:

[x] pub.dev
[ ] GitHub

Output of the command flutter doctor -v below:
[✓] Flutter (Channel stable, 2.10.4, on macOS 12.3.1 21E258 darwin-arm, locale en-US)
    • Flutter version 2.10.4 at /Users/james/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c860cba910 (3 weeks ago), 2022-03-25 00:23:12 -0500
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/james/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] VS Code (version 1.66.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.32.0

[✓] Connected device (2 available)
    • Apollo (mobile) • da060dc78ac99566c39cb688206b34cb424a5ee1 • ios            • iOS 15.3.1 19D52
    • Chrome (web)    • chrome                                   • web-javascript • Google Chrome 100.0.4896.75

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

The version of the SDK (See pubspec.lock):
6.5.0-beta.1

I have the following issue:
Performance monitoring never records any transactions for anything. Error tracking works great.
This is the exact same issue as https://github.com/getsentry/sentry-dart/issues/720.
Steps to reproduce:
  SentryFlutter.init(
    (SentryFlutterOptions options) {
      options
        ..dsn = 'https://[removed]'
        ..tracesSampleRate = 1.0
        ..tracesSampler = ((_) => 1)
        ..debug = true;
    },
    appRunner: () async {
      runApp(
        DefaultAssetBundle(
          bundle: SentryAssetBundle(),
          child: const App(),
        ),
      );
    },
  );

In addition to the AssetBundle instrumentation installed above, and the expected automatic instrumentation like app start, we also have routing instrumentation installed via:
GoRouter(
  observers: <NavigatorObserver>[
    SentryNavigatorObserver(),
  ],
);

Actual result:
Sentry - debug:: No tracesSampleRate and tracesSampler set. Will not start SentryPerformanceTrackingIntegration.
No performance transaction is ever recorded on debug or in production.
Error tracking works great.
Expected result:
Performance tracking also works.

@stx Please have a look at https://docs.sentry.io/platforms/flutter/performance/
You cannot use tracesSampleRate and tracesSampler, its either one or the other.
Can you double-check and copy-paste the full logging?

@stx I still see the property in there https://api.flutter.dev/flutter/material/MaterialApp/navigatorObservers.html

@marandaneto Your link is for the old Flutter navigation - the new Flutter navigation is instantiated via https://api.flutter.dev/flutter/material/MaterialApp/MaterialApp.router.html which doesn't have navigatorObservers (they are delegated to other handlers, like GoRouter.)
Here are the logs using the below configuration with all instrumentation enabled:
      options
        ..dsn = 'https://[removed]'
        ..tracesSampleRate = 1.0
        ..debug = true;

Sentry - debug:: SDK initialized! Version: 7.11.0
Sentry - debug:: Integration installed: SentryCrashIntegration
Sentry - debug:: Integration installed: SentryANRTrackingIntegration
Sentry - debug:: Integration installed: SentryFramesTrackingIntegration
Sentry - debug:: Add breadcrumb: <SentryBreadcrumb: 0x2817a39c0>
Sentry - debug:: Integration installed: SentryAutoBreadcrumbTrackingIntegration
Sentry - debug:: Reading timestamp of last in foreground at: [/var/mobile/Containers/Data/Application/0CE2D1EC-F79B-40AB-A631-1E20A086663F/Library/Caches/io.sentry/0074e9491e47e2d30ee8d6e02002b49498dc0278/lastInForeground.timestamp]()
Sentry - debug:: No lastInForeground found.
Sentry - debug:: Reading from session: [/var/mobile/Containers/Data/Application/0CE2D1EC-F79B-40AB-A631-1E20A086663F/Library/Caches/io.sentry/0074e9491e47e2d30ee8d6e02002b49498dc0278/session.current]()
Sentry - debug:: No cached session to close.
Sentry - debug:: Integration installed: SentryAutoSessionTrackingIntegration
Sentry - debug:: Integration installed: SentryAppStartTrackingIntegration
Sentry - debug:: Integration installed: SentryOutOfMemoryTrackingIntegration
Sentry - debug:: No tracesSampleRate and tracesSampler set. Will not start SentryPerformanceTrackingIntegration.
Sentry - debug:: Integration installed: SentryPerformanceTrackingIntegration
Sentry - debug:: Not going to enable NetworkTracking because isTracingEnabled is disabled.
Sentry - debug:: Integration installed: SentryNetworkTrackingIntegration
Sentry - debug:: Not going to enable FileIOTracking because tracing is disabled.
Sentry - debug:: Integration installed: SentryFileIOTrackingIntegration
Sentry - debug:: Not going to enable CoreData tracking because tracing is disabled.
Sentry - debug:: Integration installed: SentryCoreDataTrackingIntegration
[sentry] [debug] release: [removed]
Sentry - debug:: Add breadcrumb: <SentryBreadcrumb: 0x28179ac80>
Sentry - debug:: Add breadcrumb: <SentryBreadcrumb: 0x28178c500>

That looks like the logs from the native iOS Sentry SDK, which means native performance tracing isn't enabled. The Dart/Flutter performance tracing features should still work though. Have you verified that, by creating and capturing a manual performance trace?
I can see how that could confuse people. I wonder if that can be improved somehow.

@ueman Our Sentry performance views are literally empty - no transactions, no cold startup time, no warm startup time, no slow frames, no frozen frames.
I assume something is supposed to show up here else I'm not sure exactly what performance monitoring is. According to these docs...
https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/#app-start-instrumentation
https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/#slow-and-frozen-frames
https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/#assetbundle-instrumentation
...I would expect at least these items to show up, since they are enabled by default, or added in AssetBundle's case.
Are we misunderstanding how this is supposed to work?

Manual performance traces work correctly viaSentry.startTransaction('testTransaction', 'task'). We can see one transaction now but all other performance data is still empty.

The integrations for AssetBundle, http and Dio just create child spans if there's a transaction bound to the scope. They don't create root transactions themselves.
Just the SentryNavigatorObserver creates root transactions (transactions which are bound to the scope). As said, I assume that it works with GoRouter but haven't tried it myself. Please note, that only Routes with names are considered as there's no way to identify and differentiate between different routes if they have no name. It should be logged, though, if a route hase no name.
The observer is also doing the app start and frame time thingies. Those metrics are contained within the repsective transactions initiated by the observer.
The name limitation should probably be more highlighted in the docs.
I'm not quite sure if that answers your question but nevertheless, I hope that it helped.

@ueman That helps a ton!
100% of our routes have names. They use URL paths like "/settings". Seems like the root issue is that the SentryNavigatorObserver isn't recording app start/frames on GoRouter or possibly Flutter Navigation 2.0 (Router) - that explains the missing metrics and allows everything we're seeing to make perfect sense.
Looking at GoRouter's code, it looks like it's passing observers directly to Navigator, so I presume the issue is not specific to this package:
https://github.com/flutter/packages/blob/c017156a022cf8c1fad45397073baf6ecd6c326b/packages/go_router/lib/src/go_router_delegate.dart#L690
We also see that navigation traces are showing up in issues, so the non-performance measurements appear to be working.
Is there anything else we can do to help identify the issue?

Ok so this is not really a bug then, it's likely the lack of support of the new API MaterialApp.router.
Our docs mention support for the navigatorObservers  only -> https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/#routing-instumentation
For now, while we don't figure out a way around it, please use the custom instrumentation https://docs.sentry.io/platforms/flutter/performance/instrumentation/custom-instrumentation/ API
Slow and frozen frames won't work since it depends on the navigatorObservers as described in the docs https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/#slow-and-frozen-frames

I've tested it out with the MaterialApp.router and GoRouter objects and everything worked out.
I only I've added the observers to this example: https://github.com/flutter/packages/blob/3af45c77f9d04f9100b94dada152ecf629039d0c/packages/go_router/example/lib/main.dart#L25-L38
  final GoRouter _router = GoRouter(
    routes: <GoRoute>[
      GoRoute(
        path: '/',
        builder: (BuildContext context, GoRouterState state) =>
            const Page1Screen(),
      ),
      GoRoute(
        path: '/page2',
        builder: (BuildContext context, GoRouterState state) =>
            const Page2Screen(),
      ),
    ],
    observers: [SentryNavigatorObserver()],
  );

SDK init as simple as:
Future<void> main() async {
  await SentryFlutter.init(
    (options) {
      options.dsn =
          'my_dsn...';
      options.tracesSampleRate = 1.0;
      options.debug = true;
    },
    // Init your App.
    appRunner: () => runApp(
      DefaultAssetBundle(
        bundle: SentryAssetBundle(enableStructuredDataTracing: true),
        child: App(),
      ),
    ),
  );

Slow and frozen frames and App start worked out, @stx if that does not work for you, please provide a minimal reproducible example.

https://github.com/getsentry/sentry-docs/pull/4933

@marandaneto Found the issue!
Works - transaction submitted:
GoRoute(
  path: '/',
  builder: (_, GoRouterState state) => Page1Screen(),
),

Doesn't work - no transaction submitted:
GoRoute(
  path: '/',
  pageBuilder: (_, GoRouterState state) => MaterialPage<dynamic>(
    key: state.pageKey,
    name: state.name,
    child: Page1Screen(),
  ),
),

Fix: Change the route name to the full URL path:
name: state.name -> name: state.fullpath
After we changed this, everything started to show up!
Closing as this seems to be an edge case. However, it could be super helpful to have an error/notice message in the logs if SentryNavigatorObserver() is enabled and the route is invalid (name is missing/invalid, etc.) Something like "Error: Route name is required to log transaction." or something to that effect.
Thanks very much for your help in narrowing this down. 🙏

How to put SentryNavigatorObserver() into MaterialApp.router?

https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/#gorouter-instrumentation

I have the same Issue, my project runs on Android and Web, I cant get to set up automated performance.
  Widget build(BuildContext context) => MaterialApp.router(
        routeInformationProvider: _router.routeInformationProvider,
        routeInformationParser: _router.routeInformationParser,
        routerDelegate: _router.routerDelegate,
        title: title,
      );

  final GoRouter _router = GoRouter(routes: <GoRoute>[
    GoRoute(
        path: '/',
        pageBuilder: (BuildContext context, GoRouterState state) =>
            MaterialPage<dynamic>(
                name: state.fullPath,
                key: state.pageKey,
                child: Page1Screen())),
    GoRoute(
        path: '/page2',
        pageBuilder: (BuildContext context, GoRouterState state) =>
            MaterialPage<dynamic>(
                name: state.fullPath,
                key: state.pageKey,
                child: Page2Screen())),
  ], observers: [
    SentryNavigatorObserver()
  ]);
}

I have already tried yout previous example @marandaneto like this:
  @override
  Widget build(BuildContext context) => MaterialApp.router(
        routerConfig: _router,
        title: title,
      );

  final GoRouter _router = GoRouter(routes: <GoRoute>[
    GoRoute(
      path: '/',
      builder: (BuildContext context, GoRouterState state) =>
          const Page1Screen(),
    ),
    GoRoute(
      path: '/page2',
      builder: (BuildContext context, GoRouterState state) =>
          const Page2Screen(),
    ),
  ], observers: [
    SentryNavigatorObserver()
  ]);
}

Still no frozen frame, app start or any vitals, only erros and custom transactions,
any help would be much appreciated.

@humber-z I'll take a look and come back to you.

@humber-z So I took a look and the latter example works as expected. Maybe there are no traces because there are no child spans or you are running on web?

Transactions will be bound to the scope if no other transaction is currently bound to it.
If the transaction has no spans, the transaction will be dropped and not sent to Sentry, the reason is that there's no callback to identify when the screen has been loaded, so we rely on the child spans.

https://docs.sentry.io/platforms/flutter/performance/instrumentation/automatic-instrumentation/?original_referrer=https%3A%2F%2Fwww.google.com%2F

We are using Flutter(mobile app) and also using the GoRoute package as our navigation package.
based on the Sentry documentations for Setup Flutter and also Automatic Instrumentation, we just need to automatically track the Navigations of the different screen and not the Dio or Http request.
We already set all the configurations up for this purpose based on the documentation as below:
await SentryFlutter.init(     (options) async {       options.dsn = !isZebraDevice && Environment.useCrashlytics           ? 'https://dsn-url'           : '';       options.tracesSampleRate = 1;       options.profilesSampleRate = 0.2;       options.autoAppStart = true;       options.enableAutoSessionTracking = true;       options.enableAutoPerformanceTracing = true;       options.enableAppLifecycleBreadcrumbs = true;       options.enableAutoNativeBreadcrumbs = true;       options.enableBrightnessChangeBreadcrumbs = true;       options.enableNativeCrashHandling = true;       options.enableWatchdogTerminationTracking = true;       options.enablePrintBreadcrumbs = true;       options.attachStacktrace = true;       options.enableTracing = true;       options.environment = Environment.channel;     },
and also we set the SentryObserver like this:
 static final rootNode = ShellRoute(     navigatorKey: Constants.shellNavigatorKey,     builder: (context, state, child) => BaseScreen(child: child),     observers: [     SentryNavigatorObserver(),     ],     routes: [       HomeRoutes.homeNode,       CategoryRoutes.categoryNode,       CartRoutes.cartNode,       ProfileRoutes.profileNode,       LoginRoutes.loginRouteNode,     ],   ); }
Now we expect to see at least some data in the Performance section at Sentry Dashboard, but we couldn't get any data until now. Is it possible in Sentry to just track the navigations or it is not possible? Or does SentryObserver works fine with GoRoute ? since we are already using GoogelAnalyticsObserver and it works fine with GoRoute. We are also using the last version of Sentry.
It would be appreciated if you can help us

Hi, the SentryNavigatorObserver works fine with GoRouter.

Is it possible in Sentry to just track the navigations or it is not possible?

Unfortunately no, if the navigation transaction has no child spans, it will be dropped. the reason is that there's no callback to identify when the screen has been loaded, so we rely on the child spans.
So unless you attach child spans to the navigation transaction after the screen has been pushed Sentry won't send the transaction.
e.g
final activeSpan = Sentry.getSpan();
final childSpan = activeSpan?.startChild('complex operation',
    description: 'running a complex operation');
// do work
childSpan?.finish();

Also If I understand you correctly, I assume you are asking for a Time to Initial Display feature since you only want to track the navigation.

We are using Flutter(mobile app) and also using the GoRoute package as our navigation package. based on the Sentry documentations for Setup Flutter and also Automatic Instrumentation, we just need to automatically track the Navigations of the different screen and not the Dio or Http request. We already set all the configurations up for this purpose based on the documentation as below:
await SentryFlutter.init(
    (options) async {
      options.dsn = !isZebraDevice && Environment.useCrashlytics
          ? 'https://dsn-url'
          : '';
      options.tracesSampleRate = 1;
      options.profilesSampleRate = 0.2;
      options.autoAppStart = true;
      options.enableAutoSessionTracking = true;
      options.enableAutoPerformanceTracing = true;
      options.enableAppLifecycleBreadcrumbs = true;
      options.enableAutoNativeBreadcrumbs = true;
      options.enableBrightnessChangeBreadcrumbs = true;
      options.enableNativeCrashHandling = true;
      options.enableWatchdogTerminationTracking = true;
      options.enablePrintBreadcrumbs = true;
      options.attachStacktrace = true;
      options.enableTracing = true;
      options.environment = Environment.channel;
    },

and also we set the SentryObserver like this:
    static final rootNode = ShellRoute(
    navigatorKey: Constants.shellNavigatorKey,
    builder: (context, state, child) => BaseScreen(child: child),
    observers: [
    SentryNavigatorObserver(),
    ],
    routes: [
      HomeRoutes.homeNode,
      CategoryRoutes.categoryNode,
      CartRoutes.cartNode,
      ProfileRoutes.profileNode,
      LoginRoutes.loginRouteNode,
    ],
  );
}

Now we expect to see at least some data in the Performance section at Sentry Dashboard, but we couldn't get any data until now. Is it possible in Sentry to just track the navigations or it is not possible? Or does SentryObserver works fine with GoRoute ? since we are already using GoogelAnalyticsObserver and it works fine with GoRoute. We are also using the last version of Sentry. It would be appreciated if you can help us

did u get any solution?


Automatic reconnect?

I've noticed that fs2ff sometimes disconnects from MSFS, and ForeFlight switches back to the iPad's GPS, leaving a long teleportation in my flight track. ;)
It would be great if it could automatically reconnect to the sim for transitory disconnections like this.
(Ideally it wouldn't disconnect at all, though.)

@brion Good idea, I'll submit a pull request tonight.


insert deployment link

As a service provider or enabler of autonomous teams I want to provide a way to insert a link to the deployment so that my end users can easily move from code to deployment and so that a service provider can get inbound links.

I am pretty sure that the first hour will be free if you give me an inbound link.


docs: Draggable works on all objects

[X] I've looked at the documentation to make sure the behavior is documented and expected
[X] I'm sure this is a Leaflet code issue, not an issue with my own code nor with the framework I'm using (Cordova, Ionic, Angular, React…)
[X] I've searched through the issues to make sure it's not yet reported

Steps to reproduce
Steps to reproduce the behavior:

Read docs: https://leafletjs.com/reference-1.5.0.html#draggable

Expected behavior
Only works for elements that were positioned with L.DomUtil.setPosition.
Current behavior
Works on all elements
Environment
n/a
Additional context
Please don't change the functionality, please fix the docs :-)
Minimal example reproducing the issue
https://codepen.io/1100101/pen/YoejoY

[X] this example is as simple as possible
[X] this example does not rely on any third party code

I was wondering about this too! It doesn't work perfectly as in your example in some scenarios. For ex. I have an ImageOverlay that was positioned with projective transformations:

Since I didn't set my position with L.DomUtil.setPosition, it always assumes that my start point is 0 and turns the image there first before continuing to drag
Setting the position prevents this behavior.
Would love some more documentation surrounding this!


Create key if it doesn't exist

I don't know if this is already in there, if so, I can't get it to work.
Given
en.yaml
label:
  a: "this is translated"

And say I use
<p>{{$t('label.b')}}</p>

Now this does obliviously not work.
I would like to click the "pencil" icon and just translate it from the UI and the plugin should create the key if it does not exist, instead of having to create the label.b key first.
In this UI

IF this exist, I can't get it to work
I don't see any errors in the output
And while we are at the feature requests, could you add the Danish flag ? :laughing:

@TheSinding that's weired, it should create keys whenever they're not exist. I will test it out. Thanks.

It works in my case. (during the first time you do the editing, the extension should prompt you to choose the style to manage keys. please check out whether you missed that part)
For the Danish flag, should the language locale code be da-DK? The flag will be displayed for da-DK  (I know little about this, correct me if I am wrong)

You are probably right! Sorry about that
On Tue, Nov 26, 2019, 02:46 Anthony Fu<EMAIL_ADDRESS>wrote:

It works in my case. (during the first time you do the editing, the
extension should prompt you to choose the style to manage keys. please
check out whether you missed that part)
For the Danish flag, should the language locale code be da-DK? The flag
will be displayed for da-DK (I know little about this, correct me if I am
wrong)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/antfu/i18n-ally/issues/119?email_source=notifications&email_token=ABKRMY5UZLATIUIOTE3VDFLQVR5XHA5CNFSM4JRNHT42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFENIAA#issuecomment-558420992,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABKRMY5ZAVFQSP52RIP64B3QVR5XHANCNFSM4JRNHT4Q
.

I've tried again, is this how it's suppose to work ?

This might be a bug. I will look into that! Meanwhile, you can use the edit function in the hover popup, I should work I suppose. Thanks for the info!

I use quasar v1.x (I don't think that's it)
Is it this function you are talking about ?

I found your extension called "i18n ally" and that extension worked as intended.. I used "vue i18n ally" before, and that didn't work. I guess it was a mismatch ?

I see, I've been using the wrong extension !

But I was enjoying even the "broken" extension, so great work dude! Keep it up!

@TheSinding There is a bug in the v0.x version and I have fixed that. Thanks again.
Glad to hear it works for you!


patch vmblock/03-vmblock.3.12.patch unexpectedly ends in middle of line

While applying Patch vmblock/03-vmblock.3.12.patch the following message is shown:
...
*** Applying vmblock/03-vmblock.3.12.patch ...
patching file linux/control.c
patching file linux/dentry.c
patching file linux/inode.c
patch unexpectedly ends in middle of line
...

Using VMware Workstation 11.1.0 build 2496824 and VMware Tools 9.9.2 build 2496486.

Somehow the patch from
http://dominator008.com/crate/vmblock-3.12-patch
got changed slightly. This should fix it.


Apache cordova x.two-way binding not working in android 4.0.x

In Android 4.0.x to 4.4.4 two-way binding not working until .bind is ok.

need more info

When we use src.two-way instead src.bind in view like this, on android 4.0.x to android 4.4.4 .two-way do not working, but .bind is ok.

Two-way binding isn't going to work on an image src. Are you seeing this with form controls as well?

Yes its work with controls, Thanks.


Counter Example on Linux Desktop in Release mode - creates a cli prompt which does not close?

Steps to Reproduce
Running the Counter Example for Linux Desktop  in release mode
$ flutter run -d linux --verbose --release
It starts up very slowly - one must wait for the Window to populate
When the Window is closed, the underlying shell does not quit, remaining thus:-
Application running.
Flutter run key commands.
h Repeat this help message.
c Clear the screen
q Quit (terminate the application on the device).
Running in debug mode does not have this problem.
Why?
Bug?
==============================================
RELEASE MODE -- START
$ flutter run -d linux --verbose --release
[  +77 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +19 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 5a6dfa35caaf7bccb35488dc03677c150ebf2d97
[        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git tag --contains HEAD
[ +123 ms] Exit code 0 from: git tag --contains HEAD
[   +1 ms] 1.21.0-7.0.pre
[   +6 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/dev
[        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git ls-remote --get-url origin
[   +3 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +24 ms] Unable to locate an Android SDK.
[   +3 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref HEAD
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] dev
[  +29 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +15 ms] Unable to locate an Android SDK.
[   +9 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +146 ms] Launching lib/main.dart on Linux in release mode...
[   +6 ms] Building Linux application...
[   +8 ms] executing: [build/linux/release/] cmake -G Ninja -DCMAKE_BUILD_TYPE=Release /home/jradley/Documents/programming/flutter/counter/linux
[  +26 ms] -- Configuring done
[        ] -- Generating done
[        ] -- Build files have been written to: /home/jradley/Documents/programming/flutter/counter/build/linux/release
[   +5 ms] executing: ninja -C build/linux/release install
[   +4 ms] ninja: Entering directory `build/linux/release'
[+2936 ms] [1/5] Generating /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/libflutter_linux_gtk.so,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_basic_message_channel.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_binary_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_binary_messenger.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_dart_project.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_engine.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_json_message_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_json_method_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_message_codec.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_call.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_channel.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_response.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_plugin_registrar.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_plugin_registry.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_standard_message_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_standard_method_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_string_codec.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_value.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_view.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/flutter_linux.h, phony
[   +6 ms] [  +77 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [  +19 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 5a6dfa35caaf7bccb35488dc03677c150ebf2d97
[        ] [        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git tag --contains HEAD
[        ] [ +120 ms] Exit code 0 from: git tag --contains HEAD
[        ] [        ] 1.21.0-7.0.pre
[        ] [   +6 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/dev
[        ] [        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git ls-remote --get-url origin
[        ] [   +2 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +24 ms] Unable to locate an Android SDK.
[        ] [   +3 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref HEAD
[        ] [   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] dev
[        ] [  +27 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [   +4 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [  +58 ms] Initializing file store
[        ] [   +6 ms] Done initializing file store
[        ] [  +28 ms] Skipping target: gen_localizations
[        ] [ +733 ms] Skipping target: kernel_snapshot
[        ] [  +81 ms] Skipping target: aot_elf_release
[        ] [        ] linux_aot_bundle: Starting due to {InvalidatedReason.outputMissing}
[        ] [   +1 ms] linux_aot_bundle: Complete
[        ] [ +944 ms] unpack_linux: Starting due to {InvalidatedReason.inputChanged}
[        ] [  +30 ms] unpack_linux: Complete
[        ] [ +427 ms] Skipping target: release_bundle_linux_assets
[        ] [        ] Persisting file store
[        ] [   +5 ms] Done persisting file store
[        ] [   +6 ms] build succeeded.
[        ] [   +5 ms] "flutter assemble" took 2,345ms.
[        ] [   +7 ms] ensureAnalyticsSent: 4ms
[        ] [        ] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[ +371 ms] [2/5] Building CXX object CMakeFiles/counter.dir/flutter/generated_plugin_registrant.cc.o
[  +22 ms] [3/5] Building CXX object CMakeFiles/counter.dir/my_application.cc.o
[  +92 ms] [4/5] Linking CXX executable counter
[        ] [4/5] Install the project...
[   +6 ms] -- Install configuration: "Release"
[   +3 ms] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/counter
[        ] -- Set runtime path of "/home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/counter" to "$ORIGIN/lib"
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/icudtl.dat
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/lib/libflutter_linux_gtk.so
[  +28 ms] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/packages
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/packages/cupertino_icons
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/packages/cupertino_icons/assets
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/fonts
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/fonts/MaterialIcons-Regular.otf
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/AssetManifest.json
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/FontManifest.json
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/data/flutter_assets/NOTICES
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/release/bundle/lib/libapp.so
[   +9 ms] Building Linux application... (completed in 3.5s)
[   +5 ms] Application running.
[        ] Flutter run key commands.
[   +1 ms] h Repeat this help message.
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
RELEASE MODE --END
DEBUG MODE --START
$ flutter run -d linux
Launching lib/main.dart on Linux in debug mode...
Building Linux application...
Waiting for Linux to report its views...                             2ms
Syncing files to device Linux...                                    91ms
Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).
An Observatory debugger and profiler on Linux is available at: http://<IP_ADDRESS>:36711/JtQp16cw5FI=/
Lost connection to device.
jradley@z390ma:~/Documents/programming/flutter/counter$ flutter run -d linux --verbose
[  +77 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +18 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 5a6dfa35caaf7bccb35488dc03677c150ebf2d97
[        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git tag --contains HEAD
[ +123 ms] Exit code 0 from: git tag --contains HEAD
[   +1 ms] 1.21.0-7.0.pre
[   +5 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/dev
[        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git ls-remote --get-url origin
[   +2 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +25 ms] Unable to locate an Android SDK.
[   +3 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref HEAD
[   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] dev
[  +29 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +14 ms] Unable to locate an Android SDK.
[  +10 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +153 ms] Starting incremental build...
[   +1 ms] Initializing file store
[   +6 ms] Skipping target: gen_localizations
[   +4 ms] complete
[   +3 ms] Launching lib/main.dart on Linux in debug mode...
[   +3 ms] /home/jradley/Documents/programming/flutter/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
/home/jradley/Documents/programming/flutter/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
/home/jradley/Documents/programming/flutter/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter --debugger-module-names --experimental-emit-debug-metadata
-Ddart.developer.causal_async_stacks=true --output-dill /tmp/flutter_tools.OVJGSR/flutter_tool.LSQROJ/app.dill --packages .packages -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts --track-widget-creation --filesystem-scheme
org-dartlang-root --initialize-from-dill build/cache.dill.track.dill
[  +14 ms] Building Linux application...
[   +8 ms] <- compile package:counter/main.dart
[   +2 ms] executing: [build/linux/debug/] cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug /home/jradley/Documents/programming/flutter/counter/linux
[  +32 ms] -- Configuring done
[   +1 ms] -- Generating done
[        ] -- Build files have been written to: /home/jradley/Documents/programming/flutter/counter/build/linux/debug
[   +5 ms] executing: ninja -C build/linux/debug install
[   +5 ms] ninja: Entering directory `build/linux/debug'
[+3323 ms] [1/5] Generating /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/libflutter_linux_gtk.so,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_basic_message_channel.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_binary_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_binary_messenger.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_dart_project.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_engine.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_json_message_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_json_method_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_message_codec.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_call.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_channel.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_method_response.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_plugin_registrar.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_plugin_registry.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_standard_message_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_standard_method_codec.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_string_codec.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_value.h,
/home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/fl_view.h, /home/jradley/Documents/programming/flutter/counter/linux/flutter/ephemeral/flutter_linux/flutter_linux.h, phony
[   +3 ms] [  +84 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [  +20 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 5a6dfa35caaf7bccb35488dc03677c150ebf2d97
[        ] [        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git tag --contains HEAD
[        ] [ +129 ms] Exit code 0 from: git tag --contains HEAD
[        ] [        ] 1.21.0-7.0.pre
[        ] [   +6 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/dev
[        ] [        ] executing: [/home/jradley/Documents/programming/flutter/flutter/] git ls-remote --get-url origin
[        ] [   +2 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +23 ms] Unable to locate an Android SDK.
[        ] [   +3 ms] executing: [/home/jradley/Documents/programming/flutter/flutter/] git rev-parse --abbrev-ref HEAD
[        ] [   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] dev
[        ] [  +27 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [   +4 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [  +58 ms] Initializing file store
[        ] [   +6 ms] Done initializing file store
[        ] [  +21 ms] Skipping target: gen_localizations
[        ] [ +992 ms] Skipping target: kernel_snapshot
[        ] [+1320 ms] Skipping target: unpack_linux
[        ] [ +257 ms] Skipping target: debug_bundle_linux_assets
[        ] [        ] Persisting file store
[        ] [   +5 ms] Done persisting file store
[        ] [   +4 ms] build succeeded.
[        ] [   +5 ms] "flutter assemble" took 2,686ms.
[        ] [   +8 ms] ensureAnalyticsSent: 6ms
[        ] [        ] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[ +374 ms] [2/5] Building CXX object CMakeFiles/counter.dir/flutter/generated_plugin_registrant.cc.o
[   +1 ms] [3/5] Building CXX object CMakeFiles/counter.dir/my_application.cc.o
[  +95 ms] [4/5] Linking CXX executable counter
[        ] [4/5] Install the project...
[   +5 ms] -- Install configuration: "Debug"
[   +9 ms] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/counter
[        ] -- Set runtime path of "/home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/counter" to "$ORIGIN/lib"
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/icudtl.dat
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/lib/libflutter_linux_gtk.so
[  +63 ms] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/packages
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/packages/cupertino_icons
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/fonts
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/fonts/MaterialIcons-Regular.otf
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/AssetManifest.json
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/FontManifest.json
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/NOTICES
[        ] -- Installing: /home/jradley/Documents/programming/flutter/counter/build/linux/debug/bundle/data/flutter_assets/kernel_blob.bin
[  +24 ms] Building Linux application... (completed in 4.0s)
[ +374 ms] Observatory URL on device: http://<IP_ADDRESS>:41361/BBu6rwduiVw=/
[   +3 ms] Caching compiled dill
[  +14 ms] Connecting to service protocol: http://<IP_ADDRESS>:41361/BBu6rwduiVw=/
[        ] DDS is currently disabled due to https://github.com/flutter/flutter/issues/62507
[  +86 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:41361/BBu6rwduiVw=/
[        ] Waiting for Linux to report its views...
[   +3 ms] Waiting for Linux to report its views... (completed in 2ms)
[   +4 ms] DevFS: Creating new filesystem on the device (null)
[   +8 ms] DevFS: Created new filesystem on the device (file:///tmp/counterDDZXLN/counter/)
[   +1 ms] Updating assets
[  +53 ms] Syncing files to device Linux...
[   +1 ms] Scanning asset files
[   +1 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[        ] <- recompile package:counter/main.dart 2a2aabe9-b50c-4cf7-9803-2e34e6f6163e
[        ] <- 2a2aabe9-b50c-4cf7-9803-2e34e6f6163e
[  +44 ms] Updating files
[  +46 ms] DevFS: Sync finished
[        ] Syncing files to device Linux... (completed in 95ms)
[        ] Synced 1.6MB.
[        ] <- accept
[        ] Connected to _flutterView/0x1b893d0.
[        ] Flutter run key commands.
[   +1 ms] r Hot reload. 🔥🔥🔥
[        ] R Hot restart.
[        ] h Repeat this help message.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] An Observatory debugger and profiler on Linux is available at: http://<IP_ADDRESS>:41361/BBu6rwduiVw=/
[+5278 ms] Service protocol connection closed.
[   +1 ms] Lost connection to device.
[   +1 ms] DevFS: Deleting filesystem on the device (file:///tmp/counterDDZXLN/counter/)
[ +252 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[   +2 ms] "flutter run" took 10,381ms.
[  +14 ms] ensureAnalyticsSent: 8ms
[   +2 ms] Running shutdown hooks
[        ] Shutdown hook priority 4
[   +7 ms] Shutdown hooks complete
[   +1 ms] exiting with code 0
DEBUG MODE --END
$ flutter analyze
Analyzing counter...
No issues found! (ran in 8.2s)
$ flutter doctor -v
[✓] Flutter (Channel dev, 1.21.0-7.0.pre, on Linux, locale en_GB.UTF-8)
• Flutter version 1.21.0-7.0.pre at /home/jradley/Documents/programming/flutter/flutter
• Framework revision 5a6dfa35ca (7 days ago), 2020-08-03 10:33:07 -0700
• Engine revision 083282e33b
• Dart version 2.10.0 (build 2.10.0-4.0.dev 365525432a)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
You may also want to add it to your PATH environment variable.
[✓] Linux toolchain - develop for Linux desktop
• clang version 10.0.0-4ubuntu1
• cmake version 3.16.3
• ninja version 1.10.0
• pkg-config version 0.29.1
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[✓] VS Code (version 1.47.3)
• VS Code at /usr/share/code
• Flutter extension version 3.12.2
[✓] Connected device (1 available)
• Linux (desktop) • linux • linux-x64 • Linux
! Doctor found issues in 2 categories.

Duplicate of https://github.com/flutter/flutter/issues/58459

By the way, I think there's a misunderstanding here. The Linux application you are running isn't creating the command prompt you are talking about. The flutter run tool creates that prompt, and sub-launches the built Linux application.
You can run the application directly, and you'll see that there's no such prompt.

Sorry, but it was only my beginners way of trying to explain it.
I have no previous knowledge of Flutter, except that I've picked up the recent Canonical PR about Linux Desktop Apps and was trying to find out... As a result, getting very confused that behind the scenes there's a prompt for a Q to quit.
( and the --release option is so slow, it clearly isn't working right)
I was just expecting a simple ELF executable such as, say, /usr/sbin/gpartedbin and as Go and Dart can produce.
I was convinced the 1.20 version I tried last week didn't have it - perhaps I just didn't notice it.
Sorry for the bother.

and the --release option is so slow, it clearly isn't working right

If you have performance issues with release mode, please file a bug with details.


Feat: Pacman movement & wall collision

Refactored Code
Pacman Movement
Wall Collision

Relax. It is just a rough change. First, you all need to accept the approach, then I can do the optimizations.