Publish to NPM?

I'm trying to integrate this with our build system which uses SystemJS to output sfx builds. It's a collection of gulp tasks distributed via NPM. As such I'm forced to either point directly to the plugin's github repo in my build system's package.json or manually jspm install it in each project. Neither solution is really ideal. Given that this exposes functionality that can be used both on the server and client sides, I think it would be more flexible to publish to NPM.

Been a few months.  Am also surprised to not see it on NPM (unless I missed it)


Update functions.Rmd

Can you title and describe these pull requests more clearly? For example, "fixed typo",  "edited".

Sorry for that, I will add some description the next time.


Fmay/support dark mode

Support Dark Mode
Current implementation looks at the current theme and
applies default colors accordingly.
NOTE: These changes do not listen for theme changes, but
we already get a notification from eclipse to restart before
changes take full effect.  Later support could be extended
to adjust when the theme changes.
Old workspaces will consider the previous defaults as user
configured due to the ui.text design.  New workspaces can be
created or in the OAL editor preferences "Restore Defaults"
can be used.
Graphics also uses a new default color scheme when dark mode
is used.
Support projects named differently than actual folder structure.
Eclipse allows you to name a project independently of the folder
on disk.  When you have this situattion Import Model Component
will create unresolvable proxies.  This can create an issue with
many areas of the tool, but the one being fixed here is that global
types are not available as the results are added to the proxy and
not the real element.  There is only one line that needs changing
to address this issue and in that case we were taking an eclipse
resource an converting it to a filesystem object.  This was unneccesary
as the full path of the resource object is the exact path we need.

Created issue: https://support.onefact.net/issues/12480

I agree with the suggestions provided here, though I do not have much time to look into it at this point.  I suggest you dismiss this PR for now.  When I get a solution in place with the suggested changes I will offer a new PR.

Will do, however the change fixing the proxy issue sounds like it is worth merging now. If you peel that out into its own commit/branch, I will merge it into master.


Minor correction on fan.py

Thank you, I saw similar typos in the other files, could you please extend PR for those as well?

Thank you so much, all three merged. ;-)


Inline modules/apps/publisher

This is a no-op refactoring, see the plan here:
https://cd.gds-reliability.engineering/teams/govuk-ci/pipelines/ci-govuk-infrastructure-main/jobs/terraform-plan-govuk-deployment/builds/141
In-lining this module reduces the amount of variable / output passing we have to do.
There's only one app module (static) to inline after this one.

I'm going to close this and raise another one that includes static.

I'm going to close this and raise another one that includes static.


Add two missing ocamlPackages.cohttp-* packages

Description of changes
As of 5.1.0, cohttp contains two packages that are not in nixpkgs, namely cohttp-lwt-jsoo and cohttp-top. This PR adds the two packages in question. Three notes:

This PR builds on top of #226657. Changes to pkgs/development/ocaml-modules/cohttp/default.nix should therefore be discussed there instead. I did this to avoid a situation where (a) we test bumping the version on one hand and (b) we test adding the two packages on the other hand, but we don't (c) test adding the two packages with the bumped version, where (a) and (b) would be fine but (c) wouldn't. The two packages in question already exist in version 5.0.0 of cohttp, though, so if my reasoning isn't the best I could also make this PR independent.

By inheriting metadata from cohttp and cohttp-lwt, I am effectively making you, @vbgl, maintainer of these two new packages. I thought it was odd for me to put myself as maintainer of these two when you were already handling the rest, but this solution is also a bit odd. WDYT?

The current master branch of cohttp includes yet another set of new packages that will probably land in cohttp 6.0.0, namely:

cohttp-bench
cohttp-curl
cohttp-curl-async
cohttp-curl-lwt
cohttp-eio
cohttp-server-lwt-unix
http

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[X] x86_64-darwin
[X] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 226662 run on x86_64-linux 1

4 packages built:

comby
dune-release
ligo
liquidsoap

If you rebase on master we should be able to merge this

Done. Both packages build fine for me on x86_64-linux, x86_64-darwin and aarch64-darwin.


Fails to save user data on localhost

If in server there are at least like 4-5 people I sometimes start getting the error below. Server is hosted on vps and uses local host database. If I save each user manually it does save them just fine. Don't know if it's caused by SQL or esx
[WARNING] Failed to automatically save player data! This may be caused by an internal error on the MySQL server.

There is a nice issue template. I have no idea how to get this result, so I cannot help.


Remove many obsoleted pylint directives

This is made possible by pylint recently starting to automatically ignore unused imports inside if typing.TYPE_CHECKING, and by the use of variable type annotations (instead of commented type annotations).

@fvkg

recently starting to automatically ignore unused imports

Which versions of pylint does this?

@viathor the TYPE_CHECKING behavior was added in pylint 2
http://pylint.pycqa.org/en/latest/whatsnew/2.0.html

@dabacon, I think you meant @vtomole.

@dabacon Ah.

Doh yes @vtomole

I can't track down when variable annotations were added but this is part of PEP 526 and python 3.6 so we should be good.


Utilise Go's testing

Introduce the builtin testing package and replace current "examples" with tests, swapping panics for formatted errors

Superseded by #13


Update README.md

Updated description from "starting up a package" to "starting up a project"

Coverage remained the same at 97.097% when pulling b99b3e6b8545cd619aff265ade4404d8c29b80d3 on florinmarton:patch-2 into 693a13c73c81d5b88e4d68b1f2770df2ef54ae72 on generaptr:master.


Issue Number for which I'm assigned & worked: #6

Issue Number for which I'm assigned & worked: #6

Add Java solution

🚀merged, thanks for contributing...


Android Gradle plugin supports issue

What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':pdf_merger' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31

Facing this issue on latest flutter version 3.19.2
Smartphone (please complete the following information):

Device: all
OS: ANDROID &IOS
Version all

Additional context

Go to your project External Libraries after that open the Flutter Plugins and find pdf_merger-0.0.6.
Then open the project and navigate to android folder then open build.gradle in this file change the version of kotlin to    ext.kotlin_version = '1.8.10'

Any chance to fix it any time soon?

There´s a pull request with changes, but it hasn´t been aproved by abhay0648

Any chance to fix it any time soon?

There is a new package named PDF Combiner that works perfectly based on this: https://github.com/vicajilau/pdf_combiner


chore: update dependencies submodule to the tip of develop

chore: update dependencies submodule to the tip of develop
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

bors merge


[android] on "app exit" : Runtime exception at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative

Below is the Flutter/Dart version I am using.
 • Flutter version 1.12.13+hotfix.5
 • Framework revision 27321ebbad
 • Engine revision 2994f7e1e6
 • Dart version 2.7.0

Here is the crash log:
java.lang.RuntimeException:
  at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative (Unknown Source:9)
  at io.flutter.embedding.engine.FlutterJNI.markTextureFrameAvailable (Unknown Source:3)
  at io.flutter.embedding.engine.h.a.a (Unknown Source:2)
  at io.flutter.embedding.engine.h.a.a (Unknown Source)
  at io.flutter.embedding.engine.h.a$b$a.onFrameAvailable (Unknown Source:17)
  at android.graphics.SurfaceTexture$1.handleMessage (SurfaceTexture.java:206)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7073)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)

I am unable to reproduce this as I did not experience the issue myself. From the console, it seems to be affecting Android 8/9 users.  Kindly advise how I can resolve this.

Hi @hosaysg
the issue it's hardly workable without steps to reproduce
are you experiencing crashes in debug?
thank you

Hi @hosaysg
the issue it's hardly workable without steps to reproduce
are you experiencing crashes in debug?
thank you

No thus I did not know this issue exists till I check google play console. I just submitted a new version with Firebase Crashlytics but I am not sure if that is going to help.

Maybe https://github.com/flutter/flutter/issues/30952.  Is there an error message in the crash log in addition to that stack?

Maybe #30952. Is there an error message in the crash log in addition to that stack?

No. I did not use the connectivity package in my app.

Firebase Crashlytics doesn't help much as I am seeing the same error.
Fatal Exception: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.
at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(:9)
at io.flutter.embedding.engine.FlutterJNI.markTextureFrameAvailable(:3)
at io.flutter.embedding.engine.h.a.a(:2)
at io.flutter.embedding.engine.h.a.a()
at io.flutter.embedding.engine.h.a$b$a.onFrameAvailable(:17)
at android.graphics.SurfaceTexture$1.handleMessage(SurfaceTexture.java:206)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7025)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

Finally managed to reproduce the issue. It happens when the back button is tapped and the app exit. This is the full stack trace.
Fatal Exception: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.
at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(FlutterJNI.java:227)
at io.flutter.embedding.engine.FlutterJNI.markTextureFrameAvailable(FlutterJNI.java:554)
at io.flutter.embedding.engine.renderer.FlutterRenderer.markTextureFrameAvailable(FlutterRenderer.java:274)
at io.flutter.embedding.engine.renderer.FlutterRenderer.access$300(FlutterRenderer.java:38)
at io.flutter.embedding.engine.renderer.FlutterRenderer$SurfaceTextureRegistryEntry$1.onFrameAvailable(FlutterRenderer.java:145)
at android.graphics.SurfaceTexture$1.handleMessage(SurfaceTexture.java:206)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Hi @hosaysg
since you managed to reproduce the issue
could you provide a minimal sample code or the steps to reproduce it?
thank you
possibly related to https://github.com/flutter/flutter/issues/48039

Hi @hosaysg
Please see https://github.com/flutter/flutter/issues/48015. There are two commits you can compare to see if we are running into the same bug.

