ERROR:D8: com.android.tools.r8.kotlin.H

Steps to reproduce

I'm trying to run my flutter app locally on an Android device(Samsung Galaxy S7 Edge, Android version 8.0.0)
It worked before, but I had to do some updates to the build according to this https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply
I get an error.

Expected results
build without errors
Actual results
ERROR:D8: com.android.tools.r8.kotlin.H
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:mergeExtDexDebug'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform kotlin-stdlib-1.9.10.jar (org.jetbrains.kotlin:kotlin-stdlib:1.9.10) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
Execution failed for DexingWithClasspathTransform: /Users/me/.gradle/caches/transforms-3/122c673c396f4b4f35af4a866dd1a90d/transformed/jetified-kotlin-stdlib-1.9.10.jar.
Error while dexing.

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 5s
┌─ Flutter Fix ──────────────────────────────────────────────────────────────┐
│ [!] The shrinker may have failed to optimize the Java bytecode.            │
│ To disable the shrinker, pass the --no-shrink flag to this command.      │
│ To learn more, see: https://developer.android.com/studio/build/shrink-code │
└────────────────────────────────────────────────────────────────────────────┘
Error: Gradle task assembleDebug failed with exit code 1
Code sample
android/settings.gradle
pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }()

    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "7.4.2" apply false
    id "org.jetbrains.kotlin.android" version "1.9.10" apply false
    id "com.google.gms.google-services" version "4.4.0" apply false
}

//def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
//def properties = new Properties()
//
//assert localPropertiesFile.exists()
//localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
//
//def flutterSdkPath = properties.getProperty("flutter.sdk")
//assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
//apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"

include ':app'

android/build.gradle
allprojects {
    repositories {
        google()
        jcenter()
    }
}

rootProject.buildDir = "../build"
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(":app")
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

android/app/build.gradle
plugins {
    id "com.android.application"
    id "kotlin-android"
    id "dev.flutter.flutter-gradle-plugin"
    id "com.google.gms.google-services"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

//def flutterRoot = localProperties.getProperty('flutter.sdk')
//if (flutterRoot == null) {
//    throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
//}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

//apply plugin: 'com.android.application'
// START: FlutterFire Configuration
//apply plugin: 'com.google.gms.google-services'
// END: FlutterFire Configuration
//apply plugin: 'kotlin-android'
//apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    namespace 'com.my.app'
    compileSdkVersion 34

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.my.app"
        minSdkVersion 21
        targetSdkVersion 34
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

flutter {
    source '../..'
}

dependencies {
//    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.19.4, on macOS 14.4.1 23E224 darwin-arm64, locale en-US)
    • Flutter version 3.19.4 on channel stable at /Users/stefanchira/Library/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 68bfaea224 (10 days ago), 2024-03-20 15:36:31 -0700
    • Engine revision a5c24f538d
    • Dart version 3.3.2
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/stefanchira/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C65
    • CocoaPods version 1.15.2

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

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

[✓] IntelliJ IDEA Ultimate Edition (version 2023.3.6)
    • IntelliJ at /Applications/IntelliJ IDEA Latest.app
    • Flutter plugin version 78.4.2
    • Dart plugin version 233.15026.12

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

[✓] Connected device (5 available)
    • SM G935F (mobile)          • ce02171248db502905                   • android-arm64  • Android 8.0.0 (API 26)
    • Stefi's iPhone (mobile)    • 00008020-001A7D6201E2002E            • ios            • iOS 17.3.1 21D61
    • iPhone 15 Pro Max (mobile) • E50131F3-07D2-4ACD-AFB2-29DE9A0F0944 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-2 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 123.0.6312.87

[✓] Network resources
    • All expected network resources are available.

• No issues found!

minSdkVersion 21

@chirastefan Can you try to upgrade this to 23 or 24 and re-run your scenario to check if it helps or not ?

minSdkVersion 21

@chirastefan Can you try to upgrade this to 23 or 24 and re-run your scenario to check if it helps or not ?

it fails with 23, but "works" with 24. Meaning it passes that build error, but now I get an empty white screen. and I get this error.
Syncing files to device SM G935F...
I/zygote64(24181): Compiler allocated 8MB to compile void android.view.ViewRootImpl.performTraversals()
I/zygote64(24181): find the special shared library, skip check
I/zygote64(24181): find the special shared library, skip check
I/DynamiteModule(24181): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:240304704
I/DynamiteModule(24181): Selected remote version of com.google.android.gms.ads.dynamite, version >= 240304704
I/zygote64(24181): Do full code cache collection, code=124KB, data=102KB
I/zygote64(24181): After code cache collection, code=120KB, data=77KB
D/DynamitePackage(24181): Instantiated singleton DynamitePackage.
D/DynamitePackage(24181): Instantiating com.google.android.gms.ads.ChimeraMobileAdsSettingManagerCreatorImpl
D/NetworkSecurityConfig(24181): No Network Security Config specified, using platform default
D/ConnectivityManager(24181): requestNetwork; CallingUid : 10586, CallingPid : 24181
I/Ads     (24181): Updating ad debug logging enablement.
I/zygote64(24181): Do partial code cache collection, code=124KB, data=82KB
I/zygote64(24181): After code cache collection, code=124KB, data=82KB
I/zygote64(24181): Increasing code cache capacity to 512KB
I/zygote64(24181): no shared libraies, dex_files: 1
I/WebViewFactory(24181): Loading com.android.chrome version 123.0.6312.80 (code 631208021)
W/linker  (24181): "/data/app/com.android.chrome-DTmf9VIDZWVbg_H6egh0mg==/base.apk!/lib/arm64-v8a/libmonochrome.so" unused DT entry: type 0x70000001 arg 0x0
I/zygote64(24181): Rejecting re-init on previously-failed class java.lang.Class<GI2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/PacProcessor;
I/zygote64(24181):   at java.lang.Class java.lang.Class.classForName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
I/zygote64(24181):   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:453)
I/zygote64(24181):   at java.lang.Class android.webkit.WebViewFactory.getWebViewProviderClass(java.lang.ClassLoader) (WebViewFactory.java:150)
I/zygote64(24181):   at java.lang.Class android.webkit.WebViewFactory.getProviderClass() (WebViewFactory.java:417)
I/zygote64(24181):   at android.webkit.WebViewFactoryProvider android.webkit.WebViewFactory.getProvider() (WebViewFactory.java:211)
I/zygote64(24181):   at android.webkit.WebViewFactoryProvider android.webkit.WebView.getFactory() (WebView.java:2467)
I/zygote64(24181):   at void android.webkit.WebView.ensureProviderCreated() (WebView.java:2462)
I/zygote64(24181):   at void android.webkit.WebView.setOverScrollMode(int) (WebView.java:2527)
I/zygote64(24181):   at void android.view.View.<init>(android.content.Context) (View.java:4830)
I/zygote64(24181):   at void android.view.View.<init>(android.content.Context, android.util.AttributeSet, int, int) (View.java:5016)

and more

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/PacProcessor

Are you using webview_flutter in your app ?
Also, since you are running on Android 8, maybe it is not compatible with minsdk 24 and that's why the error occurs.

I do use webview_flutterm but I commented that code to test it and still have the same issue, it seems like this comes from google-mobile-flutter which uses webview_flutter

Thanks for the update. Do you mean google_mobile_ads package ?
I think it is compatibility issue with Kotlin version and AGP you are using. Any package that you might be using could be on lesser version and hence the error related to your original post.
See https://developer.android.com/build/kotlin-support for reference and check if it helps in your case or not.

google_mobile_ads yes

seems like this was an issue with Intellij, probably something related to some caching. It works now.


Fix using graphql_scalar proc macro inside a macro

Fix https://github.com/graphql-rust/juniper/issues/877

Thank you! Sorry for the slow response.

This is now released on crates.io


[mysql] Omit("SomeReference.*") does empty insert for references

GORM Playground Link

https://github.com/go-gorm/playground/pull/435
Description
Gorm v1.22.5
For objects with a "has one" or "belongs to" relationship, using the Omit("ObjectName.*") notation will cause an empty record to be inserted into the database. You see the raw sequel:
[1.648ms] [rows:1] INSERT INTO `users` VALUES() ON DUPLICATE KEY UPDATE `id`=`id`
[1.484ms] [rows:1] INSERT INTO `accounts` VALUES() ON DUPLICATE KEY UPDATE `user_id`=VALUES(`user_id`)

This is not great as a) you get empty rows dangling around and b) will fail if you have a non-null constraint or unique constraint.
The docs have the following:
For many2many associations, GORM will upsert the associations before creating the join table references, if you want to skip the upserting of associations, you could skip it

The docs say to use this notation to avoid upserting associations. And while this does specifically call out many2many associations, after looking existing issues reported, it has been suggested to use this notation for other relationship types as well.
Note that using Omit("Reference") will cause mysql to try to insert a null column into the db at the time of creation, which is not desired.

refer the comment in the PR.

@jinzhu I see no comments in the PR.

@jinzhu this one? https://github.com/go-gorm/gorm/pull/5135
It literally tried to fix something that has nothing to do with this bug report and then it was closed with a comment saying as such. I don't understand why this was closed.


[7.0] Flow and Babylon produce invalid AST nodes for (z: typeof X) syntax

When using flow's typeof X syntax to annotate a type both Babylon and Flow produce incorrect AST nodes for the argument of the annotation. If X is an identifier that corresponds to a Flow type name, Flow will use the type name instead, so (b: typeof string) produces a StringTypeAnnotation rather than a GenericTypeAnnotation<'string'>. This also applies to member expressions, e.g. (z: typeof z.y) produces QualifiedTypeIdentifier rather than MemberExpression.
Since there seems to be an effort to clean up the Flow AST types for 7.0 I'm hoping this one can be tackled too. Please see these issues on Flow - facebook/flow#2682 and facebook/flow#3055
Input Code

const bool = true;
const b: typeof bool = true; // TypeofTypeAnnotation<BooleanTypeAnnotation>

const x = {y: 123};
const z: typeof x.y = 123; // TypeofTypeAnnotation<QualifiedTypeIdentifier>

Expected Behavior

Flow and Babylon should treat these as GenericTypeAnnotations, and either GenericTypeAnnotation should be expanded to allow a MemberExpression in the id or a new node type should be added which can cover this case, e.g. ExpressionTypeAnnotation.
const bool = true;
const b: typeof bool = true; // TypeofTypeAnnotation<GenericTypeAnnotation<'bool'>>

const x = {y: 123};
const z: typeof x.y = 123; // TypeofTypeAnnotation<ExpressionTypeAnnotation>

We are waiting for flow to fix this, before we start with this.


Use Hardware wallet to deploy SC

Goal: Use Hardware wallet to deploy SC
Outcome: Success (on Linux only)

