[BUG] unexpected cfs throttles on cpuset pods if cfs_quota_us is set

What happened:
When pods are scheduled and started with static CPU binding policy and Linux cpuset controller, we expect that the pod/containers can use all the cpuset CPUs and not get throttled by Linux CFS Bandwidth Control. However, there are results which pods still have chance to get cfs throttled if cpu.cfs_quota_us is set (according to container's CPU limit).
e.g.
Pod A:
      resources:
        limits:
          cpu: "1"
          memory: 2Gi
        requests:
          cpu: "1"
          memory: 2Gi

$ # print pod-level/container-level cfs_quota, cfs_period
$ cat /sys/fs/cgroup/cpu/kubepods.slice/kubepods-podxxx/cpu.cfs_quota_us
100000
$ cat /sys/fs/cgroup/cpu/kubepods.slice/kubepods-podxxx/cpu.cfs_period_us
100000
$ # print pod-level/container-level cpuset
$ cat /sys/fs/cgroup/cpuset/kubepods.slice/kubepods-podxxx/cpuset.cpus
2
$ # run commands inside the pod
$ echo $$ > /sys/fs/cgroup/cpu/kubepods.slice/kubepods-podxxx/cgroup.procs
$ echo $$ > /sys/fs/cgroup/cpuset/kubepods.slice/kubepods-podxxx/cgroup.procs
$ while :; do :; done
$ # check cpu throttled count number (nr_throttled)
$ cat /sys/fs/cgroup/cpu/kubepods.slice/kubepods-podxxx/cpu.stat
nr_periods 3076
nr_throttled 34
throttled_time 12070000

What you expected to happen:
cpuset pods should not have cfs throttles. We may disable cpu.cfs_quota_us for the cpuset pods via the koordlet.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

App version: 0.6.x
Kubernetes version (use kubectl version): 1.22
Install details (e.g. helm install args):
Others:

OS Version: Centos 7.9 (kernel 3.10) & Anolis OS 7 (kernel 4.19)

/area koordlet

/assign @saintube


isSet always false in autoValue for Array fields

Lets say i have field which is Array with autoValue :
...
myArrayField : {
  type : Array,
  autoValue : function(){
    if ( !this.isSet) {
      return something;
    }
  }
}
...

And i attached this schema to Meteor.Collection lets call it MyCollection
As we can red in docs : this.isSet: True if the field is already set in the document or modifier
But when i have method which does :
MyCollection.update( selector , {$set : { someOtherField : someValue } })
autoValue of myArrayField is called and isSet is false, doesn't matter if myArrayField is already set. Sounds like bug.

It sounds like you are thinking it would be true if it's set in your database, but your schema doesn't know what's in your database. It will be true only if that field is set somewhere in the object that you are validating (such as {$set : { someOtherField : someValue } } object in your example).


feat(ios): 🌟 ability to trigger limited permissions picker

This provides iOS users with the ability to update which photos the app has access to.

Closing. react-native-permissions already covers support for this.

@Johan-dutoit how? They only support updating the selected images but not showing those limited selected one?


Impossible download

Hello Docker.
First of all, I'm a new-comer to your Docker and tried out Kitematic just a few minutes ago.
I've noticed when trying to download images that it stops and it doesn't allow me, confirming an error .
Here's what the error pointed:
"Error pulling image (latest) from kitematic/hello-world-nginx, Mktemp failed: mkdir /mnt/sda1/var/lib/docker/graph/_tmp/69980e5074aa82d3329fadaaea51ccc38141f379d2aca21f55e75d97cb09c365: read-only file system"

Thanks for the issue! Closing in favor of #714


[Bug] Streaming writes to a Deduplicate table, flink job can't recover for FileNotFoundException

Search before asking

[X] I searched in the issues and found nothing similar.

Paimon version
0.6-SNAPSHOT
Compute Engine
Flink 1.16.1
Minimal reproduce step

DDL
CREATE TABLE IF NOT EXISTS paimon_catalog.dim.event_log_aggregation( order_no string, new_status int, creator string , id bigint, create_time timestamp COMMENT '日志创建时间', version bigint COMMENT '与 create_time 反相关', PRIMARY KEY (order_no, new_status) NOT ENFORCED ) with (  'merge-engine' = 'Deduplicate',  'sequence.field' = 'version' );
starting a flink job (consume kafka and write into paimon)
waiting some time, stop flink job with a savepoint
recover flink job with savepoint, flink job throw exception

restart flink job without savepoint, but same exception is occur

What doesn't meet your expectations?
Even though I restarted the flink task stateless to write into paimon, the same error occurred:
FileNotFoundException
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

It seems like you have recovered your job from an older savepoint.
If you are just using stop with savepoint, and recover your job, it is impossible to have this problem.

But I will add check to avoid this situation.


[Productize GEMM #1] optimize gem with small M

for gemm with small M case, we have special consideration to optimize it in our poc branch.
like "skip prefetch dot A operand", "relax upstream semantic limitation"
we need to make sure the changes are necessary and merged.

I think we need to understand the reason prefetching operand A causes a performance degradation. Collect unitrace data to determine what metric degrades is you prefetch that operand (vs not prefetching it) as a starting point.  Are we running out of cache capacity ?
If so we could tune how many iterations are prefetched (pipelined).

I think we need to understand the reason prefetching operand A causes a performance degradation. Collect unitrace data to determine what metric degrades is you prefetch that operand (vs not prefetching it) as a starting point. Are we running out of cache capacity ? If so we could tune how many iterations are prefetched (pipelined).

second that

@Dewei-Wang-sh, it would also be helpful to have a decent description of what is supposed to be done in the issue.

@Dewei-Wang-sh, it would also be helpful to have a decent description of what is supposed to be done in the issue.

thanks for the remind, added

Per our discussions, the feature disable prefetch for small shapes we be abandoned due to it's harmful to average performance for some shapes and just benefit max performance for limited shapes. As for the tl.dot, I have posted an issue to get Triton community's opinion about this limitation.
https://github.com/triton-lang/triton/blob/8e96b71b1b47a5d09f1cfb1826a16178f58dbef0/python/triton/language/semantic.py#L1373

Issued a PR to try to move the restriction under CUDA backend.

AMD has different hardware-supported gemm size like Intel. They have a PR working on this. And the reviewer requests changes about the restriction according to my PR. So my PR has been closed. See this comment.

Waiting for the PR above to land to upstream.


(Android) E/onesignal: Unable to initialize the OneSignal SDK because activity is null true or oneSignalInitDonefalse

Hello!
"react-native": "0.55.3",
"react-native-onesignal": "^3.2.3",
app.js
componentWillMount() {
    OneSignal.init('bddacd3f-7812-4a29-b038-.................');
    OneSignal.addEventListener('received', this.onReceived);
    OneSignal.addEventListener('opened', this.onOpened);
    OneSignal.addEventListener('ids', this.onIds);
}

onReceived(notification) {
        console.log("Notification received: ", notification);
    }

    onOpened(openResult) {
      console.log('Message: ', openResult.notification.payload.body);
      console.log('Data: ', openResult.notification.payload.additionalData);
      console.log('isActive: ', openResult.notification.isAppInFocus);
      console.log('openResult: ', openResult);
    }

    onIds(device) {
		console.log('Device info: ', device);
   }

work on iOS

not work on Android

@aspidvip can you please provide some more details? Does this error throw an exception and crash, or does it just not work (no player id, unable to receive push notifications, etc)? What are the symptoms?

I had this problem too. I think it's because of react-native-navigation. It launches another activity just after the application launches. If you call OneSignal.init() in the meantime it says that activity is null - the error that you have.
If you wait for a few seconds before calling OneSignal.init() it works but then you get another error. The one with FirebaseApp not initialized. Issue #515. Hoping for a fix or workaround for this too...

I solved by just using react-native-onesignal:3.1.4. It initializes using:
defaultConfig {
        applicationId "APP_ID"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }

        manifestPlaceholders = [onesignal_app_id: "YOUR_ONESIGNAL_ID",
                                onesignal_google_project_number: "REMOTE"]
    }

and that's it. Way simpler than doing it from JS side if you're using react-native-navigation.

no player id, unable to receive push notifications!

@urbancvek That same initialization technique (using AppDelegate for iOS and gradle for Android) also works in 3.2.3
@aspidvip That is a very broad issue, it could be anything. This likely is an issue with react-native-navigation and the timing of your OneSignal initialization

I did
componentDidMount(){
    setTimeout(()=>{
      OneSignal.init('bddacd3f-7812-4a29-b038-ebf844c9826d');
    },5000);
}

E/OneSignal: The included Android Support Library is to old or incomplete. Please update to the 26.0.0 revision or newer.
D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/lib/x86, /data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/lib/x86, /data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.onesignal.OneSignalChromeTab$OneSignalCustomTabsServiceConnection>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/customtabs/CustomTabsServiceConnection;
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)
I/zygote: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.CustomTabsServiceConnection" on path: DexPathList[[zip file "/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/lib/x86, /data/app/com.publikun-tQvVeGt0XjzJehSUmUpCQw==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote:     at void com.onesignal.OneSignalChromeTab.setup(android.content.Context, java.lang.String, java.lang.String, java.lang.String) (OneSignalChromeTab.java:46)
I/zygote:     at void com.onesignal.OneSignal$7.run() (OneSignal.java:1164)
I/zygote:     at void java.lang.Thread.run() (Thread.java:764)

but no no player id, unable to receive push notifications!

@aspidvip can you post your build.gradle? This would be a dependency issue for sure.