Hi @hosaysg
Please see #48015. There are two commits you can compare to see if we are running into the same bug.

I have managed to isolated the issue to the Admob Banner view.  An issue has been filed.  Thanks for all the help here.
https://github.com/kmcgill88/admob_flutter/issues/118

I find  FlutterRenderer method release() never invoked ，it should be a bug in package io.flutter.embedding.android ，i fix it by following code
class FixFlutterActivity : FlutterActivity() {

    override fun onDestroy() {
        flutterEngine?.platformViewsController?.onFlutterViewDestroyed()
        super.onDestroy()
    }

    companion object {
        fun createIntent(context: Context, initialRoute: String = "/"): Intent {
            return Intent(context, FixFlutterActivity::class.java)
                    .putExtra("initial_route", initialRoute)
                    .putExtra("background_mode", "opaque")
                    .putExtra("destroy_engine_with_activity", true)
        }
    }
}

Same issue
Flutter 1.14.6 • channel dev • https://github.com/flutter/flutter.git
Framework • revision fabeb2a16f (8 days ago) • 2020-01-28 07:56:51 -0800
Engine • revision c4229bfbba
Tools • Dart 2.8.0 (build 2.8.0-dev.5.0 fc3af737c7)

Why this error comes Pls replay em

same problem i am using webview

I've meet the same crash...

same crash in release, especially android 9 users

I find FlutterRenderer method release() never invoked ，it should be a bug in package io.flutter.embedding.android ，i fix it by following code
class FixFlutterActivity : FlutterActivity() {

    override fun onDestroy() {
        flutterEngine?.platformViewsController?.onFlutterViewDestroyed()
        super.onDestroy()
    }

    companion object {
        fun createIntent(context: Context, initialRoute: String = "/"): Intent {
            return Intent(context, FixFlutterActivity::class.java)
                    .putExtra("initial_route", initialRoute)
                    .putExtra("background_mode", "opaque")
                    .putExtra("destroy_engine_with_activity", true)
        }
    }
}

ps: this crash happens when i use flutter-webview

can this code fix the crash?

I met same crash. I wrote a demo for reproduce it. And give a workaround same as @frasker
see details：https://github.com/kmfish/FlutterPlatformViewDemo

We use PageView with BottomNavigationBar and always meet this issue when exit app from page with google map. I consider this the hardest issue not allowing us to use flutter for public applications :-(

This issue has ruined by app rating on playstore. Today i am regretting using flutter...

This is engine code, not plugin.
\cc @jason-simmons

\cc @matthew-carroll (not sure if you're still looking at any of this)

I haven't been looking into this issue. I know for a while the reports seemed to be coming from people using non-released versions of the new embedding. I'm not sure what the current state of the issue really is.

@matthew-carroll
This issue still happens on latest a Flutter on dev channel.

I find FlutterRenderer method release() never invoked ，it should be a bug in package io.flutter.embedding.android ，i fix it by following code

class FixFlutterActivity : FlutterActivity() {

override fun onDestroy() {

    flutterEngine?.platformViewsController?.onFlutterViewDestroyed()

    super.onDestroy()

}

companion object {

    fun createIntent(context: Context, initialRoute: String = "/"): Intent {

        return Intent(context, FixFlutterActivity::class.java)

                .putExtra("initial_route", initialRoute)

                .putExtra("background_mode", "opaque")

                .putExtra("destroy_engine_with_activity", true)

    }

}

}

ps: this crash happens when i use flutter-webview

Can you tell us could the crash fixed by this code?

Yes

Any update about the issue?

I got this error using a stable channel release.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Omi231<EMAIL_ADDRESS>Sent: Tuesday, March 24, 2020 6:40:12 AM
To: flutter/flutter<EMAIL_ADDRESS>Cc: ozzy1873<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>Subject: Re: [flutter/flutter] [android] on "app exit" : Runtime exception at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative (#48063)
Any update about the issue?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/flutter/flutter/issues/48063#issuecomment-603189936, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACCL55FKB3ZEERJLB3HI4NTRJCLZZANCNFSM4KB75PVQ.

@frasker is right in his comment, his solution worked for me too. My guess is that this bug was shipped in a fairly new version of Flutter. If we take a look at the Flutter Main Activity located under android/app/src/main:
An old project I made a while ago, working perfectly fine with plateform_views
package com.example.sample_app

import android.os.Bundle

import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    GeneratedPluginRegistrant.registerWith(this)
  }
}

The new MainActivity.kt obtained with flutter create on the stable branch:
package com.example.sample_app

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

Overriding the destroy method to properly take care of plateform_views should resolve the problem:
package com.example.sample_app

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {

    override fun onDestroy() {
        flutterEngine?.platformViewsController?.onFlutterViewDestroyed()
        super.onDestroy()
    }

    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

We have a similar issue that the app crashes on "app exit". This is after the fix I suppose. The log messages are here: 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.google.maps.api.android.lib6.impl.bp.q()' on a null object reference 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.maps.api.android.lib6.impl.cw.d(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(100400-0):1) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.gms.maps.internal.q.a(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(100400-0):12) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at ch.onTransact(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(100400-0):4) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.os.Binder.transact(Binder.java:667) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.aidl.BaseProxy.transactAndReadExceptionReturnVoid(BaseProxy.java:65) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.gms.maps.internal.IMapViewDelegate$Stub$Proxy.onDestroy(IMapViewDelegate.java:218) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.gms.maps.MapView$MapViewDelegate.onDestroy(MapView.java:176) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.gms.dynamic.DeferredLifecycleHelper.onDestroy(DeferredLifecycleHelper.java:410) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.gms.maps.MapView.onDestroy(MapView.java:411) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.plugins.googlemaps.GoogleMapController.dispose(GoogleMapController.java:541) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.plugin.platform.VirtualDisplayController.dispose(VirtualDisplayController.java:163) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.plugin.platform.PlatformViewsController.flushAllViews(PlatformViewsController.java:533) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.plugin.platform.PlatformViewsController.onDetachedFromJNI(PlatformViewsController.java:422) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.embedding.engine.FlutterEngine.destroy(FlutterEngine.java:293) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDetach(FlutterActivityAndFragmentDelegate.java:500) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at io.flutter.embedding.android.FlutterFragment.onDetach(FlutterFragment.java:640) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.Fragment.performDetach(Fragment.java:3046) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentStateManager.detach(FragmentStateManager.java:711) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentManager.moveToState(FragmentManager.java:1363) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentManager.moveToState(FragmentManager.java:1417) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1495) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentManager.moveToState(FragmentManager.java:1561) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentManager.dispatchStateChange(FragmentManager.java:2805) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentManager.dispatchDestroy(FragmentManager.java:2789) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentController.dispatchDestroy(FragmentController.java:334) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:367) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.app.Activity.performDestroy(Activity.java:7395) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1306) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4443) 04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	... 11 more.
I suppose this only relates to google map plugin, it hit null exception while trying to destroy the mapview.

Trying to collect some more info
The issues above should have been fixed by #17379 which is now in 1.18.0-dev.0.0
Can anyone confirm?
If it's still not fixed, it seems like the issue should only be reproducible with a plugin. Seems like above comments mentioned webview and google maps. Is that the repro?
Also, are people using add-to-app only for this? Which UI component is being used? FlutterActivity? FlutterFragment? FlutterFragmentActivity?
@lidongze91 says his crashing line is
04-16 23:09:19.070 10772 10772 E AndroidRuntime: 	at com.google.android.gms.maps.MapView$MapViewDelegate.onDestroy(MapView.java:176)

For @lidongze91's issue, I have a suspicious that all these setters for listeners we're setting in https://github.com/flutter/plugins/blob/c2f74efb9daaf22e2f1854f41d7ed35e40a7a5b6/packages/google_maps_flutter/google_maps_flutter/android/src/main/java/io/flutter/plugins/googlemaps/GoogleMapController.java#L207 but that doesn't seem to be removed looks suspicious.

Looking into this a bit. Since the original issue is referencing the general platform view issue and it's since been fixed in https://github.com/flutter/engine/pull/17379, I'm closing this issue. I'm splitting https://github.com/lidongze91's issue into https://github.com/flutter/flutter/issues/55406 since it's a google maps plugin specific issue.

@frasker is right in his comment, his solution worked for me too. My guess is that this bug was shipped in a fairly new version of Flutter. If we take a look at the Flutter Main Activity located under android/app/src/main:
An old project I made a while ago, working perfectly fine with plateform_views
package com.example.sample_app

import android.os.Bundle

import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    GeneratedPluginRegistrant.registerWith(this)
  }
}

The new MainActivity.kt obtained with flutter create on the stable branch:
package com.example.sample_app

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