the connection to the Ledger (Nano S) was not established using WSL1
success using Linux (Ubuntu server 18.04 LTS)

Important:

the device to be oprational, run:
 wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash

Goal: Use Hardware wallet to deploy SC Outcome: Success (on Linux only)

the connection to the Ledger (Nano S) was not established using WSL1
success using Linux (Ubuntu server 18.04 LTS)

Important:

the device to be oprational, run:
 wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash

Can you please also add any instruction for windows if needed? it works now?

Goal: Use Hardware wallet to deploy SC Outcome: Success (on Linux only)

the connection to the Ledger (Nano S) was not established using WSL1
success using Linux (Ubuntu server 18.04 LTS)

Important:

the device to be oprational, run:
 wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash

Can you please also add any instruction for windows if needed? it works now?

The wallet will working by default if the node/npm is installed globally using the Windows installer (means it runs on the Windows OS itself).
This is for Windows 10 & Windows 11.
The wallet will not work if you run node/npm in the WSL 1 or WSL 2 (that's my initial case).


RtcEngine startAudioiMixing not working in production release

Hi I'm using the RTCEngine to mix in audio to be use during conversation.
The code is working during development (debug) of both android and iOS. However, when release, it is not playing on android but some sound are working on iOS. I wonder what could be the issue?
Below is a sample code of how I mix the audio files:
`
const enterRoomAlert = async () => {
    const enterAlertAudio = Asset.fromModule(require('../assets/audio/mixkit-guitar-stroke-up.wav')).uri;

    await currentContext.rtcEngine
    .startAudioMixing(enterAlertAudio, false, false, 1, 0)

}

`

you should not use assets on RN, the real file path is different between debug and release mode.
you should add the files to the native project, and use the path to call this method.

Thank you! @LichKing-2234 , aha! that help explains. Do you know any examples of how to add the wav file in native environment and get the path to be used in RN?

https://github.com/AgoraIO-Community/react-native-agora/blob/master/example/src/examples/basic/JoinChannelAudio.tsx#L141

Thanks @LichKing-2234 , I went ahead to use RNFS instead and it works. :))


Single File Uploader: Docs

Acceptance criteria
Usage tab

[ ] Add a sub section under the Drag and Drop variant for "Single select uploader".
[ ] Adjust the current Drag and Drop variant section and specify a "Multiple file uploader" sub section within it.
[ ] Add any images to support the new content.

Style tab

[ ] Add any sections and images needed.

o


Update @custom-elements-manifest/analyzer in the starter kits.

I've just bumped the packages here. The custom-elements.json that's committed to the individual repos is out of date so I thought it might be due to this, but I think it just hasn't been regenerated in a long time. Either way, I think we settled on removing it from the individual repos.

Is removing the manifest part of this change?

No, this is just updating the package. I think the extra custom-elements.json will be removed automatically during the next release after https://github.com/lit/lit/pull/2496 is merged (still WIP).


