[Research][QOL] JSON/CSV vs Single file soln

Currently we have each run of getLabels to be saved as {labelName}.json {labelName}.csv
Might be a major QOL improvement to consolidate into a single file?
address:{'name':NAMETAG, 'label':LABEL}
Might need to take a look into the size of all label information and whether it makes sense to leave it in a single large JSON file or into a DB (SQlite perhaps?)

Current size is only 4-5mb. Not sure if it makes sense to use a DB due to the additional overhead/complexity added.
Considering 4-5mb is JSON + CSV, the consolidated file themselves is likely only ~2.5mb.

Current single file consolidated JSON is located
https://github.com/brianleect/etherscan-labels/blob/main/data/combinedLabels.json
2.7mb space taken. Don't think it justifies usage of DBMS since we can simply load it into memory once and get object of interest. Since we are using address:nameTags format retrievals should be O(1) as well.


Table of Contents "Back to the First Page" arrow redirects incorrectly on filtered Tables of Contents

When the Table of Contents is filtered by genre, when you click the "back to the first page" arrow of the list, it takes you back to the first page of the entire ToC rather than the first page of the filtered ToC.

Fixed in c25dced28fe36c44155290655600f03ecdafa333


Build Tools revision (23.0.1) is too low for project

When I try tu build my project, I am getting this error
The SDK Build Tools revision (23.0.1) is too low for project 'react-native-vector-icons'. Minimum required is 25.0.0.
And the only way I can build is to set the buildToolsVersion to "25.0.0" inside the build.gradle file
Is there another solution?

@zr0n downgrade some areas your build dependencies, android studio probably asked you to upgrade.
build.gradle:
classpath 'com.android.tools.build:gradle:2.2.3'
app/build.gradle:
buildToolsVersion "23.0.1"

If I downgrade my build dependencies as you said and do not upgrade the react-native-vector-icons dependencies the error persists.

Can you post your app build.gradle

`apply plugin: "com.android.application"
import com.android.build.OutputFile
/**

The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
and bundleReleaseJsAndAssets).
These basically call react-native bundle with the correct arguments during the Android build
cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
bundle directly from the development server. Below you can see all the possible configurations
and their defaults. If you decide to add a configuration block, make sure to add it before the
apply from: "../../node_modules/react-native/react.gradle" line.

project.ext.react = [
// the name of the generated asset file containing your JS bundle
bundleAssetName: "index.android.bundle",

// the entry file for bundle generation
entryFile: "index.android.js",

// whether to bundle JS and assets in debug mode
bundleInDebug: false,

// whether to bundle JS and assets in release mode
bundleInRelease: true,

// whether to bundle JS and assets in another build variant (if configured).
// See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
// The configuration property can be in the following formats
//         'bundleIn${productFlavor}${buildType}'
//         'bundleIn${buildType}'
// bundleInFreeDebug: true,
// bundleInPaidRelease: true,
// bundleInBeta: true,

// the root of your project, i.e. where "package.json" lives
root: "../../",

// where to put the JS bundle asset in debug mode
jsBundleDirDebug: "$buildDir/intermediates/assets/debug",

// where to put the JS bundle asset in release mode
jsBundleDirRelease: "$buildDir/intermediates/assets/release",

// where to put drawable resources / React Native assets, e.g. the ones you use via
// require('./image.png')), in debug mode
resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",

// where to put drawable resources / React Native assets, e.g. the ones you use via
// require('./image.png')), in release mode
resourcesDirRelease: "$buildDir/intermediates/res/merged/release",

// by default the gradle tasks are skipped if none of the JS files or assets change; this means
// that we don't look at files in android/ or ios/ to determine whether the tasks are up to
// date; if you have any other folders that you want to ignore for performance reasons (gradle
// indexes the entire tree), add them here. Alternatively, if you have JS files in android/
// for example, you might want to remove it from here.
inputExcludes: ["android/", "ios/"],

// override which node gets called and with what additional arguments
nodeExecutableAndArgs: ["node"]

// supply additional arguments to the packager
extraPackagerArgs: []
]
*/

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

Set this to true to create two separate APKs instead of one:

An APK that only works on ARM devices

An APK that only works on x86 devices

The advantage is the size of the APK is reduced by about 4MB.
Upload all the APKs to the Play Store and people will download
the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false

/**

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

android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
    applicationId "com.applivroderecordacoes"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "0.1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a", "x86"
    }
}
buildTypes {
    release {
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        // For each separate APK per architecture, set a unique version code as described here:
        // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
        def versionCodes = ["armeabi-v7a":1, "x86":2]
        def abi = output.getFilter(OutputFile.ABI)
        if (abi != null) {  // null for the universal-debug, universal-release variants
            output.versionCodeOverride =
                    versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
        }
    }
}

}
dependencies {
compile project(':react-native-vector-icons')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+"  // From node_modules
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
`

did you clean and build ?

getting the same error. anyone got a solution for this? I did a grep and all of my sdk versions are 23.0.1

@aljones15 The fix for me was set the buildToolsVersion to "25.0.0" inside this  build.gradle file
And update my build-tools to 25.0.0 in Android SDK Manager

I have the same problem.

@zr0n that's interesting. I did it by upgrading react-native to the latest version then doing react-native upgrade and overwriting the templates. that reset me to sdk 23 which worked fine.

Hi i have the same problem after i  yarn add react-native-elements

Okay so I'm having the same problem atm. It worked perfectly fine with lowers sdks on another pc... Any easy fix for this found yet?

Any updates? (windows related only)?

This is what I did to "fix" it.
So I did originally install the plugin with npm, but then this bug came along.
So I uninstalled it with npm uninstall and reinstalled it with yarn add. After that I cleaned the gradle and everything worked again for some reason.

It was caused by node_modules/react-native-vector-icons/android/build.gradle, in the section of buildToolsVersion:  23.0.1.
You can change it into 25.0.0 or Use the lasted  Android Studio: when you open you project by it, it will notice you that the build tool is too old, please click the update link, then you've got it.
It's easy to fix this.

@PeterRock that's what I don't get, I didn't do any of that and it just started working again for some reason.

I Modify my code like above @zr0n , and it still appear this err. So i try to clen cache, then it works, maybe others can try this.
React Native Clear Cache:
watchman watch-del-all
rm -rf node_modules
npm cache clean
npm install
npm start --reset-cache

this issue is annoying if you try to fix it by changing https://github.com/oblador/react-native-vector-icons/blob/master/android/build.gradle, whenever I run yarn it will be reverted back to 23.0.1. It needs a better solution.

This solution seems to work for me:
https://github.com/oblador/react-native-keychain/issues/68#issuecomment-304836725

This solution seems to work for me:
oblador/react-native-keychain#68 (comment)

it works! thanks @rish

Try to downgrade your gradle version, it could work

I guess the solution below, posted by @rish is the best one.
Thank u all
https://github.com/oblador/react-native-keychain/issues/68#issuecomment-304836725

Sadly, I'm with build tools version 26.0.0 ...

@HelloEdit Check the link, just change text to use with your build tools version

Oh I'm sorry, I confused your comment with my other issue about AIDL, I'm confused 😄

It's working fine when I change the Gradle Version from 2.3.3 to 2.2.3.

I just change my build tools to version 25.0.1 and my SDK version to 25. Then I upgrade my gradle version and the gradle plugin. And it's work like a charm !

Please update the build.gradle file to use the latest SDK & Tools version

Hello, everyone
No need to update the build.gradle, just add these lines in YOUR android/build.gradle
subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion 25
                buildToolsVersion "25.0.1"
            }
        }
    }
}

4.3.0 now uses build tools version 26 if that helps anyone. LMK if I can close this issue.

In my case the project was defined to use build tools 23.0.0 and with this find with sed i upgraded this to 25.0.0:
find . -name build.gradle -exec sed -i s/23.0.1/25.0.1/ "{}" ;

go to node_modules/library name/android/build.gradle
edit
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

To
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

run again.

You should open the your project with Android Studio. It shows the error. And you can change 23.0.0 to 25.0.0 or up. Rebuild it. After that close Android Studio and run react-native run-android. That is it.

Hello,
For my case i was getting error with "react-native-youtube" module.
So i opened my project with android studio and then clicked on the left side "Gradle Scripts"
and i found the module that causes me problem.
Than i opened build.gradle (Module: react-native-youtube)
After this i just changed
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
lintOptions {
    abortOnError false
}

}
this to
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
lintOptions {
    abortOnError false
}

}
And that was working like charm ^^
As i said earlier for my case that was react-native youtube module just do it for your module and it will help. ^^

To anyone coming from google using the latest React Native version, this did the job for me (add to your android/build.gradle) :
subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion "27.0.2"
            }
        }
    }
}


Feature/iot 34 weather web service

'Weather' added to REST and Dashboard
This pull request adds a /weather endpoint to the REST api and weather charts to the dashboard.
The dashboard now has a 'weather' section that displays charts for temperature, rainfall, wind speed and pressure.  Here's what it looks like:

This pull request is going to merge to master, can't see how to change to develop, so closing it and creating another


add current mirror

I just care about the new convos you added and the current mirror.py file you added. Everything else make it the exact same as my branch


assign recorder for one pod per node controller

found in CI run https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/openshift_cluster-ingress-operator/720/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws/1509612592396505088/artifacts/e2e-aws/gather-extra/artifacts/pods/openshift-ingress-operator_ingress-operator-697bc657df-wlc2g_ingress-operator_previous.log

/lgtm


New package: Morgen.Morgen version 3.5.1

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

https://github.com/microsoft/winget-pkgs/issues/142854

I do not know why approvals don't seem to be working for this PR. I'll have to manually validate it.

Verify:

This is as far as I got through the setup process.