Overriding the destroy method to properly take care of plateform_views should resolve the problem:
package com.example.sample_app

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {

    override fun onDestroy() {
        flutterEngine?.platformViewsController?.onFlutterViewDestroyed()
        super.onDestroy()
    }

    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

I used your fix in flutter 1.16 and it solved the problem but after upgrading to flutter 1.18 it is giving me build error about the code your provided to add. I removed it and it is now running. I want to make sure that is this issue fixed in flutter 1.18 and I should remove that code?

Does this issue ruin user experience? I don't know how it is seen to users.

@frasker  how can I implement your workaround if I'm on v2 embedding and we don't override FlutterActivity ?
Our AndroidManifest.xml looks like this:
<application
        android:name="io.flutter.app.FlutterApplication"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="MyApp"
        tools:replace="android:allowBackup">

        <activity
            android:name="io.flutter.embedding.android.FlutterActivity"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:windowSoftInputMode="adjustResize">

“flutterEngine?.platformViewsController?.detachFromView()”， This API I recommend！
"flutterEngine?.platformViewsController?.onFlutterViewDestroyed()"，This API I don't recommend !
because, ‘ onFlutterViewDestroyed’ will released vdControllers HashMap，and cause a new exception："java.lang.IllegalStateException: Trying to dispose a platform view with unknown id: 10"
Exception details
PlatformException(error, java.lang.IllegalStateException: Trying to dispose a platform view with unknown id: 10
	at io.flutter.plugin.platform.PlatformViewsController$1._41_abev(PlatformViewsController.java:157)
	at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1._41_addn(PlatformViewsChannel.java:105)
	at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1._41_ac(PlatformViewsChannel.java:62)
	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler._41_aaxz(MethodChannel.java:226)
	at io.flutter.embedding.engine.dart.DartMessenger._41_aayf(DartMessenger.java:85)
	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:336)
	at android.os.Looper.loop(Looper.java:184)
	at android.app.ActivityThread.main(ActivityThread.java:7840)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:985)

Location Code
        @Override
        public void disposePlatformView(int viewId) {
          ensureValidAndroidVersion();

          VirtualDisplayController vdController = vdControllers.get(viewId);
          if (vdController == null) {
            throw new IllegalStateException(
                "Trying to dispose a platform view with unknown id: " + viewId);
          }

          if (textInputPlugin != null) {
            textInputPlugin.clearPlatformViewClient(viewId);
          }

          contextToPlatformView.remove(vdController.getView().getContext());
          vdController.dispose();
          vdControllers.remove(viewId);
        }

@EricMikaelson I added the following code in my MainAcitivity.kt
override fun onDestroy() {
        flutterEngine?.platformViewsController?.detachFromView()
        super.onDestroy()
    }

but I am still seeing this crash:
10-01 10:24:13.843 26615 26615 E AndroidRuntime: FATAL EXCEPTION: main
10-01 10:24:13.843 26615 26615 E AndroidRuntime: Process: io.connectcourses.app, PID: 26615
10-01 10:24:13.843 26615 26615 E AndroidRuntime: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(FlutterJNI.java:2)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at io.flutter.embedding.engine.FlutterJNI.markTextureFrameAvailable(FlutterJNI.java:2)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at io.flutter.embedding.engine.h.a.a(FlutterRenderer.java:22)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at io.flutter.embedding.engine.h.a.a(FlutterRenderer.java:2)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at io.flutter.embedding.engine.h.a$b$a.onFrameAvailable(FlutterRenderer.java:2)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at android.graphics.SurfaceTexture$1.handleMessage(SurfaceTexture.java:211)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:107)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:214)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7710)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
10-01 10:24:13.843 26615 26615 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

I am running the latest Flutter stable release:
❯ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.6 19G2021, locale en-IN)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
[✓] Android Studio (version 4.0)
[✓] VS Code (version 1.49.2)
[✓] Connected device (1 available)

Any ideas on what I might be missing? Thanks in advance.

We experienced a similar issue. The setup is as follows:

Flutter module is used in a host native app (add to app)

MainActivity starts FlutterActivity

FlutterActivity is visible

Push Notification comes in

Tapping the push notification starts the MainActivity via intent

App crashes

Logs:
    --------- beginning of crash 2020-10-06 12:38:28.647 24965-24965/com.grohe.smarthome.v2.staging E/AndroidRuntime: FATAL EXCEPTION: main     Process: com.grohe.smarthome.v2.staging, PID: 24965     java.lang.RuntimeException: Unable to destroy activity {com.grohe.smarthome.v2.staging/io.flutter.embedding.android.FlutterActivity}: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4941)         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4970)         at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)         at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)         at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)         at android.os.Handler.dispatchMessage(Handler.java:107)         at android.os.Looper.loop(Looper.java:214)         at android.app.ActivityThread.main(ActivityThread.java:7356)         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)      Caused by: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native.         at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(FlutterJNI.java:259)         at io.flutter.embedding.engine.FlutterJNI.onSurfaceDestroyed(FlutterJNI.java:369)         at io.flutter.embedding.engine.renderer.FlutterRenderer.stopRenderingToSurface(FlutterRenderer.java:219)         at io.flutter.embedding.android.FlutterView.detachFromFlutterEngine(FlutterView.java:1005)         at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDestroyView(FlutterActivityAndFragmentDelegate.java:462)         at io.flutter.embedding.android.FlutterActivity.onDestroy(FlutterActivity.java:576)         at android.app.Activity.performDestroy(Activity.java:8048)         at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1334)         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4926)         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4970)          at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)          at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)          at android.os.Handler.dispatchMessage(Handler.java:107)          at android.os.Looper.loop(Looper.java:214)          at android.app.ActivityThread.main(ActivityThread.java:7356)          at java.lang.reflect.Method.invoke(Native Method)          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

I got the same crash only when clicking the back button till the exit of the app (on Destroy activity).
The crash only happened after I have used the HMS SDK (Huawei Sdk):
java.lang.RuntimeException:    at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:5456)   at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:5493)   at android.app.servertransaction.DestroyActivityItem.execute (DestroyActivityItem.java:44)   at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)   at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)   at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2267)   at android.os.Handler.dispatchMessage (Handler.java:107)   at android.os.Looper.loop (Looper.java:237)   at android.app.ActivityThread.main (ActivityThread.java:8167)   at java.lang.reflect.Method.invoke (Native Method)   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:496)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1100) Caused by: java.lang.NullPointerException:    at com.huawei.hms.flutter.account.HmsAccountPlugin.onDetachedFromEngine (HmsAccountPlugin.java:55)   at io.flutter.embedding.engine.FlutterEnginePluginRegistry.remove (FlutterEnginePluginRegistry.java:252)   at io.flutter.embedding.engine.FlutterEnginePluginRegistry.remove (FlutterEnginePluginRegistry.java:260)   at io.flutter.embedding.engine.FlutterEnginePluginRegistry.removeAll (FlutterEnginePluginRegistry.java:268)   at io.flutter.embedding.engine.FlutterEnginePluginRegistry.destroy (FlutterEnginePluginRegistry.java:112)   at io.flutter.embedding.engine.FlutterEngine.destroy (FlutterEngine.java:360)   at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDetach (FlutterActivityAndFragmentDelegate.java:522)   at io.flutter.embedding.android.FlutterActivity.onDestroy (FlutterActivity.java:578)   at android.app.Activity.performDestroy (Activity.java:8225)   at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1342)   at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:5441)

It seems that flutterEngine?.platformViewsController?.onFlutterViewDestroyed() has been renamed in Flutter 1.22.0. Anybody know what it was renamed to?

It seems that flutterEngine?.platformViewsController?.onFlutterViewDestroyed() has been renamed or no longer exists in Flutter 1.22.0. Anybody know what .onFlutterViewDestroyed() was renamed to, or what happened to it?

This worked for me
    override fun onDestroy() {
        flutterEngine?.platformViewsController?.detach()
        super.onDestroy()
    }

It seems that flutterEngine?.platformViewsController?.onFlutterViewDestroyed() has been renamed or no longer exists in Flutter 1.22.0. Anybody know what .onFlutterViewDestroyed() was renamed to, or what happened to it?

onFlutterViewDestroyed was removed with https://github.com/flutter/engine/pull/17379 in version 1.18.0-6.0.pre, which closed this issue.


When pinned project is removed underlying DB setting is not deleted

Pin a project
remove that project
validate DB

should be covered via #1043

:+1:


[python]: cipher/step-82: unclear variable name

Describe the Issue
This is related to Issue #53042
Existing Instruction:

Change your text variable into mrttaqrhknsw ih puggrur.

Instructions are to change

text = 'Hello Zaira!''

This will no longer be "plain text", "unencrypted text", or "clear text". It will be "encrypted text" or "cipher text". This is a bit confusing in the next step when we ask to print Encrypted Text: text, since this variable was previously plain, unencrypted text.
Proposed Change
I propose we change the variable name as well.

Delete the line text = 'Hello Zaira!''. Declare a new variable called encrypted_text and assign it this string: "mrttaqrhknsw ih puggrur"

It could be encrypted_text or ciphertext.
encrypted_text is probably more clear.
Affected Page
https://www.freecodecamp.org/learn/scientific-computing-with-python/learn-string-manipulation-by-building-a-cipher/step-82
Your code
NA
Expected behavior
NA
Screenshots
NA
System
NA
Additional context
No response

Thanks for reporting this. I think the confusion arises from the fact that the change from the encryption process to the decryption is not highlighted enough. I've already worked on changing these steps locally and there will be a PR to improve the cipher soon.

No problem! I was just trying to fill out what's already listed in #52578 This was confusing when I was troubleshooting forum posts totally out of context Step 83.
I think plaintext and ciphertext are commonly used in the encryption world. Might be a good idea to introduce that nomenclature here? Especially since we are switching between encryption/decryption.
I need to have a run through this from beginning to end though for a deeper understanding.

Honestly, my idea is that text should be used either for encrypt or decrypt. What should be improved is the explanation of what's happening. Anyway I will consider to add a step and change the variable name if that can help campers.

I see, what about input ? It's more generic but I think that would be descriptive of either and would avoid changing the variable name later.
Maybe it's just me but text to me indicates "clear text" or "plain text", a message that I should be able to read. I wouldn't refer to encrypted data or an enciphered message as text.
That would imply output for the final decrypted message, or encrypted output. I would rename the final_message return variable in the function to output. Again, to me, final message indicates a decrypted message (an encrypted message being an interim state for transit or storage).
While we're at it I could also see renaming:
encryption and decryption to
encrypted and decrypted
"Encryption" sounds like a process and "Encrypted" like an encrypted message.