plugins {
        id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

apply plugin: "com.android.application"
import com.android.build.OutputFile

/**
 * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
 * and bundleReleaseJsAndAssets).
 * These basically call `react-native bundle` with the correct arguments during the Android build
 * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
 * bundle directly from the development server. Below you can see all the possible configurations
 * and their defaults. If you decide to add a configuration block, make sure to add it before the
 * `apply from: "../../node_modules/react-native/react.gradle"` line.
 *
 * project.ext.react = [
 *   // the name of the generated asset file containing your JS bundle
 *   bundleAssetName: "index.android.bundle",
 *
 *   // the entry file for bundle generation
 *   entryFile: "index.android.js",
 *
 *   // whether to bundle JS and assets in debug mode
 *   bundleInDebug: false,
 *
 *   // whether to bundle JS and assets in release mode
 *   bundleInRelease: true,
 *
 *   // whether to bundle JS and assets in another build variant (if configured).
 *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
 *   // The configuration property can be in the following formats
 *   //         'bundleIn${productFlavor}${buildType}'
 *   //         'bundleIn${buildType}'
 *   // bundleInFreeDebug: true,
 *   // bundleInPaidRelease: true,
 *   // bundleInBeta: true,
 *
 *   // whether to disable dev mode in custom build variants (by default only disabled in release)
 *   // for example: to disable dev mode in the staging build type (if configured)
 *   devDisabledInStaging: true,
 *   // The configuration property can be in the following formats
 *   //         'devDisabledIn${productFlavor}${buildType}'
 *   //         'devDisabledIn${buildType}'
 *
 *   // the root of your project, i.e. where "package.json" lives
 *   root: "../../",
 *
 *   // where to put the JS bundle asset in debug mode
 *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
 *
 *   // where to put the JS bundle asset in release mode
 *   jsBundleDirRelease: "$buildDir/intermediates/assets/release",
 *
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in debug mode
 *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
 *
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in release mode
 *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
 *
 *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means
 *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
 *   // date; if you have any other folders that you want to ignore for performance reasons (gradle
 *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
 *   // for example, you might want to remove it from here.
 *   inputExcludes: ["android/**", "ios/**"],
 *
 *   // override which node gets called and with what additional arguments
 *   nodeExecutableAndArgs: ["node"],
 *
 *   // supply additional arguments to the packager
 *   extraPackagerArgs: []
 * ]
 */

project.ext.vectoricons = [
        iconFontNames: [ 'MaterialIcons.ttf', 'EvilIcons.ttf', 'MaterialCommunityIcons.ttf', 'Ionicons.ttf' ] // Name of the font files you want to copy
]

apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"

apply plugin: 'com.android.application'

project.ext.react = [
    entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

/**
 * Set this to true to create two separate APKs instead of one:
 *   - An APK that only works on ARM devices
 *   - An APK that only works on x86 devices
 * The advantage is the size of the APK is reduced by about 4MB.
 * Upload all the APKs to the Play Store and people will download
 * the correct one based on the CPU architecture of their device.
 */
def enableSeparateBuildPerCPUArchitecture = true

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.publikun"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true //добавили
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
        /*manifestPlaceholders = [onesignal_app_id: "bddacd3f-7812-4a29-b038-ebf844c9826d",
                                onesignal_google_project_number: "712648705913"]*/
        manifestPlaceholders = [onesignal_app_id: "bddacd3f-7812-4a29-b038-ebf844c9826d",
                                onesignal_google_project_number: "712648705914"]
    }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk true  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "x86":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    compile project(':react-native-onesignal')
    compile project(':react-native-contacts')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
    compile project(':react-native-navigation')
    compile project(':react-native-vector-icons')
    compile project(':react-native-fetch-blob')
    compile project(':react-native-photo-view')
    compile project(':react-native-i18n')
    compile project(':react-native-sqlite-storage')
    compile project(':react-native-linear-gradient')
    compile project(':react-native-image-crop-picker')
    compile project(':react-native-sound')
    compile project(':react-native-open-settings')

}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

@aspidvip This means that the Android API level in react-native-onesignal/build.gradle and in your app/build.gradle likely don't match. I would suggest changing you app's API level to be:
    compileSdkVersion safeExtGet('compileSdkVersion', 27)
    buildToolsVersion safeExtGet('buildToolsVersion', '27.0.3')

matching the build.gradle files did not fix it

@hamadasamir85 I have no idea what your environment looks like, what dependencies you are using, and so on. So far aspidvip is the only person to post their build.gradle and other details. This is a broad issue and can have many potential causes. Please post some of the same details I've asked aspidvip.
@aspidvip Please let me know if matching the versions works/doesn't work, and also let me know what Android API levels you tried/didn't try.
And frankly, it would really help if you could send a demo project that reproduces this issue.