After Apache upgrade: MDPortMap is not allowed inside an '<MdomainSet' Context

Hi! After trying to upgrade my Apache to a newer version I am unable to start Apache, and it gives me this error:
AH00526: Syntax error on line 130 of C:/Apache24.1/conf/extra/httpd-ssl.conf:
MDPortMap is not allowed inside an '<MDomainSet' context
I have been using this for quite a while and it's working fine, but I would like to update my Apache server to the latest version.
I really need each MDomain to have different port mappings. For example domain1.com is running locally on port 9000/9001 and domain2.com is running on 9002(https)/9003(http). So I used the MDPortMap directive inside each MdomainSet and was very happy.
Now it seems I have to change something, but I can't put the "MDPortmap" outside the MDomainSet  as each MDomain needs to have different ports configured.
Any help is appreciated, thank you.

MDPortmap always was a global configuration setting. But earlier versions did not check that it was only used as such.
MDPortmap helps the module to find out how your Apache can be reached by Lets Encrypt. It then can decide which method to use for obtaining certificates. It helps when you have one interface to the outside world, but use non-standard ports. Behind a firewall, for example.
Ultimately, you can serve your domains on any interface or port you like. That does not matter with mod_md. What matters is how the Lets Encrypt (LE) servers can talk to a domain of yours.
LE uses either port 80 (challenge type http-01) or port 443 (challenge type tls-alpn-01). Or, it can use dns-01 and just talk to the DNS server(s) of your domain names - but we can leave that out for now.
If all your domains you want certificates for are reachable via http: (for LE), simply configure globally:
MDCAChallenges http-01

If you have a domain domain1.com where you know that LE can connect via https:, you can simple configure:
<MDomain domain1.com>
  MDCAChallenges tls-alpn-01
</MDomain>

However, MDPortmap is not enough in every possible Apache setup. Apache offers many, many ways to configure it. The module is sometimes not smart enough to figure out things on its own. The admin then needs to configure MDCAChallenges for MDomains.

Does this help?

Hi! Thank you for your help (again).
Yes, this helps.
In fact, even with sites running on different local ports (mapped to different public IPs) it works out of the box after I just removed the "MDPortmap setting on each MDomainSet.


fix: remove String.replaceAll polyfill

This PR removes the String.replaceAll ployfill in an attempt to reduce the bundle size. String.replaceAll method is natively supported from NodeJS v15 onwards. So the polyfill is not needed any more. This removes appoximately 30KB from overall bundle size.
Fixed Issues
$ GH_LINK https://github.com/Expensify/App/issues/31183
Tests

What unit/integration tests cover your change? What autoQA tests cover your change?
No new test cases required. Str.replaceAll method now makes use of built-in String.replace method. So all existing testcases should pass.

What tests did you perform that validates your changed worked?

Verified that all existing testcases pass
Verified all functionalities are working as expected by linking into New-Expensify

QA

What does QA need to do to validate your changes?

Same as tests

What areas to they need to test for regressions?

Str.replaceAll is used in Emoji and comment parsing in Expensify app. Test by adding/removing emojis in chats.

I have read the CLA Document and I hereby sign the CLA

recheck

I also confirmed that all our repos using expensify-common are using a node version >= 15


Example ro-crate-metadata generation

Created example code of how to generate a ro-crate-metadata.json with some REMBI & zarr extensions to generate the context and expected object links.
I wanted to actually use some of the RO Crate tooling to see what it would create in case that helps make decisions about what the metadata would look like / work out what would be easy for us to override/extend to provide to zarr users.

@joshmoore @Tom-TBT @normanrz @francesw @matthewh-ebi