is this issue already resolved ?

The way the instructions are presented seems more clear now, and there haven't been anymore forum posts about this since it's been changed. (It's now Step 86 and 88)
https://www.freecodecamp.org/learn/scientific-computing-with-python/learn-string-manipulation-by-building-a-cipher/step-86
https://forum.freecodecamp.org/search?q=Cipher 86 %23python
https://forum.freecodecamp.org/search?q=Cipher 88 %23python
I would say this is successfully resolved.


RingOpenSSL: implement RSA PKCS signature and RSA signing of hash values (PKCS/PSS)

The following functions were added:

rsa_sign_pkcs
rsa_signhash_pkcs
rsa_verify_pkcs
rsa_verifyhash_pkcs
rsa_signhash_pss
rsa_verifyhash_pss

The documentation was updated to include these new functions.

Thank you very much


Add logs to codebase

These logs are added as part of Milestone Job. Based off conversations with Shuli, we are adding new logs and correcting old ones
See docs card here: https://github.com/cyberark/conjur-docs/issues/1046
Some changes made after discussion with TW:
k8s secret -> Kubernetes Secret
Conjur -> DAP/Conjur
Kubernetes Secrets Provider -> Secrets Provider for Kubernetes
** Retry mechanism log will be added when that functionality has been implemented

@orenbm added it back to the way it was

All logs reviewed and approved


[bazel] Add more stringent check for detection of python headers

Several users have encountered the following error while using the library via Bazel:
bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:4:10: fatal error: Python.h: No such file or directory
 #include "Python.h"
          ^~~~~~~~~~
compilation terminated.

This immediately suggested that they didn't have python3-dev or an equivalent package installed. It was odd however that this error was caught so late in the build. It should have been caught in the python_local_config repo rule. Instead, it wasn't caught until compilation of the C extension.
To make matters worse, simply installing the -dev package wasn't enough. A bazel clean was required to regenerate the Python include symlinks in the sandbox. So many people were under the impression that it was not possible to work around this issue.
On closer inspection of their system, their /usr/include/python3.7/ directory looked like this:
/usr/include/python3.7m
├── Imaging.h
├── ImagingUtils.h
├── ImDib.h
└── ImPlatform.h

0 directories, 4 files

These files were placed there by python3-pil. Previously, our script went under the assumption that the presence of a Python include directory mean the presence of a full set of Python headers. This broke that expectation. We now explicitly check for the presence of Python.h and, if not, fail the build early with helpful text about which packages you need to install.
CC @vam-google

Failures:

https://github.com/grpc/grpc/issues/19660


Add commas to gai generated values

For example
gai, [29.03.18 15:05]
[In reply to Isysd]
$34227609  mizim:Assets
$-1500    Receivable
       $34227609

should be
gai, [29.03.18 15:05]
[In reply to Isysd]
$34,227,609  mizim:Assets
$-1,500    Receivable
       $34,227,609

Fixed by adding commodity definitions with format to price db files.


Fix code duplication warnings

Fixes #52. There was really only one area that I saw that actually benefited from removing duplicated code. I just changed private variable names or added NotImplemented errors for the rest. Either way, this shouldn't block folks anymore.

Tested with bitcoin example and a cyberdeck HAT/2.8 resistive touchscreen.


Import errors from another model

Yii2 have tool for create this?
i.e. this

use yii\base\Model;

trait ImportErrorsTrait
{
    /**
     * Mixes model errors to current model errors. Usage:
     * ```
     * public function save()
     * {
     *     if ($model = Yii::createObject(AnotherModel::class, [
     *         [
     *             'modelAttributeName' => $this->thisAttributeName,
     *         ],
     *     ])) {
     *         return $model->save() || $this->importErrors($model,
     *                 [
     *                     'modelAttributeName' => 'thisAttributeName',
     *                 ]);
     *     }
     *
     *     return false;
     * }
     * ```
     * @param Model $model donor of errors
     * @param array $compareMap map of related attributes. ['modelAttributeName' => 'thisAttributeName']
     * @param array $translateMap map of related parts of error message.
     * For example ['modelTranslatedAttributeLabel' => 'thisTranslatedAttributeLabel']
     * @param string|null $commonErrors name of attribute for outside $compareMap errors.
     * If empty no attributes collect errors outside $compareMap
     * @return bool always false
     */
    public function importErrors(
        Model $model,
        array $compareMap = [],
        array $translateMap = [],
        ?string $commonErrors = 'common'
    ): bool {
        /** @var Model $this */
        $errors = $model->getErrors();
        /** @var array $errorArray */
        foreach ($errors as $errorAttribute => $errorArray) {
            if (
                is_array($compareMap) &&
                array_key_exists($errorAttribute, $compareMap)
            ) {
                foreach ($errorArray as $errorMessage) {
                    $this->addError($compareMap[$errorAttribute], strtr($errorMessage, $translateMap));
                }
            } else {
                if ($commonErrors && is_string($commonErrors)) {
                    foreach ($errorArray as $errorMessage) {
                        $this->addError($commonErrors, $errorMessage);
                    }
                }
            }
        }

        return false;
    }
}

already exist in any other/same tool?
Additional info

Q
A

Yii version
2.0.13@dev

PHP version
7.1.11

I don't think it exists in this form. Not sure it's common enough to have it.

So... How to save several related models from one input form? Common way?

Usually it's a single model...

I saw something like "non-single-model" in guide...
https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/input-multiple-models.md
but is is not relative.

Yes, it could be like that. Usually a complex form is wrapped into single model specifically created for that form.

Yes. I tell about it.

Create a complex form.
Load and validate(optional) complex form.
Complex form save fill attributes of / rise save of nested simple model (of course with internal logic)
If nested form save return false (save with validate instead of validate because some validators can be a exist depends of previous nested form) - rollback and analyze errors
return errors of the complex form

Guide tell about another way. Two forms load both but separate.

I will scale the example of PHPDoc (simple scale, not refactor)
for complex form
public function save()
{
    if (
        ($model = Yii::createObject(AnotherModel::class, [
            [
                'modelAttributeName' => $this->thisAttributeName,
            ],
        ]))
        &&
        ($model1 = Yii::createObject(AnotherModel1::class, [
            [
                'modelAttributeName' => $this->thisAttributeName1,
            ],
        ]))
    ) {
        return $model->save() || $this->importErrors($model,
                [
                    'modelAttributeName' => 'thisAttributeName',
                ])
            || $model1->save() || $this->importErrors($model1,
                [
                    'modelAttributeName' => 'thisAttributeName1',
                ]);
    }

    return false;
}

what's the usage of the import errors from another model? Use case?

dont think this should be part of the framework.
As mentioned, it is for complex forms & complex models and therefore it goes beyond the scope of a framework.

@njasm for example, we can use rest rules for create a json-formatted answer from $model->errors
https://github.com/yiisoft/yii2/blob/0948109a19a59c63d4f065343fe530421764d768/framework/rest/Serializer.php#L147-L149

Closing as not common enough to have it. Sorry @bscheshirwork.


fix(gha): update role to assume

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

What this PR does / why we need it:
Update GHA workflow to use this repository's role (see: https://github.com/falcosecurity/test-infra/pull/1237)
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: LucaGuerra
Once this PR has been reviewed and has the lgtm label, please assign issif for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 84dd4994432ab4b060d842ee7eb5ea82f97489a5


Error: Cannot find module 'locate-path'

my setup and config:
vscode: 1.13.1
vscode-eslint: 1.2.11
ESlint version: 4.0.0
Node version: 8.1.2
npm version: 5.0.3
parser: babel-eslint
.eslintrc.json:
{
  "extends": [
    "standard",
    "standard-react"
  ],
  "parser": "babel-eslint",
  "plugins": [
    "promise",
    "import"
  ],
  "rules": {
    "object-curly-spacing": 2,
    "import/no-unresolved": 2,
    "import/named": 2,
    "import/namespace": 2,
    "import/default": 2,
    "import/export": 2
  },
  "env": {
    "browser": true,
    "jest": true
  }
}

Please be aware that this is in a create-react-app project so I do not know what other (eslint) magic might be going on behind the scenes.
issue
I am opening a new file in vscode and editor throws an error:
Error Cannot find module 'locate-path'
Hope this is enough information to get an idea what might be the issue...
Getting the same error in Atom with the eslint plugin by the way with a bit more of a stack trace:
[Linter] Error running ESLint Error: Cannot find module 'locate-path' linter-registry.js [sm]:137

I just started getting this error:
I had a sub-package in my project that used eslint-plugin-import
If I cd into that sub-package and npm ls locate-path it returned:
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>
When I did it from the root of my project I got:
└── (empty)

This fixed it and restored the dependency:
npm uninstall --save-dev eslint-plugin-import
npm install --save-dev eslint-plugin-import

@mcmunder is this still an issue for you. If so can you provide a GitHub repository that demos the problem with steps to reproduce.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


sqla/app2.py is broken with python3.5.2

This is under python3.5.2

python examples/sqla/app2.py
Go to localhost:5000
Create new car record
Save
Select Tyre tab
Create new tyre record
Note that the Car field is populated with <main.Car object at 0x7fe2bef98438>

The same 7 steps work fine on python2.7.12.
Using my rudimentary debugging skills I found that the value is stored in the _view.

It was not converted to python 3.x - you need to change __unicode__ to __str__ in the model definition.

I see, thanks for this, I will try to send a PR.


Bugfix/clear search input

For Bug 47851:  Search page does not clear input when navigating to an incident

Coverage increased (+0.2%) to 55.286% when pulling 67193caaca9013b9bc391ac6b1a18758e0be4ee4 on pdimitratos:bugfix/clearSearchInput into 55aaffbdff26c48d313852086f8f4c9b730acccd on Azure:master.

Codecov Report

Merging #123 into master will increase coverage by 0.13%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master     #123      +/-   ##
==========================================
+ Coverage   57.85%   57.99%   +0.13%
==========================================
  Files          92       92
  Lines        1433     1433
==========================================
+ Hits          829      831       +2
+ Misses        604      602       -2

Impacted Files
Coverage Δ

src/components/Search/CreateIncident.js
88.88% <75%> (+22.22%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 55aaffb...67193ca. Read the comment docs.


Update bilibili to 2.51

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Thank you for the contribution. It was merged directly as 9e598ed790d5482b7532adc01802571a168b9aa8. Your contribution is still credited to you.


Create Series Script - Certificate Error

I ran the recommended create- series.sh script and got the certificate error below
Curl: (60) Peer's Certificate issuer is not recognized.
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.

If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.

Added the -k and the test series was created. Thanks

@sigapb I'm not entirely sure what happened to the middle of that error message, but the gist of what it's trying to say is that your server's SSL certificate can't be verified by the client (ie, curl).  So either your server is misconfigured (or has a bad cert), or your client is missing some intermediate certificate(s) in the chain.  -k will work fine for testing, but if your users have the same issue it's generally a better idea to fix the server :)


Native Editor - Test keyboard shortcuts and commands

Write a functional test for keyboard handling

Validated, tests are running on the nightly flake just fine


Add a CONTRIBUTING.md file

Adding a contributing file would greatly improve the starting-time for new contributors in this repo.
Benefits:

New contributors would be able to know how to test, run the development build, etc. (seems we have a lot of new Rust devs here, myself included)
Code style could be defined more effectively
Pull Request style could be specified

Overall, I love how this is coming along though and I look forward to contributing myself!

https://github.com/lapce/lapce/blob/master/CONTRIBUTING.md Added now.
Please let me know if it's missing anything.

Looks good to me!


added release candidate link

Signed-off-by: klumb<EMAIL_ADDRESS>

@GeorgLink can we get this merged? The comment period is almost over.

Yes. Sorry for the delay.


Feature Request: more compact chat display

I think the chat UI is very nice but I don't understand the reason for some of the whitespaces

Maybe the red zone could be more compact?

Also maybe the green title for the user and the assistant could be removed because the icon is enough?

Fixed in 3.20. SpeakGPT. User titles has not been removed yet, but action buttons has been moved to the header making the message more compact.


Improve login view

improve visual design to fix #1355
add option to redirect user to SSO if a sole SSO provider is configured

in the near future I'd amend to this with the option to provide a custom logo

coverage: 85.657% (-0.004%) from 85.661%
when pulling c5cd95d490ef02306c38547462bb5445d300f9bd on sole-provider-redirect
into 22a61e5214dfa1950c9384a5a295d53367d15d82 on main.

IMO this has the same problem as the current layout regarding the non-alignment of SSO button and form, just with the colums inverted. I would prefer smth as suggested in https://github.com/ephios-dev/ephios/issues/1355#issuecomment-2344253676

While we are at it with the login: we should provide a proper error message when entering wrong login credentials. Currently the form only says "Please enter a correct email address and password. Note that both fields may be case-sensitive."


Learner components

This is the code to create the pngs with a more modular approach. This produces the images needed to build the website.
This pull request closes #23

I just double checked, and this does build the website, if nvm is used to change node version to 14.17.0 first (see issue #16 )

Another note: I think that these images can and should be more modular than they are currently. I struggled to completely modularize these images and remove all redundancies. That said, this does produce the progression that I was hoping to present at tomorrow's meeting.


Add Sync Rest Proxy Tests and Centralize Rest Proxy Common Code - Part 1

In Part 1, we Extract Common methods into a Util class and also add Unit Tests for Sync Rest Proxy.
In Part 2/Next PR (WIP) we will unify Request and Response Handling as much as possible.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-core

/check-enforcer evaluate


Rewrite i18n/README_zh-cn.md

Thanks to the contributors for their work on the Simplified Chinese version of the README. However, it seems that there hasn't been a unified format for the README, resulting in its layout and content being extremely disorganized.
This Pull Request rewrites the i18n/README_zh-cn.md, making the overall language more logical and localized, and greatly improving its appearance.

Thank you!


Fix WebKit conditionalUI issues

Why
Mobile WebKit versions below iOS 17.4 have strict (and buggy) rules the restrict when conditional UI can be started. In this task we add extra logic that starts conditional UI only after the first user click on the component.
Acceptance criteria

[ ] passkey login, passkey register and conditional UI still work
[ ] tests should be conducted on iOS Safari and Chrome (pre 17.4 and 17.4)
[ ] regression tests should be conducted on MacOS Safari and Chrome

Can be tested here: https://feature-user-action-research.react.playground.corbado.io/pro-6698593986287122356/auth


1.2.1 backports 2018-08-25

https://github.com/cilium/cilium/pull/5326

This change is

test-me-please


Feature beautify html options

I add to postProcessHtml step for beautify output
usage:
new HtmlWebpackPlugin({
    template: './page/index.hbs',
    filename: 'index.html',
    beautify: {
        'indent-size': 4,
        'unformatted': [],
        'max-preserve-newlines': 1
    }
})

Because of the chrome inspector and firebug I can't believe that someone really needs this.
Could you move this to a small plugin for html-webpack-plugin?
Similar to https://github.com/numical/style-ext-html-webpack-plugin

@jantimon okey, or i can use events by html-webpack-plugin. It need if html final product  for transfer

Yes the https://github.com/numical/style-ext-html-webpack-plugin shows how you could do that.
If you need help please let me know


wrangler e2e tests

Wrangler e2e tests for excel ,xmltojson and json parsers.

Please use range of version in plugin versions and cdap data pipeline artifact version in the pipeline jsons otherwise we will need to always keep modifying the pipeline.

It does not looks like this comment is addressed, the plugin & cdap-data-pipeline versions are still hardcoded.


ARM64: Lack of other options about interrupt controller

In arch/arm64/Kconfig,  the ARM_GIC_VERSION is 3 by default. But some other arm64 chip-set don't have the GIC, such as BCM2837B0 (raspberry pi 3b+). The BCM2837B0 has a local interrupt controller.
How about add more options about interrupt controller for ARM64 variant chip-sets.

one approach could extend the range from -1 to 4 and select -1 to disable all gic related code.

one approach could extend the range from -1 to 4 and select -1 to disable all gic related code
That is a good idea. The following patch works fine.

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 7aeb721f47..bfdac6f1fd 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -214,7 +214,7 @@ config ARM_GIC_VERSION
int "GIC version"
default 2           if ARCH_CHIP_A64
default 3

  range 2 4

  range -1 4
  ---help---
          Version of Generic Interrupt Controller (GIC) supported by the
          architecture

The problem is fixed, let's close this issue.


Very difficult to scroll slice by just 1

Very hard to change slice by just 1. Single tick scroll doesn't work. Can also add arrow key action for the same.

I am not sure how this works right now, but I'd imagine that each mouse scroll "tick" should change the slice number by 1.

Up-down arrow keys for single-slice scrolling via keyboard.


Configure docker development environment to have increased "max file size" setting

We can edit dev/docker-compose, and set the environment variable
MM_FILESETTINGS_MAXFILESIZE: 123524266

which is around 100 MB

Fixed with https://github.com/mattermost/mattermost-plugin-apps/pull/362


As async-storage has been removed from RN core

As async-storage has been removed from RN core, it became an explicit dependency

Thanks, will make this a part of next release!


[Acquisition Info] Sync install source vs "Synced applications" heading

The "Synced applications" heading implies that the installSource may not be "sync"? Can this be clarified what the installSource would be in that case?
Maybe - if it was never installed via something w/ attribution, then it'll be sync. If it was, then it'll be that other thing?
If there are multiple attributions allowed - then maybe that makes this simpler? can have an entry for sync & the original attribution?

Hi Dan!
I think this is how I imagined it'd play out.
User installs Example App through an ad campaign on the Microsoft Store
The API would return the following:
details = {
  installSource: "apps.microsoft.com",
  attributionId: "adCampaign",
  ...
}

The same user logs in on another device, and sync reinstalls Example App
The API would return the following:
details = {
  installSource: "Sync",
  attributionId: "adCampaign",
  ...
}

In this way, although the installSource is accurately updated to show how the application was installed, the ad attribution is maintained.
I'll update with examples to clarify this.


[move-function] Rather than breaking block at the SIL level after moved dbg_value, do it late as an LLVM pass on llvm.dbg.addr

This has a few nice benefits:

The splitting happens after LLVM optimizations have run. This ensures that
LLVM will not join these blocks no matter what! The author of this commit has
found that in certain cases LLVM does this even at -Onone. By running this late,
we get the benefit we are looking for: working around the bad SelectionDAG
behavior.

This block splitting is just a workaround for the above mentioned unfortunate
SelectionDAG behavior. By doing this when we remove the workaround, we will not
have to update SIL level tests... instead we will just remove a small LLVM pass.

Some additional notes:

Only moved values will ever have llvm.dbg.addr emitted today, so we do not
have to worry about this impacting the rest of the language.

The pass's behavior is tested at the IR level by move_function_dbginfo.swift.

@swift-ci test

My concern with block splitting in common cases would be compile time and poor codegen. Do you have the final LLVM block counts and instruction counts for something like SCK?

This is only at -Onone.

and only applies to things that have been moved.

LGTM just based on the fact that a bunch of code gets deleted. Also, my understanding is that the block splitting is only a temporary fix for a rare condition.

@atrick I filed something to track this work and sent it to AdrianP: rdar://89977096


the "rowid" column

What is actual function of the special column 'rowid'?
The column looks like a positional index of a table as often seen in other databases.
I did a test. With the table schema and 172M-row data set, the response time of query

select medallion from trips where rowid = 9999999;

and query

select hack_license from trips where medallion = '14F326693541402C4D10579EA55BF69B' limit 1;

are pretty close (took ~1 sec).
I had expected the first query to be much faster, because the rowid 9999999 might be used to directly fetch the value of a column from a data file (vs. loading all values of the column into memory) but it seems not. Correct?
My point of this test is if the rowid can be used to random access a data file and every INSERT of a row can return rowid of the row to mapdsql, by augmenting mapdsql with some SQL parsing functions and a key-value store, it is possible to add "indexing" function to mapd without significant changes to mapd server core...

Yes, the query using the rowid should execute in O(1). Not sure about the behavior you see, the first one should be basically instant. Does the first one take one second the second time you run it?

The first query took only 0.04s on 2nd+ time. It took ~1s at the first time. I thought seeking file to a specific position and read few KBs of data should take much less than one second even at the first time.

Interesting is, regardless if system file buffer/cache is cleared or not before starting mapd-server, the query always take 1s on the first time. That means file I/O is not the primary contribution to the latency. I guess, on the first time mapd-server needs some time to build up some hash table...

This time is likely the time to build the in memory Dictionaries for TEXT columns.  Do you have a few TEXT ENCODING DICT columns in the schema?

No, there are no hash table tricks involved. We generate native code and run the query as usual. The only "cheating" is that we tell the generated code to start at the position specified by the rowid filter and only process one row. You can check for yourself that, if you add an additional filter which doesn't pass, it works correctly and it's just as fast once the data is in memory.

This time is likely the time to build the in memory Dictionaries for TEXT columns. Do you have a few TEXT ENCODING DICT columns in the schema?

Yes. But the query only involves one column. I thought values of that column should have been encoded when they were inserted.

it works correctly and it's just as fast once the data is in memory.
Perhaps i came from old world and still care about scenarios where data is most likely not in memory on the first query :)

They are. But dictionaries are loaded eagerly (before any query runs) as far as I know. This is one of the choices which doesn't fit low memory scenarios too well. Maybe we'll change it at some point.

The encoding has already occurred on insert.
What is happening currently (we are currently working on mitigating this) is that on the first query to a table all the columns that have dictionary encoding are having the dictionaries structures instantiated in memory

We can't possibly chase all objectives at the same time. Currently we're focused on steady state behavior for workloads which fit in memory. I'm sure we'll want to improve the warm-up at some point too, but it's of lower priority than steady state.

How does mapd trim outdated data currently? If it doesn't, data will keep accumulated, which means at some point users need to start constantly adding memory to maintain the steady state?

A table can be capped with a WITH clause on the CREATE, see max_rows
https://www.mapd.com/docs/latest/mapd-core-guide/tables/#create-table
The oldest data will be removed when more data arrives and crosses the max_row threshold

A cap for the number of rows in the table can be specified at table creation time through the max_rows parameter. Least recently inserted rows are removed once that limit is hit.
Yes, if no cap is specified then more resources need to be added. "Keep data forever" is not a valid data retention policy; it requires infinite resources eventually.

Cap on row count is good. For some applications with dynamic data injection rates, cap on TTL seems more  reasonable.

As long as the data is imported roughly in time order and the cap is not tiny, the results should be very similar. I don't think variable (if that's what you mean by dynamic) data injection rate makes a difference, it's all about the order.

AFAIE, oftentimes customers require data to be retained for a month or a year. Data time frame directly affects (dashboard and analytic) application design. For example, a line chart will look odd if few days of old (variable-rate) data is eliminated from a row based cap when the days are within required retaining period.
To them (and me), cap on row counts seem not as intuitive as on TTL. However, what to cap on seems policy based and not an issue, so i'm closing this issue.

Yes, we could drop data quite easily based on TTL thanks to the metadata we store in the fragments. Not a bad idea to add this policy.

@asuhan

They are. But dictionaries are loaded eagerly (before any query runs) as far as I know. This is one of the choices which doesn't fit low memory scenarios too well. Maybe we'll change it at some point.

Regarding the 1 sec latency, afterward i found 0.6 sec of it might come from warm-up of the parser. Any query, valid or invalid, right after mapd-server starts will amortize the latency. So, loading the dictionaries actually does not take that long as observed previously.


RFE: Ability to add prometheus rules to rancher-monitoring.

What kind of request is this (question/bug/enhancement/feature request):
Feature Request
Details:
A customer would like the ability to apply their own prometheus rules to rancher-monitoring. They had attempted to edit the config map only to find that it was overwritten. Currently there is no supported way to add rules and it seems that currently applying them as an answer has risk of breaking the monitoring functionality.
In the regular prometheus chart in the catalog it looks as though they can be added via the serverFiles.rules answer.
Customer's initial email about it:

We are currently rolling out a new deployment of Rancher. In advance of launch, we are setting up alarms and monitoring. However for the webhook to work, we need to make edits to Prometheus.rules and add additional annotations such object, objectClass and so on. In the Rancher UI, we edited the config map Prometheus-cluster-monitoring-rulefiles-0 (specified as the configMap volumemount in statefulset manifest), but the config does not take. We save and then go back to the config and it is still empty.

Addendum:
Will be beneficial to edit the prometheus.yml and alertmanager.yml as well. Customer needs all of these as a package deal to get their alerts to work.

currently our monitoring team make edits to the following files:

prometheus.rules
prometheus.yml
alertmanager.yml

This enables them to

Define rules with custom annotations e.g. object_class which are used by a BPPM webhook
Define jobs and instances , usable in alert definitions for instance
Control alert generation, for example we need the ability to group alerts by alertname and instance, used to prevent alarm storming. This is indispensable.

In rancher, none of this is achievable as configmaps are non-editable/read-only ( The UI never warns about either).

Hi, I was hoping to use Rancher monitoring and need to add some extra prometheus job targets into prometheus.yml - do you know if that works? I have Rancher 2.2.7 and was about to test this... would appreciate any comments if you think this will work or not? Thanks

I have the same problem.  I tried to add a new rulefile in config map Prometheus-cluster-monitoring-rulefiles-0 but it is always restored.

I have the same problem. I tried to add a new rulefile in config map Prometheus-cluster-monitoring-rulefiles-0 but it is always restored.

hello, do you have custom rule with configmap prometheus


Increases the idle rss limit to account for the default checks

What does this PR do?
Increases the memory limit for the idle experiment's RSS bound check
Motivation
Runs now execute default checks, this takes that into account.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Add support Mysensors 1.6 MQTT gateway support

This version of MQTT gives complete support like Serial gateway. And this is standard MQTT protocol for MySensors.org. Remove limited MQTT support and support for this MQTT Gateway.

I am willing to test this since this is an awesome feature, does this mean that clearing EEPROM, rebooting and OTA is possible using MQTT?

@githubcdr Yes, it is possible to clearing EEPROM, rebooting and OTA with MQTT (MySensors 1.6 [dev branch] (https://github.com/mysensors/Arduino/blob/development/libraries/MySensors/core/MyGatewayTransportMQTTClient.cpp))

The current 1.6 development branch does not compile (at least here), but this is really nice progress for MySensors! As soon as I can compile this I will test and let you know.

Got the new 1.6 mqttclient gateway working after some trial and error. There seems to be a problem with assigning ID's via mqtt.
What happens is the req_id arrives, but MyController can not offer an ID to the node.
SERIAL debug on a 1.6 relay switch node;
Starting...
req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:
req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:
req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:
req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:
repeater started, id=255, parent=0, distance=1
mqtt messages with MyController running;
mygateway/255/255/3/0/3 (null)
mygateway/255/255/3/0/4 187
mygateway/255/255/3/0/3 (null)
mygateway/255/255/3/0/4 188
mygateway/255/255/3/0/3 (null)
mygateway/255/255/3/0/4 189
mygateway/255/255/3/0/3 (null)
mygateway/255/255/3/0/4 190
Logs in mycontroller java;
2015-10-29 22:23:02,896 WARN [Thread-3] [org.mycontroller.standalone.mysensors.ProcessRawMessage:277] Internal Message[type:I_ID_RESPONSE,payload:184], This type may not be supported (or) not implemented yet
2015-10-29 22:23:04,878 WARN [Thread-3] [org.mycontroller.standalone.mysensors.ProcessRawMessage:277] Internal Message[type:I_ID_RESPONSE,payload:185], This type may not be supported (or) not implemented yet
2015-10-29 22:23:04,893 WARN [Thread-3] [org.mycontroller.standalone.mysensors.ProcessRawMessage:277] Internal Message[type:I_ID_RESPONSE,payload:185], This type may not be supported (or) not implemented yet
2015-10-29 22:23:06,885 WARN [Thread-3] [org.mycontroller.standalone.mysensors.ProcessRawMessage:277] Internal Message[type:I_ID_RESPONSE,payload:186], This type may not be supported (or) not implemented yet
In weblogs;
Oct 29, 2015 10:28:40 PM	Sensor Internal	Received	[I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 203]
Oct 29, 2015 10:28:40 PM	Sensor Internal	Sent	[I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 203]
Oct 29, 2015 10:28:40 PM	Sensor Internal	Received	[I_ID_REQUEST], [NodeId:255, SensorId:255, PayLoad: ]
Oct 29, 2015 10:28:38 PM	Sensor Internal	Received	[I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 202]
Oct 29, 2015 10:28:38 PM	Sensor Internal	Sent	[I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 202]
Oct 29, 2015 10:28:38 PM	Sensor Internal	Received	[I_ID_REQUEST], [NodeId:255, SensorId:255, PayLoad: ]
Oct 29, 2015 10:28:36 PM	Sensor Internal	Received	[I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 201]
Oct 29, 2015 10:28:36 PM	Sensor Internal	Sent	[I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 201]
Hope this helps, mqtt working like serial would really be a great addition!

@githubcdr Thank you for your great time and excellent analysis!!
Logs in mycontroller java: No error with the below message, I will fix this warning message.
2015-10-29 22:23:02,896 WARN [Thread-3] [org.mycontroller.standalone.mysensors.ProcessRawMessage:277] Internal Message[type:I_ID_RESPONSE,payload:184], This type may not be supported (or) not implemented yet

mqtt messages with MyController running: Clearly says sending response with node id,
Request: mygateway/255/255/3/0/3 (null)
Response: mygateway/255/255/3/0/4 187
Request: mygateway/255/255/3/0/3 (null)
Response: mygateway/255/255/3/0/4 188
Request: mygateway/255/255/3/0/3 (null)
Response: mygateway/255/255/3/0/4 189
Request: mygateway/255/255/3/0/3 (null)
Response: mygateway/255/255/3/0/4 190

Again it's clear MyController responding with node id.
Oct 29, 2015 10:28:40 PM Sensor Internal Received [I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 203]
Oct 29, 2015 10:28:40 PM Sensor Internal Sent [I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 203]
Oct 29, 2015 10:28:40 PM Sensor Internal Received [I_ID_REQUEST], [NodeId:255, SensorId:255, PayLoad: ]
Oct 29, 2015 10:28:38 PM Sensor Internal Received [I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 202]
Oct 29, 2015 10:28:38 PM Sensor Internal Sent [I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 202]
Oct 29, 2015 10:28:38 PM Sensor Internal Received [I_ID_REQUEST], [NodeId:255, SensorId:255, PayLoad: ]
Oct 29, 2015 10:28:36 PM Sensor Internal Received [I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 201]
Oct 29, 2015 10:28:36 PM Sensor Internal Sent [I_ID_RESPONSE], [NodeId:255, SensorId:255, PayLoad: 201]

I believe issue should be somewhere between MyController <--> MQTT gateway.
Could you please do a favor for me?
Enable debug log in MyController: mycontroller/conf/logback.xml Change the following line. Stop MyController and start MyController.
<logger level="DEBUG" name="org.mycontroller.standalone.gateway"/>

Now turn on your node, we will get debug logs from mycontroller/logs/mycontroller.log, Please post this log messages.

http://forum.mysensors.org/topic/2285/mqtt-broker-support-in-mysensors-1-6

MyContoller should have in build MQTT broker

@githubcdr with MyController 0.0.2-alpha5 we have to use external broker

Hi,
I was already using Mosquitto as a broker, vernemq is also a good broker.
This weekend I will do some more tests and let you know..

@jkandasa I enabled debug; this is what happens in my current setup
GatewayW5100MQTTClient is running on an Arduino UNO, serial debug output shows after starting a Mysensors 1.6 node with fixed ID 66;
IP: <IP_ADDRESS>
0;0;3;0;9;Attempting MQTT connection...
0;0;3;0;9;MQTT connected
0;0;3;0;9;gateway started, id=0, parent=0, distance=0
0;0;3;0;9;read: 66-66-0 s=255,c=0,t=18,pt=0,l=10,sg=0:1.6.0-beta
0;0;3;0;9;Sending message on topic: mygateway/66/255/0/0/18
0;0;3;0;9;Message arrived on topic: mygateway/66/255/0/0/18
0;0;3;0;9;read: 66-66-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
0;0;3;0;9;Sending message on topic: mygateway/66/255/3/0/6
0;0;3;0;9;Message arrived on topic: mygateway/66/255/3/0/6
0;0;3;0;9;read: 66-66-0 s=255,c=3,t=11,pt=0,l=5,sg=0:Relay
0;0;3;0;9;Sending message on topic: mygateway/66/255/3/0/11
0;0;3;0;9;read: 66-66-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
0;0;3;0;9;Sending message on topic: mygateway/66/255/3/0/12
0;0;3;0;9;Message arrived on topic: mygateway/66/255/3/0/11
0;0;3;0;9;read: 66-66-0 s=1,c=0,t=3,pt=0,l=0,sg=0:
0;0;3;0;9;Sending message on topic: mygateway/66/1/0/0/3
0;0;3;0;9;Message arrived on topic: mygateway/66/255/3/0/12
0;0;3;0;9;Message arrived on topic: mygateway/66/1/0/0/3

Mycontroller detects the node via MQTT config, however after resetting the relay node I see many I_CONFIG requests flooding mqtt;
mygateway/66/255/3/0/6 M
mygateway/66/255/3/0/6 M
mygateway/66/255/3/0/6 M
mygateway/66/255/3/0/6 M
mygateway/66/255/3/0/6 M
mygateway/66/255/3/0/6 M

I'm not sure but I think the response from the client node never receives the response from mycontroller?
For completeness the logs at debug level for mycontroller.
2015-10-31 10:51:18,981 DEBUG [MQTT Call: MC] [org.mycontroller.standalone.gateway.mqtt.MqttCallbackListener:72] Message Delivery Complete, [Message Id:1105, Topic:mygateway/66/255/3/0/6, PayLoad:M]
2015-10-31 10:51:18,986 DEBUG [MQTT Call: MC] [org.mycontroller.standalone.gateway.mqtt.MqttCallbackListener:84] Message Received, Topic:[mygateway/66/255/3/0/6], PayLoad:[M]
2015-10-31 10:51:19,032 DEBUG [Thread-3] [org.mycontroller.standalone.gateway.mqtt.MqttGatewayImpl:87] Message to send, Topic:[mygateway/66/255/3/0/6], PayLoad:[M]
2015-10-31 10:51:19,039 DEBUG [MQTT Call: MC] [org.mycontroller.standalone.gateway.mqtt.MqttCallbackListener:72] Message Delivery Complete, [Message Id:1106, Topic:mygateway/66/255/3/0/6, PayLoad:M]
2015-10-31 10:51:19,044 DEBUG [MQTT Call: MC] [org.mycontroller.standalone.gateway.mqtt.MqttCallbackListener:84] Message Received, Topic:[mygateway/66/255/3/0/6], PayLoad:[M]
2015-10-31 10:51:19,077 DEBUG [Thread-3] [org.mycontroller.standalone.gateway.mqtt.MqttGatewayImpl:87] Message to send, Topic:[mygateway/66/255/3/0/6], PayLoad:[M]
2015-10-31 10:51:19,084 DEBUG [MQTT Call: MC] [org.mycontroller.standalone.gateway.mqtt.MqttCallbackListener:72] Message Delivery Complete, [Message Id:1107, Topic:mygateway/66/255/3/0/6, PayLoad:M]
2015-10-31 10:51:19,088 DEBUG [MQTT Call: MC] [org.mycontroller.standalone.gateway.mqtt.MqttCallbackListener:84] Message Received, Topic:[mygateway/66/255/3/0/6], PayLoad:[M]

Hope this helps.

An update, seems like the MQTT subscribe define was missing in previous release, the mqttclient uses a in and out channel.
I got this partially working, receiving works but sending fails atm using a w5100 board.

@githubcdr Thank you very much for your support! I'm working on this to fix the issue.

Adding inbuilt MQTT broker support

(Followup from Gitter)
It appears that OTA Firmware Uploads via MQTT do not currently work (maybe not even a MyController issue, but I'm not sure). Normal sending/recieving via MQTT works as expected, and I can switch MyController to Serial and use my serial gateway to do OTA Firmware uploads without issue.

MySensors: v1.6 9540cb2b30c58ba61910acd6937e41eaeeef24cb
MyController: 0.0.2 alpha6 009f7558b3f9c1a7849ea9dab15a85115eeb89ee
MySensors Gateway:

MQTT NodeMCU ESP8266 Wifi MQTT Client
Serial Arduino Pro Mini Serial Gateway

Hardware: Raspberry Pi 2; Raspbian Jessie

I've enabled some debug logging in MyController, enough to see a bit of what's happening. Below you'll find the output from MyController (MQTT and Serial) and the MySensors Gateway (MQTT). The node w/MYSBootloader remains unchanged via the test.
 We found a fix and PR created. https://github.com/mysensors/Arduino/pull/284

Ah! I'm sorry the my "issue" was against MyController instead of MySensors. But thank you for discovering the problem! I appreciate your work.

@mannkind Fix is available in development branch of MySensors, you can test it now! Thank you!

It's working quite well! Thanks!


pysqlite3 doesn't support asyncio

It seems the latest sqlalchemy beta release now does as better check for sqlite async support (or you have a different version of sqlite). I'm using python 3.8 and when I get to Chapter 8 I get the following error message after adding create_async_engine, etc.
sqlalchemy.exc.InvalidRequestError: The asyncio extension requires an async driver to be used. The loaded 'pysqlite' is not async.

Thanks for the heads up. I'm glad I pinned the version there to one that worked. Do you know of a fix? From what I see they seem to say it's just not available yet.
https://stackoverflow.com/questions/66431083/using-asyncio-extension-with-sqlite-backend-broken-by-version-upgrade

That's what I'm seeing to. There is an async sqlite3 library, but it does not appear to be the one that sqlalchemy/asyncio uses. It's called aiosqlite and is already used by the "databases" module I believe, but sqlalchemy does not seem to use that, they are using the standard sqlite3 which is not async ready yet. From what I read, the app you built would not actually be async since the sqlite library isn't, but you'd only notice that under load. :) But as a proof of concept and practice app, it works fine. I now need to back out to the earlier version, although, I thought I actually installed the same version you did, I wonder if they pushed an update under the same version number.

I take it back I have 1.4.0b3 installed. (Which, BTW, wouldn't work with the version number setup you created in the sample app which only accepts 3 integers. I've always had to handle them as strings and use packaging.version when I needed to do comparisons between them... Version strings can be very obnoxious to deal with unfortunately.

FYI... 1.4.0b2 still works.

Thanks @nickleman I spoke with the SQLAlchemy folks and they are working on the SQLite driver to support the asyncio layer eventually. For now, just pin the version and I'll let you know here when it's fully supported.
The goal of the async / await section with SQLite wasn't really to get async behavior. But if you just toggle the connection string to say Postgres in a real production situation, it should come alive. We're just trying to avoid having you all setup and configure a separate server for the coruse.

I'm not doing this course, but I had the same problem, and googling it I saw this thread.
Then, I solve my problem replacing:
engine = create_async_engine(
        "sqlite+pysqlite:///:memory:",
        echo=True,
    )

with
engine = create_async_engine(
        "sqlite+aiosqlite:///:memory:",
        echo=True,
    )

requirements.txt:
SQLAlchemy==1.4.3
aiosqlite==0.17.0

Python 3.9.2

I hope this commentary is useful for you.

Thank you all. @ruimartinsptl I appreciate your pointing out this works now. I had been talking with Mike Bayer (creator of SQLAlchemy) and he gave me the heads up that this fix was coming but we were waiting on aiosqlite to update. Apparently it released now.

Hi all. Yes, unfortunately when we recorded this, it worked fine. To "help us" SQLAlchemy made this an arbitrary breaking change. I did update the code in this repo when that happened and put a descriptive comment on why:
https://github.com/talkpython/web-applications-with-fastapi-course/blob/f197a394085547ed4a4367bc617de5c6e3c3830d/code/ch8-async-databases/data/db_session.py#L28
@ruimartinsptl Thanks for helping out.


Java version error

Error during build:
Error:(29) A problem occurred evaluating project ':app'.

pl/droidsonroids/gradle/localization/LocalizationPlugin : Unsupported major.minor version 52.0

It seems that you are using java 7 (or older). Plugin must be invoked using java 8 (or newer) runtime. I'll add that information to readme.


Is mev-boost expected to work?

With Lighthouse VC 3.1.0 on Goerli, web3signer 22.8.1 does not relish --builder-proposals
2022-09-01 08:50:24.684+00:00 | vert.x-eventloop-thread-0 | ERROR | LogErrorHandler | Failed request: http://web3signer:6174/api/v1/eth2/sign/0x940a2bd7c06fa04464156bcbad5474dca1f5028311e4a9de003398869e43e85a5cb87e57bf9b1ace6f7aa2ef25faeb37
java.lang.IllegalArgumentException: Signing root 0x0db449118fc6fc10164f1c878651258762a1cd3c5463a8b1e467fff2c60e8f42 must match signing computed signing root 0x6f44c4466c5e95af7dc734c2d47dc6d29608aba810fd4fdccda9b7275899f7df from data
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:435) ~[guava-31.0.1-jre.jar:?]
        at tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.Eth2SignForIdentifierHandler.handle(Eth2SignForIdentifierHandler.java:105) ~[web3signer-core-22.8.1.jar:22.8.1]
        at tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.Eth2SignForIdentifierHandler.handle(Eth2SignForIdentifierHandler.java:58) ~[web3signer-core-22.8.1.jar:22.8.1]
        at io.vertx.ext.web.impl.BlockingHandlerDecorator.lambda$handle$0(BlockingHandlerDecorator.java:48) ~[vertx-web-4.3.1.jar:4.3.1]
        at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:159) ~[vertx-core-4.3.1.jar:4.3.1]
        at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:101) ~[vertx-core-4.3.1.jar:4.3.1]
        at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:157) ~[vertx-core-4.3.1.jar:4.3.1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.77.Final.jar:4.1.77.Final]
        at java.lang.Thread.run(Unknown Source) ~[?:?]

If this is expected to work, I can get you trace logs for web3signer and the VC

Hi @yorickdowne, yes mev-boost is expected to work, although I can't attest to that exact version of Lighthouse.
We've seen that error before when there is a difference in the network configuration between VC and web3signer. Just want to rule that out in case it's the same issue :)
See https://docs.web3signer.consensys.net/en/latest/HowTo/Get-Started/Start-Web3Signer/#public-testnets
The pertinent part is to configure the goerli network as part of the web3signer eth2 subcommand, i.e.  web3signer eth2 --network=goerli

