Problem with iOS notifications

Describe the bug
Notifications does not appear.
Steps to reproduce the behavior:
1. npm i cordova
2. cordova plugin add cordova-plugin-firebase --save
3. cordova platform add ios

Expected behavior
Notifications appear when app is closed or background
Implemented code
window.FirebasePlugin.getToken(function(token) {
            console.log('token: ' + token);
        }, function(error) {
            console.error(error);
        });
window.FirebasePlugin.hasPermission(function(data){
                if (!data.isEnabled) {
                    window.FirebasePlugin.grantPermission().then(data => {
                        window.FirebasePlugin.subscribe('ios_test');
                        console.log('permission granted');
                    })
                    .catch(error => {
                        console.error('Error getting permissions', error);
                        return false;
                    });
                }
                else {
                    console.log('Already has permission');
                    window.FirebasePlugin.subscribe('ios_test');
                }
            });

Console Logs
[3214:2441143]token: eOPj1NEPqb0:APA91bEkVtc2CA...
[3214:2441143]Already has permission
[3214:2441278]5.7.0 - [Firebase/Messaging][I-FCM002024] Format '/topics/ios_test' is deprecated. Only 'ios_test' should be used in subscribeToTopic.

With Notification payload:
(
    [notification] => Array
        (
            [title] => Title test
            [body] => Body test
        )

    [data] => Array
        (
            [title] => Title test
            [text] => Text test
        )

    [priority] => high
    [to] => /topics/ios_test
)

Nothing happens.
But with Data only payload:
(
    [data] => Array
        (
            [title] => Title test
            [text] => Text test
        )

    [priority] => high
    [to] => /topics/ios_test
)

In this case, I get the data when the app is in foreground but no notification when the app is closed or in background.
[3231:2468704] Received data message: {
    from = "/topics/ios_test";
    text = "Text test";
    title = "Title test";
}

Plugin Version
cordova-plugin-firebase 2.0.5
Smartphone (please complete the following information):

Device: iPhone6
OS: iOS 11.4.1

Additional context
I know this is possible with this plugin, since I already had this version working. I feel like I'm missing something.
Can you help me.

Update:
On Android everything is working properly.
Works with Notification payload and Data only payload.
Could it be a compatibility issue?
Is there any incompatibility with the other plugins I have:
com.telerik.plugins.nativepagetransitions 0.6.5 "Native Page Transitions"
cordova-android-support-gradle-release 2.0.1 "cordova-android-support-gradle-release"
cordova-open-native-settings 1.5.1 "Native settings"
cordova-plugin-add-swift-support 1.7.2 "AddSwiftSupport"
cordova-plugin-android-fingerprint-auth 1.4.4 "FingerprintAuth"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-certificates 0.6.4 "Certificate Plugin"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
cordova-plugin-health 1.1.0 "Cordova Health"
cordova-plugin-navigationbar 1.0.31 "Cordova NavigationBar plugin"
cordova-plugin-screen-orientation 3.0.1 "Screen Orientation"
cordova-plugin-secure-storage 3.0.0 "SecureStorage"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-touch-id 3.3.1 "Touch ID"
cordova-plugin-whitelist 1.3.3 "Whitelist"
es6-promise-plugin 4.2.2 "Promise"

Hi, I come accross the same issue.
When your app goes into background, do you have the "Disconnected from FCM" log ?
For instance, here are my plugins :
com.adjust.sdk 4.14.0 "Adjust"
cordova-custom-config 5.0.2 "cordova-custom-config"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-market 1.2.0 "Market"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-passbook 0.2.1 "Passbook"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.4.3 "SocialSharing"
es6-promise-plugin 4.2.2 "Promise"

Did you try to build your app with the legacy build system ?

Hi,
Add just
window.FirebasePlugin.grantPermission();
it works for me.

Hi,
Add just
window.FirebasePlugin.grantPermission();
it works for me.

That's what I've already done.
The solution was really simple. I didn't set any certificate in firebase (the .p12 file). Well, I'd rather say that the marketing team told me it was all setup, and I shouldn't have believed them.
Case close for me !

When your app goes into background, do you have the "Disconnected from FCM" log ?

Yes

Hi,
Add just
window.FirebasePlugin.grantPermission();
it works for me.

I changed to this code. Now I get the error:
5.7.0 - [Firebase/Messaging][I-FCM002019] FIRMessaging received data-message, but FIRMessagingDelegate's-messaging:didReceiveMessage: not implemented

Did you try to build your app with the legacy build system ?

Yes.
I'm using Xcode 9.4.1

try in Xcode in your -Info.list add or set FirebaseAppDelegateProxyEnabled = true

or in your config.xml add
<platform name="ios">
<config-file parent="FirebaseAppDelegateProxyEnabled" platform="ios" target="*-Info.plist"><true /></config-file>
</platform>

@RicardoMSFaria : Here is the exact code I have after the ondeviceready event.
window.FirebasePlugin.hasPermission((data) => {
      if (data.isEnabled) {
        console.log("Permission already granted");
      } else {
        window.FirebasePlugin.grantPermission(() => {
          console.log("Permission granted", data.isEnabled);
        }, (error) => {
          console.error("unable to grant permission", error);
        });
      }
    }, error => {
      console.log("hasPermission failed", error);
    });

    window.FirebasePlugin.getToken((token) => {
      console.log(`Firebase Token from cordova: ${token}`);
    }, (error) => {
      console.error("unable to create token", error);
    });