This is great, @sherwoodf! Thanks. Can you jot down a minimal workflow? (And when you would imagine it being called, e.g., before/after dev2/resave.py or perhaps it doesn't matter)

Can you jot down a minimal workflow? (And when you would imagine it being called, e.g., before/after dev2/resave.py or perhaps it doesn't matter)

Sorry, didn't get back to this:
In terms of workflow, the toml can be used with poetry to set up a local python env and run the script:
poetry install
poetry run create_fly_ro_crate_metadata.py

But for actual pipelines to update to the new version, i would expect users to write scripts similar to create_fly_ro_crate_metadata.py (i'm assuming the metadata doesn't already exist somewhere in the existing zarrs).
The standard ro-crate logic does a deep copy of files to create the crate along with this json. I suspect it would be more efficient to only create the additional ro-crate-metadata files after the dev2/resave.py (similar to what i did in the create_fly_ro_crate_metadata script) - otherwise it would be necessary to blend the ro-crate creation process along with the resave.py logic to avoid creating copies of all the new zarr files.

i would expect users to write scripts similar to create_fly_ro_crate_metadata.py

Agreed, but I imagine that for many of us, there will be too many scripts needed to easily create them all, and so, reading from a CSV or similar may be preferred.

I suspect it would be more efficient to only create the additional ro-crate-metadata files after the dev2/resave.py

:+1:

Once #10 is in, I'll open a PR with something like this:
(challenge4) ~/opt/challenge/ome2024-ngff-challenge/dev2 $git diff
diff --git a/dev2/resave.py b/dev2/resave.py
index 36b004f..35d81e9 100755
--- a/dev2/resave.py
+++ b/dev2/resave.py
@@ -292,6 +292,36 @@ def convert_image(
                 ds_shards,
             )

+def write_rocrate(output_path: str):
+    from zarr_crate.zarr_extension import ZarrCrate
+    from zarr_crate.rembi_extension import Biosample, Specimen, ImageAcquistion
+
+    crate = ZarrCrate()
+
+    zarr_root = crate.add_dataset(
+        "./",
+        properties={
+            "name": "Light microscopy photo of a fly",
+            "description": "Light microscopy photo of a fruit fly.",
+            "licence": "https://creativecommons.org/licenses/by/4.0/",
+        },
+    )
+    biosample = crate.add(
+        Biosample(crate, properties={"organism_classification": {"@id": "NCBI:txid7227" }})
+    )
+    specimen = crate.add(Specimen(crate, biosample))
+    image_acquisition = crate.add(
+        ImageAcquistion(crate, specimen, properties={"fbbi_id": {"@id": "obo:FBbi_00000243"}})
+    )
+    zarr_root["resultOf"] = image_acquisition
+
+    metadata_dict = crate.metadata.generate()
+
+    filename = os.path.join(output_path, "ro-crate-metadata.json")
+    with open(filename, "w") as f:
+        f.write(json.dumps(metadata_dict, indent=2))
+
+

 def main(ns: argparse.Namespace):
     CONFIGS = create_configs(ns)
@@ -340,6 +370,7 @@ def main(ns: argparse.Namespace):
     else:
         write_store = STORES[1]
         write_root = zarr.Group.create(write_store)
+        write_rocrate(ns.output_path)

     # image...
     if read_root.attrs.get("multiscales"):

We can either write dummy values or take those values as CLI/CSV input.

nvm. I put it behind an optional flag and merged in the main branch so it's available in #10 now.


Adds support for Okta OAuth provider

This PR aims to add support for Okta based logins to chainlit. to use the OktaOauthProvider class set the following environment variables:
OAUTH_OKTA_CLIENT_ID
OAUTH_OKTA_CLIENT_SECRET
OAUTH_OKTA_DOMAIN

This is really cool! I think we probably need to add the Okta provider in the UI also. Looks promising!

Awesome, I think we should add okta to the provider literal.
If this is working locally I would also love to see a screen recording!

Awesome, I think we should add okta to the provider literal.
If this is working locally I would also love to see a screen recording!
Once merged we should also add it to the documentation.

Great stuff, thanks for the help @willydouhard! I have added the provider literal. Right now our okta isn't set up to allow the callback url directly to the chainlit app, so will have to wait until next week for it to be approved, but will send over a video then 👍 Right now it ends in a callback error on the Okta side when using the button.

Awesome, this looks promising!

Any update @stian-a-johansen ?

Any update @stian-a-johansen ?

Hey Willy, it took a while to get the settings updated on the okta side, but here's a video: Apologies for the vibrating black box at the top!
https://github.com/Chainlit/chainlit/assets/9048717/12b466ff-e488-4715-a020-992ca61c9bbc

It looks great! Are we missing anything or should we do a last review to merge?

As far as I see I think it's just docs that's missing now @willydouhard 👍  Thank you!

the "" is breaking because it is inside a f string. Almost there!

the "" is breaking because it is inside a f string. Almost there!

🤦 now it's better!

CI is green! I am not able to test it myself, you confirm everything works on your end?

Yep! Logs in and works here 👍  Very nice the ability to support these!

Hm, looks like the literals have been removed from types.py in another merge, trying to see where it should go now

Hm, looks like the literals have been removed from types.py in another merge, trying to see where it should go now

Yes, I just merged another PR. It goes in client/base.py.

Looks good! Going to merge. If you can add a paragraph here with a code example it would be awesome!

Just merged in the latest from main into this branch

Approved! Thank you for your work 🎉

Approved! Thank you for your work 🎉

Thanks for the merge and the help!


feat: Update Apache Arrow to v16

Instead of https://github.com/databricks/databricks-sql-go/pull/209

@kravets-levko would you mind also reviewing this PR & releasing afterwards?
I've been using a fork at https://github.com/cloudquery/databricks-sql-go (cqmain branch) with #216 & #217 merged into to achieve everything required for the code I'm developing.
The major bump to v15 just updates the library code, the underlying arrow data (wire protocol) stays the same.

@candiduslynx I totally understand your need in this upgrade, however I'm a bit new to this project in particular and Go language in general. So I need @andrefurlan-db or @rcypher-databricks approval, and then I'll merge and ship this change. Sorry, and thank you for understanding

@andrefurlan-db can you help out on this one?

@kravets-levko thanks for the review!
Is there a way to expedite the merge & release of this code along with #207?

@candiduslynx databricks/databricks-sql-go#207 should be available in v1.5.4. For this PR - I think I'll add it to the next release, hopefully will be available on Monday-Tuesday

@candiduslynx sorry for a bad news, but turns out that Arrow upgrade caused issues for library users. Library offers a feature that allows to access raw Arrow batches, and with this upgrade behavior of that feature changed. After discussion with other team members, we decided to revert this upgrade for now

@kravets-levko thanks for notifying!
I think you need to add some tests to outline the expected behaviour then.
However, I wonder what are the details of the changed behaviour that isn't deemed correct by clients? Is it just a requirement to update the library?


Add tidynamics to conda recipe

Issue:
Tidynamics >=1.0.0 needs to be added to feedstock for the new msd analysis module. Related PR:2619

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

This can be done once the pr is merged and we release a new version.

Thanks!

done in PR #43


Xcode9

Upgrade project and scheme for Xcode 9, enable default warnings
satisfy the -Wstrict-prototypes clang warning

Thanks!!

Sorry about the formatting errors. Thanks for fixing those!


Revert sync with main release 0.15

This reverts commit 09a46ddae614c871e38e310a48da339c563d239a.
Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


genicam package for python 3.11

I know it is not really an harvesters bug, but I could not find any wheels or sources for the genicam 1.2.0 package for python 3.11 on windows. Is there any source or precompiled wheel available?
Thanks in advance

You can download the .whl file from pypi.
https://pypi.org/project/genicam/#files
Extract the latest version (.whl is just a .zip) and edit the METADATA file so it includes version 3.11:
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11

Zip the files and rename to .whl and install with:
pip install genicam-1.2.0-cp311-cp311-manylinux1_x86_64.whl

I do not recommend this method, if I would have to choose I would just use Python 3.10.
I did test it and the wheel for Genicam installed just fine, and I can import the harvester library and create a Harvester object. Other than that I did not test it.

Thanks for your response. Thats what I've tried, but the library is linked against the corresponding python library (python3xx.dll), in this case 3.10 as the last available:
 PS C:\Dev\Python3_11\Lib\site-packages\genicam> dlldiag.exe trace .\_genapi.pyd
DLL Diagnostic Tools version 0.0.18
Copyright (c) 2019-2021 Adam Rehn

Parsing module header and identifying non delay-loaded dependencies... done.

Identifying the module's delay-loaded dependencies... done.

Parsed module details:
Module:          C:\Dev\Python3_11\Lib\site-packages\genicam\_genapi.pyd
Type:            Dynamic-Link Library
Architecture:    x64

The module imports 10 direct dependencies:
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
GCBase_MD_VC141_v3_4.dll
GenApi_MD_VC141_v3_4.dll
KERNEL32.dll
MSVCP140.dll
python310.dll
VCRUNTIME140.dll
...

When tying to load the module I've got the error
Traceback (most recent call last):
  File "M:\Software\GUI\main.py", line 22, in <module>
    from genicam.genapi import NodeMap
  File "C:\Dev\Python3_11\Lib\site-packages\genicam\genapi.py", line 44, in <module>
    from . import _genapi
ImportError: DLL load failed while importing _genapi: Das angegebene Modul wurde nicht gefunden.

Process finished with exit code 1

Even when I try to cheat and copy the python310.dll into the package folder I've got a version mismatch error.

I see you are trying to get it working under Windows. I used Linux to test and it worked without any errors.
Is there a specific reason you need this to work on Python 3.11?

Hi guys, Python 3.11 will be supported by the next release in early 2023; we as the committee are working on it now, and the ARM64 binary should be bundled with it. By the way, I do not mind if you play the altered binaries but I would never bring up such an untrusty entity into the business. So scary. ;-)


Investigate enabling field length guard for non-final fields.

Field guard length checking is only done for final fields. Investigate relaxing this.

Closing out really old issues.


Letter grade in end game screen

Closes #507

Can we add the letter grade scoring thresholds to the wiki?

I think ESC should open the prompt that asks you if you want to leave. I got stuck on the end game screen for a while until I remembered I could click the outer box to leave Lol

Can we add the letter grade scoring thresholds to the wiki?

Added: https://github.com/maxrchung/S2VX/wiki/Score-Calculation#score-grade-calculation

I think ESC should open the prompt that asks you if you want to leave. I got stuck on the end game screen for a while until I remembered I could click the outer box to leave Lol

It should just go back to the song select screen imo, similar to how if you Esc from the SongPreview screen it goes back.

I think ESC should open the prompt that asks you if you want to leave. I got stuck on the end game screen for a while until I remembered I could click the outer box to leave Lol

It should just go back to the song select screen imo, similar to how if you Esc from the SongPreview screen it goes back.

I implemented this without a confirmation screen, though I can see why you might want a confirmation screen. In SongPreview, it's easy to get back to that SongPreview. The same can't be said once you quit from the EndGameScreen.

I think ESC should open the prompt that asks you if you want to leave. I got stuck on the end game screen for a while until I remembered I could click the outer box to leave Lol

It should just go back to the song select screen imo, similar to how if you Esc from the SongPreview screen it goes back.

I implemented this without a confirmation screen, though I can see why you might want a confirmation. In SongPreview, it's easy to get back to that SongPreview. The same can't be said once you quit from the EndGameScreen.

Ok, that makes sense. I think osu!'s the same way so that's fine.


SAA-1487: Fetch prison incentive levels from incentives API during migration

Codecov Report
Attention: 18 lines in your changes are missing coverage. Please review.

Comparison is base (0895b0d) 87.00% compared to head (150c8af) 86.92%.

Files
Patch %
Lines

...pi/client/incentives/model/PrisonIncentiveLevel.kt
62.50%
9 Missing :warning:

...tiesmanagementapi/config/WebClientConfiguration.kt
20.00%
4 Missing :warning:

...iesmanagementapi/service/MigrateActivityService.kt
55.55%
3 Missing and 1 partial :warning:

...ntapi/client/incentives/api/IncentivesApiClient.kt
87.50%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #756      +/-   ##
============================================
- Coverage     87.00%   86.92%   -0.09%
+ Complexity     3436     3435       -1
============================================
  Files           357      359       +2
  Lines         11918    11950      +32
  Branches        998      999       +1
============================================
+ Hits          10369    10387      +18
- Misses         1083     1097      +14
  Partials        466      466

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


No music quality selection option all songs are of 124 kbps.

After all efforts spotdl is downloading playlists and songs but there is no option to select music quality all songs are downloaded in 124 kbps so if spotdl have an quality selecting option for command line then let me know please.

Thanks.

There isn't. We download the best quality we can get from YouTube

Ok i hope team will add this feature in future releases

There's no point v unless you want a quality below 128kbps. That's there just quality you can get from YouTube.


[DON'T MERGE WORK IN PROGRESS] Feature/89 support stored proc

Support for Stored procedure and function calls.

In the future, you can use GitHub web interface to set a PR as a Draft, instead of regular PR.  I've done this for you now however.

Thank you for letting me know @thadguidry

@souravroy @kdhrubo It's often better to just use try-with-resources.  As long as you declare and init inside the try then those resources will be auto-closed after the try execution.  You can even have effectively final variables as of Java 9.
https://www.baeldung.com/java-try-with-resources


simplify ALU vmin==vmax fold [run_process_replay]

x.op is always UOps.ALU, so removed that check. From #5828, it looks like this is the intent of the rule.

thanks!


Update LFortran

Awesome, the deployment works. However, the kind function doesn't work again:
semantic error: Module 'lfortran_intrinsic_kind' not declared in the current source and the modfile was not found
 --> input:2:59
  |
2 | integer, parameter :: Nx = 600, Ny = 450, n_max = 255, dp=kind(0.d0)
  |                                                           ^^^^^^^^^^

Note: if any of the above error or warning messages are not clear or are lacking
context please report it to us (we consider that a bug that needs to be fixed).

I know we had this issue before. @Shaikh-Ubaid do you remember how to fix it?

I know we had this issue before. @Shaikh-Ubaid do you remember how to fix it?

I am looking into it.

I think, I figured the solution. I will be submitting the change to lfortran soon.

Awesome, perfect!

I submitted it here https://github.com/lfortran/lfortran/pull/990. I think we should review/merge/complete it and then update the lfortran commit.

I think it works. Thanks @Shaikh-Ubaid for fixing it! I merged it. I am trying to run the template example (https://github.com/lfortran/lfortran/issues/989) it now gets all the way to ASR, but fails in ASR->WASM due to https://github.com/lfortran/lfortran/issues/988.

I am trying to run the template example (https://github.com/lfortran/lfortran/issues/989) it now gets all the way to ASR, but fails in ASR->WASM due to https://github.com/lfortran/lfortran/issues/988.

Got it. On it.


Checkout.js?

Is there any easy way to use Stripe's checkout.js with this? I'm just getting started with Stripe.

Hi brandon, this addon is not intended to be used with checkout.js, it uses
stripe.js directly
On Fri, Oct 2, 2015 at 8:55 AM brandonparsons<EMAIL_ADDRESS>wrote:

Is there any easy way to use Stripe's checkout.js with this? I'm just
getting started with Stripe.
—
Reply to this email directly or view it on GitHub
https://github.com/ride/ember-stripe-service/issues/33.


Adsk Contrib - Add preliminary OSL support

Signed-off-by: Patrick Hodoul<EMAIL_ADDRESS>The pull request provides the first step of the native implementation for the OSL translation. At the high level the translation is implemented like any other translations in OCIO in order to keep the single GPU implementation even if some GPU code changes were still needed to accommodate the OSL vs. HLSL/GLSL differences/limitations.
Refer to #1435 for some details / discussions.
That's a major milestone for OpenColorIO as it enhances potential integrations like in MaterialX environment for example (as discussed in the issue). On the other hand, the OSL library could also benefit from this work by improving color management support in some of the transform methods for example.
The OSL translation works for all the existing ops without too many changes compare to the previous writing of the GPU algorithm. So, contributors should not be lost when jumping in the GPU code. The limitations are that the Lut 1D and 3D ops which are still not supported because of the Lut data exchange using OSL (i.e. no easy technical solution for now), and the dynamic properties which are only 'local' variables for short-term. But OSL supports input parameters to any shader types so it can be implemented at some point.
There is now a new unit test framework to support writing unit tests for the OSL translation with two basic unit tests. This framework only supports the OSL shader compilation and lake of 'easy' unit test writing for now. The idea is to slowly enhance the framework and the number of unit tests.
Lastly, the findOpenShadingLanguage() method only works with the OpenShadingLanguage_ROOT cmake variable (i.e. no auto discovery). Once again, that will be improve over the time to match the other find method capabilities.
Note: Doing this exercice, I discovered lot of 'mistakes' in the current GPU implementation that I tried to correct right away so many changes in the GPU code are not directly related to the OSL work. But it unfortunately increases a lot the number of changes.

The generated OSL shader currently processes pixel per pixel using the color4 OSL type for input and output parameters. For now, the only validation is a successfully compilation (using oslcomp library).
Note: The implementation can contain global variables and methods so, I've encapsulated them in the shader method itself (hoping they will be private).
Below is the template of the OSL shader generated by OpenColorIO.
/* All the includes */

#include "vector4.h"
#include "color4.h"

/* All the generic helper methods */

vector4 __operator__mul__(vector4 v, matrix m)
{
  return vector4(v.x * m[0][0] + v.y * m[1][0] + v.z * m[2][0] + v.w * m[3][0], v.x * m[0][1] + v.y * m[1][1] + v.z * m[2][1] + v.w * m[3][1], v.x * m[0][2] + v.y * m[1][2] + v.z * m[2][2] + v.w * m[3][2], v.x * m[0][3] + v.y * m[1][3] + v.z * m[2][3] + v.w * m[3][3]);
}

vector4 __operator__mul__(color4 c, vector4 v)
{
  return vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a) * v;
}

vector4 __operator__mul__(vector4 v, color4 c)
{
  return v * vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a);
}

vector4 __operator__sub__(color4 c, vector4 v)
{
  return vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a) - v;
}

vector4 __operator__add__(vector4 v, color4 c) {
  return v + vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a);
}