(#58) Initial support for cheats

Signed-off-by: R.I.Pienaar<EMAIL_ADDRESS>

$ demo
usage: demo [<flags>] <command> [<args> ...]

Demo Application

Contact: rip

Use 'demo cheat' to access cheatsheet style help

Commands:
  cheat [<flags>] [<label>]
    Shows cheats for demo

  test
    test

$ demo cheat
Available Cheats:

    demo
    test

$ demo cheat demo
# Do something with demo
demo test

With this definition:
name: demo
description: Demo Application
author: rip
cheat:
  enabled: true
  tags: [demo, appbuilder]
  cheat: |
    # Do something with demo
    demo test
commands:
  - name: test
    description: test
    type: exec
    cheat:
      cheat: xx
    command: /bin/echo hello


remove labels from collectionEntry

From what we discussed in https://github.com/dockstore/dockstore-ui2/pull/1198, we decided to leave the labels out for now, and then wait for either the curators or the developers to pick out the category. So I'm just reverting what I changed in this PR: https://github.com/dockstore/dockstore/pull/4138
If it's not necessary I will close this PR and delete the branch

I think this was a miscommunication. Categories don't exist yet. Labels do exist, I think it is worth capping the number of labels if there is too many, but there is no need to remove it entirely.

I think this was a miscommunication. Categories don't exist yet. Labels do exist, I think it is worth capping the number of labels displayed in the UI if there is too many, but there is no need to remove it entirely.

Thanks for clarifying Denis, do I just take the first couple of labels from the list or is there anything else I should keep in mind


I am a novice, want to learn to dig sia, but now encounter a problem.

Now I opened the Sia-UI.exe2. Open the sia-gpu-1.0.5 inside the sia-gpu-miner.exe But did prompt http error 404 wrong, unable to connect to the server, how to solve? Thank you

having the same issue

The sia-gpu-miner is different software but it functions through the same interface as gominer does. You have to run siad with the miner module enabled.


Define unicode pstore files by unicode version, not ruby version

Note: This PR drops support for ruby versions 2.0.x --> 2.3.x.
In part, this is because those versions are officially unsupported now; and the PR removes some bload caused from supporting these versions.
But also, more pertinently, support for RbConfig::CONFIG['UNICODE_VERSION'] was added to ruby v2.4.0, so the approach applied in this PR would not work for older versions.
This is a small step towards a full fix for https://github.com/tom-lord/regexp-examples/issues/14, but also adds full support for ruby 2.6.3, which upgraded the unicode version from 12.0.0 --> 12.1.0.

Coverage remained the same at 100.0% when pulling f306917a4ef1e252d8ecefe32f165f9096be34b0 on unicode_pstore_by_unicode_version into 90229731daf8a40bf34b739a12e403d2bc45d272 on master.

Coverage remained the same at 100.0% when pulling f306917a4ef1e252d8ecefe32f165f9096be34b0 on unicode_pstore_by_unicode_version into 90229731daf8a40bf34b739a12e403d2bc45d272 on master.

Coverage remained the same at 100.0% when pulling f306917a4ef1e252d8ecefe32f165f9096be34b0 on unicode_pstore_by_unicode_version into 90229731daf8a40bf34b739a12e403d2bc45d272 on master.


Show cost instead of infrastructure_cost

For Ocp cloud infrastructure, it appears that we should display cost instead of infrastructure_cost.
On the details page, we're currently showing the delta (i.e., month over month change); however, that is in sync with cost. Thus, showing the cost delta with infrastructure_cost seems incorrect.
"My impression is that we should just always use the cost value being reported by the API. In the case of the openshift /instractructure APIs it is the infrastructure cost + any applicable markup." -- @adberglund
@chargio Did you specifically want to omit showing markup here? Should we file an issue to add support for infrastructure_cost deltas? Or, just show cost?
FYI, the infrastructures API below shows cost in sync with delta, not infrastructure_cost.
/api/cost-management/v1/reports/openshift/infrastructures/all/costs/?delta=cost

@dayleparker We had the discussion about this. Do you remember the outcome of our discussions?

@chargio @dayleparker We basically need to know if Ocp on cloud infrastructure should include markup or not?

"Yes. But it should be possible to see them separated" -- @chargio
We have a tooltip and popover for "Ocp details", but not for "Ocp on cloud infrastructure". Perhaps, we could add that separately?
Ocp details:

Ocp overview:

OCP costs are distributed costs, so showing the total cost is ok.
It would be great in the future to show infra costs (both raw costs , markups and node costs, and other costs), but right now total is the most correct amount

OK, I have been using the discussion in https://github.com/project-koku/koku/issues/1397 to refresh my fuzzy memory... :|
@dlabrecq - just to make sure, are we discussing the page titled "OpenShift cloud infrastructure details" (vs. in #1397 we discussed the details page titled "OpenShift details")?
If yes -
The outcome of the discussion regarding markup I believe was that markup is only applied to raw costs (costs coming from a third party like AWS, Azure, subscription management). I think we don't show those raw costs on this screen so IMHO 'markup' wouldn't need to be shown on this screen. This screen is only for showing the OpenShift costs, independent of the cloud infra it's running on... I think.
Does that sound right, @chargio ?

@dayleparker @chargio
OpenShift Details
Any and all OpenShift costs. This includes those running on a (cloud) infrastructure provider and OpenShift clusters for which the cost comes from a price list on a cost model.
OpenShift Cloud Infrastructure Details
Only OpenShift costs from a (cloud or other) infrastructure provider. As it exists today, this is really just a subset of the data from the Cloud Details. Today this page encompasses OpenShift on AWS and OpenShift on Azure, so it's actually just AWS and Azure data. Because markup is shown on the cloud tab/details I think we need it here too.
We have previous discussed the idea of folding OpenShift on Cloud Infrastructure tab on the dashboard into the cloud tab, where it would just become a filter option. A user might go to the cloud tab and say "I want to see all of my cloud costs." Then they might say "Okay, now just show me the cloud cost required to run my OpenShift clusters" and the data would just filter down, but it's always the same source. Does this make sense?

Thanks for your explanation, @adberglund. I am always getting confused about which tab is a subset of which (so +1 to the filter option in the future) @dlabrecq please disregard my earlier comment.


Project Implementation

Added the script, preview, and docs.

Hi, please send me your email address. Thanks

Hi, please send me your email address. Thanks

Hi.
shayganshok0[at]gmail.com

Hi.
shayganshok0[at]gmail.com

Hi.
shayganshok0[at]gmail.com

Hi.
shayganshok0[at]gmail.com


[hi] Localized content/en/docs/reference/glossary/cluster.md

fixes: #45492
Localized /en/docs/reference/glossary/cluster.md to hindi.

/remove-lifecycle stale

@KashishLakhara : Gentle reminder to address the suggestions on the PR

@KashishLakhara  are you still working on this PR ?  Address the suggestion in the PR.


Invisible collision while driving

Sometimes while you drive there is an invisible collision that block your vehicle. This is easier to notice in the City map I think.
I think it’s always where a vehicle was spawned.
Debugging collision don’t show anything useful
Here you can see the Ambulance stuck in one of these

Trying Chaos debug commands, it looks like it's something with the replay and the vehicle wheels not correctly moving, it could be a rigging bug or something in the replay and/or the engine. The first screenshot it's in the same spot of the screenshot in the first comment


Feature:  Multi-State Domain Management for Varied User Permissions and Actions

Is your feature request related to a problem? Please describe.
No
Describe the feature you are requesting, as well as the possible use case(s) for it.
Request for Domain States and Associated Actions:
Enable State: In this state, both domain admins and users have the authorization to perform various actions including adding/removing things, channels, groups, users, connecting, disconnecting, and messaging.
Disable State: In this state, domain admins and users can remove things, channels, groups, users, and disconnect. However, they are restricted from adding things, channels, groups, users, connecting and messaging.
or
Disable State:  All actions are restricted for all users except domain admin and super admin.
Freeze State: All actions are restricted for both domain admins and users. Only the SuperAdmin retains the capability to execute any action within this state.
Delete State: The domain becomes invisible to both domain admins and users. Actions are only accessible to the SuperAdmin for maintenance purposes or further actions.
Indicate the importance of this feature to you.
Must-have
Anything else?
No response

Q 1. How to Identify an authorization request is belongs to domain or not belongs to a domain ?
Authorization request consist of domain, subject, subject type, subject relation, subject kind, permission, object, object type, object kind
A 1. Check object type is user or thing or group
A 2. Check  sub != user && obj != Platform
A 3. Check for domain in authorization request
Q 2. How to find request belongs to which domain ?
A 1. Add domain ID in each authorization request ( which already implemented in most of the other requests)
Q 2.1. How to add domain ID to each authorization request in service ?**
A 2.1. Get domain ID  from JWT Subject field which is combination of domain id + user id , but this is not possible because super admin JWT subject filed will be only user id, there will be no combination domain + user id.
Details:
In spicedb user subject can have admin , editor, etc. relation with a domain
For Normal user (non super admin), all relation to spicedb are added with domain prefix in user id
For Example:
If user id user_1 is admin of domain id domain_1
Then in spicedb relation will be stored as user:domain_1_user_1  (instead of user:user_1)  as admin relation with domain_1
This helps us to filter only domain_1 related object from spicedb
For Super Admin there will not such domain id prefix is needed
This because super admin user id (with out any prefix) is directly added as Platform admin relation in spicedb.
Platform admin will get admin permission of all domains


[feature] plugins

Was thinking of some stuff I'd like bankai to do, and then realized it might get too bloaty. Instead having a plugin system might perhaps help. Is it great? Nah. But it's probably the lesser of a bunch of evils.
I think we could probably learn from browserify's plugin architecture because it's super solid. I don't think transforms make a lot of sense for us here because it could refer to either JS, CSS or HTML which already have specific transforms available (html not so much, but yeah).
I was thinking in package.json people could do something like:
{
  "bankai": {
    "plugin": [
      "server-render/plugin"
    ]
  }
}

Or from the CLI:
$ bankai -p server-render/plugin

plugin examples

compile all routes in the choo router to static html
module split on a per-route basis
inline all JS and CSS into the HTML (goes nicely with the two points above)
perhaps doing performance budgets is like cool (e.g. https://github.com/yoshuawuyts/bankai/issues/126)
optimize and or compile particular assets (e.g. https://github.com/yoshuawuyts/bankai/issues/104)
use packages like purifycss which require knowledge of multiple resource types (e.g. JS and CSS in this case)

todo

[ ] figure out if this is actually the best way to approach the problem
[ ] come up with a JS API for the plugins
[ ] create example implementation for some existing things

cc/ @toddself @kristoferjoseph think this might be of interest for y'all; input would be v welcome!

Another cool plugin idea: https://github.com/mafintosh/browser-sync-stream - goes esp. well with offline apps I think

And more codesplitting stuff https://github.com/GoogleChrome/preload-webpack-plugin

I'm sensing https://github.com/yoshuawuyts/nanostack might be a good option to add - but yeah unsure

Can't help but have the feeling we're recreating gulp; but this my best guess at doing a plugin system ghmmm
// single input with transform
var bankai = require('bankai')
var assets = bankai('index.js')
assets.transform(purifyCss()) // optimizes CSS based on HTML, JS
var b = assets.bundle()

b.js().pipe(process.stdout)
b.css().pipe(process.stdout)
b.html().pipe(process.stdout)

// multi JS input
//
// if there's multiple files of the same type, you need to specify which stream
// you're creating
var bankai = require('bankai')
var assets = bankai(['index.js', 'outdex.js'])
assets.transform()
var b = assets.bundle()

b.js('index').pipe(process.stdout)
b.js('outdex').pipe(process.stdout)
b.js('common').pipe(process.stdout)
b.css().pipe(process.stdout)
b.html().pipe(process.stdout)

// render JS to HTML
// is a plugin b/c it needs to change single HTML file to multiple HTML files.
// We wanna copy the labeled-stream-splicer approach browserify has (TBI, lots
// of details here)
var bankai = require('bankai')
var assets = bankai('index.js')
assets.plugin(renderHTMLOnServerSomehow())
var b = assets.bundle()

b.js().pipe(process.stdout)
b.css().pipe(process.stdout)
b.html('/').pipe(process.stdout)
b.html('/mainView').pipe(process.stdout)
b.html('/:otherView').pipe(process.stdout)
b.html('/:and/:another/:one').pipe(process.stdout)

What is the purpose behind b.html('/mainView').pipe(process.stdout)? This is a router?

@karissa it's to select one of many files - in this case renderHTMLOnServerSomehow() creates a file for each route passed, which is then added to html.

to summarize from irc: i'm not sure bankai needs a plugin system.  Sometimes bloat on a developer tool is OK since it takes away the paralysis of choice (eg: standard, tap).  Install size is partially irrelevant (or you wouldn't use it, or you can install it globally), and if you aren't using something that comes with it, you're not increasing my cognitive load for using the product (again, tap comes with a TON of shit I couldn't care less about but I don't really care...)

very good point - closing for now!


kustomizationlist{} results in to much kustomizations n+1

Describe the bug a clear and concise description of what the bug is.
since #55  we have issues with kustomization / kustomizationlist
values.yaml:
            values:
              gitRepository:
                spec:
                  url: https://github.com/xxx.git
                  ref:
                    branch: master
              kustomizationlist:
                - spec:
                    interval: 5m
                    path: ./flux2-kustomize/test
                    prune: true
                    timeout: 5m
                - spec:
                    dependsOn:
                      - path: ./flux2-kustomize/test
                    interval: 5m
                    path: ./flux2-kustomize/configuration
                    prune: true
                    timeout: 5m

results in: 3 kustomizations
flux-system   xxx                                 False   Cluster/xxx namespace not specified, error: the server could not find the requested resource (patch clusters.xxx.io xxx)...   41m

flux-system   xxx-flux2-kustomize-configuration   True    Applied revision: feature/flux2/a98f8afc6581d421c1e8e8b063a0191d4e7075d1                                                                                41m

flux-system   xxx-flux2-kustomize-crossplane      True    Applied revision: feature/flux2/a98f8afc6581d421c1e8e8b063a0191d4e7075d1                                                                                41m

side note:
we have also issues if dependsOn Path and Release Name is more then 63 characters long: https://github.com/fluxcd-community/helm-charts/blob/main/charts/flux2-sync/templates/kustomization.yaml#L75
What's your helm version?
version.BuildInfo{Version:"v3.7.1", GitCommit:"1d11fcb5d3f3bf00dbe6fe31b8412839a96b3dc4", GitTreeState:"clean", GoVersion:"go1.17.2"}
What's your kubectl version?
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"8b5a19147530eaac9476b0ab82980b4088bbc1b2", GitTreeState:"clean", BuildDate:"2021-09-15T21:31:32Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.2-eks-06eac09", GitCommit:"5f6d83fe4cb7febb5f4f4e39b3b2b64ebbbe3e97", GitTreeState:"clean", BuildDate:"2021-09-13T14:20:15Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}
What's the chart version?
0.3.6
What happened?
No response
What you expected to happen?
No response
How to reproduce it?
No response
Enter the changed values of values.yaml?
No response
Enter the command that you execute and failing/misfunctioning.
kubectl
Anything else we need to know?
No response

we found an solution we simply set  - thanks @dwerder
          values:
             gitRepository:
               spec:
                 url: https://github.com/xxx.git
                 ref:
                   branch: master
             kustomization: false
             kustomizationlist:
               - spec:
                   interval: 5m
                   path: ./flux2-kustomize/test
                   prune: true
                   timeout: 5m
               - spec:
                   dependsOn:
                     - path: ./flux2-kustomize/test
                   interval: 5m
                   path: ./flux2-kustomize/configuration
                   prune: true
                   timeout: 5m


page.collection not returning any data

Try as I may, I cannot populate a collection with this page. Note that the page does not have any children (it's pulling the collection from another pages), and if I explicitly define the collection's content in the template it will bring back the data, but I need to fill the collection dynamically as I have several pages.
template (templates/podcast.html.twig):
{% set podcast_collection = page.collection %}
{{ podcast_collection.count }} <!-- this is zero -->
{% for podcast_item in podcast_collection %}
  {{ podcast_item.title }} <!-- this never shows -->
{% endfor %}
...

page (pages/podcasts/podcast-a/podcast.md):
---
title: Podcast A
content:
  items: '@page:/sermons'
  order:
    by: date
    dir: desc
  limit: 100
---

Thanks!

Using {% set podcast_collection = page.collection( {'items':{'@page':'/sermons'} ) %} gives me a collection to work with in the template, but I need to be able to send a different collection of items/pages to another podcast and would prefer to keep the template count low.

You've got a subtle error in your page header. For your use case, items should contain a key-value pair, rather than a string. The twig snippet in your second comment actually shows you doing it this way!
...
content:
  items:
    '@page': '/sermons'
...

https://learn.getgrav.org/16/content/collections#page-or-page-children-collection-of-children-of-a-specific-page

Thanks, and I have tried that. It produces a completely blank page - no errors or anything on my rendered XML template output. What's even more weird is if I create a html.twig template I get site data and not page data, and if I create an xml.twig template I get a totally blank page.

@thejame, there shouldn't be two colons in a line in the YAML front matter; the key-value pair goes on its own line (as in my code snippet above).

Thanks @N-Parsons, I understand the reasoning, but I am still not getting anything back using your proposed method. Either the list is blank or the page is blank. If you call items from another page in another folder, @page should work, right?

Update: I took some code that wasn't even referencing the page collection out of the template and now it renders with the Markdown file. Thank you for the heads-up with the key-value pair rules - that was super helpful to know.


AddSymbolicGradients segfaults internally C++ API

System information

Have I written custom code:
Linux Ubuntu 16.04
TensorFlow installed from source:
TensorFlow version: r1.13 #24493
CPU only
Bazel version: Build label: 0.21.0
GCC/Compiler version: gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
memory: 6GB

Describe the current behavior
AddSymbolicGradients call results in a segmentation fault.
Describe the expected behavior
AddSymbolicGradients should return grads or fail safely within TF_CHECK_OK
Code to reproduce the issue
auto input_slices = Split(scope, 1, x, window_size);

auto initial_state = Fill(scope, {batch_size, state_size}, 0);

vector<Output> states;
states.reserve(window_size+1);
states.push_back(initial_state);

for (int i=0; i!=window_size; i++) {
    auto concat = Concat(scope, InputList(initializer_list<Input>{input_slices[i], states[i]}), 1);
    auto new_state = Tanh(scope, Add(scope, MatMul(scope, concat, w_rnn), b_rnn));
    states.push_back(new_state);
}

// dense output
auto out = Tanh(scope, Add(scope, MatMul(scope, states[window_size], w_dense), b_dense));

// loss function
auto loss = ReduceMean(scope, Square(scope, Sub(scope, out, y)), {0, 1});

vector<Output> grad_outputs;
TF_CHECK_OK(AddSymbolicGradients(scope, {loss}, {w_rnn, w_dense, b_rnn, b_dense}, &grad_outputs));

Other info / logs
gdb where command output:

(gdb) where
#0  0x00005555559b45aa in tensorflow::(anonymous namespace)::SymbolicGradientBuilder::Initialize() ()
#1  0x00005555559b6f1c in tensorflow::AddSymbolicGradients(tensorflow::Scope const&, std::vector<tensorflow::Output, std::allocator<tensorflow::O
utput> > const&, std::vector<tensorflow::Output, std::allocatortensorflow::Output > const&, std::vector<tensorflow::Output, std::allocator > const&, std::vector<tensorflow::Output, std::allocatortensorflow::Output >) ()
#2  0x00005555559b9bb2 in tensorflow::AddSymbolicGradients(tensorflow::Scope const&, std::vector<tensorflow::Output, std::allocator<tensorflow::O
utput> > const&, std::vector<tensorflow::Output, std::allocatortensorflow::Output > const&, std::vector<tensorflow::Output, std::allocator >) ()
#3  0x000055555597ce6c in Rnn::train(Dataset, int, int, int) ()
#4  0x00005555558410d6 in main ()

Variables scope nor vectors should be the issue here. i've tried to unfold the loop without luck. Any hint?

I know the topic is closed, but since I ran into the same problem, I figured I should mention my insights  here. My guess is that the bug is related to the ConcatGrad operation, which gives an empty result when computing gradients with respect to a variable which is one of the constituents of the Concat operation. This could lead to seg-faults, when propagating your gradient to further nodes.
Consider the following examle:
auto x1 = Variable(scope.WithOpName("x1"), {2, 1}, DT_FLOAT);
auto x2 = Variable(scope.WithOpName("x2"), {2, 1}, DT_FLOAT);
auto x = Concat(scope.WithOpName("x"), InputList(std::initializer_list<Output>{x1, x2}), 0);
auto y = MatMul(scope.WithOpName("y"), x, x, MatMul::TransposeA(true));
std::vector<Output> grad;
AddSymbolicGradients(scope.WithOpName("gradient"), {y}, {x1}, &grad);       // grad will be empty

In this case, tf cannot   compute dy/dx1 (thus grad will be an empty list). As a work-around,  either compute dy/dx or  (if you need the derivative of y with respect to x1) eliminate the Concat operation whatsoever, by representing the matmul operation explicitly, e.g. in my example u add two MatMul operations and add them to get the end result.


Remove margin-left from first column?

Hi,
Sorry if this has already been answered, I'd assume it has but is there a way to remove the margin-left from the first column and have the other columns adjust to that?
Version I'm using is 2.1.0.

I've been having trouble with this one too- and will be interested to see what the answer is.
I haven't been able to find a solution so far.
It would be nice to have a "gutter position" option in the Neat Grid settings, similar to Susy 2, where you can define your gutters to be added as margin before, after or split (on both sides) of each grid column.

You may be looking for @include grid-collapse; - which consumes the gutters to create the equivalent of a container that visually has no margin left/right.

We should document this on http://neat.bourbon.io/examples/
Would anyone like to open a PR on thoughtbot/neat.bourbon.io to do that?

@include grid-collapse; isn't quite what I was looking for, that removes all margin from all of the columns. What I mean is the first column for some reason has margin which I want to remove but have the other columns adjust to that to fill out the container. I've attatched an image to show what I mean.

I used to use version 1.7.0 which didn't have this issue.

Nevermind, removed my old comment. Seems using @include grid-collapse; on the parent container does solve the issue, strange that this isn't default as I remember it being so on the older versions of Neat.

I believe it is documented on the examples already under the Nest one grid inside another section http://neat.bourbon.io/examples/

I was thinking someone might skip over that and not realize the purpose of grid-collapse if they aren’t looking for nested grids.

I'll work on adding an example to the pages so that it is more clear. In the mean time, @dayul, you can see more of just how grid-collapse works over at https://robots.thoughtbot.com/nesting-grids-with-neat-2.

"Nesting" grids seemed to be the most common end-goal in the 1.x issues, and requests for documentation in the 2.x issues. Although a desire to remove the left-margin is effectively the same thing, I don't see a lot of requests that go straight to this end. Putting one grid a column of another seems to be much more common.


CBR bitrate calculations should consider factors other than resolution

Currently, we only use the resolution to determine our -b:v and -maxrate argument values. However, we should consider other factors in this calculation:

The hard cap file size limit of 200 MB.
The duration of the cut
If we are downscaling the source video

No one should be using this bitrate control mode unless something is wrong. This should be low priority IMO.


OIDC Tailscale logout prevents future logins - unless node is manually deleted and node ID is incremented

Bug description and To Reproduce
After intial OIDC login using Okta and Ubuntu client - all is good and connected
9  | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg]    | [O5xet] | felix | <IP_ADDRESS>, fd7a:115c:a1e0::1 | false     | 2024-01-29 18:39:35 | 2024-07-27 18:39:35 | online    | no
When using "tailscale logout" node is set to "expired" and "offline" - all is good and disconnected
9  | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg]    | [O5xet] | felix | <IP_ADDRESS>, fd7a:115c:a1e0::1 | false     | 2024-01-29 18:39:51 | 2024-01-29 18:39:52 | offline   | yes
Trying to reconnect with "tailscale up --login-server https://cloud.xxxx.yy --reset" - Web OIDC flow is ok, Ubuntu client just hangs
headscale-1      | 2024-01-29T18:41:42Z DBG go/src/headscale/hscontrol/oidc.go:102 > Received oidc register call machine_key=mkey:787dc6830b29f29b5c78c1e5e9678be22b5675109e77a372defdd2518a144d50 ok=true
headscale-1      | 2024-01-29T18:41:42Z DBG Redirecting to https://trial-5107038.okta.com/oauth2/v1/authorize?client_id=0oab2ph6iz3xPp6Xs697&redirect_uri=https%3A%2F%2Fcloud.xxxx.yy%2Foidc%2Fcallback&response_type=code&scope=openid+profile+email&state=02f3fa1ce4075237cf69d9fd130e1893 for authentication
headscale-1      | 2024-01-29T18:41:42Z DBG go/src/headscale/hscontrol/oidc.go:102 > Received oidc register call machine_key=mkey:787dc6830b29f29b5c78c1e5e9678be22b5675109e77a372defdd2518a144d50 ok=true
headscale-1      | 2024-01-29T18:41:42Z DBG Redirecting to https://trial-5107038.okta.com/oauth2/v1/authorize?client_id=0oab2ph6iz3xPp6Xs697&redirect_uri=https%3A%2F%2Fcloud.xxxx.yy%2Foidc%2Fcallback&response_type=code&scope=openid+profile+email&state=cd5603f60cbc34ecaa4c7429ffb1d620 for authentication
headscale-1      | 2024-01-29T18:41:43Z ERR noise upgrade failed error="noise handshake failed: decrypting machine key: chacha20poly1305: message authentication failed"
headscale-1      | 2024/01/29 18:41:43 http: response.WriteHeader on hijacked connection from github.com/juanfont/headscale/hscontrol.(*Headscale).NoiseUpgradeHandler (noise.go:84)
headscale-1      | 2024/01/29 18:41:43 http: response.Write on hijacked connection from fmt.Fprintln (print.go:305)
headscale-1      | 2024-01-29T18:41:46Z DBG New noise client cap_ver=85 handler=/key
headscale-1      | 2024-01-29T18:41:46Z DBG successfully refreshed node expiresAt="2024-07-27 18:41:46.737673873 +0000 UTC m=+15553611.235251311" node=parsec-sto-p01
headscale-1      | 2024-01-29T18:41:52Z DBG New noise client cap_ver=85 handler=/key
headscale-1      | 2024-01-29T18:41:57Z DBG New noise client cap_ver=85 handler=/key
9  | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg]    | [O5xet] | felix | <IP_ADDRESS>, fd7a:115c:a1e0::1 | false     | 2024-01-29 18:39:51 | 2024-07-27 18:41:46 | offline   | no
"docker exec headscale-headscale-1 headscale nodes delete -i 9 --force"
"systemctl restart tailscaled.service && tailscale up --login-server https://cloud.xxxx.yy"
9  | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg]    | [FgWr6] | felix | <IP_ADDRESS>, fd7a:115c:a1e0::1 | false     | 2024-01-29 18:39:51 | 2024-07-27 18:44:09 | offline   | no
Still no go...
"docker exec headscale-headscale-1 headscale nodes delete -i 9 --force"
"systemctl restart tailscaled.service && tailscale up --login-server https://cloud.xxxx.yy"
10 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg]    | [Csd42] | felix | <IP_ADDRESS>, fd7a:115c:a1e0::1 | false     | 2024-01-29 18:45:54 | 2024-07-27 18:45:50 | online    | no
Then all is good and connected, so it seems like it will only work when node ID is different