Do you know what it was attempting to sign when it got the error: validator registration, attestation, block proposal, etc?

I can get you trace logs for web3signer and the VC
this would certainly help yes please :)

Do you know what it was attempting to sign when it got the error: validator registration, attestation, block proposal, etc?

Registration
As for trace logs - yes shall, it might be next week. Preparing to travel tomorrow.

 My deployment does not specify network. I shall fix that!
Closing and thanks for giving it some attention. I asked Stakewise to amend their docs.

Thanks for reporting back, it's a common error. We've updated our docs recently to hopefully make it clearer but the UX could be a lot better for this, we have some stories in our backlog to improve!

Sep 02 00:33:37.931 INFO Published validator registrations to the builder network, count: 100, service: preparation
Huzzah.

Looking at logs: Printing the configured network right after the version line would improve UX and make mis-configurations easier to detect

Thanks for the feedback @yorickdowne - I agree.
We also have a similar story https://github.com/ConsenSys/web3signer/issues/614
Shame we couldn't get to it before the merge releases 😅

Looking at logs: Printing the configured network right after the version line would improve UX and make mis-configurations easier to detect

@yorickdowne FYI https://github.com/ConsenSys/web3signer/issues/640 is included in the latest release https://github.com/ConsenSys/web3signer/releases/tag/22.10.0