vector4 __operator__add__(color4 c, vector4 v) {
  return vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a) + v;
}

vector4 pow(color4 c, vector4 v) {
  return pow(vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a), v);
}

vector4 max(vector4 v, color4 c) {
  return max(v, vector4(c.rgb.r, c.rgb.g, c.rgb.b, c.a));
}

/* The shader implementation */

shader OSL_OCIOMain(color4 inColor = {color(0), 1}, output color4 outColor = {color(0), 1})
{
    // Declaration of all helper methods

    <..>

    // Declaration of the OCIO shader function

    color4 OCIOMain(color4 inPixel)
    {
        color4 myColor = inPixel;

        <.. some code here ..>

        return myColor;
    }

    outColor = OCIOMain(inColor);
}

Following the 2021-08-19 OSL TSC meeting, here are some hints from @lgritz to improve/complete the OSL unit test framework.

Patrick has submitted a PR to OCIO where it can generate OSL source as a string to implement any color transformation supported by OCIO.
For unit tests, LG suggests using either the shade_image() (see end of oslexec.h) or modeling a simple test harness off of the code in testsuite/example-deformer as examples. Of course, testshade is also a possibility, but doing in C++ may end up with faster unit tests than constantly shelling out to testshade hundreds of times.

I'm a little concerned about what will happen when we eventually have built-in types for color4/vector4, and I wonder if all the notation will 100% work when we switch to built-in times (for example, I would expect c4.r to work, whereas now you have to awkwardly say c4.rgb.r). Maybe we shouldn't be too concerned, because it's not going to happen especially soon. Maybe I'll just have to ensure that this notation still works. But maybe it's worth building in a little bit of logic to designate this as OSL 1.x, or at least to somehow distinguish the before/after we add the new types?

I changed the OSL enum to be LANGUAGE_OSL_1 so any later OSL syntax changes can be handled correctly.
Concerning the OSL syntax, I suggest to first make c4.r working to ease the readability of any OSL code.

Below is the command to 'enable' the OSL translation in OCIO:
cmake -GNinja -DOpenShadingLanguage_ROOT=/Users/hodoulp/dev/osl_1/install_rls -DCMAKE_CXX_STANDARD=14 ../.

We need to merge this today to release OCIO 2.1.0 in time for VFX Reference Platform 2022. Technically our project process rules require waiting an additional 3 days to merge without a second approval from outside the contributor's organization, but under the circumstances we need to forge ahead sooner. If there are any objections, please comment by Today at 5pm EST. Thank you.


Feature/home page text

merge

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: gsatheeshkumar sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

pull


During deployment of V6.0.1 several static resources were in the wrong root.