Environment
I can see docker and reverse proxy is not supported, I will try and replicate it native - but for now, if anyone have any clues do let me know :)
Docker "image: headscale/headscale:0.23.0-alpha3"
Client Ubuntu and Tailscale client version 1.58.2

[x] Headscale is behind a (reverse) proxy
[x] Headscale runs in a container

Ok! this seems to work fine on Native version..Great!
Felix


go-ethereum: 1.9.0 -> 1.9.1

Motivation for this change
Update go-ethereum to the latest release.

https://github.com/ethereum/go-ethereum/releases/tag/v1.9.1

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Hello @adisbladis @asymmetric @lionello go-ethereum is updated. Please review this PR, thank you very much!
@adisbladis please call @GrahamcOfBorg for building go-ethereum on Darwin

@GrahamcOfBorg build go-ethereum

Thanks!


[Adding a Binary Tree Problem]

Symmetric Tree | LeetCode | 101
Detailed Description
I want to add a question on Binary Tree, which LeetCode famous problem Symmetric tree. This problem is solved using DFS
Context
Well, I wanted to participate in hacktoberfest and so providing a value to the open source is always a good thing.
They can understand multiple topics like recursion, what is DFS. And also it will encourage them towards problem solving skills.

To participate in the Octoberfest,

create a contribution appropriate for this repo
Review the repo's aims and objectives and the coding standards. Lot of documentation and samples are provided.
Create a pull-request from your fork of this repo. Ensure you follow the checklist thoroughly.