Same Issue:
On a fresh react native project
package.json
  "name": "myapp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.4",
    "react-native-onesignal": "^3.2.4"
  },
  "devDependencies": {
    "babel-jest": "22.4.4",
    "babel-preset-react-native": "4.0.0",
    "jest": "22.4.4",
    "react-test-renderer": "16.3.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

logcat
05-23 23:08:46.555 12785-12785/? E/Zygote: v2
05-23 23:08:46.555 12785-12785/? I/libpersona: KNOX_SDCARD checking this for 10304
    KNOX_SDCARD not a persona
05-23 23:08:46.557 12785-12785/? E/Zygote: accessInfo : 0
05-23 23:08:46.558 12785-12785/? W/SELinux: SELinux selinux_android_compute_policy_index : Policy Index[2],  Con:u:r:zygote:s0 SPD:SEPF_SECMOBILE_7.0_0006 RAM:SEPF_SECMOBILE_7.0_0009, [-1 -1 -9 -1 0 1]
05-23 23:08:46.561 12785-12785/? I/SELinux: SELinux: seapp_context_lookup: seinfo=untrusted, level=s0:c512,c768, pkgname=app.myapp
05-23 23:08:46.569 12785-12785/? I/art: Late-enabling -Xcheck:jni
05-23 23:08:46.623 12785-12785/? D/TimaKeyStoreProvider: TimaSignature is unavailable
05-23 23:08:46.624 12785-12785/? D/ActivityThread: Added TimaKeyStore provider
05-23 23:08:46.735 12785-12785/app.myapp D/ContextRelationMgrBrdg: loadKlass() : caller=com.samsung.android.bridge.multiscreen.common.ContextRelationManagerBridge.<clinit>:28 android.app.LoadedApk.makeApplication:840
05-23 23:08:46.748 12785-12785/app.myapp I/FirebaseInitProvider: FirebaseApp initialization unsuccessful
05-23 23:08:46.753 12785-12785/app.myapp V/fb-UnpackingSoSource: locked dso store /data/user/0/app.myapp/lib-main
05-23 23:08:46.756 12785-12785/app.myapp V/fb-UnpackingSoSource: deps mismatch on deps store: regenerating
    so store dirty: regenerating
05-23 23:08:46.817 12785-12785/app.myapp D/ApkSoSource: not allowing consideration of lib/armeabi-v7a/libfb.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libfolly_json.so: deferring to libdir
05-23 23:08:46.817 12785-12785/app.myapp D/ApkSoSource: not allowing consideration of lib/armeabi-v7a/libglog.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libglog_init.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libgnustl_shared.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libicu_common.so: deferring to libdir
05-23 23:08:46.818 12785-12785/app.myapp D/ApkSoSource: not allowing consideration of lib/armeabi-v7a/libimagepipeline.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libjsc.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libprivatedata.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libreactnativejni.so: deferring to libdir
    not allowing consideration of lib/armeabi-v7a/libyoga.so: deferring to libdir
05-23 23:08:46.818 12785-12785/app.myapp V/fb-UnpackingSoSource: regenerating DSO store com.facebook.soloader.ApkSoSource
05-23 23:08:46.819 12785-12785/app.myapp V/fb-UnpackingSoSource: starting syncer worker
05-23 23:08:46.836 12785-12785/app.myapp V/fb-UnpackingSoSource: releasing dso store lock for /data/user/0/app.myapp/lib-main (from syncer thread)
    not releasing dso store lock for /data/user/0/app.myapp/lib-main (syncer thread started)
05-23 23:08:46.914 12785-12785/app.myapp D/ReactNative: ReactInstanceManager.ctor()
05-23 23:08:46.936 12785-12785/app.myapp D/NetworkSecurityConfig: No Network Security Config specified, using platform default
05-23 23:08:46.988 12785-12785/app.myapp D/SensorManager: registerListener :: 0, K6DS3TR Acceleration Sensor, 66667, 0,
05-23 23:08:47.027 12785-12785/app.myapp D/ReactNative: ReactInstanceManager.createReactContextInBackground()
    ReactInstanceManager.recreateReactContextInBackgroundInner()
05-23 23:08:47.066 12785-12851/app.myapp W/unknown:InspectorPackagerConnection: Couldn't connect to packager, will silently retry
05-23 23:08:47.117 12785-12785/app.myapp D/InputTransport: Input channel constructed: fd=65
05-23 23:08:47.118 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: setView = DecorView@40d2e6a[MainActivity] touchMode=true
05-23 23:08:47.125 12785-12785/app.myapp D/SensorManager: unregisterListener ::
05-23 23:08:47.145 12785-12785/app.myapp D/SensorManager: registerListener :: 0, K6DS3TR Acceleration Sensor, 66667, 0,
05-23 23:08:47.207 12785-12853/app.myapp I/OpenGLRenderer: Initialized EGL, version 1.4
05-23 23:08:47.207 12785-12853/app.myapp D/OpenGLRenderer: Swap behavior 1
05-23 23:08:47.229 12785-12853/app.myapp D/libGLESv1: STS_GLApi : DTS is not allowed for Package : app.myapp
05-23 23:08:47.232 12785-12853/app.myapp D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000,  [1440x2560]-format:1
05-23 23:08:47.255 12785-12785/app.myapp D/InputTransport: Input channel constructed: fd=71
05-23 23:08:47.255 12785-12785/app.myapp D/ViewRootImpl@5c120c2[PopupWindow:2eda90d]: setView = android.widget.PopupWindow$PopupDecorView{3423ed3 V.E...... ......I. 0,0-0,0} touchMode=true
05-23 23:08:47.256 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: MSG_RESIZED_REPORT: ci=Rect(0, 84 - 0, 0) vi=Rect(0, 84 - 0, 0) or=1
    MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
05-23 23:08:47.536 12785-12853/app.myapp D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000,  [1440x93]-format:1
05-23 23:08:47.550 12785-12785/app.myapp D/ViewRootImpl@5c120c2[PopupWindow:2eda90d]: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
05-23 23:08:48.641 12785-12785/app.myapp D/ViewRootImpl@5c120c2[PopupWindow:2eda90d]: dispatchDetachedFromWindow
05-23 23:08:48.670 12785-12785/app.myapp D/InputTransport: Input channel destroyed: fd=71
05-23 23:08:48.671 12785-12785/app.myapp D/ReactNative: ReactInstanceManager.onJSBundleLoadedFromServer()
05-23 23:08:48.672 12785-12785/app.myapp D/ReactNative: ReactInstanceManager.recreateReactContextInBackground()
05-23 23:08:48.673 12785-12785/app.myapp D/ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread()
05-23 23:08:48.697 12785-13022/app.myapp I/art: Thread[25,tid=13022,Native,Thread*=0xdeac1600,peer=0x12cdf5e0,"Thread-5"] recursive attempt to load library "/data/app/app.myapp-2/lib/arm/libfb.so"
05-23 23:08:48.699 12785-13022/app.myapp D/ReactNative: ReactInstanceManager.createReactContext()
05-23 23:08:48.711 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupViewManager
05-23 23:08:48.713 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupShadowNode
05-23 23:08:48.717 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeViewManager
    Could not find generated setter for class com.facebook.react.views.art.ARTShapeShadowNode
05-23 23:08:48.720 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextViewManager
    Could not find generated setter for class com.facebook.react.views.art.ARTTextShadowNode
05-23 23:08:48.722 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.checkbox.ReactCheckBoxManager
05-23 23:08:48.729 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.uimanager.LayoutShadowNode
05-23 23:08:48.740 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDialogPickerManager
05-23 23:08:48.744 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.drawer.ReactDrawerLayoutManager
05-23 23:08:48.749 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDropdownPickerManager
05-23 23:08:48.750 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
05-23 23:08:48.762 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollContainerViewManager
05-23 23:08:48.764 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ReactProgressBarViewManager
05-23 23:08:48.767 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ProgressBarShadowNode
05-23 23:08:48.769 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactScrollViewManager
05-23 23:08:48.776 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager
05-23 23:08:48.780 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager$ReactSliderShadowNode
05-23 23:08:48.781 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager
05-23 23:08:48.784 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode
05-23 23:08:48.785 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.toolbar.ReactToolbarManager
05-23 23:08:48.791 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.webview.ReactWebViewManager
05-23 23:08:48.797 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
05-23 23:08:48.802 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTSurfaceViewManager
05-23 23:08:48.803 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTSurfaceViewShadowNode
05-23 23:08:48.804 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManager
05-23 23:08:48.805 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageShadowNode
05-23 23:08:48.807 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.image.ReactImageManager
05-23 23:08:48.814 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ReactModalHostManager
05-23 23:08:48.817 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ModalHostShadowNode
05-23 23:08:48.818 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactRawTextManager
05-23 23:08:48.820 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactRawTextShadowNode
05-23 23:08:48.822 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputManager
05-23 23:08:48.835 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputShadowNode
05-23 23:08:48.841 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextViewManager
05-23 23:08:48.847 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextShadowNode
05-23 23:08:48.848 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.view.ReactViewManager
05-23 23:08:48.857 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.viewpager.ReactViewPagerManager
05-23 23:08:48.862 12785-13022/app.myapp W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactVirtualTextViewManager
    Could not find generated setter for class com.facebook.react.views.text.ReactVirtualTextShadowNode
05-23 23:08:48.885 12785-13022/app.myapp D/ReactNative: Initializing React Xplat Bridge.
05-23 23:08:48.890 12785-13022/app.myapp D/ReactNative: Initializing React Xplat Bridge before initializeBridge
05-23 23:08:48.905 12785-13022/app.myapp D/ReactNative: Initializing React Xplat Bridge after initializeBridge
    CatalystInstanceImpl.runJSBundle()
05-23 23:08:48.906 12785-13054/app.myapp D/ReactNative: ReactInstanceManager.setupReactContext()
    CatalystInstanceImpl.initialize()
05-23 23:08:48.907 12785-13054/app.myapp D/ReactNative: ReactInstanceManager.attachRootViewToInstance()
05-23 23:08:48.907 12785-12785/app.myapp W/unknown:ReactNative: Packager connection already open, nooping.
05-23 23:08:49.512 12785-13054/app.myapp I/WebViewFactory: Loading com.android.chrome version 66.0.3359.158 (code 335915852)
05-23 23:08:49.675 12785-13054/app.myapp I/cr_LibraryLoader: Time to load native libraries: 13 ms (timestamps 3227-3240)
05-23 23:08:49.704 12785-13054/app.myapp I/chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0
05-23 23:08:49.705 12785-13054/app.myapp I/cr_LibraryLoader: Expected native library version number "66.0.3359.158", actual native library version number "66.0.3359.158"
05-23 23:08:49.994 12785-13053/app.myapp I/ReactNativeJS: Running application "myapp" with appParams: {"rootTag":1}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
05-23 23:08:50.096 12785-13054/app.myapp E/onesignal: Unable to initialize the OneSignal SDK because activity is null true or oneSignalInitDonefalse
05-23 23:09:03.299 12785-12798/app.myapp I/art: Background sticky concurrent mark sweep GC freed 22289(2MB) AllocSpace objects, 21(484KB) LOS objects, 15% free, 16MB/19MB, paused 904us total 119.769ms
05-23 23:09:21.462 12785-12785/app.myapp W/unknown:ReactNative: Packager connection already open, nooping.
05-23 23:09:21.618 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
05-23 23:09:21.856 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: MSG_RESIZED: ci=Rect(0, 84 - 0, 0) vi=Rect(0, 84 - 0, 0) or=1
05-23 23:09:21.894 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1
05-23 23:09:21.904 12785-12785/app.myapp V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@95c25a2 nm : app.myapp ic=null
05-23 23:09:21.904 12785-12785/app.myapp I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
05-23 23:09:22.052 12785-12799/app.myapp D/InputTransport: Input channel constructed: fd=86
05-23 23:09:22.053 12785-12785/app.myapp V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@dcef9f0 nm : app.myapp ic=null
05-23 23:09:23.373 12785-12791/app.myapp I/art: Do partial code cache collection, code=30KB, data=30KB
05-23 23:09:23.374 12785-12791/app.myapp I/art: After code cache collection, code=30KB, data=30KB
    Increasing code cache capacity to 128KB
05-23 23:09:51.860 12785-12785/app.myapp V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@642c97f nm : app.myapp ic=null
05-23 23:09:51.861 12785-12785/app.myapp I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
05-23 23:09:51.871 12785-12785/app.myapp D/InputTransport: Input channel constructed: fd=83
    Input channel destroyed: fd=86
05-23 23:09:52.285 12785-12785/app.myapp D/SensorManager: unregisterListener ::
05-23 23:09:52.726 12785-12785/app.myapp V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@dc47e9b nm : app.myapp ic=null
05-23 23:09:52.726 12785-12785/app.myapp I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
05-23 23:09:52.727 12785-12785/app.myapp D/InputTransport: Input channel destroyed: fd=83
05-23 23:09:52.807 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
05-23 23:09:52.888 12785-12785/app.myapp D/ViewRootImpl@5e04455[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 0
05-23 23:13:47.153 12785-12798/app.myapp I/art: Background partial concurrent mark sweep GC freed 60244(2MB) AllocSpace objects, 9(3MB) LOS objects, 40% free, 12MB/21MB, paused 764us total 105.326ms

App.js
/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';
import OneSignal from 'react-native-onesignal';

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload...,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

type Props = {};
export default class App extends Component<Props> {

    componentWillMount() {
        OneSignal.init("1c25f475-8b98-487d-8358-b3934f9bff64");
        OneSignal.addEventListener('received', this.onReceived);
        OneSignal.addEventListener('opened', this.onOpened);
        OneSignal.addEventListener('ids', this.onIds);
    }

    componentWillUnmount() {
        OneSignal.removeEventListener('received', this.onReceived);
        OneSignal.removeEventListener('opened', this.onOpened);
    }
    onIds=(deviceId)=> {
        console.log('Device info: ', deviceId);
    }
    onReceived(notification) {
        console.log("Notification received: ", notification);
    }

    onOpened(openResult) {
        console.log('Message: ', openResult.notification.payload.body);
        console.log('Data: ', openResult.notification.payload.additionalData);
        console.log('isActive: ', openResult.notification.isAppInFocus);
        console.log('openResult: ', openResult);
    }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

By the way, I star a fresh project because was impossible to make it works on a existing project.

@urbancvek please note that the SDK still supports native initialization (without using JS), you don’t have to go back to 3.1.4.

@cesarve77 @aspidvip Can either of you post your MainApplication.java?

Yes, but Im new in One signal and I could not find the documentation
2018-06-09 12:03 GMT+10:00 Brad Hesse<EMAIL_ADDRESS>
@urbancvek https://github.com/urbancvek please note that the SDK still
supports native initialization (without using JS), you don’t have to go
back to 3.1.4.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-395931945,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADyXp8VcHWtSuGuhqu6GAmhuwEAs28yJks5t6y0MgaJpZM4UFgCX
.

I'll do it later.
2018-06-12 11:19 GMT+10:00 Brad Hesse<EMAIL_ADDRESS>
@cesarve77 https://github.com/cesarve77 @aspidvip
https://github.com/aspidvip Can either of you post your
MainApplication.java?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/516#issuecomment-396435196,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADyXp85jPYJ5TPNv7xwQt_3CoZ-rNvsuks5t7xcSgaJpZM4UFgCX
.

I tried to update and use the new instructions from the new readme. After some tries I
finally decided to switch back to "react-native-onesignal": "3.0.7", and everything works as before.
I tested 3.2.4, 3.2.3 ... and each time I had an issue. So I picked the version of one of my other project.
To resume I have the old implementation (native side) https://github.com/geektimecoil/react-native-onesignal/blob/732491fece1fa92946ca6dacf173af28a2b2e618/README.md and I call OneSignal.configure() in my javascript code, in my case it's in my mobx store once the user is logged to the app.
Issue on 3.2.3 : Unable to initialize the OneSignal SDK because activity is null true or oneSignalInitDonefalse
Issue on 3.2.4: You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue.

@nicovak that likely means you’re using some dependency like react-native-navigation (as well as some others) that cause the initial activity passed to our SDK auto be null.
We’re working on a solution to this, in the mean time, downgrading to 3.0.7 is a good idea if you’re experiencing this particular issue.

@Nightsd01 yes I am using react-native-router-flux which depends on react-navigation, after some search I finally get it working as expected.
I declared event listener in my App.js (included in index.js), these listeners update my store with desired values. Like that I can call functions easily when I need to. Before event listeners were declared in my store.
I put an example of code if someone has the same case.
I also had a little issue when the app was closed: I didn't receive the event opened. It was working only if the app was in background, with the code above everything works fine.
In my App.js
import OneSignal from "react-native-onesignal";

OneSignal.configure({});
OneSignal.addEventListener("opened", openResult => {
  AppStore.handleOpenIfAppClosed(openResult);
});
OneSignal.addEventListener("ids", device => {
  AppStore.handleUserId(device);
});

@observer
export default class App extends Component {

In my store
  handleOpenIfAppClosed(openResult) {
    this.pendingNotificationRequest = openResult;
  }

  handleUserId(device) {
    this.userId = device.userId;
  }

@nicovak How did you fix the main issue (activity is null)?
Also, with the opened issue...are you sure you are still using the latest version of react-native-onesignal? This is an issue that was fixed a while back.

@Nightsd01 I am not using the last version (3.0.7), that's how I fix activity is null issue.
Like I said I had:
Issue on 3.2.3 : Unable to initialize the OneSignal SDK because activity is null true or oneSignalInitDonefalse
Issue on 3.2.4: You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue.

@nicovak You can ignore that warning in 3.2.4. It means what it says: your app is somehow calling getTags() before initialization is done. It is just a warning however, because it will still work just fine.
If that's the only problem you are having in 3.2.4, I would heavily recommend updating back to 3.2.4 since it fixes many issues that were present in 3.0.7.

@Nightsd01 Ok, thank you, I'll give It a try tomorrow with my actual setup 👍

@Nightsd01 I tried to update to 3.2.4 again but impossible to get It work. I tried native initialization and javascript initialization. I put code in App componentWillMount and outside but nothing worked.
I spent enough time on It sorry, I'll give ^3.2.4 a try on a next project.

Figured out what is causing this issue @aspidvip @nicovak, it is resolved in a new PR. Should be included in a release either today or tomorrow.

@Nightsd01 Thank you so much, you rock. I'll upgrade and test It next monday if it's available.

The new update (3.2.5) has been released! If anyone else encounters a similar issue please post here and we'll be happy to investigate

I have the issue again with 0.56 version of react native.
I must be in 27 ? Docs says 26 should be working, right ?
    buildToolsVersion = "26.0.3"
    minSdkVersion = 16
    compileSdkVersion = 26
    targetSdkVersion = 26
    supportLibVersion = "26.1.0"


Include Project Id in license validation request

This PR adds the project Id to the License validation request to workaround the Tech5 licensing model restrictions related to multi-tenant apps. Each Tech5 license is linked to an app package name, and given that CommCare is used by several organizations, we would be forced to have an apk of the Biometric app for each project using it. The project Id above mentioned is added as a suffix to the url domain, making it unique across the different projects using CommCare.
Note, app builders will now have to include a new extra named project_id to the app callout question. This extra can be any non-spaced string and it's required, so failing to add it will result in the message illustrated below.

Nice! @avazirna Does this effectively mean all projects are able to use the same APK now, but with a different project_id param given?

Yessss


Feature Request: Configurability

I would love to set up Jam so that it defaults to the Playlist view upon starting up.
It looks like there's already command-line options (-lastfm, etc.), so it would be cool to have it be configurable that way for a start. A configuration file (dotfile?) would be awesome!

Sorry, I'm no longer interested in maintaining this player since I found a better alternative (mopidy/gmusic) and lost interest in Go. If you or anyone else want to take over, I will gladly give you the rights. Also take a look at mopidy, it might suit your needs better


Postgres BatchUpdateAsync TagWith not working

Executing such update triggers an exception:
await _DbContext.Users.TagWith("My tag").Where(user => user.Id == userId).BatchUpdateAsync(user => new User { LastLoginDate = DateTime.UtcNow });

System.ArgumentOutOfRangeException: Length cannot be less
 than zero. (Parameter 'length')
   at System.String.Substring(Int32 startIndex, Int32 length)
   at EFCore.BulkExtensions.SQLAdapters.PostgreSql.SqlQueryBuilderPostgreSql.RestructureForBatch(String sql, Boolean isDelete)
   at EFCore.BulkExtensions.BatchUtil.GetSqlUpdate[T](IQueryable`1 query, DbContext context, Type type, Expression`1 expression)
   at EFCore.BulkExtensions.IQueryableBatchExtensions.GetBatchUpdateArguments[T](IQueryable`1 query, Object updateValues, List`1 updateColumns, Expression`1 updateExpression, Type type)
   at EFCore.BulkExtensions.IQueryableBatchExtensions.BatchUpdateAsync[T](IQueryable`1 query, Expression`1 updateExpression, Type type, CancellationToken cancellationToken)

Without TagWith everything works fine.

TagWith is not supported.

@borisdj will it be supported?

Will try to add it, but can't put timeframe on it.

Since Batch ops as of EF7 are now natively supported with ExecuteUpdate/ExecuteDelete Batch extensione will become deprecated here. Focus is only on BULK methods which is the main purpose of the lib.


fixSkip analyze if the collected info is invalid. (#42028)

backport: https://github.com/apache/doris/pull/42028

run buildall

run p0

run p0

run p0


Using videojs-wavesurfer with angular 8 with out webpack

Description
I want to use videojs-wavesurfer in my angular project without a webpack.
Steps to reproduce
I have implemented the help of the Example  and I am getting error as I have not used webpack.
Error output
ERROR in ./node_modules/videojs-wavesurfer/dist/videojs.wavesurfer.js
Module not found: Error: Can't resolve 'WaveSurfer' in 'C:\Lex_UI\fusion\node_modules\videojs-wavesurfer\dist'
ERROR in ./node_modules/videojs-wavesurfer/dist/videojs.wavesurfer.js
Module not found: Error: Can't resolve 'videojs' in 'C:\Lex_UI\fusion\node_modules\videojs-wavesurfer\dist'
i ?wdm?: Failed to compile.
Results
Actual
If we modify
videojs to video.js and
WaveSurfer to WaveSurfer.js
in the videojs.wavesurfer.js file which is in the node module, it is working.
But this, not the best approach.
Please suggest me the alternative approach for doing this, or can do these changes in the actual code so that if we install this library we don't have to modify it manually.
Versions
videojs-wavesurfer:- 3.2.0

what imports are you using? have you tried making a videojs only test?

imports
import videojs from 'video.js';
import * as WaveSurfer from 'wavesurfer.js';
import * as Wavesurfer from 'videojs-wavesurfer/dist/videojs.wavesurfer.js';
It is working with the videojs (without waveform)

same issue am facing on angular 9 #110

It is working with the videojs (without waveform)

@sportsakash can you copy paste a minimal example here, one with video.js working?

https://stackblitz.com/edit/angular-ivy-pqqtr5
this code is working in my local system.

https://stackblitz.com/edit/angular-ivy-pqqtr5

Sorry, that's not copy/pasting it here. I don't want to visit stackblitz.com, i'd like to see the code.

@thijstriemstra PF the code
##vjs-player.component.ts
import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from'@angular/core';
importvideojsfrom'video.js';
@Component({
selector:'app-vjs-player',
styleUrls:['./vjs-player.component.css'],
templateUrl:'./vjs-player.component.html',

// template: `<audio id={{playerID}} class="video-js vjs-default-skin vjs-wavesurfer vjs-progress-control"></audio>`,
encapsulation:ViewEncapsulation.None,
})
exportclassVjsPlayerComponentimplementsOnInit, OnDestroy {
  @ViewChild('target', { static:true }) target: ElementRef;

  @Input() options: {
fluid: boolean,
aspectRatio: string,
autoplay: boolean,
sources: {
src: string,
type: string,
    }[],
  };

playerID: string = "VideoPlayer";
privateconfig: any;
privateplayer: any;
privateplugin: any;

constructor(private_elementRef: ElementRef) {
this.player = false;

this.config = {
controls:true,
autoplay:false,
loop:false,
muted:false,
fluid:false,
width:600,
height:300,
    };
  }

ngOnInit() { }

ngAfterViewInit() {
this.player = videojs(document.getElementById(this.playerID), this.config, () => {

this.player.src({src:'https://cors-anywhere.herokuapp.com/https://www2.cs.uic.edu/~i101/SoundFiles/CantinaBand60.wav', type:'audio/mp3'});

    });

this.player.on('waveReady', event=> {
console.log('waveform is ready!');
    });

this.player.on('playbackFinish', event=> {
console.log('playback finished.');
    });

// error handling
this.player.on('error', (element, error) => {
console.warn(error);
    });

this.player.on('deviceError', () => {
console.error('device error:', this.player.deviceErrorCode);
    });
  }
ngOnDestroy() {
// destroy player
if (this.player) {
this.player.dispose();
    }
  }
}

##vjs-player.component.html
<audio id={{playerID}} class="video-js vjs-default-skin"></audio>
##vjs-player.component.css
@import '~video.js/dist/video-js.css';

I faced similar issue even with webpack in my project. I believe that it happens because of the externals in the webpack config, since we have
// specify dependencies for the library that are not resolved by webpack,
    // but become dependencies of the output: they are imported from the
    // environment during runtime.
    externals: [
        {'video.js': 'videojs'},
        {'wavesurfer.js': 'WaveSurfer'}
    ],

as the result it will be
if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("videojs"), require("WaveSurfer"));
	else if(typeof define === 'function' && define.amd)
		define("VideojsWavesurfer", ["videojs", "WaveSurfer"], factory);
	else if(typeof exports === 'object')
		exports["VideojsWavesurfer"] = factory(require("videojs"), require("WaveSurfer"));
	else
		root["VideojsWavesurfer"] = factory(root["videojs"], root["WaveSurfer"]);

The solution in this case could be using an object instead of just strings (since target is umd), like this
externals : {
    'video.js': {
      commonjs: 'video.js',
      amd: 'video.js',
      root: 'videojs' // indicates global variable
    },
    'wavesurfer.js': {
      commonjs: 'wavesurfer.js',
      amd: 'wavesurfer.js',
      root: 'WaveSurfer' // indicates global variable
    }
  },

What do you think?

Here's the documentation for the externals property: https://webpack.js.org/configuration/externals/#object

The solution in this case could be using an object instead of just strings (since target is umd), like this

I definitely want to try out, good find!

I have done the changes in the videojs.wavesurfer.js which is in node_module with the help of patch-package and postinstall. It is working in the development environment.
I will be checking it in the production environment, will update the status.
Thank you All for your response

Can you create a pull request?

Any updates here? Is anyone working on this?

@dmitriy-uvarov can you make a pull request for your externals change?

I definitely want to try out, good find!

I tried with the following changes:
diff --git a/build-config/fragments/common.js b/build-config/fragments/common.js
index e3dd609..a64c38a 100644
--- a/build-config/fragments/common.js
+++ b/build-config/fragments/common.js
@@ -49,11 +49,22 @@ module.exports = {
     },
     // specify dependencies for the library that are not resolved by webpack,
     // but become dependencies of the output: they are imported from the
-    // environment during runtime.
-    externals: [
-        {'video.js': 'videojs'},
-        {'wavesurfer.js': 'WaveSurfer'}
-    ],
+    // environment during runtime and never directly included in the
+    // videojs-record library.
+    externals: {
+        'video.js': {
+            commonjs: 'video.js',
+            commonjs2: 'video.js',
+            amd: 'video.js',
+            root: 'videojs' // indicates global variable
+        },
+        'wavesurfer.js': {
+            commonjs: 'wavesurfer.js',
+            commonjs2: 'wavesurfer.js',
+            amd: 'wavesurfer.js',
+            root: 'WaveSurfer' // indicates global variable
+        }
+    },
     module: {
         rules: [
             {

And it seems to work fine with the repository examples. If it also works with react, angular etc out of the box, which I'm going to test now, I am very glad this annoying problem is finally f*cking fixed!

With the new webpack externals config I tested react, webpack, and vue, and they all seem to work properly (so no webpack configuration needed anymore, woohoo!). Unfortunately I couldn't get the Angular example working, but I'm also not familiar with the framework so maybe someone can help out.
@dmitriy-uvarov @akashgaikwad91 can you try pull request #114 and see if that works for you?

@thijstriemstra for my case it works fine, we use latest angularjs. Is there any specific setup for Angular example? @akashgaikwad91

for my case it works fine, we use latest angularjs. Is there any specific setup for Angular example?

@di2pro Can you share an example of latest angular example project created using angular-cli preferably? If you want to adjust the existing guide, even better, edit this file: https://github.com/collab-project/videojs-wavesurfer/blob/webpack-externals-109/docs/angular.md

@thijstriemstra it works fine with the angular 10.
I have edited the existing example of angular guide and created pull request.
review the changes.

thanks @akashgaikwad91!

I updated the Angular guide to use the angular-cli tool. This made the guide a lot shorter and easier to follow, and also easier to maintain. Thanks for the feedback all, I will release this as v3.3.0.


rounding errors?

Arises in taking modulus of a complex number to a power in the form {(z1*conj(z1))^c1} -  gave me 1000.000000003 or some such where z1 is a complex number such as 3+i and c1 =6. Had to round it. Would have been better to take (re(z1)^2+im(z1)^2)^3 or abs(z1)^6 as they give integers - but......

Can't reproduce with those numbers. Anyway, ((3+i)*(3-i))^6 = 1000000, not 1000. Can you give some numbers that definitely show this?

Anyway anyway, this is almost definitely related to #72.

Tested and looks resolved


Phase1

Now there are users, they can login & logout, we use a proper session cookie, the password is hashed with bcrypt. It should be fairly secure now. There is also a user page ... which is still rather empty.
These changes took me way longer than I had planned :disappointed:

... finally.


Refactor documentation and add new content

This patch changes a bit the doc structure in order to make it more
convenient for both accessing data, and maintaining content.
We also expose an FAQ, allowing people to consume the framework without
being blocked by known problem we can't easily solve.
We also take the opportunity to clean the README as well as USAGE, so
that everything is only in one location.
This patch also exposes the README listing the various ansible plugins
we have, in order to make them easier to understand.

/lgtm

The docs looks nice https://logserver.rdoproject.org/97/197/b649c32e34f3d53bc945b6fd59b9d833983efc8a/github-check/cifmw-doc/0b877b2/doc_build/html/ Thank you @cjeanner and team for making it happen.

/approve

/approve

/lgtm


Loading toast is removed before resolving the promise.

I noticed a weird behavior when running a promise that takes fairly long (about 30s) the loading toast is automatically dismissed even before resolving the promise, when it's resolved the success toast appears.
Can you reproduce this? Try having a promise that takes about 30 or 40 seconds to execute.
toast.promise(subtitlesPromise, {
  loading: 'Generating your subtitles, please wait...',
  success: 'Subtitles generated!',
  error: 'Error generating subtitles.',
});

Thanks Timo for this awesome library!

@timolins any updates on this?

Thanks for mentioning this. This is somewhat intended, I figured that I limit loading toasts to 30s to prevent them from getting stuck: https://github.com/timolins/react-hot-toast/blob/main/src/core/store.ts#L134
Looking back, it probably wasn't the best decision. I will change this to Infinity in the next release.

Yeah, I guess that's it. Thanks a lot, Timo!

I noticed it's still not merged, any updates @timolins ?

Yep, sorry for the delay. Currently planing out v1.1 which includes quite a few things I want to get right. I'll hope to release in the next couple of days.

Sure and thanks.

Any updates on this? @timolins


[DEBUG] Notify client that permission process has ended

Hi,
I have noticed that if DexterActivity is launched when screen is off, DexterActivity.onRequestPermissionsResult() is never called. Thus client is never notified that permission process has ended.
I have implemented a simple mechanism to detect that DexterActivity.onRequestPermissionsResult() is called before DexterActivity.onDestroy(). If it not the case, then we simulate a permission request cancel.
Regards,
B.

Why do you change the classes visibitily for most restrictive visibility? this is a breaking change with the public api definition and could provoke problems and we need upgrade the major api version.

@flipper83  : Checkstyle is telling me to put constructors to the same visibility level than class definition.

Hi @bastienpaulfr
I'm thinking on the implications of these changes and I'm worried about how it changes the execution flow when the user somehow closes/pauses the app and the inner activity dies. In that case we'd be reporting the permissions as denied when nothing really happened.
Again, this PR addresses an issue that we don't want to support (we don't ask for permissions when the screen is off ourselves so we don't know how it'll behave). I'd recommend you to create a fork to handle these specific issues.


adding usage notes for XMLDSig verifier API

Can I summarize it as:
let results = makeWebApiCall()
if results.result == "success" {
    let domain = results.subject.split("=", maxSeparatorOnceOnly)[1] //just split once
    //good and we display the value of domain
} else {
    //failed
}

@colourful-land Can I summarize it as:
let results = makeWebApiCall()
if results.result == "success" {
    let domain = results.subject.split("=", maxSeparatorOnceOnly)[1] //just split once
    //good and we display the value of domain
} else {
    //failed
}

?

@hboon yes, it will give back a result of either success or fail. If failed it will provide a failureReason and if success, it will provide information about the issuer

@James-Sangalli thanks!


Update browser spec for Array.prototype.findIndex

Applies the same change as: https://github.com/andyburke/polyfill-service/commit/9f5ea576033a4bf295b41a1027d48f833046d933

Thanks.  Have you proved this through testing or is this data from another source?

It's the same change that was applied to Array.prototype.find. (the link is to my branch but it's actually your change)
I have not tested it. I just assumed it was an oversight that Array.prototype.find was changed like this and findIndex wasn't.
I arrived here because I am not getting Array.prototype.findIndex w/ chrome 41 via cdn.polyfill.io with the modernizr:es6array feature. I also tried explicitly doing the Array.prototype.findIndex feature and was still not getting it. It was only once I added |always that it worked.
I just thought this might be the fix and figured it would be better to send a PR than an issue.
If this fix is ridiculous, my apologies, I haven't dug in much on how the service itself works.

Ah, OK, makes sense, thanks.

Any idea when this will get deployed? I am still not getting findIndex back when I hit https://cdn.polyfill.io/v1/polyfill.min.js?features=modernizr:es6array

RC of 1.4 will be released today, barring complaints about interop with 1.3, it will go stable in a week.


Make use of header constants also in ps raw format

It closes https://github.com/docker/docker/issues/23952
- What I did
Make use of classical header constants also in ps raw format
- How I did it
The diff should be easy to be understood
- How to verify it
$ docker ps --format=raw
- A picture of a cute animal (not mandatory but encouraged)
These are my nice two cats!

Signed-off-by: Daniele Megna<EMAIL_ADDRESS>

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "23952-make-consistent-ps-raw-format-labels" git@github.com:danielemegna/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~7
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

I'll have a look why this format was picked for "raw", because this may break people relying on this output for parsing

We discussed this some further, and we don't think it's a good idea to change the output; this format has been in docker since 1.8, and changing it now would be too much of a breaking change
Thanks for contributing, it is appreciated!

:(


Firestore integration

We need to make sure that basic integration with Firestore from CLI works well:

[ ] Query data from firestore
[ ] Add data to the firestore

No auth needed for now.

Already fixed.


personel config lost after runnig linutil

Describe the bug
I use stow to manage my dotfiles, so my personel configs under .config are mostly symbolic links ,
So when setting up (for example) rofi, linutil tries to backup the .config/rofi with .config/rofi.bak, but it will end up as a symlink pointing to the same directory as .config/rofi, resulting in losing any old/previous configurations.
To Reproduce
Steps to reproduce the behavior:

having a symlink in ~/.config pointing to different directory: ~/.config/rofi  -> ~/Documents/config/rofi
run linutil
try to set up rofi
see that ~/.config/rofi and ~/.config/rofi.bak are pointing to the same ~/Documents/config/rofi and the old config.rasi is lost

Expected behavior
maybe check if ~/.config/rofi  is a symlink or a directory before backing it up.

either delete the symlink altogether and create a new ~/.config/rofi directory where the new config will reside
or walk through ~/.config/rofi and backing up each and every file and directory before copying the new config

personally, I prefer the second option this way the user, can still keep his old config and enjoy the new one, while still managing it with dotfiles management solution.
Screenshots

maybe something like this in rofi-setup.sh
if [ -h "$HOME/.config/rofi" ]; then
        for i in "$HOME/.config/rofi"/*; do
            cp -r cp -r "$HOME/.config/rofi/$i" "$HOME/.config/rofi/$i.bak"
        done
    elif [ ! -h "$HOME/.config/rofi" -a -d "$HOME/.config/rofi" ]; then
        cp -r "$HOME/.config/rofi" "$HOME/.config/rofi.bak"
    fi

or add a checkIsSymlink() in common-script.sh that will be used in any dotfiles set up

Can you try adding the -L flag to the cp command? That option should first dereference all symlinks.

Yes, that works, there is now an actual directory  not symlink ~/.config/rofu.bak with the all the files in it,
This is just a personal opinion, but it would be better to have it this way: for example move ~/.config/rasi/config.rasi to ~/.config/rofi/config.rasi.bak and any other files in it be renamed in the same way if it exists in the old config.
thanks


Minor update: remove flux datasource plugin from grafana

Problem
Following on from #234, I'd like to propose removing grafana-influxdb-flux-datasource from grafana (and particularly grafana.env).
I'm suggesting this after going through a multi-hour upgrade to version 4.0, where it looks as though most of my problems were down to this plugin failing to install repeatedly (it go there in the end, but it wasn't fun).
Additional context

The plugin is apparently deprecated, with flux support built into grafana from version 7.1 onwards. Given this, I would expect any Powerwall-Dashboard transition to InfluxDB 2.0 will use the built in grafana support rather than the deprecated plugin.
As far as I know, only myself and ThePnuts have made any significant use of flux, and the outcome of my experiment was a clear conclusion that neither I nor my friends should use Flux if at all possible (at least in current state).
I've removed it from my plugins, and grafana has become markedly more responsive.

@ThePnuts do you have a view on this?

I did not have the mentioned issue. When I started with this, I was using the latest version of each service, Grafana, InfluxDB 2.0, Telegraf, etc. and aside from converting to flux, just made minor tweaks to run each part of this independent. So I cant run an upgrade script, I just update each independent docker when I feel like it. Still running latest of each as of today without any issues. For Grafana, I am on version: v10.3.3 (252761264e)
I also have a more "true" setup running concurrently just so I can compare numbers overall vs my flux formula's and what @jasonacox did for influxDB 1.8. I also have this data source reporting on the latest Grafana mentioned above and just had to tweak the depreciated plugins to the current ones.

All that said, I do not have an "as instructed", default version of this project installed, so I do not know if removing it would break anything on a standard install, but I assume it wouldn't since its not using flux currently. It would not interfere with anyone that followed my influxdb 2.0/flux instructions since that moves you to independent dockers as mentioned above.
All of that said, I think it should be removed if there is any plan to update Grafana further. If it was me, I would suggest instead to remove/update all depreciated plugins and move to Grafana 10 as it does work currently without any issue. The pie charts look worse though, but that's personal preference. Here is mine using influxdb 1.8 with the updated plugins.

I agree that the old "beta" plugin probably should be removed. I didn't even realise it was there to be honest!

I have had a play with Flux previously and had just used the standard InfluxDB data source, and with the dashboard's current version of Grafana & InfluxDB (9.1.2 and 1.8) it works perfectly by simply adding a new data source and changing the query language to Flux. Hence I never noticed that beta plugin.

Certainly seems like no need for the old beta plugin from what I can tell.
We can remove "grafana-influxdb-flux-datasource" from the grafana.env.sample file easily enough... I guess the question follows however, should we also offer to remove this plugin on an existing install? As removing the entry from GF_INSTALL_PLUGINS does not appear to actually remove the plugin if already installed?
This could perhaps be offered to the user when running the upgrade.sh script? Thoughts?
Removal would appear to involve a few steps, i.e. running sed on grafana.env to remove the plugin from the GF_INSTALL_PLUGINS environment string, delete the grafana-influxdb-flux-datasource directory and contents completely from "./grafana/plugins/", and then rebuild with container with docker compose. I think.
@BuongiornoTexas - can you confirm that was how you removed the plugin from your install?

As far as I know, only myself and ThePnuts have made any significant use of flux, and the outcome of my experiment was a clear conclusion that neither I nor my friends should use Flux if at all possible (at least in current state).

Oh, I forget to mention, and in reference to the above, something I noticed during my testing/research of Flux recently...
From version 3.0 of InfluxDB, Flux has entered maintenance mode:
https://www.influxdata.com/blog/the-plan-for-influxdb-3-0-open-source/#heading4
So I came to a similar conclusion that perhaps NO ONE should be bothering to invest in Flux.... (and I dumped what I was trying to achieve, in favour of InfluxQL plus a few CQ's instead, which executed 10x faster than my Flux query anyway).
Although it sounds like they will continue to support Flux, it appears to me it could possibly become deprecated?

Oh, I forget to mention, and in reference to the above, something I noticed during my testing/research of Flux recently...
From version 3.0 of InfluxDB, Flux has entered maintenance mode:
https://www.influxdata.com/blog/the-plan-for-influxdb-3-0-open-source/#heading4
So I came to a similar conclusion that perhaps NO ONE should be bothering to invest in Flux.... (and I dumped what I was trying to achieve, in favour of InfluxQL plus a few CQ's instead, which executed 10x faster than my Flux query anyway).
Although it sounds like they will continue to support Flux, it appears to me it could possibly become deprecated?

Oof, I guess its time I think about a move to 3.0 and drop Flux

I agree that the old "beta" plugin probably should be removed. I didn't even realise it was there to be honest!

It has been there a long while - I made brief use of it exploring a query based ToU system.

Removal would appear to involve a few steps, i.e. running sed on grafana.env to remove the plugin from the GF_INSTALL_PLUGINS environment string, delete the grafana-influxdb-flux-datasource directory and contents completely from "./grafana/plugins/", and then rebuild with container with docker compose. I think.
@BuongiornoTexas - can you confirm that was how you removed the plugin from your install?

Yes - this was the process. I also cleaned up half a dozen other plugins that are retired. I suspect that once a plugin is in that directory it is always loaded. And I have definitely got a noticeable performance improvement from removing the redundant plugins.
The mild risk of removing is that people may have upgraded their installations but not their dashboard.json, and so may still be (unknowingly) using outdated plugins. I know I'm lazy about dashboard updates. I probably only do these once or twice a year. I guess upgrade.sh could warn about this?

From version 3.0 of InfluxDB, Flux has entered maintenance mode:

Well that's annoying - I used a simple flux query as part of my pwdusage extension. I guess it is time to go back and revert to the 1.8 InfluxQL API so that it is easy to convert to v3.0 if we ever go that way. Hopefully I will still similar speedups to you with my simple query.

Interesting. I looked at the effort required of moving from 1.8 to 2.x and it was significant to port the data and convert the queries to Flux. Their notice about 3.0 indicates there will be a much easier path from 1.8 (or 2.x) to 3.0. Fingers crossed.
@BuongiornoTexas - I'm not completely understanding the issue you opened, but thanks for opening. I assume the consensus is to remove the old Flux plugin.

I made the request to keep it in #234. No longer relevant now, so I was adding it to the list of redundant plugins for removal. @mcbirse pointed that we should also probably actually clean up unused plugins to improve performance (which I'm down with at this point).
And fingers crossed indeed on 3.0.

Agree! Thanks @BuongiornoTexas .  If any one has time to test and submit a PR, please do. 🙏

Here's a first pass - if it looks good, I'll convert to a PR. Basics are:

Check if there is a difference between the sample and current grafana plugin lists.
If there is, ask the user if they want to update to the current set.
If the user says yes, grafana.env is updated, all existing plugins are deleted, and the grafana image is stopped and deleted.

This should catch the majority of users, and the ones it doesn't are probably doing their own customisation anyway.
I've tested this in a synthetic dashboard folder, and will test this script in my live folder if you are all happy. I'd prefer to avoid doing a full upgrade.sh run given the fun I already have managing a rootless docker install.
#!/bin/bash
# already defined in upgrade.sh.
GF_ENV_FILE="grafana.env"

# Insert this block after line 213 in upgrade.sh

# Create variables as script gets unwieldy otherwise
GF_OLD_PLUGINS=$(sed -n '/GF_INSTALL_PLUGINS=/p' grafana.env)
GF_NEW_PLUGINS=$(sed -n '/GF_INSTALL_PLUGINS=/p' ${GF_ENV_FILE}.sample)

if [ "$GF_OLD_PLUGINS" == "$GF_NEW_PLUGINS" ]; then
    echo "Grafana plugin list is current. No action required."
else
    echo
    echo "Grafana plugin list is not current."
    echo
    echo "If you have installed custom plugins, you should answer 'n' to the"
    echo "next question and you should update your installation manually."
    echo "If you are running a default install (no changes), you should answer"
    echo "'y' to the question and you should update your dashboard per the "
    echo "instructions at the end of this process."
    echo "Update will delete *ALL* current plugins and only download those"
    echo "on the current list."
    echo
    read -r -p "Update grafana plugins? [y/N] " response
    if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]
    then
        sed -i.bak "s@GF_INSTALL_PLUGINS=.*@${GF_NEW_PLUGINS}@g" $GF_ENV_FILE
        rm -fr ./grafana/plugins/*
        docker stop grafana
        docker rm grafana
    else
        echo "No change."
    fi
fi

Thanks for this @BuongiornoTexas .  I'm hesitant to make this a permanent part of our upgrade.sh script, always telling users "Grafana plugin list is not current" even if it is that they just added their own tweaks to grafana.env.  If possible, we should have a list of plugins we suggest should be removed and if they are in the grafana.env file, ask if user wants them removed. Thoughts?

@jasonacox - I'm more than happy to take on suggestions and criticism - I put this rough solution together on the basis that I'm the trouble maker who raised the issue, so I should take some responsibility for resolving it! 😃
I did look at creating a list of non-core plugins and asking the user which ones they wanted to keep. This raises two problems: 1) it will be a relatively complicated piece of code for something that will be done infrequently (and upgrade.sh is already doing a lot!) and 2) we would need to add another config file to keep track of the plugins that each user wants to keep as part of their customisation.
Riffing on your suggestion, maybe we could do variation on the tricks Powerwall-Dashboard already does and get a less complicated implementation:

Add a new variable into grafana.env.sample e.g. CORE_PLUGINS=blah, blah2, ...
Change the grafana environment variable to: GF_INSTALL_PLUGINS=${CORE_PLUGINS}
Document that users should add custom plugins to the end of GF_INSTALL_PLUGINS
In upgrade.sh check CORE_PLUGINS if any old plugins have been removed.

For each removal, ask the user if they want to retain the existing plugin. If yes, then add this plugin to the end of GF_INSTALL_PLUGINS.
Otherwise silently delete the plugin from grafana.

From an end user perspective, this is pretty clean, as they only get the notice once per change. It also doesn't requiring separate tracking of user custom plugins (they stay in grafana.env). The only drawback is that it will still be a relatively complex bit of update code for something that will only be used infrequently. (and we also need to add CORE_PLUGINS to older grafana.env files ...).
I also note:

Most users will probably only use the reference set of plugins, and so will not be worried about an occasional upgrade request. And this group will see the upgrade notice rarely.
Any user adding new plugins is pretty well a power user by definition - I don't think they will be worried by a notice that they have additional plugins installed. (case in point - I'm not a hard core customiser, but I've probably done more than most people, and I'm still only using the core plugins.)

Finally, I was really focussing on mechanism rather than description - one of the issues you have touched on is message wording - this can easily be reworked into a more neutral phrasing.

Good points @BuongiornoTexas  - I suggest we just change the language a bit. Perhaps:
You appear to be running an older Grafana configuration with plugins that are no longer
required. This script can update your Grafana plugins to the current recommended list.
If you have installed custom plugins or want to keep it as it is, answer 'n' below.

Do you want to update your Grafana plugin list? (Y/n):

@jasonacox - I've ended up going down the rabbit hole of doing something along the lines of second solution tracking changes in the environment variables. If I can make it work, it should be a cleaner solution than my first pass. If I can't, I'll incorporate your wording into my original script.
It may take a bit of time to sort out - I'm running into similar problems as others with the rate limiting and the .44 firmware, Which I think I'll need to resolve before I can sort this part out.
On a side note, were you aware that the way Powerwall-Dashboard is using GF_INSTALL_PLUGINS will redownload and reinstall the plugins each time the grafana container is started up (I only found out by accident as my ISP is causing shenanigans with the google storage apis).

No rush, thanks @BuongiornoTexas .

were you aware that the way Powerwall-Dashboard is using GF_INSTALL_PLUGINS will redownload and reinstall the plugins each time the grafana container is started up

Yes, I thought that was the Grafana way. :)  I'm open to suggestions on how to improve.

rate limiting and the .44 firmware

I'm not not on the new firmware so I'm at a disadvantage to help troubleshoot this. I know that the older pypowerwall version would non-stop query the /vitals even if it was a 404 causing rate limiting, but that was fixied in https://github.com/jasonacox/pypowerwall/releases/tag/v0.7.6 and https://github.com/jasonacox/Powerwall-Dashboard/releases/tag/v3.0.8.  If you are able to discover the cause, let let me know so we can get a fix in.

No worries - slow progress on the plugin then, and I'll follow up on making plugins persistent as well (I don't like the grafana way - makes my containers slow/unreliable to start).
On the 0.44, I'll spin up a local pypowerwall and see what I can find. Which discussion/issue would you prefer to have reporting on 0.44 issues?

No worries on the plugin side. I suspect the Firmware issues are a higher priority.
We can use the latest issue for updates https://github.com/jasonacox/Powerwall-Dashboard/issues/436 and I'll combine with https://github.com/jasonacox/Powerwall-Dashboard/issues/425.

OK - back to the plugins. I've pulled together an implementation that does plugin version control lite using environment variables. I'll submit it as a PR - it's quite a lot of code for pretty small functionality, so:
a) if you'd prefer to avoid the complexity, I'm quite happy to revert to the first option.
b) I've implemented the code as a separate file which I suggest can be kept in the tools file and can just be sourced from update.sh. Should be in place for review today/tomorrow.

Thanks @BuongiornoTexas - My bias is going to be toward "as simple as possible". And in a simliar vein, I would also prefer to not create more external file/script dependencies if we can avoid it.  However, making a stand alone tool (not called by upgrade) is not a bad idea.

making a stand alone tool (not called by upgrade) is not a bad idea.

I don't feel strongly about this, but I don't think providing this as a manual tool adds much value. We still need to identify when it needs to be run and then tell the user how to run it. And given it is doing a few small edits to a config file, we might as well just provide instructions on the edits needed rather than instructions on running the script. (it's fine for power users, but they are the group who don't need it at all)

My bias is going to be toward "as simple as possible".

The more complex script adds nearly 50% to the length of update.sh so I don't think you'll want to add this in directly.
I've realised that my original script does a poor job on handling additions to the plugin list - the case where we really do need to update the plugin list! I'm having a think about how to address this without getting code bloat back to the second version.

OK, hopefully the last pass. I think this is an 80/20 solution, where the changes are as simple as I can make them and the pain should mainly fall on power users who add new plugins.  This fix does not catch edge cases, and particularly does not catch duplicates between core and custom plugins - I don't think this is an issue, as all grafana will do is download the plugin twice.
It is robust to future changes to core plugins, and I think the solution can entirely replace the ad hoc check for the yesoreyeram boomtable section that sits in upgrade.sh at the moment.
If you are happy with the proposal, I'll convert to a PR.

Update grafana.env.sample, replacing the GF_INSTALL_PLUGINS=.* line with the following lines.

# Core plugins required by Powerwall-Dashboard managed in PWD_CORE_PLUGINS.
# Do not edit this - managed by setup.sh & upgrade.sh.
# WARNING - do not redefine this variable later in this file - it will break upgrade.sh
PWD_CORE_PLUGINS=grafana-piechart-panel, https://github.com/yesoreyeram/yesoreyeram-boomtable-panel/releases/download/v1.5.0-alpha.3/yesoreyeram-boomtable-panel-1.5.0-alpha.3.zip;yesoreyeram-boomtable-panel, fetzerch-sunandmoon-datasource, simpod-json-datasource

# Add your customs plugins to the end of GF_INSTALL_PLUGINS (comma-space separated!).
GF_INSTALL_PLUGINS=${PWD_CORE_PLUGINS}

Add most of this script into update.sh. The run once check can probably be removed 6-12 months down the track when most active users have updated to current versions (I think this will be forced by the Tesla firmware updates).

#!/bin/bash

# already defined in upgrade.sh.
GF_ENV_FILE="grafana.env"

# With the new block in place, I suspect we can safely delete the
# yesoreyeram-boomtable block that current sits in upgrade.sh
# on lines 199-212.
# (2.6.2 was a while ago, and I think this change supercedes it).

# Insert this block after line 213 in upgrade.sh

# Create variables as script gets unwieldy otherwise
core_env=PWD_CORE_PLUGINS
old_core=$(sed -n "s/^${core_env}=//p" ${GF_ENV_FILE})
new_core=$(sed -n "s/^${core_env}=//p" ${GF_ENV_FILE}.sample)

if [ "${old_core}" == "" ]; then
    # This if block is a run once - could move to a separate tool,
    # or just delete 6 or 12 months in the future, as everyone '
    # will probably have been forced to update by then due to
    # Tesla firmware updates.

    echo "Updating '${GF_ENV_FILE}' structure. '.old' backup file created."

    old_core=$(sed -n "s/^GF_INSTALL_PLUGINS=//p" ${GF_ENV_FILE})
    update_gf_file="# Plugins updated to use ${core_env}.\n# See '${GF_ENV_FILE}.sample' for details."
    update_gf_file="${update_gf_file}\n${core_env}=${old_core}"
    update_gf_file="${update_gf_file}\nGF_INSTALL_PLUGINS=\${${core_env}}"

    # Force update of grafana env file.
    sed -i.old -e "s@^GF_INSTALL_PLUGINS=.*@${update_gf_file}@" $GF_ENV_FILE
fi

if [ "${old_core}" == "${new_core}" ]; then
    echo "Grafana plugin list is current. No action required."
else
    echo
    echo "Grafana plugin list has changed."
    echo
    echo "You appear to be running an older Grafana configuration with"
    echo "plugins that are different to the current recommended list."
    echo "This script can update your plugins to the current recommendations."
    echo "If you have installed custom plugins or want to keep it as"
    echo "it is, answer 'n' below and the script will provide instructions for"
    echo "manual checks/updates."
    echo
    read -r -p "Do you want to update your Grafana plugin list? [y/N] " response
    if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]
    then
        sed -i.bak -e "s@^${core_env}=.*@${core_env}=${new_core}@" $GF_ENV_FILE
        docker stop grafana
        docker rm grafana
        # Probably safe to delete all plugins as grafana downloads everything everytime anyway.
        rm -fr ./grafana/plugins/*
    else
        echo
        echo "    Okay. Your grafana plugin list has not been updated."
        echo ""
        echo "However, this version of Powerwall-Dashboard may need new plugins"
        echo "for the latest grafana dashboard. To address this, please"
        echo "check the list of required plugins (listed in ${core_env} in"
        echo "'${GF_ENV_FILE}.sample') and make sure all of these plugins are"
        echo "added to ${core_env}' in '${GF_ENV_FILE}'."
    fi
fi

Thanks @BuongiornoTexas !  Elegant and simple. Please copy that into a PR so we can put it through some tests. 🙏


fix lilv_world_get_plugin_classes() to not skip parent-less classes.

This fixes https://github.com/drobilla/lilv/issues/19.

See my comment there.  A plugin class is reachable from lv2:Plugin by definition.


rebuilding submission so it includes the M1 binaries

Thanks, do I need to bump the version in order for M1 users to get this new dylib?

No, I did it already. Also, it seems there are some issues with the update and I can’t quite put my finger on what is going on. I probably will revert the plug-in as it does something weird sometimes… I am investigating.
Also, you won’t mind if I send in some fixes?

No I don't mind. Fixes would be great! This repo needs some love


CallbackPath property in Twitter auth provider

Addresses #7021 for Twitter auth provider

Let's go with ...

The URI segment `/signin-twitter` is ...

... and update any other URI segments from italics to code-fencing.

@guardrex Sorry I didn't see your message here when I was doing the pull requests. :(

No problem ... I updated them before merging. We're good. :+1:


Form not showing after unsuccessful login attempt

After trying to log in the form simply disappears from the dom. Refreshing won't bring it back until I run localStorage.clear();
I don't have any custom js files - this occurs using only templates.
packages:
meteor-base             # Packages every Meteor app needs to have
mobile-experience       # Packages for a great mobile UX
mongo                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
session                 # Client-side reactive dictionary for your app
jquery                  # Helpful client-side library
tracker                 # Meteor's client-side reactive programming library
es5-shim                # ECMAScript 5 compatibility for older browsers.
ecmascript              # Enable ECMAScript2015+ syntax in app code
insecure                # Allow all DB writes from clients (for prototyping)
materialize:materialize
accounts-password
accounts-facebook
accounts-google
softwarerero:accounts-t9n
seba:minifiers-autoprefixer
fourseven:scss
aldeed:template-extension
email
mizzao:user-status
useraccounts:materialize

Apologies - it was simply already logged in so the form disappeared.


[FIX] modified for checking weight grad

This path checks requested memory is weight gradient which information will be used for planning.

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2264. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Extend graph visualizations to also include commit authors

In the graph analysis notebook, we consider committers as a contributor. But as per the issue highlighted by James Kunstle here: "Commits have both Authors and Committers who are not necessarily the same person. It certainly isn't incorrect to use only the committer as this data-point, but perhaps there's something interesting to be used later by considering both the 'Committer' and the 'Author' because we'd pay attention to both contributor's work."
We want to extend the data we are collecting to also include authors to make the analysis more complete.

@oindrillac Is this issue still necessary?


Azure ServiceBus cancelling scheduled messages

Hi,
using the latest MT with Azure ServiceBus + EF plugin for persistence.
I've modified the shopping cart example: I send item added event and after 10 seconds I send order submitted event. Saga handler was modified to schedule the cart expiration event after 60 seconds instead of the original 10. In each saga event I'm dumping data to the text file for logging. Basically at the moment I see that item was added, order was submitted and after about a minute cart expired event.
When I look into queues, I see that shopping cart error queue has a new item of type fault:
Message is: ServiceBus does not support cancelling scheduled messages
Stacktrace:
   at MassTransit.AzureServiceBusTransport.Scheduling.ServiceBusMessageScheduler.MassTransit.IMessageScheduler.CancelScheduledSend(Guid tokenId)
   at MassTransit.Context.ConsumeMessageSchedulerContext.MassTransit.IMessageScheduler.CancelScheduledSend(Guid tokenId)
   at Automatonymous.Activities.UnscheduleActivity`1.<Execute>d__7.MoveNext()
at Automatonymous.Activities.UnscheduleActivity`1.<Automatonymous-Activity<TInstance>-Execute>d__3.MoveNext()
at Automatonymous.Activities.SlimActivity`2.<Automatonymous-Activity<TInstance\,TData>-Execute>d__3.MoveNext()
at Automatonymous.Activities.DataConverterActivity`2.<Automatonymous-Activity<TInstance>-Execute>d__4`1.MoveNext()
at Automatonymous.Behaviors.ActivityBehavior`1.<Automatonymous-Behavior<TInstance>-Execute>d__5`1.MoveNext()

I'm quite certain that it's the .Unschedule( CartExpired ) causing it.
Was that example supposed to work with ASB or do I have a misconfiguration? Moreover, these:
https://blogs.msdn.microsoft.com/servicebus/2016/07/11/cross-post-canceling-scheduled-messages/
https://blogs.msdn.microsoft.com/servicebus/2016/07/04/service-bus-client-3-3-1-is-now-live/
might be related.
Thank you!

Seems legit. Should make this happen using the APIs you discussed above.
And the sample was written for Quartz which is why you're seeing the error.

aha, I see. I will keep the issue open as a reminder then :)
Thank you!

Hi,
I am having the same issue, I cannot unscheduled/cancel a scheduled message using Automatonymous, MassTransit and Azure Service Bus.
In the bus configuration I am using the Azure Service Bus Scheduler.
 _bus = Bus.Factory.CreateUsingAzureServiceBus(bus =>
            {
                 ...
                 bus.UseServiceBusMessageScheduler();
                 ...
              })

And I get the error as described by snekbaev .
Have you guys figured out any workaround for this?
Azure Service Bus & Quartz Scheduler? Would this work?
Thanks a lot for your help, would be greatly appreciated!
Cheers,

So I have this almost working, but it will require a change to how the scheduled message tokens are used/stored. Since the actual queue name needs to be associated with the messageId to cancel, something else needs to happen here versus being able to use the Guid standalone. It always comes back to the URI for me... The universal bucket of junk.

Hi,
please take your time Chris and thanks for the efforts.

This should have it: 862c0d6