Post deploy several directories of static content were located in the wrong location.  This appears to be related to recent changes in the structure of the directories.  There were no errors encountered during the deploy but it was apparent from missing CSS/ scripts that this had occured. it was worked around by symlinking the directories (below).  Deployment scripts probably need updating to gather the static content in the correct directory.
Essentially all directories in <ontask_base_dir>/site/static/* needed to be symlinked to <ontask_base_dir/static/*
`
root@task:/opt/ontask/static#
lrwxrwxrwx  1 ontask ontask   31 Sep 20 15:54 action -> /opt/ontask/site/static/action/
lrwxrwxrwx  1 ontask ontask   29 Sep 20 15:54 admin -> /opt/ontask/site/static/admin
lrwxrwxrwx  1 ontask ontask   50 Sep 20 15:54 bootstrap_datepicker_plus -> /opt/ontask/site/static/bootstrap_datepicker_plus/
lrwxrwxrwx  1 ontask ontask   32 Sep 20 15:54 dataops -> /opt/ontask/site/static/dataops/
lrwxrwxrwx  1 ontask ontask   40 Sep 20 15:54 django_auth_lti -> /opt/ontask/site/static/django_auth_lti/
lrwxrwxrwx  1 ontask ontask   42 Sep 20 15:54 django_extensions -> /opt/ontask/site/static/django_extensions/
lrwxrwxrwx  1 ontask ontask   39 Sep 20 15:54 django_tables2 -> /opt/ontask/site/static/django_tables2/
lrwxrwxrwx  1 ontask ontask   38 Sep 20 15:54 import_export -> /opt/ontask/site/static/import_export/
lrwxrwxrwx  1 ontask ontask   27 Sep 20 15:54 js -> /opt/ontask/site/static/js/
lrwxrwxrwx  1 ontask ontask   39 Sep 20 15:54 rest_framework -> /opt/ontask/site/static/rest_framework/
drwxr-xr-x  6 ontask ontask   49 Sep 14 20:10 site
lrwxrwxrwx  1 ontask ontask   35 Sep 20 15:55 summernote -> /opt/ontask/site/static/summernote/
lrwxrwxrwx  1 ontask ontask   30 Sep 20 15:55 table -> /opt/ontask/site/static/table/
lrwxrwxrwx  1 ontask ontask   33 Sep 20 15:54 workflow -> /opt/ontask/site/static/workflow/
`

Hi @firewuff
Are you sure about this problem? Currently there are two possible scenarios:

The server is running in development with DEBUG=True in the env file (in this case, the static files are served by django's appilcation django.contrib.staticfiles.

The server is running in production. In this case the Web server (Apache, nginx or similar) needs to be configured so that the URL defined in STATIC_URL serves directly a folder with the content in <ontask_top_folder>/site/static

If the server is running using 'runserver' with DEBUG=False, the static files are not served with the right application and the URLs are not found. I wonder if this could be your case?

@abelardopardo The server was running in production and the WebServer configured correctly.  There are 2 paths in our installation /opt/ontask/static/site  and /opt/ontask/site/static which seem to have a split of the required files, hence the need to Symlink.

root@task:/opt/ontask/static/site# ls
css  ico  img  js
root@task:/opt/ontask/static/site# cd /opt/ontask/site/static/
root@task:/opt/ontask/site/static# ls
action  bootstrap_datepicker_plus  django_auth_lti    django_tables2  js    rest_framework  site        table
admin   dataops                    django_extensions  import_export   logs  scheduler       summernote  workflow
root@task:/opt/ontask/site/static#

Ok. I'll look into this. None of our current deployments has shown this, but we need to look in more detail though.

I am still struggling to replicate this error. In the upcoming version (candidate 6.1) I've rearranged the folders so that they don't have such confusing names, here is the final structure:

<ontask_base_dir>/static is a source folder. All files in there are under version control. None o these files should be accessed directly by the web server.

<ontask_base_dir>/site is an initially empty folder that is populated with the required files through the command "manage.py collectstatic" This folder and only the content on this folder should be the one accessed by the web server.

The content in <ontask_base_dir>/site folder is created by:

Copying the content of the <ontsk_base_dir>/static, and copying the content of the folder <ontask_base_dir>/ontask/static.

The folder ontask is the solely app in django, and therefore the files in the folder <ontask_base_folder>/ontask/static is the static content of the app which is combined with the one in <ontask_base_dir>/static to create the <ontask_base_dir>site/static

In your message you are saying that you need additional files in the folder <ontask_base_dir>/static. This means the server is pointing to that folder, to serve the static content, and it is incorrect. It should point to the folder <ontask_base_dir>/site/static
I hope this helps to clarify the glitch. If not, post again.


add a custom logger implementation

just extend the Logger class, and implement your own logger. (you can pass it thru the config)

the git history of this branch was acting weird, so I made #2521.


figure out the difference in standard peers interface

We did a round of checks fairly recently so this is a little surprising, but the field 'address' in data doesn't appear to be there.
So questions:

was it never there and we were always incorrect?
did it change and we didn't do the change (has standards implications, just want yes/no though)
are other clients all using address or the new field? (if they are, we fix the spec instead)

we should probably adapt to standard, and list as a breaking change
https://ethereum.github.io/beacon-APIs/?urls.primaryName=v1#/Node/getPeers

from an initial scan it looks like this field has been the same name for a while so it's possible I just missed it in checking the definitions... may not be heavily used interface given noone has reported it?

I've checked Lighthouse code, they have last_seen_p2p_address since 2020, looks like our bug


Add minimal/maximal versions builds, make minimal pass

I sneaked in a bunch of other small fixes too - same stuff we did for cw-storage-plus.

@webmaster128 bump!


feat: prevent infinite recursion when role contain subrole

feat: prevent infinite recursion when role contain subrole and vice versa. when both of them are still not visited, it will cause infinite recursion

@notdu can you explain the code? Why set to false?


[crossguid] Cross Guid Initial port

Initial cross guid port. This is an easy library to generate guid's in both windows, linux and macosx.

Thanks for the PR!
While looking at the upstream source, I noticed they completely revamped their build (and made it way more awesome) recently; therefore I adjusted the port to take advantage of this new version. Once they make a new release, I hope to settle back down onto the normal v0.2.x tags :)


Simpler events

This allows for direct listener setting like layer.onClick and layer.onChange "x", -> .... It also cleans some dom event listeners.

I like this! Is this a definitive change or a test? Asking for a friend :)

Ha, good catch! Yes this is definitive.


Write a Rust program to convert minutes to seconds

Description
Write a Rust program to convert minutes to seconds
1 minute = 60 seconds
Input  : 5
Output : 300

How to contribute

Save the solution in convert_minutes_to_seconds.rs file
Add convert_minutes_to_seconds.rs file in convert-minutes-to-seconds folder

Hey @victoriacheng15,
This issue has been assigned to you for more than 15 days.
We are unassigning you from this issue.
If you are still interested in contributing to this issue, please get auto-assigned on the issue by commenting !assign again.
Thanks for your contributions :)

!assign


SILGen plumbing for existential lvalue access fixes

This is NFC for now -- there will also be a Sema change, which will introduce tests.

@swift-ci Please smoke test


Poisson Solver does not actually run to convergence

Repeatably only the first iteration of the Poisson Solver will actually run to convergence of epsilon < 1e-5. Subsequent runs never converge and instead time out with epsilon ~ 0.05.
This probably isn't a huge problem but it indicates a weakness in the solver or a weakness in the conditioning. Perhaps the integral of the loss is no longer equal to zero and just needs to be re-centered?

Yep, the fix was simply to shift the loss function up or down such that sum(loss) = 0 before handing it to the poisson solver. Same for the heightmap solver. It now reliably and quickly converges.


Appropriate Layers

Choose appropriate layers for aerosols and clouds and update code/files

Put some preliminary choices up.  Would welcome feedback.


T-beam v1.1 sx1268

Problem with middle button gpio 38, double Click/press  no function, long press after 7 seconds change the callsign, one click no function. Batterystatus not visible on display. Grts radioman1511

hi, new version specially for SX1268 board is available now... please test as it is running smooth now for me
please test and confirm

Now everything works perfect, button and battery info work great and everything is fine. You do wonderful programming work


add successfully loaded files to backup folder

Whenever an object is succesfully loaded on start, add to a backup folder
Overwrite in backup folder if already exists
Implement this in SaveLoader component???
Implement this whenever an object is loaded??? (don't think this is right)


zeroize 1.4 requires rustc 1.51

Hi,
the build of my crate just broke because dialoguer depends on "zeroize" in "1.1.1", but zeroize 1.4 updates the MSRV to 1.51.0 (they really should have done a "2.0" release, not 1.4!).
Not your fault at all, of course, just wanted to let you know that your crate automatically is now MSRV 1.51.0! :laughing:

Thanks for letting us know.


“book_offers” with the invalid taker_pays currency field in the request does not return "srcCurMalformed"

Expected response: srcCurMalformed
Actual response: invalidParams
Sample request:
{    "method": "book_offers",    "params": [        {            "taker": "r97U4iT9m8Q2FeYnAQ1gFKGFDoKe8E7Rh",            "taker_gets": {                "currency": "XRP"            },            "taker_pays": {                "currency": "aa",                "issuer": "rfqNt3Q7jDiWzt9v23ef7F8Fr4KJu1obMb"            },            "limit":20        }    ] }

subscribe to order books with empty taker_pays also returns "invalidParams" instead of "srcCurMalformed"
Sample request:
{     "id": "Example subscribe to XRP/GateHub USD order book",     "command": "subscribe",     "books": [         {             "taker_pays": {             },             "taker_gets": {                 "currency": "USD",                 "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq"             },             "snapshot": true         }     ] }

subscribe to order books with malformed taker_pays currency returns "invalidParams" instead of "srcCurMalformed"
Sample request:
{     "id": "Example subscribe to XRP/GateHub USD order book",     "command": "subscribe",     "books": [         {             "taker_pays": {                 "currency": "XR"             },             "taker_gets": {                 "currency": "USD",                 "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq"             },             "snapshot": true         }     ] }

Issue exists for unsubscribe to books with empty taker_pays also.

unsubscribe to books with taker_pays currency XRP and issuer

unsubscribe to books with malformed taker_pays currency


Multi tenancy app not working with cte queries

Environment

Elixir version (elixir -v): Elixir 1.10.4 (compiled with Erlang/OTP 23)
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): PostgreSQL 10.14
Ecto version (mix deps): 3.4.6
Database adapter and version (mix deps): postgrex 0.15.5
Operating system: Fedora 32 (Workstation Edition)

Current behavior
I have a multi tenancy app that uses recursive queries.
The problem is that when I give a prefix to the query through Repo.all(prefix: "tenant_x"), all the tables and the CTE query uses the prefix.
Example:
category_tree_initial_query =
  Category
  |> where([c], is_nil(c.parent_id))

category_tree_recursion_query =
  Category
  |> join(:inner, [c], ct in "category_tree", on: c.parent_id == ct.id)

category_tree_query =
  category_tree_initial_query
  |> union_all(^category_tree_recursion_query)

{"category_tree", Category}
|> recursive_ctes(true)
|> with_cte("category_tree", as: ^category_tree_query)
|> select([c], c)
|> Repo.all(prefix: "tenant_x")

This SQL is generated:
WITH RECURSIVE "category_tree" AS (

    SELECT *
    FROM "tenant_x"."categories"
    WHERE c.parent_id IS NULL

    UNION ALL (
       SELECT *
        FROM "tenant_x"."categories" AS c
        INNER JOIN "tenant_x"."category_tree" AS ct ON c.parent_id == ct.id)
)
SELECT *
FROM "tenant_x"."category_tree"

CTE queries shouldn't have the prefix.
Expected behavior
I expected that prefix is used only in tables, not CTE query.
WITH RECURSIVE "category_tree" AS (

    SELECT *
    FROM "tenant_x"."categories"
    WHERE c.parent_id IS NULL

    UNION ALL (
       SELECT *
        FROM "tenant_x"."categories" AS c
        INNER JOIN "category_tree" AS ct ON c.parent_id == ct.id)
)
SELECT *
FROM "category_tree"

This is by design. You can change this by explicitly setting a prefix in the cte query:
|> with_cte("category_tree", as: ^%{category_tree_query | prefix: "another one"})

Ok, I did it that way, but maybe I missing something.

{"category_tree", Category}
|> recursive_ctes(true)
|> with_cte("category_tree", as: ^%{category_tree_query | prefix: "tenant_x"})
|> select([c], c)
|> Repo.all()

And the result...
WITH RECURSIVE "category_tree" AS (

    SELECT *
    FROM "tenant_x"."categories"
    WHERE c.parent_id IS NULL

    UNION ALL (
       SELECT *
        FROM "tenant_x"."categories" AS c
        INNER JOIN "tenant_x"."category_tree" AS ct ON c.parent_id == ct.id)
)
SELECT *
FROM "category_tree"

Note that INNER JOIN with CTE query is still using the prefix:
INNER JOIN "tenant_x"."category_tree" AS ct ON c.parent_id == ct.id)

I know this is an old issue but it would be nice if it was clearly documented along with some realistic examples.

@egeersoz We're happy to augment the docs or to accept PR's augmenting them, but it is not always obvious what is not clear to others because we work with the codebase so often that most things are intuitive.
For example, we have a section here in the docs that walks through the cases. A good first step would be to let us know where you feel it is not clear or what kind of examples are missing. I'm actually surprised multiple people thumbs downed Jose without even engaging with him. It help improve things.

The thumbs down may actually be because I was just plain wrong? My suggestion doesn’t solve the issue it seems, instead, we need a way to specify the from (the query source) without a prefix but I am not sure if it is possible. Perhaps we need to support prefix: false or something?

I think prefix: false is the only way. Probably we need it for regular queries too right? Like this
Repo.all(from(p in Post, prefix: false, join: c in Comment, join: s in Something), prefix: "prefix")

Yes, exactly, but hopefully it does not require massive changes to Ecto.

Do you think we should allow false at the query level as well? I was thinking yes so entire subqueries/ctes can ignore the prefix while the rest of the query doesn't.

Yeah, I think we have to :(

Thank you very much for the replies. Before I explain why I gave a thumbs down, I want to apologize if my below post comes across as harsh or rude. That's not my intention. I'm very grateful to everyone in the Elixir community and especially to José and other contributors and maintainers for all their hard work over the years. But, specifically responding to @greg-rychlewski's I'm actually surprised multiple people thumbs downed José without even engaging with him. Doing that doesn't help improve things comment:
The first reason for my thumb down vote is that José said "this is by design" but didn't actually explain why. So it came across as quite terse, almost dismissive, especially since he immediately closed the issue afterwards (without even waiting for confirmation from the issue reporter that his suggestion did in fact address their problem). Sorry, but this is a huge pet peeve of mine when open source devs/maintainers do that so seeing it done soured my mood instantly and I didn't feel like engaging further. IMHO, if the original reporter is putting in all that effort to provide example code and describe the expected behavior vs. the result they are seeing, it would be a matter of simple fairness to match that effort with equivalent effort when providing an answer. Not saying every essay should be responded to with an essay, but even something like testing a suggestion to confirm it works before posting it would go a long way to prevent other readers from going down the wrong path (or prefacing it with "I haven't tested this, but..." so that the lack of confidence in the suggestion is clear).
Second, as José also realized, his suggestion didn't actually work. To make matters worse, due to the lack of elaboration in the response itself and also the sparsity of the docs, it wasn't immediately clear to me if it was his suggestion that was wrong, or if I was implementing it incorrectly. After thinking about it, I decided the first possibility was extremely unlikely, simply due to the sheer difference between his level of experience and knowledge vs. mine. So I ended up spending several hours fiddling with my code, googling stuff and trying to put together various bits and pieces I found that might be relevant to the issue. I got so desperate at one point that I even asked ChatGPT (which of course gave a garbage answer). I eventually gave up and went with another, much less efficient strategy, but also came back to this issue to request more exhaustive documentation and examples on this particular use case with prefixes and recursive CTEs.
For posterity, below is what I was working with. I'm trying to count the catalog_items in each category, with the caveat that the item_counts of top level categories must also include those of their subcategories. For example, there may be 50 items in the Flowers category at the top level, 20 in the Flowers > Roses subcategory and 10 in the Flowers > Daisies subcategory, then the item_count of the Flowers category should be 80. This is a very common use case for things like online storefronts.
category_tree_initial_query =
  Category
  |> where([c], is_nil(c.parent_category_id))

category_tree_recursion_query =
  Category
  |> join(:inner, [c], ct in "category_tree", on: c.parent_category_id == ct.id)

category_tree_query =
  category_tree_initial_query
  |> union_all(^category_tree_recursion_query)

from(cte in {"category_tree", Category}, prefix: nil)
|> recursive_ctes(true)
|> with_cte("category_tree", as: ^category_tree_query)
|> join(:left, [c], ci in assoc(c, :catalog_items))
|> group_by([c], c.id)
|> select([c, ci], %{c | item_count: count(ci.id)})
|> Repo.all(prefix: "my_tenant_prefix")

This generates the following SQL query:
WITH RECURSIVE "category_tree" AS (
  SELECT sc0.id AS id,
         sc0.name AS name,
         sc0.parent_category_id AS parent_category_id,
         sc0.inserted_at AS inserted_at,
         sc0.updated_at AS updated_at
  FROM my_tenant_prefix.categories AS sc0
  WHERE (sc0.parent_category_id IS NULL)
  UNION ALL (
    SELECT c0.id, c0.name, c0.parent_category_id, c0.inserted_at, c0.updated_at
    FROM my_tenant_prefix.categories AS c0
    INNER JOIN my_tenant_prefix.category_tree AS c1 ON c0.parent_category_id = c1.id
  )
)
SELECT c0.id, c0.name, c0.parent_category_id, c0.inserted_at, c0.updated_at, count(c1.id)
FROM my_tenant_prefix.category_tree AS c0
LEFT OUTER JOIN my_tenant_prefix.items AS c1 ON c1.category_id = c0.id
GROUP BY c0.id

Which results in (Postgrex.Error) ERROR 42P01 (undefined_table) relation "my_tenant_prefix.category_tree" does not exist.
After exhausting all my options, I ended up writing a script to pre-calculate the path of each node by concatenating the ids of parent nodes (e.g. "1-2-5" where 1 would be the id of the top node and 5 would be id of the child node at the bottom and so on). After storing this in a full_path column, I can do this:
from cat in Category,
where: is_nil(cat.parent_category_id),
left_join: cat2 in Category, on: fragment("? ILIKE CONCAT(?, '%')", cat2.full_path, cat.full_path),
left_join: ci in CatalogItem, on: ci.category_id == cat2.id,
select: [:id, :name, :full_path],
select_merge: %{
  item_count: count(ci.id, :distinct) # I had to add `item_count` as a virtual field to the Category schema
},
group_by: [cat.id, cat.name, cat.full_path]

Which itself is simpler as a query, but introduces a lot of complexity to the code base, as the paths of child nodes now need to be recalculated each time a parent node is deleted, moved or added. I believe a recursive CTE is the optimal way to solve this issue so hopefully it can be done in Ecto without resorting to raw SQL.
Again, apologies if I sound frustrated! Just wanted to provide some context for my earlier lack of proper etiquette. I sincerely appreciate that the issue has been reopened and potential solutions are being discussed. Thank you.

Thank you @egeersoz for the feedback. You didn’t sound frustrated at all. ❤
I do agree my response was poor. I guess it happens to everyone. Whenever you find a response from me that is too concise, feel free to ask for more context. At least I hope this discussion shows I am happy to right some wrongs. :)

Thank you @egeersoz for the feedback. You didn’t sound frustrated at all. ❤
I do agree my response was poor. I apologize. Whenever you find a response from me that is too concise, feel free to ask for more context. At least I hope this discussion shows we are happy to right some wrongs. :)

@josevalim Since %Ecto.Query{} is opaque we can maybe keep it is {:ok, nil} all the way to the end of the planner and then get rid of the tuple at the end That might make it a nicer API so that there aren't two ways to explicitly ask for no prefix.
But if we do that then everywhere in our code we have to get rid of stuff like this %{query | prefix: new_prefix} and use the attach_prefix function to ensure the {:ok, prefix} format is being adhered to. Or just break if one of us forgets to use an ok tuple when doing %{query | prefix: new_prefix}. Do you think that would be a deal breaker?

What if we go for another approach? What if we automatically track CTEs when emitting the query and we do not the prefix if the CTE name matches the table name?

I think that probably works for CTEs but I believe some other "issues" couldn't be fixed. For example I think these would still suffer a similar issue:
sub_query = from p in Post, prefix: nil

from c in Comment, join: s in subquery(sub_query)
|> Repo.all(prefix: "not_nil")

from p in Post, join: c in Comment, prefix: nil
|> Repo.all(prefix: "not_nil")

I think combinations also have a similar issue where they inherit the prefix from the parent query, which inherits from the repo opt.

@greg-rychlewski I am not worried about those use cases because you can always default to the default prefix, such as public (PG) or the database name (MySQL). The issue with CTEs is that there is no such option, which is why we are trying to make prefix: nil work, but I am assuming it is not easy.

Oh my mind was completely somewhere else. You can do something like this
cte_query = from(...) |> put_query_prefix("other")

query =
  from(cte in {"schema", Schema}, prefix: "public")
  |> with_cte("tree", as: ^cte_query)
  |> select(...)

Are you trying to solve the case when the repo opt is specified and it must bypass the parent query and make its way down to the CTE query? Like this
cte_query = from(...)

query =
  from(cte in {"schema", Schema}, prefix: "public")
  |> with_cte("tree", as: ^cte_query)
  |> select(...)
  |> Repo.all(prefix: "other")

I think in that case combinations have the same issue because they will take the "resolved" parent query prefix and use that instead of the repo opt.

Sorry I get it now. CTEs aren't tables so they can't be prefixed.

This is pretty rough. Because you are technically allowed to name your CTE the same name as a real table.  This will work as long as you have a posts table in your public schema:
TestRepo.insert!(%Post{title: "first"})

"posts"
|> with_cte("posts", as: ^from(c in Comment))
|> select([p], p.title)
|> TestRepo.all(prefix: "public")

So I think you need to be explicit about wanting no prefix rather than inferring from the name alone. And then you get into things like why does prefix: nil work for CTEs but nothing else.

But in your example above the CTE is never used, which is the issue at hand, so I think discarding the prefix outside the CTEs is desired?

Sorry I was being lazy creating the example. You could also have a situation where someone is not doing a good job naming things and joins the CTE onto a table with the same name in another schema. i.e you have something like this
"posts"
  |> with_cte("posts", as: ^from(p in "posts", prefix: "prefix1", where: p.title == ^"something", select: [:id, :title]))
  |> join(:inner, [p1], p2 in "posts", on: p1.id == p2.id)
  |> select([p1, p2], {p1.title, p2.title})
  |> TestRepo.all(prefix: "prefix2")

Then basically the user has no way to say I want the table posts vs I want the CTE posts. We either keep the prefix in both cases (today's behaviour) or ignore both.

Apologies, I'm not sure I am picture your suggestion properly. Do you mean to ignore the repo prefix and the query prefix and only keep the from/join prefixes when with_cte is used?

Yes. If the source name matches the name of a CTE, we ignore the repo/query prefix. Except if the name is inside a particular CTE itself.

Yeah that seems like a really good approach. Basically we assume they want the CTE unless they say otherwise. That makes more sense than the reverse to me. I'll try it out.


Transparently loading/saving the notebook files on the host machine

As far as I could tell the notebook files are held on the "target" machine, the same one where the kernel code is actually run. Wouldn't it be useful to keep the notebooks on the "host" machine (where JupyterLab is running) so they can be backed up more easily?
The use case I imagine right now is having short lived targets in a spot cloud VM, in k8s or inside an Android/iOS mobile app.

As far as I could tell the notebook files are held on the "target" machine, the same one where the kernel code is actually run.

It shouldn't be the case, because the contents service is running on the "host" machine.


How to embed angular-filemanager into an existing page

Hi,
Thanks for the plugin, it is great, and exactly what I was looking for :)
However, I don't want to have a fullpage with it but rather embed it  into an existing webpage of mine. The idea is to allow visitors to check, download and upload file to the server (as you might imagine).
I started an simple project without bower nor anything. Just plain html, css and angular (no seed).
Therefore I initiated into my project a bower project with bower init, filled in the informations needed and then load your plugin with the given command line. Afterwards, I included the necessary inclusion in my headers (without bootstrap and angular already charged) and changed the following lines
<link rel="stylesheet" href="dist/angular-filemanager.min.css">
<script src="dist/angular-filemanager.min.js"></script>

to
<link rel="stylesheet" href="bower_components/angular-filemanager/dist/angular-filemanager.min.css">
<script src="bower_components/angular-filemanager/dist/angular-filemanager.min.js"></script>

because I couldn't see any dist at the root of my folder.
However, I can't manage to have an output ..
Idea ?
EDIT:
As I didn't do much before merging with your plugin, I build my page on top of this project after cloning it .. (easy fix for now, but I am still interested in the solution)

Hi @inlakin ,
what is it please that didn't work? Do you mean you didn't get a list of the files / bridge error?
There is a great possibility you didn't have a bridge configured correctly.


Make the Docker images produced support arm64

Make the Docker images produced support the arm64 platform.

Fingers crossed it works!

Fingers crossed it works!

Bold.  I like it.

@jsf9k - Heh, unfortunately for some reason the build hangs on arm64 on this container build too. I wonder if GitHub Actions has a weird problem with arm64 cross-builds using BuildX? See older issue too, but probably not related: https://github.com/docker/setup-qemu-action/issues/42

Where do you see that it hung up?  It looks like it succeeded.

lol oops! Re-re-merged.

lol oops! Re-re-merged.

Sounds like your Friday is going about like mine is :laughing:

Haha, all the crazy things started happening after 4pm, too.


Get basemap that honors specified bounding box

I wonder if it would be possible to get a basemap that honors the specified lon/lat min/max pairs. Right now, when I plot the basemap, it includes extra "borders" that don't make a good visualization:

Alternatively, if the basemap object stores the lon/lat min/max values, the plot recipe could crop the borders.

Tyler.jl will handle this properly for Makie plots now.

Tyler.jl will handle this properly for Makie plots now.

Indeed, and since this package now only finds the appropriate tiles, I think it is out of scope.


[WIP] Enhancement: Split tests into integration and unit tests

❗ This is still a work in progress.
This PR

[ ] splits tests into integration and unit tests

Usually when i'm making something and writing tests for it, i just want to run those tests to see if i broke something before running the entire suite. So i do something like $ vendor/bin/phpunit tests/Domain/Model/TalkTest.php.
If we remove the phpunit.xml from the root will that still work?

@BackEndTea
No, that won't work.
But how about running
$ make unit

instead?

@localheinz
That works, but in that case someone still has to run all the unit tests, just to check if the one change they made in a specific class didn't break anything.
If we had 0 database interaction in the unit tests it would be okay, but right now it takes roughly 30 seconds to run the tests locally. And when you just want to quickly check if the one string you changed is okay thats a bit much in my opinion.

@BackEndTea
That's the idea, if we have database interactions then it's clearly not a unit test. The idea is to bring down running unit tests to hundreds or at most thousands of milliseconds, but not half a minute or more!
👍

@BackEndTea @chartjes
If we want to merge this, here's what I suggest we should do afterwards:

inspect test classes in tests/Integration and extract test methods therein into unit tests (if appropriate)
inspect BaseTestCase and WebTestCase and see if they should be split as well (maybe some of the functionality is useful in the context of a unit test, but probably not all of it)

@chartjes
Let me rebase real quick!

Thank you, @chartjes!


Ability to use a volume restored from a cStor snapshot without any application storage reconfiguration

Description
Consider following sequence of events

application is using a volume
prior to upgrade1, snapshot1 created
upgrade1 successful
snapshot1 can be deleted since its of no use
app continues to use original volume
prior to upgrade2, snapshot2 created
upgrade application runs for sometime
upgrade2 deemed a failure and the intent is to go back to the storage state as in snapshot2

So the admin would restore snapshot2 and would like to be able to deploy the app so that it uses the restored volume without any application volume reconfiguration.
Currently, the original volume cannot be deleted and so the restored volume will have a different name and application needs to be reconfigured to use the new volume name. Would like to avoid the application reconfiguration.

hi @kmova just small observation in the project that it uses the outdated version of react. Kindly, Update this.
Thanks.

@Amishakumari544 - can you please create a new issue for above under openebs/website repo. I will delete the comment from this thread once you have had a chance to create there as this comment is not helping this issue.


[KeyVault] Retry security domain export during deployment

Made the Key Vault security domain export retry a few times, which should improve test reliability.
Packages impacted by this PR
KeyVault test-resources-post.ps1 script. Affects live Managed HSM tests for the Key Vault packages.
Issues associated with this PR

#21942

/azp run js - keyvault-keys - tests

The service seems to have been behaving itself for the past week or so without this, so the retry logic might not be required. Closing for the time being.


Implementing verify command

Summary
Implementing verify command according to the spec #88
Intended Outcome
notation verify command works as defined in the spec
Additional context

We need the spec for verify.  Relevant sign and verify workflow document.

need more work per verify CLI spec


Unnecessary panic on Message enum match arms

Describe the bug
Some of the match arms for tungstenite's Message enum in engineioxide/src/transport/ws.rs line 194 are not done, and therefore panic!  I don't think it should panic, because some libraries use the other message variants, for example Pong. The catchall should just log to tracing instead of panicking.
To Reproduce
Steps to reproduce the behavior:
Try a client (doghappy's C# SocketIOClient) that uses the other message enum variants
Expected behavior
Not panicking for no reason
Versions (please complete the following information):

Socketioxide version: v0.13.0
Http lib: salvo v0.67.0
Socket.io client version: V4

Additional context
There is none, thanks

I have the same problem with my client application written in Flutter.  Apart from frequent panics, Socketioxide works just fine.

Fixed with v0.13.1. Thanks for the report!


Vscode setup download result an echec

Type: Bug
Steps to Reproduce:

(Don't know if it's have a link but) Rollback your windows to a previous version
Open Vscode and see toast about your vscode is corrumpted (same result when I open vscode with disabled extension)
Go on Firefox to the vscode download page to redownload your vscode
Click to install whenever option of download (Win, Linux, Mac, x64 or x32) and I get a response from firefox : "echec"

Don't know how to fix it, downloading work on google drive (I've tried on other website and it's work) only vscode website don't work.
 Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

I actually solved this, the problem was in my ethernet adapter I don't know why this affected only vscode website but it work now.


Add check for existing curve in ENsetheadcurveindex

ENsetheadcurveindex crashes when a non-existing curve index is passed.

Fixed in c3d3e91.


When I run the script I am getting this : error at find_elements method : invalid literal for int() with base 10: ''

it works now

Hello @izzyjere how do you resolve the problem. When i run the script im still getting the error. Also @shaikhsajid1111 there some pages im still having "No posts were found!". Please let me now how can I fix these two problems.
Thx!

@LChito do you mind sharing one of those page so I can recreate the issue?

@shaikhsajid1111 Hello, sorry for the late. This 2 pages I used that show me that problems:

https://www.facebook.com/brasil.farmacias ("No posts were found")
https://www.facebook.com/FarmaciasSanRafaelYLibreriasMarcela ("error at find_elements method : invalid literal for int() with base 10: '')

Hey, I've checked the issue.

https://www.facebook.com/brasil.farmacias - This Page isn't available.

https://www.facebook.com/FarmaciasSanRafaelYLibreriasMarcela - Yeah selector was outdated, I've fixed this as well and will push an update in a couple of hours.

If you're having an issue with this scraper, consider running that page in headful mode by passing headless=False in the constructor of Facebook_scraper. Like so, crawler = Facebook_scraper("FarmaciasSanRafaelYLibreriasMarcela", posts_count=10, browser="firefox",headless=False)

Sorry @shaikhsajid1111 can you show me how I have to put this code on Python. Also, I have to update the version in my repository?

Just pass headless=False in the Facebook_scraper like I have mentioned in the code above. While running the code the browser window wil open and you can see what's really happening.
Example:
crawler = Facebook_scraper("FarmaciasSanRafaelYLibreriasMarcela", posts_count=10, browser="firefox",headless=False)
data = crawler.scrap_to_json()
print(data)

BTW, are you using different Facebook language?, This crawler shall work with English(UK)

@shaikhsajid1111 Maybe it continue happen because I have the facebook in Spanish. How can I change de language?

https://www.facebook.com/help/327850733950290/manage-your-facebook-language-settings/?helpref=platform_switcher&cms_platform=www
I think this may help 😅

I'm still having the problem 😞 were do you download th firefox driver? Because I'm using Chormedriver

Logs are still same like the one you posted screenshot above?, I mean I changed logs format but in your screenshot shows still the old format

@shaikhsajid1111 can you show me? Because I really don't undertstand you right now, im sorry 😢

When you run the crawler, is it still printing the same thing in same format?, Or the format looks different?

It's the same one

What's the newest version to install?

@LChito are you new to Python?, Are you coming from different programming language?

THANK YOU SO MUCH! Finally it works! Only the reactions doesn't works properly.

Reactions might not be working because it finds reaction by keywords like "50 Cares", so If it's not in English you will get 0 as the output. That's the very reason I was suggesting to use English

@shaikhsajid1111 I already change de language to English UK in my facebook like the personal but in the scrapper I continue looking it in spanish, what changes I have to do?

It is happening probably because of the region. I even face the same issue, I fix it by inserting en-gb at the prefix of the link so it look something like this https://en-gb.facebook.com/


Prioritize marginals

Instead of a single gap tolerance for all marginals, we could allow the user to specify a named list of gaps.  This would allow different marginals to have different levels of importance - similar to the Newton Raphson method.
The named list for gaps would mirror the named list for the marginal data frames.
By default, the list would use a single, default value for all marginals.  This will keep things simple for the user unless they want the added feature.

@surabhi7
I'm interested in what you think about this approach, as I don't think that's how your script does it. Let me know if my approach isn't clear.

Given the new damp_factor in ipu(), a good approach to this might be to allow either a single dampening factor or different factors for each marginal. The default can remain .75, which would be applied to all marginal, but a named list could be provided:
damp_factor <- list()
damp_factor$siz <- .75
damp_factor$veh <- .60

In the above example, the siz marginal is more important, because its factor is larger. Also, compared to the Newton-Raphson priority integers, it's easier to interpret what these factors mean (0-1 scale).
Additional checking would have to be added to the function so that, if a named list is provided, every name in hh_targets and per_targets must have a corresponding name in damp_factor.

This is now being at least partially handled by the scale_targets function. It makes sure that all target tables match the total of the first target table. Further work probably needs to wait until the full Newton-Raphson method is adopted. If it is.


Add testcase definitions

The checker will need more information on how to test the plugin as much as possible. While the special API implementations can add callback requests (such as when registering a command, we can add a request to call the handler with various params), the plugins will need more specific testing, such as specific commands in specific sequences. Or perhaps generating in-game events in a specific order (player connected, player executing a command, player interacting with the blocks, ...)

This is now called "Scenario".
The Checker will receive a scenario file via commandline. It will load the scenario file and execute actions found within it. The scenario file itself will specify when exactly the plugin is to be loaded and initialized (plugin initialization may require setup, such as filesystem redirections).


rspack/postcss seems nothing to do with postcss

https://github.com/rspack-contrib/rspack-examples/tree/c2768a28049440ecdeac491fb8abde43ff92c294/rspack/postcss
shall we remove it? or rename it?

You can remove it.Pprobably a mistake from the original commit.


Add "used" or "unused" labels to addresses in receive tab

On the "receive" tab, it shows a list of addresses and their balances. If a balance is 0, I would also like the app to label the address either "used" or "unused" so that I don't accidentally re-use an address thinking it's new because its balance is 0.

in v0.5.4


Feature/initial

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@661408f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #2   +/-   ##
=========================================
  Coverage          ?   16.21%
=========================================
  Files             ?        6
  Lines             ?      512
  Branches          ?        0
=========================================
  Hits              ?       83
  Misses            ?      396
  Partials          ?       33


Icons are not visible when running as Administrator

When i'm using "normal" user everything works fine and icons are visible, but when i switch to administrator.
I'm using Visual Studio Professional 2019

Sounds a lot like this issue: https://github.com/sboulema/TGit/issues/49
Unfortunately still haven't found a solution :(


(aws2-ddb) Set exclusive start key only once.

Switch to use the existing parent class's method to determine the exclusive start key, only set it once in the builder.

Side note, the following line will set the LAST_EVALUATED_KEY to an SdkAutoConstructMap when no last evaluated key is present.
tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.lastEvaluatedKey());

I'm not sure if this is intentional, or the component should check for this and return null. Currently, dependent applications have to reimplement this logic available in the sdk.
public final boolean hasLastEvaluatedKey() {
    return lastEvaluatedKey != null && !(lastEvaluatedKey instanceof SdkAutoConstructMap);
}

If an always-null if not present is desired, I could put up another pull request.

For the last evaluated key, I guess we should check and return null. @dscalzi please open a followup PR. Thanks


Extends

closes #590
I'm not familiar with the test system so I don't know how to write a test for it.
I have tested this in my own repo usage.

I notice the current change is not sufficient. Will make another change in the morning.

The latest change works.


After each restart the adapter is red - normal?

The question
Hello,
I have to run these lines after each reboot:
$ cd /opt/iobroker/node_modules/iobroker.switchbot-ble/
$ sudo rm -r node_modules/
$ npm install
$ sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

This is impractical. Is the behavior correct? Is it possible to automate this?
The version displayed in iobroker is 0.4.3 and this is also installed.
Many greetings
Leif
Additional information
No response

@capitaenz
Hi Leif, sorry for late reply 🙏🏻

I have to run these lines after each reboot:

Do you really have to delete the node_modules (and run npm install) folder in this case?
I don't think I've ever experienced that with my system.

@capitaenz
Please try the latest version of the adapter (1.4.7-alpha.x).
Maybe your issue is caused by an older version of the @abandonware/noble library.

@mrbungle64
Thank you for your answer and help.
I have installed the new version and an update with reboot is coming soon, I will report back.
Greetings
Leif

Apologies for the late reply.
The problem still persists, it helps to run this:
$ cd /opt/iobroker/node_modules/iobroker.switchbot-ble/ $ sudo rm -r node_modules/ $ npm install
Version 0.4.7 is installed.
How can I contribute to the solution?

@capitaenz

The problem still persists, it helps to run this:

Has this solved the problem so far or does it still exist?

@mrbungle64
I have to restart the installation every time I restart the RPI3+ (slave), otherwise the adapter stays red.

@mrbungle64 I must also confirm that the adapter is very "delicate" considering it's "survive reboot stability". Today I updated the js-controller and switchbot.ble stayed red. Also running on RPI3+.

@schlaubstar @capitaenz
What os and what version of Node.js are you running on your RPI3+?

my setup:
os: Raspbian GNU/Linux 11 (bullseye)
Node.js: v18.17.1(18.19.1)
NPM: 10.2.5
I just did a sudo-reboot and the whole device / iobroker and switchbot-ble restarted sucessfully.
After updating js-controller, iob deactivated the switchbot-ble instance proclaiming it caused a restart-loop.
I tried to run npm install, solely - but this did not help.
I had to run the whole routine including "sudo rm -r node_modules/" before I could sucessfully restart the instance this morning.

@schlaubstar @capitaenz
Please post the following output:
cd /opt/iobroker/node_modules
npm list @abandonware/noble

user@rpi3b:/opt/iobroker/node_modules $ npm list @abandonware/noble<EMAIL_ADDRESS>/opt/iobroker ├──<EMAIL_ADDRESS>extraneous ├─┬<EMAIL_ADDRESS><EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>extraneous   └──<EMAIL_ADDRESS>deduped

@schlaubstar
It may help to delete the directories of @abandonware/noble and node-switchbot in /opt/iobroker/node_modules

@mrbungle64 I did as advised and manually restarted the instance in the admin gui.
Will keep an eye on it and report.

@schlaubstar @capitaenz
I forgot to mention that after deleting the directories it's also a good idea to install the latest version of the switchbot-ble adapter from GitHub 😉

@mrbungle64
I have an RPI 3B+ as a slave
Node.js v18.17.1
I deleted the directories mentioned above and installed the adapter in version 0.4.9.
I will watch it.
Thanks for the help

The problem seems to be solved now! Thanks!


Use colour codes that also works with OSX

Hi,
there is a problem with the colour codes on OS X. I get following output:
sleeping for 2 secs...                                                                                [\e[1;32mDONE\e[0m]

My pull request fixed that.
Thank you!
André

Okay, I am very inspired of the possibilities, so I added also a timer function.  :-)
Please give me feedback.


will add compatibility with mpv-menu-plugin

I use https://github.com/tsl0922/mpv-menu-plugin and there template file input.conf is different from the standard one, is it possible to add compatibility with it?

Doesn't this works?
SPACE       cycle pause           #event: click     #menu: Play  #@state=(idle_active and 'disabled' or (pause or 'hidden'))

you are right it works this way, I made a mistake in the command


Error handling section in the docs has disappeared

Link: https://fed.brid.gy/docs#error-handling (still used on that same page).

Fixed in def8c3d5358814cf81abf17cebab49173b29827a. Thanks again!


Fix jOOQ deprecation warning

We use a custom class for PostGIS geometry columns, and we have a converter that
plugs into jOOQ so it uses our class when reading and writing those columns.
When we were constructing a custom jOOQ Field object, we were telling jOOQ to
look up the converter for our class in its global list of converters. That pattern
is being deprecated per https://github.com/jOOQ/jOOQ/issues/15286 because it can
cause undefined behavior. The existing code still works, but causes jOOQ to log
warning messages.
Update our custom field construction to explicitly specify the converter it needs.

Current dependencies on/for this PR:

main

PR #1575   👈

This stack of pull requests is managed by Graphite.


RollCall_footer

Related Issuse

Added Footer for Rollcall Website(sections that include here e.g. Copyright, Social media, T&C)

Closes: #118
Describe the changes you've made
Added code of Footer Section for Rollcall Website via Rollcall_footer file with index.html and style.css
Footer (sections that include here e.g. Copyright, Social media, T&C.)
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.

Screenshots
|          changes          |

@Abhishekkr93 I see some changes in workflow and python files in this PR.
I don't think u need to change them, pls check your PR again and only include relevant files.

In which file sir?
No sir, I only made a folder rollcall_footer then I added two file name index.html & style.css?
So, I need to make a fresh pull request now? @SKAUL05

@Abhishekkr93 It's showing around 28 files changed.
Either you can remove changes to the unknown files or create a new PR

okay sir, I will make a new PR. closing this. @SKAUL05

will making new PR.