feat(bungee-hermes): view proofs & ethereum strategy

This is an update for the bungee-hermes plugin. New features and changes:

Views have new attribute viewProof, with two attributes. One is the merkle root obtained by cunstructing a tree using all stateProofs in the view, and the other is the merkle root obtained by constructing a tree using all transactionProofs in the view
Added new endpoint to verify integrity of view proofs (receives set of state/transaction proofs and checks if the provided root is valid).
Created strategy for bungee-hermes to support cactus-ethereum-connector
Created new test for the strategy-ethereum, and altered the API test to test the new viewProof endpoint
Updated README.md documentation to reflect new changes.

@RafaelAPB I think this addresses all the improvements/requirements we discussed. Let me know any changes you see fit for this one, thank you !

LGTM, can we merge this?

@petermetz is the PR ready to merge?


Also try bruteforcing the shadow backup file

The backup shadow file can be useful for determining what the password was, if the attackers changed it post-compromise.
Try and crack it, and also indicate where we got each cracked password from.

@Fryyyyy I didn't want to merge this since I wasn't sure if you were completely done with the PR, but feel free to merge it if you are. Thanks!

I can't merge but PR is done and ready :)


Roadmap: Markdown

option to parse Markdown in HtmlChecker for links

You could use a markdown parser like marked to work with Markdown files.
var marked = require('marked');