Creating issues does not help in Octoberfest.
Thank you


Feature/260 profile assigned rectype

Warning
Info
Issues
Fixes #260.

Warning: do NOT merge this until #255 is merged.

@paulmalenke ~ could you please review and merge this when you have the chance? This is just to avoid test failures when the default Account record type assigned to the default is Administrative, Household Account, or Business Organization.


chore: Update scala to 3.3.4

test with 3.3.4-RC2

https://github.com/apache/pekko/actions/runs/10808811742/job/29982581675?pr=1474#step:8:646
@WojciechMazurreport mima issue now.

These are IncompatibleSignatureProblems, which do not necessarily have to be problematic (https://github.com/lightbend-labs/mima#incompatiblesignatureproblem), but indeed might be worth looking into.

See https://github.com/apache/pekko-connectors/pull/749/ - has similar mima issues and some comments from the Dotty team.

Here's the reproducer:
import scala.annotation.unchecked.uncheckedVariance

object scaladsl{
  trait FlowOpsMat[+Out, +Mat] {
    type Repr[+O] <: ReprMat[O, Mat] {
      type Repr[+OO] = FlowOpsMat.this.Repr[OO]
      type ReprMat[+OO, +MM] = FlowOpsMat.this.ReprMat[OO, MM]
    }
    type ReprMat[+O, +M] <: FlowOpsMat[O, M] {
      type Repr[+OO] = FlowOpsMat.this.ReprMat[OO, M @uncheckedVariance]
      type ReprMat[+OO, +MM] = FlowOpsMat.this.ReprMat[OO, MM]
    }
  }
  trait FlowOps[+Out, +Mat] {
    type Repr[+O] <: FlowOps[O, Mat] {
      type Repr[+OO] = FlowOps.this.Repr[OO]
    }
  }
  trait SubFlow[+Out, +Mat, +F[+_], C] extends FlowOps[Out, Mat] {
    override type Repr[+T] = SubFlow[T, Mat @uncheckedVariance, F @uncheckedVariance, C @uncheckedVariance]
  }
  final class Flow[-In, +Out, +Mat] extends FlowOpsMat[Out, Mat]{
    override type Repr[+O] = Flow[In @uncheckedVariance, O, Mat @uncheckedVariance]
    override type ReprMat[+O, +M] = Flow[In @uncheckedVariance, O, M]
  }
  final class Sink[-In, +Mat]

}
class SubFlow[In, Out, Mat](
    delegate: scaladsl.SubFlow[Out, Mat, scaladsl.Flow[In, Out, Mat]#Repr, scaladsl.Sink[In, Mat]]) {

  def asScala: scaladsl.SubFlow[Out, Mat, scaladsl.Flow[In, Out, Mat]#Repr, scaladsl.Sink[In, Mat]] @uncheckedVariance =
    delegate
}

Compilation with both Scala 2.13 and 3.3.4-RC2 would produce the following signatures:
 private final scaladsl$SubFlow<Out, Mat, ?, scaladsl$Sink<In, Mat>> delegate;
    descriptor: Lscaladsl$SubFlow;
    Signature: #19                          // Lscaladsl$SubFlow<TOut;TMat;*Lscaladsl$Sink<TIn;TMat;>;>;

  public scaladsl$SubFlow<Out, Mat, ?, scaladsl$Sink<In, Mat>> asScala();
    descriptor: ()Lscaladsl$SubFlow;
    Signature: #22                          // ()Lscaladsl$SubFlow<TOut;TMat;*Lscaladsl$Sink<TIn;TMat;>;>;

In Scala 3.3.3 we were generating
 private final scaladsl$SubFlow<Out, Mat, scaladsl$Flow<In, java.lang.Object, Mat>, scaladsl$Sink<In, Mat>> delegate;
    descriptor: Lscaladsl$SubFlow;
    Signature: #19                          // Lscaladsl$SubFlow<TOut;TMat;Lscaladsl$Flow<TIn;Ljava/lang/Object;TMat;>;Lscaladsl$Sink<TIn;TMat;>;>;

  public SubFlow(scaladsl$SubFlow<Out, Mat, scaladsl$Flow<In, java.lang.Object, Mat>, scaladsl$Sink<In, Mat>>);
    descriptor: (Lscaladsl$SubFlow;)V
    Signature: #22                          // (Lscaladsl$SubFlow<TOut;TMat;Lscaladsl$Flow<TIn;Ljava/lang/Object;TMat;>;Lscaladsl$Sink<TIn;TMat;>;>;)V

tl;dr
In 3.3.3 Flow[In, Out, Repr]#Repr was dealiased, but in Scala 2.13 and 3.3.4-RC1/RC2 it is a wildcard param type.

Not immediately obvious to me. Maybe someone can narrow it down to a minimal self-contained reproducer?

Not immediately obvious to me. Maybe someone can narrow it down to a minimal self-contained reproducer?

Here's further minimization using both contravariant and covaraint param types
import scala.annotation.unchecked.uncheckedVariance

trait SubFlowDef[+F[+_]]
final class Flow1[-In]{
  type Repr[+O] = Flow1[In @uncheckedVariance]
}
final class Flow2[+Out]{
  type Repr[+O] = Flow2[O]
}
class SubFlow[In, Out](
    delegate1: SubFlowDef[Flow1[In]#Repr],
    delegate2: SubFlowDef[Flow2[Out]#Repr]
)

Signatures:
Scala 3.3.4-RC2  /  3.5.0
  public SubFlow(SubFlowDef<?>, SubFlowDef<Flow2>);
    descriptor: (LSubFlowDef;LSubFlowDef;)V
    Signature: #9                           // (LSubFlowDef<*>;LSubFlowDef<LFlow2;>;)V

Scala 2.13
  public SubFlow(SubFlowDef<?>, SubFlowDef<?>);
    descriptor: (LSubFlowDef;LSubFlowDef;)V
    Signature: #12                          // (LSubFlowDef<*>;LSubFlowDef<*>;)V

Scala 3.3.3
  public SubFlow(SubFlowDef<Flow1<In>>, SubFlowDef<Flow2<java.lang.Object>>);
    descriptor: (LSubFlowDef;LSubFlowDef;)V
    Signature: #9                           // (LSubFlowDef<LFlow1<TIn;>;>;LSubFlowDef<LFlow2<Ljava/lang/Object;>;>;)V

@lrytz / @sjrd I believe it was introduced in scala/scala3#20463

I did a quick test with the current scala3/main brancht, the signature change doesn't seem to be caused by this PR.

I've bisected the compiler and found out it was due to change in the typer - https://github.com/scala/scala3/issues/21576#issuecomment-2353239314. I also suggest to move further discussions to dedicated compiler issue.

👍  sorry I missed the scala3 ticket

The change introducing change to generic signatures of HKT was reverted in 3.3.4-RC4. I've tested locally that it no longer triggers invalid generic signature errors in Pekko. It's because covariant Higher Kinded Types were producing invalid signatures (not following spec).
The change to generic signatures of value classes(issue in pekko-connectors) would still be shipped - it's a bugfix to incorrect signatures.

There's some weird thing going in the persistence-typed-tests/testOnly org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingContextLoggerSpec
From what I've observed locally test fails if  withLoggerName is set to org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingSpec$ChattyEventSourcingBehavior$ but passed if it's set to org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingSpec$
I would be grateful for any pointers as to why it might happened, so we can prepare a reproducer.

The outputs of LoggerClass.detectLoggerClassFromStack has changed:
In 3.3.3:
org.apache.pekko.actor.typed.internal.LoggerClass$TrickySecurityManager
org.apache.pekko.actor.typed.internal.LoggerClass$
org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior$
org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingSpec$ChattyEventSourcingBehavior$ // picked
org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingSpec$ChattyEventSourcingBehavior$$$Lambda$472/640362889
org.apache.pekko.actor.typed.internal.BehaviorImpl$DeferredBehavior$$anon$2
...

in 3.3.4
org.apache.pekko.actor.typed.internal.LoggerClass$TrickySecurityManager
org.apache.pekko.actor.typed.internal.LoggerClass$
org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior$
org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingSpec$ // picked
org.apache.pekko.persistence.typed.EventSourcedBehaviorLoggingSpec$ChattyEventSourcingBehavior$$$Lambda$472/245565542
...

I belive it was introduced in https://github.com/scala/scala3/pull/19803 but need to confirm it yet. Mentioned PR optimized generated code in such a way that it allowed some unused value to be skipped.

Actually, the change was introduced in https://github.com/scala/scala3/pull/19251 It affects all Scala versions since 3.4.0 and now was backported to 3.3.4.
I agree with the PR comments that it should be backported, but I'd like to your comments on that topic.

@WojciechMazur thanks for your research on this latest issue with those log capturing test scenarios.
It would be nice if Scala 3.3.4 was able to handle the existing way these tests run but if not, the Pekko team will have to decide on whether

to stick with Scala 3.3.3 for the Pekko 1.1 branch and update Scala when we start dev on Pekko 1.2/2.0
or adjust the logger names in the test case so that we work around the issue with the inner class and upgrade Scala to 3.3.4 - and release note the issue so users are aware of it

I would opt for the second solution. If the user of pekko is compiling its project using 3.4.0 or later, then the new behavior is already applied to them. End users (applications) are encouraged to use the latest Scala version (Scala Next series) so they might already be dealing with it.
The logger class detection happens at the place of behaviour definition, so it's outside pekko project.

I think previous behaviour can be restored with a slow amount of overhead. What's important here is the fact that we should search for $$Lambda$ entries in the call stack. Based on that we can find the original declaring owner class.
I've made a quick gist with reproducer or the problem and it's fix https://gist.github.com/WojciechMazur/50b68f22a39a71a3c00dc1966ef49f5b
I've tested it to work correctly in all Scala versions  (2.12.20, 2.13.14, 3.3.3, 3.3.4-RC4, 3.6.0-Nightly)
What's more by having a little more of additional overhead at the time of behaviour definition, you'd be able to have a consistent behaviour for Scala 3.4.0+ users right now

see #1506


For charts without repo, don't offer to check for updates

Instead, change the "Check for new version" into a message to add the missing repository.
This was mentioned in comments of #23

Are we good to close this issue?

Yes, it's good. If you place "Fixes #52" into PR description, GH would close it automatically


Store Plug.SSL plug in endpoint module attribute

📖 Description
Inspired by this blog post by Dashbit, I took the Plug.SSL.init call and moved it to a module attribute since it doesn’t depend on any runtime environment variables.

🦀 Requesting reviewers for this pull request:

@Boubalou (contributor with 4 commits in the last 90 days and 10 commits overall)
@garno (expert reviewer for the elixir stack)


deprecate undocumented options

Oh. I just found this after updating to v2.6.0, as I was using some those having found them in the command line API help:
$ pip install reorder-python-imports==2.5.0
...
$ reorder-python-imports --help
...
  --separate-relative   Separate explicit relative (`from . import
                        ...`) imports into a separate block.
  --separate-from-import
                        Separate `from xx import xx` imports from
                        `import xx` imports with a new line.
...

I found the output more visually pleasing with those as separate blocks, but it is a personal aesthetic choice.

yeah I'm slimming down the complexity and intentionally reducing the choices

That's too bad, I like the separation those options provide as well.


What about a docker Container for it ?

Hi !
thank you very much for this great peace of software. Did you ever think about to make a docker container for this ?!

Not really, … but it makes sense and should be fairly easy. I will put it on my TODO list.

thanks ;) and best regards also from germany  !

I just wrote and pushed a little Docker file. Please give this a try. If it's working well for you, i will add a little section to the readme about it.
docker run -t -v ~/Downloads/:/data/ efenka/mtv_dl list

(Of course you need to modify the command to match your downloads directory.)

work with dockercompose
looksgood
version: '3.3'
services:
mtv_dl:
volumes:
- '~/Downloads/:/data/'
image: efenka/mtv_dl
sepearte config folder would be nice - with sample configs
so seperate config and downloads

If you already have a config file, could you not simply mount it into the container? Source of this file can be wherever you want.
version: '3.3'
  services:
    mtv_dl:
      image: efenka/mtv_dl
      volumes:
        - '~/Downloads/:/data/'
        - '~/.mtv_dl.yml:/root/.mtv_dl.yml'

@xsasx Did the config file solution work for you?


Question:

What is your question?
During the execution of the Local-ColabFold by the following command, it encounters a problem. The error file was attached.
$ colabfold_batch --amber --templates --num-recycle 3 --use-gpu-relax --zip inputfile outputdir/
Computational environment

OS: [Ubuntu 22.04]
CUDA version if Linux (11.7)

colabfold_error.txt

I guess there was an error when you download the alphafold2 weights parameters. Delete /home/protein-institute/ROSETTA/rosetta_bin_linux_2020.08.61146_bundle/local-colabfold/colabfold_batch/colabfold directory and run again.

This is not possible because local-colabfold is installed in this directory

The problem persists even after removing the colabfold directory.

There is no problem with my network, but I have no idea why alphafold weights download was disrupted.

I have no idea to fix it. Try deleting the colabfold_batch directory and install again. I think the error is not due to the installation itself.

thanks for your attention, I hope to solve this problem

Is it possible to manually download alphafold parameters? In Discord, some have given this answer to solve this problem:
Taking a step back: Is your machine connected to the web (i.e. port 80 & 443, regardless of port 22 & co.)? I.e. if you ping google.com, do you get something?
If so: https://github.com/sokrypton/ColabFold/blob/4b86ef10e319cfb6102dbb676e3720c5d9bab9e4/colabfold/download.py#L15 has the urls, so just curl them.

On Linux, the parameter files will be downloaded in .../local-colabfold/colabfold_batch/colabfold and the directory should be like this:
colabfold_batch
├── bin
│   └── colabfold_batch
├── colabfold
│   └── params
│       ├── download_complexes_finished.txt
│       ├── download_complexes_multimer-v2_finished.txt
│       ├── download_finished.txt
│       ├── LICENSE
│       ├── params_model_1_multimer.npz
│       ├── params_model_1_multimer_v2.npz
│       ├── params_model_1.npz
│       ├── params_model_1_ptm.npz
│       ├── params_model_2_multimer.npz
│       ├── params_model_2_multimer_v2.npz
│       ├── params_model_2.npz
│       ├── params_model_2_ptm.npz
│       ├── params_model_3_multimer.npz
│       ├── params_model_3_multimer_v2.npz
│       ├── params_model_3.npz
│       ├── params_model_3_ptm.npz
│       ├── params_model_4_multimer.npz
│       ├── params_model_4_multimer_v2.npz
│       ├── params_model_4.npz
│       ├── params_model_4_ptm.npz
│       ├── params_model_5_multimer.npz
│       ├── params_model_5_multimer_v2.npz
│       ├── params_model_5.npz
│       └── params_model_5_ptm.npz
├── colabfold-conda
│   ├── bin
...
│   └── x86_64-conda-linux-gnu
├── conda
│   ├── bin
...
│   └── x86_64-conda-linux-gnu
├── matplotlib
│   ├── fontlist-v310.json
│   └── tex.cache
└── update_linux.sh

So, If you want to download the parameters manually,
mkdir -p /home/protein-institute/ROSETTA/rosetta_bin_linux_2020.08.61146_bundle/local-colabfold/local-colabfold/colabfold_batch/colabfold
cd /home/protein-institute/ROSETTA/rosetta_bin_linux_2020.08.61146_bundle/local-colabfold/local-colabfold/colabfold_batch/colabfold
wget https://storage.googleapis.com/alphafold/alphafold_params_colab_2022-03-02.tar
tar -xvf alphafold_params_colab_2022-03-02.tar
touch download_complexes_multimer-v2_finished.txt
wget https://storage.googleapis.com/alphafold/alphafold_params_colab_2021-10-27.tar
tar -xvf alphafold_params_colab_2021-10-27.tar
touch download_complexes_multimer-v1_finished.txt
wget https://storage.googleapis.com/alphafold/alphafold_params_2021-07-14.tar
tar -xvf alphafold_params_2021-07-14.tar
touch download_finished.txt

After executing the commands, make sure the parameters and the marker txt files are present in the directory.

I uploaded the contents of the params directory, as well as the fasta file and error file.

Usually, the header line in FASTA format must have some character after the >. For example, >test.

Thank you for your patience and response.

From the source code, I installed Cuda version 11.7. Additionally, Cuda 11.1 was installed during the installation of local-colabfold using Conda.

Please show me the output of nvcc --version (or /usr/local/cuda/bin/nvcc --version), not of nvidia-smi.

ls -ltr for params directory.

Hm, your environment seems no problem. My machine is also cuda_11.7.
When someone had a similar issue to this before, reinstalling colabfold_batch or rebooting the machine was the solution. Once you have moved that params directory somewhere else, delete that colabfold_batch directory, reinstall, reboot, put the params directory back in, and try again the prediction.

I have not moved the params path. The problem persists despite rebooting the system.

Even by reinstalling the colabfold, the problem was not solved.

I've just realized now that your GPU's VRAM 2048MiB (= 2GiB) is too small to run (local)colabfold. nvidia-smi showed the capacity. That's the cause of RESOURCE_EXHAUSTED: Out of memory while trying to allocate 3145728 bytes. error. Namely, the sequence you want to predict is beyond the limitation of your GPU. The GPU can only predict up to about 20-30 amino acids. You need a more high-grade GPU (e.g. RTX3060, VRAM 12GB) to run ~900 a.a..

My goal at this point is to make sure the Local-colabfold is installed correctly. Even for sequences of 8 amino acids, I receive the same error.

even for one residue, I get the same error.
error.txt

My goal at this point is to make sure the Local-colabfold is installed correctly.

Add --cpu option to run without GPU. If the prediction completes, the installation was finished correctly.
Since I haven't tested if AlphaFold/Colabfold works on a PC with such a small GPU, I can't provide further support.

cool, local-colabfold executed.

That's strange. Your openmm (simtk) module in the colabfold-conda/lib/python3.7/site-packages seems updated from version 7.5.1 for some reason. One solution is to install the version again in the colabfold's conda environment.

I removed openmm v7.7 and installed v7.5.1 using conda install -c conda-forge openmm=7.5.1, but the error still persists.

Is there really simtk directory in colabfold-conda/lib/python3.7/site-packages? Make sure your conda environment is colabfold-conda's conda.

Yes, it is available in this directory.

No, there is no simtk directory in the screenshot.

What is the best way to install the simtk in ubutnu 22.04?

The simtk directory is installed by conda install -c conda-forge openmm==7.5.1 as implemented in line 19 of the installation script install_colabbatch_linux.sh.
I guess you always turn on another conda environment, but it may do the installation harm. Please test the install script again after you deactivate your conda environment completely. If it is still not corrected, I am no longer able to point out what the cause is.

it's my conda-env in bashrc file:

The simtk directory is installed by conda install -c conda-forge openmm==7.5.1 as implemented in line 19 of the installation script install_colabbatch_linux.sh. I guess you always turn on another conda environment, but it may do the installation harm. Please test the install script again after you deactivate your conda environment completely. If it is still not corrected, I am no longer able to point out what the cause is.

The problem was solved by changing the Conda environment.

Great! I'll update README.md to deactivate conda environment! Then, did your prediction work well with --amber and without --cpu for the test fasta file?

Great! I'll update README.md to deactivate conda environment! Then, did your prediction work well with --amber and without --cpu for the test fasta file?

just this command work for me:
colabfold_batch --amber --templates --num-recycle 1  --cpu  input output/
but with the below command I get an error:
colabfold_batch --amber --templates --num-recycle 1 --use-gpu-relax --cpu  input output/

with --use-gpu-relax and without --cpu i get the below error:

even after running pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_releases.html i get same error.

It would be great if you could provide an example fatsta file for both monomer and multimer local-collabfold modes. I currently want to run the multimer mode, but I don't know what features the fasta file should have, and I don't know how to specify the number of mers in the multimer mode?

ERROR Jax could not find GPU.

Then, it seems that your GPU does not support jax and you cannot execute localcolabfold using the GPU. Try on a computer with GeForce 30 series. But, all other functions are working!

Thanks, Is the quality of the structures predicted by Alphafold installed from the source code different from the structures predicted by local-colabfold?

Thanks, Is the quality of the structures predicted by Alphafold installed from the source code different from the structures predicted by local-colabfold?

Is the quality of the structures predicted by Alphafold installed from the source code different from the structures predicted by local-colabfold?

There's (almost) no difference between AlphaFold and (local)colabfold if MSAs used are the same since the engine of structure inference of colabfold is identical. The quality of structure mainly depends on the number of the MSAs.


Establish a new client for each Kubernetes namespace.

Currently, the k8s namer builds a single client at configuration-time.  In
theory, this is fine, but we have observed odd hanging behavior, as
described by #83.
Anecdotally, establishing a new client for each namespace has resolved this
issue in the past.  This does not provide a real fix for the issue, though it
may offer some relief for the issue while we establish a more robust fix.

:+1: looks good, sorry for the tracer conflict!

lgtm :+1: :star:

rebased

rebase looks good

:star: :computer: Looks good.


update flutter_compass

solve https://github.com/tlserver/flutter_map_location_marker/issues/7

Thanks you for reminder! Updated dependencies.


NOT WORKING WITH RUNTIME PYTHON >3.7

I am trying to deploy lambda with python3.9 or 3.8 getting errors not scanning doing scanning only with runtime python3.7

@jacek99 @smellman

Are these libmagic-related? That's what I saw when upgrading. THe underlying issue is likely to be that Lambda with Python 3.8+ uses Amazon Linux 2 underneath; earlier Pythons use Amazon Linux 1.

Are these libmagic-related? That's what I saw when upgrading. THe underlying issue is likely to be that Lambda with Python 3.8+ uses Amazon Linux 2 underneath; earlier Pythons use Amazon Linux 1.

whats the solution to use this with python >=3.8? @allanlewis

@gonovanatasha I haven't had time to look into this further. I tried upgrading the libmagic bindings but that didn't help. It might be that we need to use a different binding - I recall there being an alternative implementation.

@allanlewis i need this to be resolved like it should work on python 3.9 atleast

@allanlewis i need this to be resolved...

Ask the maintainers, I was just trying to add some context to the issue.

@jdepp please look into this matter

For those who need help getting the lambda function working with Python 3.7+, here is the Dockerfile I am using. Be warned that I am deploying the lambda function as a container and not as a zip file. You might have to change a view things but hope this can help someone.
FROM --platform=linux/x86_64 public.ecr.aws/lambda/python:3.9

# Set up working directories
RUN mkdir -p /opt/app/clamav

# Copy in the lambda source
WORKDIR /opt/app/clamav
COPY ./*.py ${LAMBDA_TASK_ROOT}
COPY requirements.txt /opt/app/clamav/requirements.txt

# update security
RUN : \
    && yum -y update --security \
    && yum clean all \
    && rm -rf /var/cache/yum \
    && :

# Install required packages
RUN : \
    && yum update -y \
    && yum install -y \
        cpio \
        yum-utils \
        zip \
        libtool-ltdl \
        binutils \
    && yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
    && pip3 install -r /opt/app/clamav/requirements.txt --target "${LAMBDA_TASK_ROOT}" \
    && yum clean all \
    && rm -rf /var/cache/yum \
    && :

# Download libraries we need to run in lambda
WORKDIR /tmp
RUN yumdownloader -x \*i686 --archlist=x86_64 \
  clamav \
  clamav-lib \
  clamav-scanner-systemd \
  clamav-update \
  elfutils-libs \
  json-c \
  lz4 \
  pcre2 \
  systemd-libs \
  libprelude \
  gnutls \
  libtasn1 \
  lib64nettle \
  nettle

RUN rpm2cpio clamav-0*.rpm | cpio -idmv
RUN rpm2cpio clamav-lib*.rpm | cpio -idmv
RUN rpm2cpio clamav-update*.rpm | cpio -idmv
RUN rpm2cpio clamd-0*.rpm | cpio -idmv
RUN rpm2cpio elfutils-libs*.rpm | cpio -idmv
RUN rpm2cpio json-c*.rpm | cpio -idmv
RUN rpm2cpio lz4*.rpm | cpio -idmv
RUN rpm2cpio pcre*.rpm | cpio -idmv
RUN rpm2cpio systemd-libs*.rpm | cpio -idmv
RUN rpm2cpio gnutls* | cpio -idmv
RUN rpm2cpio nettle* | cpio -idmv
RUN rpm2cpio lib* | cpio -idmv
RUN rpm2cpio *.rpm | cpio -idmv
RUN rpm2cpio libtasn1* | cpio -idmv

# Copy over the binaries and libraries
RUN cp -r /tmp/usr/bin/clamdscan \
       /tmp/usr/sbin/clamd \
       /tmp/usr/bin/freshclam \
       /tmp/usr/lib64/* \
       /opt/app/clamav/

# Configure the scan.conf file
RUN echo "DatabaseDirectory /tmp/clamav_defs" > /opt/app/clamav/scan.conf
RUN echo "PidFile /tmp/clamd.pid" >> /opt/app/clamav/scan.conf
RUN echo "LocalSocket /tmp/clamd.sock" >> /opt/app/clamav/scan.conf
RUN echo "LogFile /tmp/clamd.log" >> /opt/app/clamav/scan.conf

# Fix the freshclam.conf settings
RUN echo "DatabaseMirror database.clamav.net" > /opt/app/clamav/freshclam.conf
RUN echo "CompressLocalDatabase yes" >> /opt/app/clamav/freshclam.conf

# Set working dir for lambda
WORKDIR /opt/app/clamav

Thank you so much @GonzalezAndrew for your solution. Please find below the Dockerfile that works for the current master branch code for anyone who wants to keep the same behavior of ClamAV that it is provided by this repo
FROM --platform=linux/x86_64 public.ecr.aws/lambda/python:3.9

# Set up working directories
RUN mkdir -p /opt/app
RUN mkdir -p /opt/app/build
RUN mkdir -p /opt/app/bin/

# Copy in the lambda source
WORKDIR /opt/app
COPY ./*.py /opt/app/
COPY requirements.txt /opt/app/requirements.txt

# Install packages
# update security
RUN : \
    && yum -y update --security \
    && yum clean all \
    && rm -rf /var/cache/yum \
    && :

# This had --no-cache-dir, tracing through multiple tickets led to a problem in wheel
# Install required packages
RUN : \
    && yum update -y \
    && yum install -y \
        cpio \
        python3 \
        python3-pip \
        yum-utils \
        zip \
        unzip \
        less \
        libtool-ltdl \
        binutils \
    && yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
    && pip3 install -r /opt/app/requirements.txt \
    && yum clean all \
    && rm -rf /var/cache/yum \
    && :

# Download libraries we need to run in lambda
WORKDIR /tmp
RUN yumdownloader -x \*i686 --archlist=x86_64 \
  clamav \
  clamav-lib \
  clamav-scanner-systemd \
  clamav-update \
  elfutils-libs \
  json-c \
  lz4 \
  pcre2 \
  systemd-libs \
  libprelude \
  gnutls \
  libtasn1 \
  lib64nettle \
  nettle

RUN rpm2cpio clamav-0*.rpm | cpio -idmv
RUN rpm2cpio clamav-lib*.rpm | cpio -idmv
RUN rpm2cpio clamav-update*.rpm | cpio -idmv
RUN rpm2cpio clamd-0*.rpm | cpio -idmv
RUN rpm2cpio elfutils-libs*.rpm | cpio -idmv
RUN rpm2cpio json-c*.rpm | cpio -idmv
RUN rpm2cpio lz4*.rpm | cpio -idmv
RUN rpm2cpio pcre*.rpm | cpio -idmv
RUN rpm2cpio systemd-libs*.rpm | cpio -idmv
RUN rpm2cpio gnutls* | cpio -idmv
RUN rpm2cpio nettle* | cpio -idmv
RUN rpm2cpio lib* | cpio -idmv
RUN rpm2cpio *.rpm | cpio -idmv
RUN rpm2cpio libtasn1* | cpio -idmv

# Copy over the binaries and libraries
RUN cp -r /tmp/usr/bin/clamscan /tmp/usr/bin/freshclam /tmp/usr/lib64/* /opt/app/bin/

# Fix the freshclam.conf settings
RUN echo "DatabaseMirror database.clamav.net" > /opt/app/bin/freshclam.conf
RUN echo "CompressLocalDatabase yes" >> /opt/app/bin/freshclam.conf

# Create the zip file
WORKDIR /opt/app
RUN zip -r9 --exclude="*test*" /opt/app/build/lambda.zip *.py bin

WORKDIR /var/lang/lib/python3.9/site-packages
RUN zip -r9 /opt/app/build/lambda.zip *

WORKDIR /opt/app

Hope this helps!

./bin/clamscan: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory
getting above error while implementing your solution @JihadMotii-REISys  @GonzalezAndrew

if you guys have lambda.zip  working in python3.9 please share @allanlewis @JihadMotii-REISys @GonzalezAndrew @jacek99

@gonovanatasha from your error output, it seems that the file you are trying to scan does not exists. Try to revisit your implementation or ensure your file exists that you wish to scan.

@GonzalezAndrew while uploading file and runtime selected python3.9 its showing error.otherwise with python3.7 with same file its working. If you have lambda.zip for python3.9 please share

@gonovanatasha please review @JihadMotii-REISys comment and follow the instruction of the readme on how to deploy the lambda. I cannot share a zip with you.

@GonzalezAndrew already following @JihadMotii-REISys but still getting error with python3.9.

@GonzalezAndrew for your solution what is the entry point and cmd command ?

Thanks Guys For contribution @GonzalezAndrew  @allanlewis  @JihadMotii-REISys


Throttling Affecting PageHeader

Appears pageheader drawn back button arrow takes couple of seconds now to display each time a navigation occurs?  Even worse on mobile devices...

Please check again. I resolve that this afternoon. I think you might have gotten latest in between my sync. :) Please close this issue if you find it to resolved.

Meant to close sorry


fix: remove storybook assets from shipped output

Description
Remove the storybook assets from the shipped output for components. These assets can cause issues downstream due to their dependencies on other Storybook packages in the project. For projects using automated dependency tooling, they might flag these dependencies as missing from the component.
How and where has this been tested?
Please tag yourself on the tests you've marked complete to confirm the tests have been run by someone other than the author.
To-do list

[x] I have read the contribution guidelines.
[x] ✨ This pull request is ready to merge. ✨

It looks like this may have had a negative side effect of making the publish check fail due to imports not being resolved.

Good point!  I pushed up an alias'ing to Vite to allow internal resolution for storybook assets inside the monorepo.


Some tests still missing from exam_test.py

name: Feature request
about: Suggest an idea for this project
title: ''Some tests still missing from exam_test.py"
labels: ''enhancement"
assignees: ''KladeRe"

Is your feature request related to a problem? Please describe.
Some tests are still missing for the exam.py file.
Describe the solution you'd like
I will try to implement tests for the rest of the functions in the file.
Additional context
There will be some functions which will be hard to test, mainly those which require a lot of user input such as add_exam(). I can modify the functions so that one function takes care of grabbing the user input and a second function handles the data from the first function. The second function would then be tested. But what do you think of this approach?

Sorry about the late reply - good points you raised for sure! Something I've been thinking about is changing the structure of the code to utilize OOP. That would make it far more standardized and easier to test (and would make it easier to follow the DRY convention). It would also make this issue specifically much easier to deal with. Probably some things that should be classes are "exams" and "schedules". Since we're making progress with the tests right now and I don't want to waste your great effort, I think what I'm going to do is hold off on this issue/PR pair review process until the code has been refactored. We can leave this issue open if you want, or alternatively if you would like you can feel free to close and create another issue when the refactoring is done. I am going to post an issue/PR pair for this and assign myself, if I leave off somewhere in the middle feel free to pick up where I left off (or not, totally up to you). Does this sound okay to you?

Rela

Sounds good to me.


add newline to values.py

@TAG-Epic  Ready to merge!

The version generator would overwrite this. The issue was about fixing the version generator, not editing values.py.

Okay I understand

Are you fixing the version generator or do you want me to unassign you?


fix: [IDP]: Highlighted the user-token related information for SQ plugin

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://673eb8b0efe139f8efbed68f--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://673ec0682fa7a0f28eb09e77--harness-developer.netlify.app


Memory leak: RTContainerController,  RTContainerNavigationController

I used MLeaksFinder to check memory leaks and found out there are always memory leaks on the RTContainerController, and RTContainerNavigationController. How to fix it?

Just add to whitelist


luci_app_statistics: Add missing variable declaration for plugin df

Signed-off-by: Tobias Waldvogel<EMAIL_ADDRESS>

LGTM, thanks!


Add Cat Mask Filter as Snapchat Filter

Here is The filter :

Will be using :

Python
The program makes use of Dlib-facial feature points
OpenCV
Tkinter
Shape predictor 68 face landmark points Model

I'd like to work on this as part of the GSSOC-21.

ok


Corrected Jim Easterbrook's contact details

Correcting an unmodified cut and paste.

Thanks for the correction!

I should've noticed how wrong that was a long while ago - sorry! :-)


Minor Sanity Check for power of two on textures.

Just a power of two check

I'm inclined to leave this one out. @Areloch?

Yeah, I think so.
Just writing to the console doesn't make it immediately apparent, and also would spam the console of the end-game, even if the artists decided that non-pow2 textures were legitimately what they wanted(for whatever reason).
Ideally, this is the sort of thing we'd implement at the tool level, so if you use a non-pow2 texture in a material for instance, it'd have a pop up, or warning flag, etc.

Sorry @Winterleaf :(.


Add 'git checkout' command variant

What does this PR do?

Add git checkout variant

Description

Added new command which is commonly used to create and switch to a new branch

Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

This pull request is associated with #1 , please add the necessary tags while merging.


3D NFT Thumbnail Preview

What happened?
I created 3D NFT collection on RMRK 1.0 and was unable to migrate in time. I would like to promote the collection on Koda but can only see the 3D NFT individually. When viewing the whole collection on one page the NFT shows as K.
Can Koda please add preview for 3D NFTs. I noticed Videos also dont have a preview for thumbnails. If this can be resolved I will promote my collection through Koda. Thank you!
Please email response to<EMAIL_ADDRESS>:)
Please reproduce in steps
Here are links to collection for reference.
Individual 3D NFT works but loads slowly.
https://kodadot.xyz/rmrk/gallery/11906995-f4f8d7504c60bb5721-VB7SA-MONEYBIRD18-0000000000000018
Collection shows many K logos but no 3D preview.
https://kodadot.xyz/rmrk/collection/f4f8d7504c60bb5721-VB7SA
Expected Behavior
I would expect to be able to view the NFTs as a group with 3D thumbnails as RMRK does. I also noticed it takes some time to load the model.

What browsers are you seeing the problem on?
Desktop Chrome
At which address did you encounter bug?
kodadot.xyz
Are you logged in?
No
Which wallet you are using?
PolkadotJS
At which chain did you encounter bug?
Kusama
Screenshots

Relevant log output
No response
Payment link for reward
https://kodadot.xyz/ksm/transfer/?target=<My_Kusama_Address_check_https://github.com/kodadot/nft-gallery/blob/main/CONTRIBUTING.md#creating-your-ksm-address>
Code of Conduct

[X] I agree to follow this project's Code of Conduct

thanks for reporting @ziga-hash ! we will have look

@ziga-hash it's fixed meanwhile! It's now on canary branch and I hope we will be releasing in upcoming 7 days, maybe sooner!
Try here
Individual 3D NFT works but loads slowly.
https://canary.kodadot.xyz/rmrk/gallery/11906995-f4f8d7504c60bb5721-VB7SA-MONEYBIRD18-0000000000000018
Collection shows many K logos but no 3D preview.
https://canary.kodadot.xyz/rmrk/collection/f4f8d7504c60bb5721-VB7SA

cc @Jarsen136


Better emacs update. (please take a look and tell me if ive missed anything) (!Found big error, plz dont look yet!)

Okay


[enhancement] join policy name and rule name as rule unique id.

we can specify it yourself when calling the api.


patch(link): fix the link to the contributing doc

@nimbinatus nice catch! Thanks for the contribution.


Added dockerfile for release testing

Many people have asked for the dockerfile I've been using to test the release. In light of this, I'll add it to the main repo.
I updated the documentation to give a quick example of usage.

These are small changes. Also, travis is failing because of a whitespace issue addressed in  #206 . I will merge this now.


Bug: NonEmptyArray can be initialized with empty array

Describe the bug
NonEmptyArray should generate a compile or runtime error when initialized with an empty array
To Reproduce
    let array = NonEmptyArray<Int>([])

Expected behavior
Compile or runtime error

It's a failable initializer, it returns nil.  as expected


This is a SCAM

This code is copied. I need royalty for this if you choose to keep it

bro you are the prime contributor to this code 🤣

Oh my goodness, I got caught red-handed! Well, I guess I’ll just pay the royalties… to myself!


backend/event_sender: add sleep and burst options

Should help us out testing out our realtime networking :)

took up ryans suggestion and slightly changed the wording around it


[Bug] publishOptions not working

In this example :
<?php
namespace app\assets;

use yii\web\AssetBundle;

class FontAwesomeAsset extends AssetBundle
{
    public $sourcePath = '@bower/font-awesome';
    public $css = [
        'css/font-awesome.min.css',
    ];
    public $publishOptions = [
        'only' => [
            'fonts/',
            'css/',
        ]
    ];
}

Assets not publish files :

This is related to #9669 and #8785 and few other issues about publishOptions
I am also experiencing this issue.
There was a comment in one of the issues created, about using

$publishOptions = [
    'forceCopy'=>true
];

It seems to work as a fix for the moment.
http://www.yiiframework.com/doc-2.0/yii-web-assetbundle.html#$publishOptions-detail
http://www.yiiframework.com/doc-2.0/yii-web-assetmanager.html#$forceCopy-detail

of course, i close this issue, it is duplicated.
@martingeorg thanks for the links :)


feat(cacheService): allow cache service customization through factory options

Hey, I just made a Pull Request!
Allow cache options to be customized in the new backend system service to be able to set a default TTL
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Thank you! 👍
Just wanna double check, what do you think about making this static configuration instead? backend.cache.defaultTtl

Makes sense! Updated to use static config instead


move samples to dbpack-samples

Is your feature request related to a problem? Please describe.
including go 、java、python samples

/assign

https://github.com/CECTC/dbpack-samples/pull/1


[Idea] Map Reduce / Transform functions

In working on adding better Array support for signals, an idea for how we could perform map reduces / transforms occured to me.
These operations take in data, apply some arbitrary code to modify the data, then output the result. I believe we can create a system centered around signals and zod to handle this in a way that is natural for OT. We can create a signal type that has a zod transform function attached to it to process the data. When you want to transform a value, all you would need then is to use that signal type. e.g.
workflow:
  signals:
    arraySignal:
      # This zod type has a transform that takes a string
      # and json parses it to an array. It also sets the type
      # of the signal to be an array of strings
      jsonColumn: StringArrayFromJsonString
  frames:
    - frame:
      view:
        component: OTUqiDataProvider
        props:
          source: trino-demo
          query: SELECT "['a', 'b']" AS jsonColumn
          output: [:arraySignal]

I spiked this out and the diff to support this was only a few lines of code and then a couple dozen more for the new signal type. https://github.com/open-truss/open-truss/commit/89af8108a6664b19d41003103a835f7d8093695d.

We can probably make more improvements to make defining transforms simpler and remove more boiler plate. e.g. rather than defining json parsing functions for different types, we can define one and teach it how to accept a list of valid types / signal types and assert the parsed result matches those values. Here is an example, but it may require a bit of string parsing:
      jsonColumn: FromJsonString(string[])

I don't think we have a use case yet for transforms, but this is something for us to consider if / when we cross that bridge.
@open-truss/engineers

Very exciting idea @hktouw. We're certainly using signals in very interesting ways and I think this could make a lot of sense! Reading through https://github.com/open-truss/open-truss/commit/89af8108a6664b19d41003103a835f7d8093695d, it's great to see that you didn't have to modify the engine at all to get this working 😲 ✨ I agree that helping folks write these will be important.

Thinking through another possible example, we may want to support the ability to path into objects and hoist out the nested property, making it accessible to components that probably don't match the original object's type. Not sure if this is a good idea or not, but what do you all think about something like?
workflow:
  signals:
    # takes data in the shape of { bio: { name: string, age: number } }
    # creates a signal of type { name: string, age: number }
    bio: 'Dig(.bio, {
      name: string
      age: number
    })'
  frames:
    - frame:
      view:
        component: OTUqiDataProvider
        props:
          source: trino-demo
          query: SELECT CAST('{ "name": "mona", "age": 15 }' as JSON) AS bio
          output: [:bio]

I'm of two minds here. On one hand I love that this is defined in config; that's super powerful. On the other I'm unsure about us defining a programming language. Maybe this is okay because really it's just pointing to a signal and telling it how to be defined? I'll ponder this and would look to hear your thoughts


Handle asset price in teaser

Fixes #563 .
Changes proposed in this PR:

use the subgraph to get the prices for the AssetTeaser components

The loading state needs a bit more work. Because it only handles asset loading not price also.  So sometimes you get the "no results found" message for a short period of time.

Yep, I saw that, I'm thinking what would be the best solution for that. Since the loading component is outside the AssetList component we could move the price fetching there and show the loading component based on that. Or keep the price fetching inside the AssetList which enables us to reuse some code, but need to manage the loading state from here, maybe moving the loading component inside the AssetList

Moving the loading component might be cleaner/easier, not sure.

Almost there. Seems to work as before now beside one thing, the loading for the number of results is not synchronised with the datasets display because the loading state of the prices is maintained  internally in AssetList. So thinking on a solution for that, maybe moving the loading state inside AssetList  might turn out not that feasible.

I don't really mind that. This is a temporary solution anyway. Other opinions ?

Testing this, the assets are displayed as expected. If a quick and easy solution could be found for the assets number displaying would be great. However, I believe that's a minor issue, given that the goal for this task is achieved and it's a temporary solution anyway.

Functionality wise looks good to me, just that minor issue with number of results that can be solved later in another PR


Enhance Kubean chart helper template

What type of PR is this?
/kind enhancement

What this PR does / why we need it:
Replace %s with %v, avoid image tag which the all bits is number cannot parse correctly.
Fix https://github.com/kubean-io/kubean/actions/runs/7993555876/job/21844557867
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/lgtm