In firebase (here : https://console.firebase.google.com/project/YOUR-PROJECT/settings/cloudmessaging/ ), add the .p12 file
To test easily, you can launch Postman and import this collection :
{
  "id": "f6e6ac05-6b9c-e7e1-7f91-23ca7ca55b5d",
  "name": "Test Firebase",
  "description": "",
  "order": [
    "b95718b2-6464-887a-ffc3-481b46ea180b"
  ],
  "folders": [],
  "folders_order": [],
  "timestamp":<PHONE_NUMBER>805,
  "owner": "80140",
  "public": false,
  "requests": [
    {
      "id": "b95718b2-6464-887a-ffc3-481b46ea180b",
      "headers": "Authorization: key=<ENTER_YOUR_LEGECY_KEY - OR - SERVER_KEY>\nContent-Type: application\/json\n",
      "headerData": [
        {
          "key": "Authorization",
          "value": "key=<ENTER_YOUR_LEGECY_KEY - OR - SERVER_KEY>",
          "description": "",
          "enabled": true
        },
        {
          "key": "Content-Type",
          "value": "application\/json",
          "description": "",
          "enabled": true
        }
      ],
      "url": "https:\/\/fcm.googleapis.com\/fcm\/send",
      "queryParams": [],
      "preRequestScript": null,
      "pathVariables": [],
      "pathVariableData": [],
      "method": "POST",
      "data": [],
      "dataMode": "raw",
      "tests": null,
      "currentHelper": "normal",
      "helperAttributes": [],
      "time":<PHONE_NUMBER>647,
      "name": "FCM Message POST",
      "description": "Send Direct Message to Device with given id. HTTP Request.",
      "collectionId": "f6e6ac05-6b9c-e7e1-7f91-23ca7ca55b5d",
      "responses": [],
      "rawModeData": "{\n\t\"to\" : \"YOUR TOKEN\",\n\t\"collapse_key\" : \"type_a\",\n\t\"data\" : {\n\t\t\"body\" : \"First Notification\",\n\t\t\"title\": \"ALT App Testing\",\n\t\t\"key_1\" : \"Data for key one\",\n\t\t\"key_2\" : \"Hellowww\"\n\t}\n}"
    }
  ]
}

It's easier to debug

@florianchevallier I try your code and after grant permission on iOS, the result log was:
5.7.0 - [Firebase/Messaging][I-FCM002023] The object <FirebasePlugin: 0x10178af30> does not respond to -messaging:didReceiveRegistrationToken:. Please implement messaging:didReceiveRegistrationToken: to be provided with an FCM token.

Permission granted false

Launched Postman with your collection and it post without errors
status →200
But, again the log on xcode was:
5.7.0 - [Firebase/Messaging][I-FCM002019] FIRMessaging received data-message, but FIRMessagingDelegate's-messaging:didReceiveMessage: not implemented
I'll try @buse974  solution.

Hello,
I am fighting with this thing for last, dunno, 48hours and still nothing stable :(
along the way i was able to receive notifications occasionally but when trying to repeat with fresh app... weirdness
anyway, additionally to this xcode output presented above i had to deal with provisioning (dev builds)
and commenting out line 56 (embedded.mobileprovision is removed there…) in file:
node_modules/cordova-ios/bin/templates/scripts/cordova/lib/copy-www-build-step.js
which helped with xcode complaints
also notifications started to show up (ocassionally) with app closed when i added this to config.xml
<platform name="ios">
  <config-file target="*-Info.plist" parent="UIBackgroundModes">
      <array>
        <string>remote-notification</string>
      </array>
    </config-file>
</platform>

its super weird because push notifications integration is dead easy (i have non technical clients who manage to do that themselves) so i wonder if its the lib or we are missing the final piece?
as a side note, onesignal simply works. I just did the minimal configuration and boom i have what i expected in less than 30minutes

After a week or so of internet trawling, I managed to get my notifications on iOS working.
I initially followed the medium guide (https://medium.com/@felipepucinelli/how-to-add-push-notifications-in-your-cordova-application-using-firebase-69fac067e821) to try and get the notifications working. This didn't work. However, I still followed the steps in the guide, and then made the following changes.
Firstly I changed the build system to Legacy in File -> Project Settings.
Secondly, I used an Authentication APN Key (not Certificate as mentioned in the Medium guide, see https://firebase.google.com/docs/cloud-messaging/ios/certs).
I then noticed in XCode that the Cordova folder and Info.plist inside that folder were highlighted in red, on further investigation I noticed that this folder and file did not exist in the specified location. I searched in the folder 'cordovaApp' using Finder and located the Info.plist file, it was showing the file was last modified in 1985 (weird). I created the Cordova folder and moved Info.plist into this folder, and in XCode I clicked on the missing Cordova folder and changed the location to Absolute Path (see below screenshots), the folder and file now appeared white. N.B. I have no idea if this made a difference or not, just thought I should include it as it was one of the steps I took.

Next, I added the following XML (shoutout @chrum ) to my config.xml and also made the added changes in -Info.plist.
<platform name="ios">
  <config-file target="*-Info.plist" parent="UIBackgroundModes">
      <array>
        <string>remote-notification</string>
      </array>
    </config-file>
</platform>

Note: with the UIBackgroundModes XML change, you have to manually add this change. In -Info.plist, add a new row. In the 'Key' Column, type 'UIBackgroundModes', set the Type to be 'Array'. Expand out the newly created row and add 'remote-notification' in the value column. Also note that these two rows are renamed automatically in XCode 10. I also had to manually change the value of FirebaseAppDelegateProxyEnabled in -Info.plist from 'YES' to 'NO'.
After making these changes, I manually uninstalled the app from my iOS device, and then built and installed the app back onto my device, and then the notifications from Firebase began to appear.

I just gonna let that msg here in case that would help you or someone else in the future, as I was facing a while the error didReceiveRegistrationToken too

Cordova-ios v5 is now compatible with the new build system, no need to use legacy anymore
It isn't obvious in all tutorials but:

AS @mesqueeb correctly pointed out, in Xcode, remote notifications should be activated respectively the following key should be add to the Info.plist

<key>UIBackgroundModes</key>
	<array>
		<string>remote-notification</string>
	</array>

It may sound silly but that's the main reason why it didn't work for me, in a Cordova app, wait till the platform is ready (platform.ready) before trying to get the token. If the platform ain't ready, the error didReceiveRegistrationToken will be displayed

Hi Guys, I'm still having issues on this one. I can receive the notification on Background but I can't display it on the foreground it doesn't show up. I even added a console.log, toast and alert just to display it out but it doesn't show or log the data I receive on XCode.
It's working on Android but I have to make it work on iOS. Any luck?

@bryyyanribo Did you ever end up fixing this?
To everyone else, I've followed everyone's steps in this thread including a few other threads. Have spent 3 days now trying to get this to work. I'm pretty deflated at this point... So I'm offering a monetary reward to anyone who will either provide me with the fix. I can't for the life of me figure out where the problem is happening..
Here are a few questions:

Can we experiment this on a virtual device, or does it have to be on a physical device?
If I see the payload appear in xcode console, does this mean that the config was done properly and that the issue is within the internal configs?
When I close the app, xcode console log's shows "Disconnected from FCM". Is this normal behaviour?
After closing the app and seeing "Disconnected from FCM", when sending a message to a device no longer logs anything. Is this normal behaviour? Obviously nothing appears in the notification drawer either.

Any ideas? What could I possibly missing?
Other solutions I have attempted:
installing ios 5.0.0 and switching back from legacy to modern.
Alternating between a p8 authentication to p12 certificates
Creating a fresh cordova project, just install firebase, doing the fcm configs listed above and tryign the same steps.. (still not getting anything).

Hey @evinkuraga, yes I fixed this issue. Do you have a slack or email so I could send to you all of the stuffs I did? And If it did work, I'll add it here on this thread to share it to others 😁

skype: evinkuraga
email: (a temporary image to be removed later)

@bryyyanribo Hi, I have exactly the same issue and ready to help testing. Please share!
skype: max.bourinov

@bryyyanribo Any change you can post the solution?

@BinaryBlock I will post my findings in next few days. Looking forward to get hards on iOS push notifications issue.

@BinaryBlock I will post my findings in next few days. Looking forward to get hards on iOS push notifications issue.

SUPER-THANKS! Would be greatly appreciated.

please share, thanks

How to get around the "5.7.0 - [Firebase/Messaging][I-FCM002019] FIRMessaging received data-message, but FIRMessagingDelegate's-messaging:didReceiveMessage: not implemented" errors on iOS?

I've done all the steps from the above link https://github.com/arnesson/cordova-plugin-firebase/issues/970#issuecomment-449385556 and am still not getting notifications in the background. Any other suggestions? Anybody else still having these issues?

Hi, guys! Sorry I was so preoccupied with work. Anyway, here are my suggestions for you to make it work:

Updated plugin firebase to:

"cordova-plugin-firebase": "^2.0.5",

On my GoogleServince-Info.plist

<dict>
 …
<key>UIBackgroundModes</key>
    <array>
        <string>remote-notification</string>
    </array>
</dict>

On my Config.xml

<platform name=”ios”>
<config-file parent="UIBackgroundModes" target="*-Info.plist">
           <array>
               <string>remote-notification</string>
           </array>
       </config-file>
       <config-file parent="FirebaseAppDelegateProxyEnabled" target="*-Info.plist">
           <true />
       </config-file>
</platform>

Make sure you have uploaded you APN’s Auth key (.p8) on Firebase

When you are going to build the app, these are the lines of codes I always do

Ionic cordova platform rm ios
Ionic cordova platform add<EMAIL_ADDRESS>Ionic cordova prepare ios

Some notes:

Then open the app on Xcode by opening the platforms/ios and then open the project (not the Xcode Project but the dev space something). Then run the project.

I set my deployment target to ios 10. Also, make sure you have set up the Certificates and App ID on your Apple Developer account

App ID: Make sure you're enabling the Push Notifications on both Development and Distribution Provisioning Profiles: Make sure you set up those ones and add the appropriate certificates and devices if your testing it out physically.

Certificates: Apple Push Services and APNS Development iOS

Some of the answers, I found them on GitHub and other sources but I can't remember the links. If anyone could add them out please do comment the links :D

@BinaryBlock As I promised earlier here is how I have solved it: I stoped using Firebase for iOS, instead I send directly via APNs.

@minimedj   :joy: Thanks for the update.
So... I did like a dozen things since I posted here... and got mine working. I believe the biggest thing for me that got the push notifications (alerts) to appear on iOS with my Ionic v3 app in the background... had nothing to do with the Ionic app itself.
We are using a Java web service to submit the push notifications to Firebase... to then send out to iOS and Android. I was only sending the push notifications in the Android format in Java and not the iOS format that was needed. The documentation was really lacking on the whole Firebase thing, in my humble opinion.
The snippet of Java code for formatting the push for either Android or iOS is as follows (in case that helps someone/anyone):
        Message message = Message.builder()
                .setApnsConfig(
                        ApnsConfig.builder()
                                .putHeader("apns-priority", "10")
                                .setAps(Aps.builder()
                                        .setAlert(ApsAlert.builder()
                                                .setTitle(title)
                                                .setBody(body)
                                                .build())
                                        .build())
                                .build()
                )
                .setAndroidConfig(AndroidConfig.builder()
                        .setTtl(ttl) // 1 hour in milliseconds
                        .setPriority(priority)
                        .setNotification(builder.build())
                        .build())
                .setToken(regId)
                .build();

        String response = FirebaseMessaging.getInstance().send(message, dryRun);

Thanks for keeping your word or writing your solution. :+1:

Ionic 4:
My problem was I didn't use the legacy build system when I deployed the app to the device. After using the Lagacy build system it works.

@RicardoMSFaria : Here is the exact code I have after the ondeviceready event.
window.FirebasePlugin.hasPermission((data) => {
      if (data.isEnabled) {
        console.log("Permission already granted");
      } else {
        window.FirebasePlugin.grantPermission(() => {
          console.log("Permission granted", data.isEnabled);
        }, (error) => {
          console.error("unable to grant permission", error);
        });
      }
    }, error => {
      console.log("hasPermission failed", error);
    });

    window.FirebasePlugin.getToken((token) => {
      console.log(`Firebase Token from cordova: ${token}`);
    }, (error) => {
      console.error("unable to create token", error);
    });

In firebase (here : https://console.firebase.google.com/project/YOUR-PROJECT/settings/cloudmessaging/ ), add the .p12 file
To test easily, you can launch Postman and import this collection :
{
  "id": "f6e6ac05-6b9c-e7e1-7f91-23ca7ca55b5d",
  "name": "Test Firebase",
  "description": "",
  "order": [
    "b95718b2-6464-887a-ffc3-481b46ea180b"
  ],
  "folders": [],
  "folders_order": [],
  "timestamp":<PHONE_NUMBER>805,
  "owner": "80140",
  "public": false,
  "requests": [
    {
      "id": "b95718b2-6464-887a-ffc3-481b46ea180b",
      "headers": "Authorization: key=<ENTER_YOUR_LEGECY_KEY - OR - SERVER_KEY>\nContent-Type: application\/json\n",
      "headerData": [
        {
          "key": "Authorization",
          "value": "key=<ENTER_YOUR_LEGECY_KEY - OR - SERVER_KEY>",
          "description": "",
          "enabled": true
        },
        {
          "key": "Content-Type",
          "value": "application\/json",
          "description": "",
          "enabled": true
        }
      ],
      "url": "https:\/\/fcm.googleapis.com\/fcm\/send",
      "queryParams": [],
      "preRequestScript": null,
      "pathVariables": [],
      "pathVariableData": [],
      "method": "POST",
      "data": [],
      "dataMode": "raw",
      "tests": null,
      "currentHelper": "normal",
      "helperAttributes": [],
      "time":<PHONE_NUMBER>647,
      "name": "FCM Message POST",
      "description": "Send Direct Message to Device with given id. HTTP Request.",
      "collectionId": "f6e6ac05-6b9c-e7e1-7f91-23ca7ca55b5d",
      "responses": [],
      "rawModeData": "{\n\t\"to\" : \"YOUR TOKEN\",\n\t\"collapse_key\" : \"type_a\",\n\t\"data\" : {\n\t\t\"body\" : \"First Notification\",\n\t\t\"title\": \"ALT App Testing\",\n\t\t\"key_1\" : \"Data for key one\",\n\t\t\"key_2\" : \"Hellowww\"\n\t}\n}"
    }
  ]
}

It's easier to debug

Hi, I'm new in ionic.
I have the same problem ios notification not work. Can I know where I add this code please?

I have to admit that it was like 3 years ago and I don't remember at all ^^


undefined symbol: _ZN5clang17ASTFrontendAction13ExecuteActionEv

➜  build git:(main) ✗ cmake .. -G Ninja -DEigen3_INCLUDE_DIR=/home/drehwald/.local/include/eigen3  -DCMAKE_BUILD_TYPE=Release -DEIGEN_USE_BLAS=1 -DCMAKE_INSTALL_PREFIX=/home/drehwald/.local  -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
CMake Warning (dev) at /home/drehwald/prog/Enzyme/enzyme/buildDbg16/EnzymeTargets.cmake:49 (add_library):
  ADD_LIBRARY called with MODULE option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /home/drehwald/prog/Enzyme/enzyme/buildDbg16/EnzymeConfig.cmake:15 (include)
  CMakeLists.txt:3 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /home/drehwald/prog/Enzyme/enzyme/buildDbg16/EnzymeTargets.cmake:52 (add_library):
  ADD_LIBRARY called with MODULE option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /home/drehwald/prog/Enzyme/enzyme/buildDbg16/EnzymeConfig.cmake:15 (include)
  CMakeLists.txt:3 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /home/drehwald/prog/Enzyme/enzyme/buildDbg16/EnzymeTargets.cmake:66 (add_library):
  ADD_LIBRARY called with MODULE option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /home/drehwald/prog/Enzyme/enzyme/buildDbg16/EnzymeConfig.cmake:15 (include)
  CMakeLists.txt:3 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

LLVM Version: 16
Found LLVM at: /home/drehwald/prog/llvm-16/build
Found Enzyme at: /home/drehwald/prog/Enzyme/enzyme/buildDbg16/Enzyme/ClangEnzyme-16.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/drehwald/prog/CMake-Template/build
➜  build git:(main) ✗ ninja
[1/3] Building C object CMakeFiles/example.dir/myblas.c.o
clang-16: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[2/3] Building C object CMakeFiles/example.dir/multisource.c.o
clang-16: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[3/3] Linking C executable example
FAILED: example
: && /home/drehwald/prog/llvm-16/build/bin/clang -fuse-ld=lld -flto -O3 -DNDEBUG -fuse-ld=lld -flto -Wl,-mllvm=-load=/home/drehwald/prog/Enzyme/enzyme/buildDbg16/Enzyme/ClangEnzyme-16.so CMakeFiles/example.dir/multisource.c.o CMakeFiles/example.dir/myblas.c.o -o example   && :
Error opening '/home/drehwald/prog/Enzyme/enzyme/buildDbg16/Enzyme/ClangEnzyme-16.so': /home/drehwald/prog/Enzyme/enzyme/buildDbg16/Enzyme/ClangEnzyme-16.so: undefined symbol: _ZN5clang17ASTFrontendAction13ExecuteActionEv
  -load request ignored.
ld.lld: error: undefined symbol: __enzyme_autodiff
>>> referenced by ld-temp.o
>>>               lto.tmp:(main)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

@tgymnich I remember I was able to use this template in the past succesfully, but it's not working under clang-16 / the latest Enzyme anymore. I suspect it might be due to @wsmoses latests experiments to improve the c frontend and use the clang ast a bit more?
For context, I try to get the following repo to compile, with these small cmake adjustments: https://github.com/mherb/kalman
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b78acb9..2891400 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,14 @@
 cmake_minimum_required(VERSION 2.8)
+
+find_package(Enzyme REQUIRED)
+
+message("LLVM Version: " ${Enzyme_LLVM_VERSION_MAJOR})
+message("Found LLVM at: " ${Enzyme_LLVM_BINARY_DIR})
+
+# C and C++ Compilers can only be configured before project(...)
+set(CMAKE_C_COMPILER "${Enzyme_LLVM_BINARY_DIR}/bin/clang")
+set(CMAKE_CXX_COMPILER "${Enzyme_LLVM_BINARY_DIR}/bin/clang")
+
 project(Kalman CXX)

 # TODO: Use VERSION argument to project command after raising the minimum
@@ -16,8 +26,20 @@ option(KALMAN_BUILD_EXAMPLES "Build the Kalman examples" ON)

 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake")

+find_package(Enzyme REQUIRED COMPONENTS ClangEnzyme)
+
+get_target_property(ClangEnzyme ClangEnzyme-${Enzyme_LLVM_VERSION_MAJOR} LOCATION)
+
+message("Found Enzyme at: " ${ClangEnzyme})
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fuse-ld=lld -flto")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=lld -flto")
+set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=lld -flto -Wl,-mllvm=-load=${ClangEnzyme}")
+set(CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=lld -flto -Wl,-mllvm=-load=${ClangEnzyme}")
+

Also these warnings seem odd, I would wonder if cyclops does not support dynamic linking?


How should vacuous nodes be represented in KCFG?

With https://github.com/runtimeverification/haskell-backend/pull/3637, kore-rpc now returns #Bottom for an #assume(false) rule.
StuckResult(state=State(term=Bottom(sort=SortApp(name='SortGeneratedTopCell', sorts=())), substitution=None, predicate=Bottom(sort=SortApp(name='SortGeneratedTopCell', sorts=()))), depth=670, logs=())

The question is, how should we represent these nodes in the KCFG?
Take the example presented in #1944.
Where vacuous means simplifying to #Bottom.
    function atLeastOneIsValidAddress(address alice, address bob)
        internal
        returns (bool)
    {
        if (alice != address(0)) {
            return true;
        } else if (bob != address(0)) {
            return true;
        } else {
            return false;
        }
    }

    function test_assume_return(address alice, address bob) public {
        vm.assume(atLeastOneIsValidAddress(alice, bob));

        assert(true);
    }

A few solutions that @tothtamas28 proposed are:

Store #Bottom directly.
Pros: You can represent vacuous states directly with an edge/cover to #Bottom.
Cons: CTerm cannot encode it right now: #13

Store some state leading to #Bottom
Pros: No modification to CTerm necessary
Cons: Requires vacuous set. Potentially requires modification to the server.

Do not store these branches.
Cons: part of the proof is not explicitly encoded.

I think we should do (2), and store a vacuous set idrectly in the KCFG, since vacuous is something the backend could reasonably compute on its own.

Implemented in:  https://github.com/runtimeverification/pyk/pull/587.


MF-597 - Removed legacy code as not needed anymore

Signed-off-by: mteodor<EMAIL_ADDRESS>Pull request title should be MF-XXX - description or NOISSUE - description where XXX is ID of issue that this PR relate to.
Please review the CONTRIBUTING.md file for detailed contributing guidelines.
What does this do?
Removed legacy code as not needed anymore
Which issue(s) does this PR fix/relate to?
Put here Resolves #XXX to auto-close the issue that your PR fixes (if such)
List any changes that modify/break current functionality
Have you included tests for your changes?
Did you document any new/modified functionality?
Notes

Codecov Report

Merging #598 into master will decrease coverage by 1.17%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #598      +/-   ##
==========================================
- Coverage   88.22%   87.05%   -1.18%
==========================================
  Files          62       62
  Lines        3728     3391     -337
==========================================
- Hits         3289     2952     -337
- Misses        299      300       +1
+ Partials      140      139       -1

Impacted Files
Coverage Δ

bootstrap/postgres/configs.go
75.77% <0%> (-6.87%)
:arrow_down:

bootstrap/service.go
81.28% <0%> (-5.93%)
:arrow_down:

bootstrap/api/requests.go
93.75% <0%> (-2.92%)
:arrow_down:

bootstrap/api/transport.go
97.74% <0%> (-1.47%)
:arrow_down:

things/service.go
92.85% <0%> (-1.3%)
:arrow_down:

bootstrap/api/endpoint.go
100% <0%> (ø)
:arrow_up:

bootstrap/api/responses.go
100% <0%> (ø)
: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 c418a9a...3226f30. Read the comment docs.


exception_detail is triggering warning C4265 in visual studio (missing virtual destructor)

exception_detail has virtual functions but the destructor is not defined virtual and thus triggers this warning

I need exact command line and compiler version please.


bug(logger): Incorrect parsing of nested log levels

Reason for This PR
closes #521
Description of Changes

Fix #521
Use a hashmap instead of the slice in the RPC plugin to store pluggable plugins.
Move worker states out of internal to the pkg.

sample of logs:
2021/02/01 22:10:13	DEBUG	workflows   	[{"id":0,"payloads":"Cl0KFgoIZW5jb2RpbmcSCmpzb24vcGxhaW4SQ3siVGFza1F1ZXVlIjoiZGVmYXVsdCIsIk9wdGlvbnMiOnt9LCJXb3JrZmxvd3MiOltdLCJBY3Rpdml0aWVzIjpbXX0="}]	{"receive": true}
2021/02/01 22:10:13	DEBUG	temporal    	No workflows registered. Skipping workflow worker start	{"Namespace": "default", "TaskQueue": "default", "WorkerID": "2449403@48d90782@default@1"}
2021/02/01 22:10:13	DEBUG	temporal    	No activities registered. Skipping activity worker start	{"Namespace": "default", "TaskQueue": "default", "WorkerID": "2449403@48d90782@default@1"}
2021/02/01 22:10:13	INFO	temporal    	Started Worker	{"Namespace": "default", "TaskQueue": "default", "WorkerID": "2449403@48d90782@default@1"}
2021/02/01 22:10:13	DEBUG	workflows   	Started workflow processing	{"workflows": []}
2021/02/01 22:10:13	DEBUG	server      	worker constructed	{"pid": 2449419}

License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the MIT license.
PR Checklist
[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]

[x] All commits in this PR are signed (git commit -s).
[x] The reason for this PR is clearly provided (issue no. or explanation).
[x] The description of changes is clear and encompassing.
~- [ ] Any required documentation changes (code and docs) are included in this PR.~
~- [ ] Any user-facing changes are mentioned in CHANGELOG.md.~
[x] All added/changed functionality is tested.

linked #368


Support for multi-GPU

I know that multi-GPU is not supported yet. I'm interested in knowing whether supporting that is straightforward or not, so that we know it's worth for us to work on it.
We're interested using Eesen on more than 1000 hours of audio, so obviously that would be helpful (the 110 hours TEDLIUM dataset takes about 3 days with a single K40).
Thanks!

I should be working on that soon. It is not straightfoward, but doable within a month or two if you know where everything is. Basically, you need to take the natural gradient code from kaldi and integrate it with eesen. The main idea to get parallelization to work is to scale the gradients accordingly, which the natural gradient does, as described in this paper (http://arxiv.org/pdf/1410.7455v4.pdf). This paper is already implemented in kaldi, so all we need to do is to migrate that to eesen.

Just out of curiosity, has anybody worked on this yet?


No license

I would love to use this project, however I can't find a license anywhere. Could you please include a license?

Let me get back to you on that. Authoring open source code is something very new to me (and my company). I'll try to figure out which one we're going to use and get it in there.

Awesome, greatly appreciated!

Okay - sorry that took so long! We had some people go on vacation and it was difficult herding the cats around here. It looks like we ended up settling on the MIT license. I've added it to the repository. I hope that works out for you as well!

That's perfect! Thanks for the quick turnaround


Add validation support for multi versions

[ ] Fix validation of ini files
[ ] Add dynamic validation based on study version

Duplicated by #424


Api endpoint to list resources

The endpoint returns a list of resources. accessmanagement/api/v1/{party}/resources/maskinportenschema
Description

Related Issue(s)

#{issue number}

Verification

[ ] Your code builds clean without any errors or warnings
[ ] Manual testing done (required)
[ ] Relevant automated test added (if you find this hard, leave it and we'll help out)
[ ] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

This has to be merged after PR #193


How to add new users to this repo?

I want to assign issue #404 to @dlech but when I click on Assignees it only lists myself, ralph, wasabi and denis.  How do we add users to the repo so that we can assign them issues, etc?  I'm sure @rhempel has permission to add users but does anyone else?
I have the same issue over in https://github.com/ev3dev/ev3dev-lang-python-demo I want to assign https://github.com/ev3dev/ev3dev-lang-python-demo/issues/2 to @gregcowell

I'll see what I can do about the demo repo.

I don't have permission either. I think repos owned by a single user might not allow multiple admins.

If you have users that you trust I will add them.

I am ok moving this to the formal ev3dev organization - @dlech let me know what steps to take and I'll do it tonight

Under the settings for this repository, there is an option to "transfer" the repository. Just use that to transfer it to "ev3dev" and GitHub will transfer everything and setup redirects for all of the links.

Transferred ownership of this repo to ev3dev organization.


Add functional Texas Tech University scraper

@jodizzle I removed the user agent, as it doesn't seem necessary after all, but I don't think there's anything else I can do to improve it.


⚠ Bofrost.at has degraded performance

In 4b19f9b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1301 ms

Resolved: Bofrost.at performance has improved in 4d4a1d1.


Fixed #760

Because you drop support php < 7 we can use ReflectionFunctionAbstract::getReturnType.
This PR tested for relations with return type and without.

Yeah perhaps use the return type if possible, otherwise old behavior.

I did a minimal implementation of this issue as well: https://github.com/barryvdh/laravel-ide-helper/pull/763

Merged the other one, thanks!

You might trigger some unwanted behaviour here. You are basically calling every method on the model. (Imagine you have a method which sends a mail or something.)
@edcoreweb I don't really worried about this on development environment (laravel-ide-helper should be used only on dev right?).
Seems like PR #763 maybe more safety for any other.


add gcp specific global_helpers file

Currently, there are at least two files that managed AWS global_helpers
panther_base_helpers.py
panther_default.py
We suggest having the following which would contain helper functions to gcp-related resources.
global_helpers/gcp_base_helpers.py

closed with merge


Customizable long indicator step to allow bigger flexibility \ use cases.

I was thinking of an easiest way to be able to mark every step. And the easiest way is to have a control of the long indicator step. Usefull for short intervals where you want to show user all selectable values (like week days)

Not a full pull as I couldn't fully test. Resubmitting a new one.


support gdeh042Z98

support gdeh042Z98 display

sorry, You seem to adjust the structure of the directory, so the gdeh042Z98.cpp line 1 is error, i will resubmit after changes


Multithread support?

Store does not implement  Sync, is it possible to support this feature? I am thinking of a scenario where multiple threads can subscribe and dispatch to the same store. Of course this may require locks, but it will be nice option to have.

You can safely use store from multiple threads already, but I noticed not all methods are safe to use.
I'll take a look at it, thanks for the suggestion.


Prevent crashes when trying to convert invalid MIDI 1 input streams

In cmidi2_convert_midi1_to_ump, I had a case where for a test I would provide invalid midi 1 input.
It crashed in there with a stack overflow as it assumed the input to be three bytes if unknown status byte, while I provided only one.
Here is my patch - I don't know if the precondition for this function is "always valid MIDI stream" and validation should be done beforehand, but this check doesn't look like it'd hamper performance too badly... If you want I can turn it into a PR here
with any changes you deem important:
https://github.com/celtera/libremidi/commit/952f7816a56294ccde8b6c6c13027f3127f944e0#diff-334421e4def85430f9166e9ea74022f64faab9c6c298589a1709a86526c158b4L2559-L2692
cheers!

Ah, that would be lovely if you go ahead and send me the PR!
I had no solid idea on whether the converter function expects valid input or not. At this state it is always better to reduce potential crasher due to unexpected buffer.
Thanks!

Done in #16 please double-check ! all the tests still pass though

Thanks, done!


Simplify treatment of protobuf as external project.

By default, protobuf decorates its debug libraries with a d postfix, I
was compiling both the release and debug versions of protobuf to
guarantee that the version without the d was always available. A
simpler solution is to use protobuf_DEBUG_POSTFIX to disable the
postfix altogether. As a side-effect we get slightly faster builds.

This change is

Seems fine to me, but @houglum should review and approve as well before this is merged.


Add github mirror for zlib

Just another mirror in the case that this is more stable

ah welp, different sha


make "update" consistent with "create" for groups

A rewrite likely has resolved the original reported issue.


lib.train.data

Hello, author
While using the code, the following error occurs
from lib.train.data.image_loader import imread_indexed

ModuleNotFoundError: No module named 'lib.train.data'
I checked the corresponding code and found that the file under lib/train/data was missing.
I would like to ask if this code is complete

I am sorry for the problem. I have uploaded the files under lib/train/data. Thanks very much for your feedback！


Cannot connect to a mssql in the same network.

Hi,
I am trying to connect to a ms sql 2012 server in my network. I can connect to other ms sql servers, but this one quickly errors with tcp closed:
** (EXIT from #PID<0.307.0>) %Tds.Error{message: "tcp closed", mssql: nil}
iex(2)>
16:04:42.552 [error] GenServer #PID<0.309.0> terminating
Last message: {:tcp_closed, #Port<0.8158>}
State: %{attn_timer: nil, env: %{trans: <<0>>}, ireq: {#PID<0.307.0>, #Reference<<IP_ADDRESS>9>}, itcp: 1433, opts: [password: :REDACTED, hostname: "<IP_ADDRESS>", username: "sa", instance: REDACTED, database: "master", port: 1433], pak_data: "", pak_header: "", queue: {[{{:connect, [hostname: "<IP_ADDRESS>", username: "sa", password: REDACTED, instance: REDACTED, database: "master", port: 1433]}, {#PID<0.307.0>, #Reference<<IP_ADDRESS>2>}, #Reference<<IP_ADDRESS>3>}], []}, sock: {:gen_tcp, #Port<0.8158>}, state: :executing, statement: nil, tail: "", usock: #Port<0.8157>}
** (exit) %Tds.Error{message: "tcp closed", mssql: nil}

Any ideas ?

PS:
I can correctly connect to it in windows virtualmachine with ms sql management studio.


Equivalent to OpenCV cv2.INTER_AREA?

Is there an equivalent to OpenCV's INTER_AREA algorithm in fast_image_resize?
See comparison here: https://gist.github.com/georgeblck/e3e0274d725c858ba98b1c36c14e2835

I am not sure, but if consider the information from the article it may be implemented with help of custom filter:
fn area_filter(mut x: f64) -> f64 {
    x = x.abs();
    if x < 0.5 {
        1.0 - 2.0 * x
    } else {
        0.0
    }
}

I am not sure, but if consider the information from the article it may be implemented with help of custom filter:
fn area_filter(mut x: f64) -> f64 {
    x = x.abs();
    if x < 0.5 {
        1.0 - 2.0 * x
    } else {
        0.0
    }
}

let area = FilterType::Custom(
    Filter::new("Area", area_filter, 0.5).unwrap()
);

Thanks, I'll give that a go!


Add 2015 to previous archived years

@changeworld do you feel like making that a little more automatic so we don't need to update it every year?

Merging for now, we can improve it later

Oops, sorry.
I did not realize it was doing another work.
I proposed a change (#1676) to eliminate the manual update every year.


CLOUD-1540 - feat: set sample rate to be min of global and metric sample rate

Is there a reason for doing min, rather than just always taking the one on the individual call?
i.e. what if you wanted a global default of 50% but for one specific metric you wanted 100%?

Is there a reason for doing min, rather than just always taking the one on the individual call?
i.e. what if you wanted a global default of 50% but for one specific metric you wanted 100%?

Talking with @bfeaver , if you want something that's 100% accurate (like counter) statsd isn't the solution


cmd/go: add proper documentation for workspace mode

Add full docs for each of the go work subcommands, a doc for getting started on workspace mode, and a reference-style document.

@matloob Is there more work to do on this issue for 1.18?  Thanks.

Perhaps this is the same as #51301, and one of the two can be closed as a duplicate?

I'll close this one in favor of #51301.


Show full profile of followers/following

We won't be adding this to the WP8 app anymore, but it's currently implemented in the new Win10 UWP app (with the limitations Strava provides on other athletes's profiles). This will be part of the initial Win10 UWP release (date not known yet).


[BUG] Scrolling inside of a rule

Currently, it is not possible to scroll down in the 'Rules' view when editing an existing rule. For example, when opening one of the cards, such as 'Teemad,' it is not possible to scroll down.

It should be as so when opening one of the cards i am able to scroll down and see the other options aswell.

Works as intended.


[video_player ] Document how to dispose multiple videos properly.

I am facing issue when call dispose for VideoPlayerController. Android Issue Log : VideoPlayerController was used after being disposed.
VideoPlayerController _controller = VideoPlayerController.file(
            File("C:/test/a.mp4"))
          ..initialize().then((_) {
            setState(() {});
          });
_controller.setLooping(true);
_controller.play();
videoWidget = VideoPlayer(_controller);

I store this _controller object while starts playing video. When first video completes, I create new videoWidget as shown above and execute setState() to repaint it on UI. Then after I dispose old controller object but it throws "VideoPlayerController was used after being disposed". Ref Code as shown below.
if(oldController!=null) {
     oldController.removeListener(() {}); //tried without this also
     await oldController.dispose(); //tried without await also
}

How can I solve this issue ?
flutter doctor -v

flutter doctor -v
[√] Flutter (Channel dev, 2.1.0-12.1.pre, on Microsoft Windows [Version 10.0.18363.1016], locale en-CA)
    • Flutter version 2.1.0-12.1.pre at C:\Program Files\flutter
    • Framework revision 8264cb3e8a (3 weeks ago), 2021-03-10 12:37:57 -0800
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\street\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.53.2)
    • VS Code at C:\Users\street\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.20.0

[√] Connected device (2 available)
    • Mi A1 (mobile)    • 925fe0c00604 • android-arm64 • Android 9 (API 28)
    • Windows (desktop) • windows      • windows-x64   • Microsoft Windows [Version 10.0.18363.1016]

! Doctor found issues in 1 category.

Error reference details :

logs
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═════════════════════════════════════
                    The following assertion was thrown building Positioned(left: 0.0, top: 0.4, width: 170.6, height:
                    643.0):
                    A VideoPlayerController was used after being disposed.
                    Once you have called dispose() on a VideoPlayerController, it can no longer be used.

                    The relevant error-causing widget was:
                      Positioned file:///C:/Users/street/Documents/unoplayer/lib/player/campaignPlayer.dart:75:30

                    When the exception was thrown, this was the stack:
                    #0      ChangeNotifier._debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:117:9)
                    #1      ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:123:6)
                    #2      ChangeNotifier.removeListener (package:flutter/src/foundation/change_notifier.dart:195:12)
                    #3      _VideoPlayerState.deactivate (package:video_player/video_player.dart:649:23)
                    #4      StatefulElement.deactivate (package:flutter/src/widgets/framework.dart:4786:11)
                    #5      _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1862:13)
                    #6      _InactiveElements.add (package:flutter/src/widgets/framework.dart:1876:7)
                    #7      Element.deactivateChild (package:flutter/src/widgets/framework.dart:3639:30)
                    #8      Element.updateChild (package:flutter/src/widgets/framework.dart:3353:9)
                    #9      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #10     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #11     ProxyElement.update (package:flutter/src/widgets/framework.dart:4915:5)
                    #12     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #13     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5579:32)
                    #14     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6181:17)
                    #15     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #17     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #18     ProxyElement.update (package:flutter/src/widgets/framework.dart:4915:5)
                    #19     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #20     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6057:14)
                    #21     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #23     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #24     StatelessElement.update (package:flutter/src/widgets/framework.dart:4648:5)
                    #25     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #27     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #28     StatelessElement.update (package:flutter/src/widgets/framework.dart:4648:5)
                    #29     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #31     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #32     ProxyElement.update (package:flutter/src/widgets/framework.dart:4915:5)
                    #33     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #34     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #35     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #36     ProxyElement.update (package:flutter/src/widgets/framework.dart:4915:5)
                    #37     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #38     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5579:32)
                    #39     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6181:17)
                    #40     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #41     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #42     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4739:11)
                    #43     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #44     StatefulElement.update (package:flutter/src/widgets/framework.dart:4771:5)
                    #45     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #46     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #47     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #48     ProxyElement.update (package:flutter/src/widgets/framework.dart:4915:5)
                    #49     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #50     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #51     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4739:11)
                    #52     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #53     StatefulElement.update (package:flutter/src/widgets/framework.dart:4771:5)
                    #54     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #55     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6057:14)
                    #56     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #57     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #58     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #59     StatelessElement.update (package:flutter/src/widgets/framework.dart:4648:5)
                    #60     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #61     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6057:14)
                    #62     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #63     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #64     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4739:11)
                    #65     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #66     StatefulElement.update (package:flutter/src/widgets/framework.dart:4771:5)
                    #67     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #68     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #69     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4739:11)
                    #70     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #71     StatefulElement.update (package:flutter/src/widgets/framework.dart:4771:5)
                    #72     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #73     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #74     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #75     ProxyElement.update (package:flutter/src/widgets/framework.dart:4915:5)
                    #76     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #77     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #78     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4739:11)
                    #79     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #80     StatefulElement.update (package:flutter/src/widgets/framework.dart:4771:5)
                    #81     Element.updateChild (package:flutter/src/widgets/framework.dart:3345:15)
                    #82     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4592:16)
                    #83     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4739:11)
                    #84     Element.rebuild (package:flutter/src/widgets/framework.dart:4261:5)
                    #85     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2578:33)
                    #86     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:875:21)
                    #87     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:329:5)
                    #88     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
                    #89     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
                    #90     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998:5)
                    #94     _invoke (dart:ui/hooks.dart:167:10)
                    #95     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5)
                    #96     _drawFrame (dart:ui/hooks.dart:126:31)
                    (elided 3 frames from dart:async)

                    ════════════════════════════════════════════════════════════════════════

Hi @unoravi
Can you please provide  a complete reproducible minimal code sample
Thank you

@TahaTesser
I have attached dart code sample here. Used dependency "video_player: ^2.1.0" also tried on previous versions too.
import 'dart:collection';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

main() {
  runApp(DisposeContainer());
}

class DisposeContainer extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: DisposeVideo(), debugShowCheckedModeBanner: false);
  }
}

class DisposeVideo extends StatefulWidget {
  @override
  _DisposeVideoState createState() => _DisposeVideoState();
}

class _DisposeVideoState extends State<DisposeVideo> {
  String folderPath;
  Widget videoWidget;
  HashMap<int, VideoPlayerController> _zoneIDToVideoController = HashMap();
  HashMap<int, VideoPlayerController> _zoneIDToOldVideoController = HashMap();
  HashMap<int, String> idToVideo = HashMap();

  @override
  void initState() {
    super.initState();
    folderPath = "/sdcard/video/";

    videoWidget = Container(color: Colors.green);

    idToVideo[0] = "0.mp4";
    idToVideo[1] = "1.mp4";
    idToVideo[2] = "2.mp4";
    idToVideo[3] = "3.mp4";

    startPlaying();
  }

  @override
  Widget build(BuildContext context, {FadeTransition child}) {
    List<Widget> _childrenWidgets = [];
    try {
      if (videoWidget != null) {
        _childrenWidgets.add(Positioned(
          child: videoWidget,
          left: 0,
          top: 0,
          width: 300,
          height: 200,
        ));
      }
    } catch (e) {
      print("Exception 1 : $e");
    }

    return Scaffold(
      body: SafeArea(
        right: true,
        top: true,
        bottom: true,
        left: true,
        child: (Stack(children: _childrenWidgets)),
      ),
    );
  }

  startPlaying() async {
    try {
      bool disposeWithMap = true;
      for (int cnt = 1; cnt <= 100; cnt++) {
        print("Video (${idToVideo[cnt % 4]}) Playing..");
        VideoPlayerController _controller = VideoPlayerController.file(
            File(folderPath + "${idToVideo[cnt % 4]}"))
          ..initialize().then((_) {
            setState(() {});
          });
        _controller.setLooping(true);
        _controller.play();

        print("Set on Area");
        videoWidget = VideoPlayer(_controller);

        if (disposeWithMap) {
          if (_zoneIDToVideoController[1] != null) {
            _zoneIDToOldVideoController[1] = _zoneIDToVideoController[1];
            _zoneIDToVideoController.remove(1);
          }
          _zoneIDToVideoController[1] = _controller;
        }

        setState(() {});

        if (disposeWithMap) {
          try {
            if (_zoneIDToOldVideoController[1] != null) {
              final oldController = _zoneIDToOldVideoController[1];
              _zoneIDToOldVideoController.remove(1);
              print(
                  "Remove Old Controller of Video (${oldController.dataSource})");
              await oldController.dispose();
            }
          } catch (e) {
            print("Exception 2 : $e");
          }
        }
        await _sleep(7);
      }
    } catch (e) {
      print("Exception 3 : $e");
    }
  }

  _sleep(int seconds) async {
    return new Future.delayed(Duration(seconds: seconds));
  }
}

@TahaTesser
Please note that videos (0.mp4, 1.mp4, 2.mp4, 3.mp4) need to added under folder "/sdcard/video/"

There are solutions to this on stack overflow bit would love to ser it documented an official solution/example for video_player on how to change video source properly or if swapping out a containing widget is the official solution relying on framework widget life cycle to do its work.
Using chewie:
https://stackoverflow.com/questions/56400245/how-to-properly-change-video-player-source-at-runtime
Only video_player:
https://stackoverflow.com/questions/58955831/flutter-video-player-dispose

@Leffe108
I have shared my issue sample code. Please refer to it and point out an issue if you can. As you can see in flutter doctor, my testing Device is Mi A1 (4GB-64GB) so still I face memory issue.

I'm sorry I now see you don't use chewie, so forget that link. (it becomes more complicated as you have two controllers)
The most popular solution on SO is to use WidgetsBinding.instance.addPostFrameCallback() to dispose the old controler at the right time. You would call their _onControllerChange() with the new file name to play. In _initController replace VideoPlayerController.network with VideoPlayerController.asset in your case.

Hi @unoravi
I can reproduce the issue, haven't tried the solutoons. This could be better documented, maybe in the official example or READNE

@TahaTesser
As you have replicated this issue so I am expecting very quick solution for this.. Please do the needful.

@unoravi
Please be patient, this isn't an issue. This needs a working sample which I don't have.
Meanwhile, you can get help on  StackOverflow and other Flutter community platform s

@TahaTesser
I am disposing video after use but still it shows that controller is in use then provide me an alternative. As per me this is clear issue.
Thing that you are referring this logic as document of "How to dispose multiple videos properly ?" But this sample code is facing an issue while executing. That's why I was expecting quick solution for this..!!
Thanks for the effort.

I have lately expanded upon this solution to also implement cross-fade using AnimatedWidget. To my understanding the key points are:

save reference to _controller in eg. oldController
set _controller to null in setState()
register post frame callback and in that callback dispose the controller via oldController variable.

Then at any moment you can assign a new controller to _controller. The key is that the one that for the one that is going out you set _controller to null in setState so there occur a re-build with null controller and then after that in the post frame callback you dispose the controller. It can be disposed later as well, but earliest in the frame after you set _controller to null.

Any update related to this ?

@TahaTesser
My demo file is made to run multiple videos. It should not give any error or exception. Just solve it out.
Otherwise add this incident as an issue.
Thanks

@cyanglaz @TahaTesser
Please keep me posted if any updates on this..

@cyanglaz @TahaTesser
Is there any update on this issue ?

@cyanglaz @TahaTesser
Any updates ?

+1 @unoravi  facing similar problem in app with pageview of videos with continuous scroll.

@TahaTesser
Ref : https://github.com/flutter/flutter/issues/79546#issuecomment-814172898 : Still there is no solution exist anywhere. Please refer if you found anywhere.

How to dispose video in given code sample without this error (VideoPlayerController was used after being disposed)
If you can solve the problem of this sample with any code/dependency related changes then it is not an issue. Otherwise mark this as an issue so it can be solved soon.
It's been very long time waiting for solution of this. Hope you understand the urgency.

Hi @unoravi have you devised any working solution for this, as I'm stuck with this for so long now. My app Crashes due to memory allocation error.

@TahaTesser sir, Please look into it. I have been using flutter for almost 2 years but the this same issue is stuck as it is with the video_player package from the beginning.


⚠ ClamAV has degraded performance

In 9e63747, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 96 ms

Resolved: ClamAV performance has improved in 1166eb4.


Fix MAX_PER constraint to work with attributes.

The MAX_PER constraint currently works with hostname, but does not work with any other attribute.
The problem is that the attribute is not passed into checkMaxPer inside checkAttribute. Instead, the hostname is always passed to checkMaxPer.
This PR calls checkMaxPer with the correct argument, and adds a test that uses MAX_PER with a rackid attribute to show the fix.
JIRA Issue: MARATHON-7320

Will do!

Formatting question:
Would you like me to add a new "Fixed issues" section under the "Changes from 1.4.x to 1.5.0 (unreleased)" header? It would look like this:
### Fixed issues
- [MARATHON-7320](https://jira.mesosphere.com/browse/MARATHON-7320) Fix MAX_PER constraint for attributes.

Works for me, thanks.

Thank you very much for your PR.
It would be awesome if you would resolve the minor conflict in the changelog and I`ll merge afterwards.

@unterstein Resolved. Should be good to go!

Thanks @toffer!
    .  o ..
     o . o o.o
          ...oo
            __[]__          Shippin'
         __|_o_o_o\__         it!
         \""""""""""/
          \. ..  . /
     ^^^^^^^^^^^^^^^^^^^^


Fix usage of GKE CloudCredential in capabilities

When referencing a GKE CloudCredential instead of POSTing the credential
object to the capabilities API, the Secret behind the credential wasn't
being parsed properly, and the request was missing parameters that are
required to access the proxied GKE APIs. This patch adds the missing
zone and project ID parameters to the parsed query string and corrects
the Secret key that refers to the credential object. Now a request will
need to be made with all four parameters like this:
$ curl -u $TOKEN "https://localhost:8443/meta/gkeSubnetworks?cloudCredentialId=cattle-global-data:cc-abcde&region=us-west1&zone=us-west1-a&projectId=my-project-id"

@cmurphy Thank you for testing and fixing it


Remove provider region for KMS-CMK

Hello,
due to the fact that you share this module publicly, you shall probably mention in README that KMS-CMK resource will be created in us-east-1 region. I would suggest that you remove the region specification and you leave it on the client provider to avoid confusion and surprises and make this module more generic.
Thank you

Sorry, I've overlooked the Route53 DNSSEC requirements - KSK must be in that region. Therefore closing this.

Thanks for taking a look at the module, I am always grateful for others to double-check and peer review my efforts to ensure I'm not missing something or that I go about it in the best manner.
Yes, as you realized the KSK is required to be in us-east-1 which is not uncommon with certain things within AWS. ACM certificates for Cloudfront are another that comes to mind quickly. I do see that mentioning that explicitly in the README could still be a good point. As well I do plan to revise the documentation to make it more complete.

There is one more thing worth to mention in the documentation even though it's long time known "feature". When the provider is present in the module, module removal (code deletion) results in this error:

To work with module.route53-dnssec-ksk.aws_kms_alias.this (orphan) its original provider configuration at module.route53-dnssec-ksk.provider["registry.terraform.io/hashicorp/aws"].use1 is required, but it has been removed. This occurs when a provider configuration is removed while objects created by that provider still exist in the state. Re-add the provider configuration to destroy module.route53-dnssec-ksk.aws_kms_alias.this (orphan), after which you can remove the provider configuration again.

Therefore module removal consists of two steps:

terraform destroy -target=module.route53-dnssec
git rm route53-dnssec.tf (assuming the module is located in this file alone)

Yes, I believe that is a remnant from pre-1.x version of Terraform. Recent changes actually recommend against modules including provider blocks and instead just use configuration_aliases as I read the doc so I'll take a look at that as well. As mentioned this is a special case where it does need to occur in a specific region which was why I configured it this way but perhaps there is a better way to accomplish the same thing now with newer Terraform version.

I think I've fixed this in my devel branch at this point while I work on the other issues.
A method I found to get around this during the update process is to do the following:
module "route53-dnssec-ksk" {
  source = "github.com/ugns/terraform-aws-route53-dnssec?ref=devel"

  providers = {
    aws.use1  = aws
  }
}

After the state has been updated the providers block could be removed of changed to be aws = aws.use1 the default aws provider in the root module is in a zone other than us-east-1 as required by Route53.


Add MLFLow to tasks

Add MLFlow into tasks in peft

yeah, the model.push_to_hub() is not necessary, from the old code.
About TorchTracemalloc or torch.cuda(), most of the tasks in the examples/ is not straightforward and only provided sample code on how to use the method in specific case, one of them is to measure GPU memory usages. I see that the output look reasonable.

yeah, the model.push_to_hub() is not necessary, from the old code.

Then please remove since we have no use of this


Remove assertion that compilation had no warnings in engine tests

microsoft/qsharp-compiler#791 adds deprecation warnings when parentheses are used for for, using and borrowing statements. IQ# has test snippets that trigger these warnings, for example:
https://github.com/microsoft/iqsharp/blob/afeb47a8b2957ba72e150a542f25d5d1aaedadad/src/Tests/SNIPPETS.cs#L319-L321
The IQ# tests also assert that no warnings were generated, which caused the end-to-end build to fail. Since the warnings were designed to not introduce any breaking changes yet, it would be nice if IQ# tests didn't rely on there being no warnings.
The other option is to update the tests to remove the deprecated parentheses and avoid the warnings - let me know which option seems better.
Cc: @bettinaheim

@rmshaffer It looks like this PR and #386 are blocked by a component governance alert for y18n 4.0.0.

@rmshaffer It looks like this PR and #386 are blocked by a component governance alert for y18n 4.0.0.

With the alert for y18n being resolved by #388, I think this should now be ready to merge in. Thanks for fixing this, @samarsha!

With the alert for y18n being resolved by #388, I think this should now be ready to merge in. Thanks for fixing this, @samarsha!


Trying to understand part of windowed algorithm

I'm trying to figure out, why (and does it?) this condition check for windowed limit is important https://github.com/Netflix/concurrency-limits/blob/master/concurrency-limits-core/src/main/java/com/netflix/concurrency/limits/limit/WindowedLimit.java#L155
It looks like under low load it wouldn't let the delegate limit to perform (while it probably should raise limit, especially if it was pessimisized before on overload)
And under high load it will work fine with averages, but with percentiles - you're either skipping too many samples(because they exceed window size) or letting actual logic not to be executed, because you will be setting window size to a big number. So picking window size became really tricky and hard to achieve properly

The PR that added this check briefly mentions the rationale: https://github.com/Netflix/concurrency-limits/pull/125


Try to run CI using kind

I would be happy to migrate to kind but I think if we move we should still run (for example once a week) master job also on minikube to be sure, that we have covered this platform too. WDYT? @lulf

@obabec Yeah, another master workflow that doesn't push images to quay.io then?

@lulf Exactly, I'll handle after kind if working, sounds reasonable for you?

@lulf I think you are missing registry. That needs to be deployed too.


[WIP] Haptic engine plugin for enhance vibration

The default Input.vibrate_handheld method is generic and don't support granular control over iOS's haptic engine, which support additional parameters like intensity and sharpness.
This allows you to trigger vibration with .vibrate(duration, intensity, sharpness)
There's also additional features like creating dynamic vibrations (Apple doc) I plan to add here, but wanted to create this PR first and see if there's any interest.
TODOs

add README
add dynamic control

This sounds great! Would use for sure.

Is there any way we could get a release with the haptic engine uploaded? I cannot figure out how to compile it on my machine...

I love it! Thank you very much! I was looking 4 days into this and finally got it to work thanks to your pull request! I hope this will be added at some point.
If you have issues compiling look into this:
https://github.com/godotengine/godot-ios-plugins/issues/47
And maybe this:
https://github.com/LettucePie/ios-plugin-integrate-demo?tab=readme-ov-file


Update README to declare Unboxable in extension of struct

This PR changes the README to declare Unboxable in extensions to structs rather than on the struct itself.
If you define your model object with the following:
struct Player: Unboxable {
    let name: String

    init(unboxer: Unboxer) {
        self.name = unboxer.unbox("name")
    }
}

then you cannot do let player = Player(name: "Jóhann") without additional boilerplate. This is because Swift doesn't give you access to the default struct initializer if you define a custom initializer (see Initializer Delegate for Value Types in the documentation).
Apple suggests that you define your custom initializer in an extension to bypass this issue. By making the model conform to Unboxable in an extension, we will retain the default initializer.
struct Player {
    let name: String
}

extension Player: Unboxable {
    init(unboxer: Unboxer) {
        self.name = unboxer.unbox("name")
    }
}

Now we can both use let player = Player(name: "Jóhann") and Unbox without any additional boilerplate.
It also decouples Unbox from the model and makes it possible to declare the models and the deserialization method using Unbox in two separate files.
This initializer behavior was not obvious to me when starting to use Unboxable so I suggest that the documentation should show this approach.

Awesome! I actually didn't know that - so double thanks for both the PR and for the info 🚀


Implement answer survey item

Kind (Required)

Improvement

Overview (Required)

You don't have to add it to the list of feeds for use with:
https://github.com/DroidKaigi/conference-app-2021/issues/67
Please be able to check the screen in Preview.

Links

https://www.figma.com/file/IFlrbfmBSdYvUz7VmSzfLV/DroidKaigi_2021_official_app?node-id=0%3A1

I want to try it. 🙋♂
Should I make a transition to link? Or is it only design?

@mattukouta
Assigned 🙏
Thank you for your cooperation！

No need to handle button events!

OK. Thank you for your reply.


triage: create gh action for poetry

Maybe it woulld be better to create a poetry action and get it on gh marketplace so we can reuse, this would give use version on the action as they develop and help us main the action better.

Sure, why not :)

Big +1 on this. It's also what I had in mind when I saw your Cookiecutter GH Actions workflows. The setup looks great!
A few questions/suggestions:

Shouldn't we have YAML (and markdown) linting workflows as well, in common?
An OpenAPI checks workflow would probably also be good, also in common, or in a separate folder. Maybe also compliance testing.
We should also look more closely at automatic version updating (but might be on a per-language basis).
What tradeoffs do you see?
More related to the Cookiecuter, but now that I think of it: It would also be good to be able to set up GitHub repo settings automatically (global settings, branch rules, team permissions, secrets, labels etc.), for any new repos.

Well yes the above was just an initial thought of proj str, not a complete list, we will need yaml-linting as probably the only CI in this proj but all other non code stuff (yaml-linting included) I have been preferring to do via pre-commit config, I find it easier. Hence all those non code checks like md linting, checking accidental push of a big file etc etc are taken care of by pre-commit.yaml for an exhaustive list checkout the pre-commit config in cookicutter.
Yes thats the idea, I was thinking of creating a composite CI such as the one for setting up poetry or funnel to do these kind of checks. But this would be on need per basis so I assume could be a part of miscellaneous CI workflows.
Yes, but unfortunately I haven't yet found an ideal workflow that fits our usecase, and the more I look for them I see a huge tradeoff in DX, for example to have an automated release, we need to have commit logs, which means there needs each commit to be passed through a commitlinter but since we squash commit anyways, I am not sure how that would plan out. I'll need to put more thoughts on this one.

Pros
This would closely couple all our repo, which is good as in the process of debugging will become easy and all of the repo will have similar if not identical DX which would make it easier for newcommers to jump back and forth.
Having a good makefile should also make all our projects language agnostic, ie as long as you have oyur env set up, you can run make i and that should install all the deps be it a node, python or a rust project, as this command will under the hood run the specific npm, poetry or cargo command either way.
Cons
Each project has to run in harmony and there will not be alot of wiggle room.
Any updates /chages in the CI will impact all the project that rely on it.
Single point of failure, if the CI misbehaves, all the broject will too.
Finally this is not a tradeoff but I believe the biggest hurdle if we want to see this through. For this to work all our project need to comply to the standards we will be settign here, ie all python projects need to run on poetry stack, the linting and formatting should be just right. You get teh idea, basically there will be huge changes in each project just to get this through.

Check this out maybe this is what you are looking for.

Not related to this, but I think one more thing that we should def look into is removing config files and using symlinks for those in our other repo. For example, assuming we wan tto have .markdownlint.yaml, pre-commit-config.yaml, ISSUE-TEMPLATE etc etc, we shouldn;t generate these, since these files are language agnostic, they should be in all the repos regardless and we cant/shouldn't rely on cruft for that in other languages. So maybe centralise these files in cookicutter or someother place and only use symlinks from there?
It will def de-clutter the repo but Im not really sure how much we would wan that, hence not opening another issue if you think this is something to consider as well, we can open an issue for this too.

All sound good, so just commenting on the listed CONS:

Each project has to run in harmony and there will not be alot of wiggle room.

Nobody forces us to use the Cookiecutter or any of the CI workflows if there are good reasons not to. So we still got all the wiggle room we need, if necessary.

Any updates /chages in the CI will impact all the project that rely on it.

Awesome! So we can push new/improved policies to all repos at the same time :) Seriously though, if we fail to foresee unwanted consequences of a workflow upgrade on any one repo, it's likely still easier to make changes in that repo, e.g., by pinning the version of an action or overriding the workflow. And if multiple or all repos are affected, we can roll back the change in one central place and fix it (or account for different needs).

Single point of failure, if the CI misbehaves, all the broject will too.

I think in most cases this is more than offset by "single source of truth" - because we need to fix things only in one place.

Finally this is not a tradeoff but I believe the biggest hurdle if we want to see this through. For this to work all our project need to comply to the standards we will be settign here, ie all python projects need to run on poetry stack, the linting and formatting should be just right. You get teh idea, basically there will be huge changes in each project just to get this through.

I disagree that this is only useful if all projects comply. Rather, we will roll this out incrementally, repo by repo. And if we feel that it doesn't make sense for any given repo, we just skip it. We would still reap the benefits for all other repos.

Not related to this, but I think one more thing that we should def look into is removing config files and using symlinks for those in our other repo. For example, assuming we wan tto have .markdownlint.yaml, pre-commit-config.yaml, ISSUE-TEMPLATE etc etc, we shouldn;t generate these, since these files are language agnostic, they should be in all the repos regardless and we cant/shouldn't rely on cruft for that in other languages. So maybe centralise these files in cookicutter or someother place and only use symlinks from there?
It will def de-clutter the repo but Im not really sure how much we would wan that, hence not opening another issue if you think this is something to consider as well, we can open an issue for this too.

I am not sure about this. Generally it's better to be explicit than implicit. Also, using symlinks might have unexpected consequences, e.g., the Community Standards may not pick up on symlinks and that may affect our projects' "SEO" ratings. Instead, static files that are the same across all repos, regardless of language, might be better placed in a template repo that could be used in the Cookiecutter.

Rather, we will roll this out incrementally, repo by repo.

Yeah, I just meant that doing that will be alot of work but will def pay in dividends :rocket: .

Closing this in favor of actions.


[Bug Report] Bot joins then leaves

Describe the bug
The bot will join and then leave while not playing anything
To Reproduce
Steps to reproduce the behavior:

play a song (only some songs do this EG: ?play red like roses
look at the msg that bot sent ( Added Red Like Roses (Red Trailer) (feat. Casey Lee Williams) (03:12) to begin playing)
bot will join
bot will fail and leave

Expected behavior
play song with no problem
Screenshots

Debug Info
System Properties:
java.version = 14.0.1
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.version = 14
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 14.0.1+7
java.specification.version = 14
os.arch = amd64
os.name = Windows 10
JMusicBot Information:
Version = 0.3.1
Owner =<PHONE_NUMBER>73007362
Prefix = ?
AltPrefix = @mention
MaxSeconds = 0
NPImages = false
SongInStatus = false
StayInChannel = false
UseEval = false
UpdateAlerts = true
Dependency Information:
JDA Version = 4.2.0_212
JDA-Utilities Version = 3.0.4
Lavaplayer Version = 1.3.59
Runtime Information:
Total Memory = 50
Used Memory = 31
Discord Information:
ID =<PHONE_NUMBER>72514049
Guilds = 16
Users = 2

Duplicate of #531


Prepare local orc8r deployment

We need a way to deploy orc8r alongside domain proxy in automated fashion.

https://github.com/openEPC/magma/pull/63


global ng version shows errors instead of version numbers

Versions
Angular CLI: 6.0.0-rc.7
Node: 9.9.0
OS: linux x64
Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    <error>
@angular-devkit/core         <error>
@angular-devkit/schematics   <error>
@schematics/angular          <error>
@schematics/update           <error>
rxjs                         <error>

Repro steps
yarn global add @angular/cli@next
ng version

Observed behavior
Package                      Version
------------------------------------------------------
@angular-devkit/architect    <error>
@angular-devkit/core         <error>
@angular-devkit/schematics   <error>
@schematics/angular          <error>
@schematics/update           <error>
rxjs                         <error>

Desired behavior
Hide the errors if these packages are not supposed to be installed, or show me the version numbers.

I have the same problem, what I did was update all package locally and globally with angular cli but I still got the problem.. I can't fix it.

change to the directory that have package.json I think called ClientApp then try to run ng -v

Uninstall and installed Angular CLI 6.1.1 globally. Running ng version from a random directory crashes with the error stating that the node_modules can't be found. Changed directory to one of my project that had node_modules and ng version started working fine. This is clearly a bug.

I'm also experiencing this one.
If it's the expected behaviour then why should it only work when you're under an angular project when i should only be concerned with querying the version of angular-cli?

This looks somewhat related. The failure only happens with yarn global add but not with npm -g install. What could be the cause?
I tried this with Windows as well as KDE Neon (basically Ubuntu 16.04 Xenial) and it seems to be this way in both places.
neon@neon:~$ nvm --version
0.33.11
neon@neon:~$ nvm install node
Downloading and installing node v10.10.0...
Downloading https://nodejs.org/dist/v10.10.0/node-v10.10.0-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v10.10.0 (npm v6.4.1)
Creating default alias: default -> node (-> v10.10.0)
neon@neon:~$ node --version
v10.10.0
neon@neon:~$ npm --version
6.4.1
neon@neon:~$ npm -g install yarn
/home/neon/.nvm/versions/node/v10.10.0/bin/yarn -> /home/neon/.nvm/versions/node/v10.10.0/lib/node_modules/yarn/bin/yarn.js
/home/neon/.nvm/versions/node/v10.10.0/bin/yarnpkg -> /home/neon/.nvm/versions/node/v10.10.0/lib/node_modules/yarn/bin/yarn.js
+<EMAIL_ADDRESS>added 1 package in 0.527s
neon@neon:~$ yarn --version
1.9.4
neon@neon:~$ which yarn
/home/neon/.nvm/versions/node/v10.10.0/bin/yarn
neon@neon:~$ yarn global add @angular/cli
yarn global v1.9.4
[1/4] Resolving packages...
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...

success Installed "<EMAIL_ADDRESS>with binaries:
      - ng
Done in 5.21s.
neon@neon:~$ ng --version
The program 'ng' is currently not installed. You can install it by typing:
sudo apt install ng-common
neon@neon:~$ yarn global bin
/home/neon/.yarn/bin
neon@neon:~$ cat ~/.bash
.bash_history  .bash_logout   .bashrc
neon@neon:~$ cat ~/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
neon@neon:~$ vim ~/.bashrc
neon@neon:~$ source ~/.bashrc
neon@neon:~$ which ng
/home/neon/.yarn/bin/ng
neon@neon:~$ ng --version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 6.2.2
Node: 10.10.0
OS: linux x64
Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    <error>
@angular-devkit/core         <error>
@angular-devkit/schematics   <error>
@schematics/angular          <error>
@schematics/update           <error>
rxjs                         <error>

neon@neon:~$ yarn global remove @angular/cli
yarn global v1.9.4
[1/2] Removing module @angular/cli...
[2/2] Regenerating lockfile and installing missing dependencies...
success Uninstalled packages.

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.8.2
@angular-devkit/core         0.8.2
@angular-devkit/schematics   0.8.2
@schematics/angular          0.8.2
@schematics/update           0.8.2
rxjs                         6.2.2
typescript                   2.9.2

neon@neon:~$

Yarn’s global installs do not work properly with nvm.  Don’t have a link right now but there were several issues on yarn’s repo related to it.

Can confirm that yarn global install without nvm also causes the same issue.

I had same issue and it has fixed when I change to correct directory.

did any sole this I tried to install nom global I still get the same error ng command not found when I try to start ng serve or check version can some help me solve this problem I am using  a Mac

did any one solved this issue?....i've tried a lot of things but nothing seems to work =/


add support for BackedEnums to session

Similar to https://github.com/laravel/framework/pull/52677, https://github.com/laravel/framework/pull/52679, and https://github.com/laravel/framework/pull/52792, using enums improves code readability, maintainability and reduces the hassle of using string values within the code itself.
This adds BackedEnum support to the session methods:
session()->put(RememberMeEnum::SESSION_KEY, true);
session()->forget(RememberMeEnum::SESSION_KEY, true);

This PR is backward compatible, with one minor(?) change to the flash() method: https://github.com/laravel/framework/pull/53235/files#r1806848088
This depends on https://github.com/laravel/framework/pull/53234 being merged first.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!

@taylorotwell I wonder if you would reconsider this one. I removed the changes to the Arr::* helper from #53234 so this focuses only on the session store, and updated to use enum_value instead of checking the type as requested in https://github.com/laravel/framework/pull/53234#discussion_r1807071249.
The use case/pain point here is multiple Livewire components that are reading and writing values using the same session key; it would be really nice to use an enum for the session key instead of a string.
No matter what you decide, thanks for taking a look!


udp_multicast example doesn't work (IDFGH-13795)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
examples/protocols/sockets/udp_multicast compiles fine and runs, but it does neither listen to multicast or send any multicast packages. I've tried both with dual stack and ipv4 only, with the same result.
Tried docker container, both espressif/idf:v5.0.4 and espressif/idf:latest.

Did some more testing to see if I could get anything to work. Unicast traffic to the ESP works both with IPv4 and IPv6, but not multicast.
No IGMP is sent from the ESP, and no multicast traffic.
I tested with different hardware, an ESP32 and an ESP32-S3 with the same result.
No error messages either
I (4525) esp_netif_handlers: example_netif_sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (4525) example_connect: Got IPv4 event: Interface "example_netif_sta" address: <IP_ADDRESS>
I (4525) example_common: Connected to example_netif_sta
I (4535) example_common: - IPv4 address: <IP_ADDRESS>,
I (4545) multicast: Configured IPV4 Multicast address <IP_ADDRESS>
I (4545) main_task: Returned from app_main()
I (6555) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (8565) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (10575) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (12585) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (14595) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (16605) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (18615) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (20625) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (22045) wifi:[ADDBA]RX DELBA, reason:39, delete tid:0, initiator:0(recipient)
I (22635) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (24645) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (26655) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (28665) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (30675) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (32685) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (34695) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (36705) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (38715) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (40725) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (42735) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (44745) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (46755) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (48765) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (50775) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...
I (52785) multicast: Sending to IPV4 multicast address <IP_ADDRESS>:3333...

It works fine with ethernet but not with wifi.

It was my workstation that had some problems wrt multicast.