htmlChecker.scan(marked('I am using __markdown__.'));

Indeed. I haven't started solving it yet, but it would need to be a dependency so that accurate location info can be provided. The goal is to provide the tools for a front-end that can correct the original source.


how to set the parallel core number?

I am use  incredibuild with vcpkg use command BuildConsole /command="vcpkg.exe install qt5:x64-windows-static".
But vcpkg only assigns the same number of tasks as my cpu core, which makes incredibuild not work adequately. Incredibuild requires a large number of tasks. How to set the number of tasks is similar to `make -j n'?

@yajiedesign, you can  set the core number by set(VCPKG_CONCURRENCY corenumber) in qt5 portfile.cmake file. Reopen this issue if it still be a problem for you.


Single node experiment

enforce that a single node experiment is implemented
sub-select and run a single node experiment
enforce (in the allocation modifier?) that the experiment doesn't request more experiments

sub-select and run a single node experiment

ramble -D $WRKSPC on --where '{n_nodes} == 1' --executor='{execute_experiment}'
(with --executor='{execute_experiment}', we don't need to use different templates: the sbatch directives will be ignored)

enforce that a single node experiment is implemented

we could modify the prior statement to make sure there is at least one experiment that runs on a single node:
ramble --workspace-dir workspace/kripke/rocm/tioga-system/workspace/ on --where '{n_nodes} == 1' --executor="echo matchx" | grep "matchx" | wc -l

enforce (in the allocation modifier?) that the experiment doesn't request more experiments

I assume this should be "...doesn't request more resources": ramble on --where=... will enforce this to some degree. We allow per-experiment custom templates, and I think even without that, experiments could attempt to do their own allocations (the allocation modifier would not be able to detect either of these scenarios). In terms of requests made at the level of ramble.yaml, ramble on --where=... would be enough to control that.