Utilise new Vendor name instead of adopt's patch with company name

I have run an openjdk build (not adoptopenjdk build) using
bash configure --with-vendor-name=AdoptOpenJDK

and that results in a jdk with the following properties:
java.vendor = AdoptOpenJDK
java.vm.vendor = AdoptOpenJDK

which looks like the result we want.
The AdoptOpenJDK build currently uses its --with-company-name build configure argument (which is specific to AdoptOpenJDK.
So there appear to be two parts to this:

Pass --with-vendor-name rather than --with-company-name to build configure in the build scripts
No longer apply the --with-company-name patch to the openjdk git clone

@karianna / @johnoliver - does that sound right or is there more to it than that?

I would have thought that ideally we'd want java.vm.vendor to still be Oracle, although if Simon's investigation is correct the options doesn't allow you to set one of those and not the other.

can you paste in the full java -version string that gets produced. But assuming it give us what we need and removes a patch...sounds good

Full output from
java -XshowSettings:properties -version

Property settings:
    awt.toolkit = sun.awt.X11.XToolkit
    file.encoding = UTF-8
    file.encoding.pkg = sun.io
    file.separator = /
    java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
    java.awt.printerjob = sun.print.PSPrinterJob
    java.class.path = .
    java.class.version = 52.0
    java.endorsed.dirs = /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/endorsed
    java.ext.dirs = /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/ext
        /usr/java/packages/lib/ext
    java.home = /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre
    java.io.tmpdir = /tmp
    java.library.path = /usr/java/packages/lib/amd64
        /usr/lib64
        /lib64
        /lib
        /usr/lib
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 1.8.0-internal-username_2019_12_10_12_48-b00
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.8
    java.vendor = AdoptOpenJDK
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.8.0-internal
    java.vm.info = mixed mode
    java.vm.name = OpenJDK 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.8
    java.vm.vendor = AdoptOpenJDK
    java.vm.version = 25.71-b00
    line.separator = \n
    os.arch = amd64
    os.name = Linux
    os.version = 4.15.0-45-generic
    path.separator = :
    sun.arch.data.model = 64
    sun.boot.class.path = /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/resources.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/rt.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/sunrsasign.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/jsse.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/jce.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/charsets.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/jfr.jar
        /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/classes
    sun.boot.library.path = /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/amd64
    sun.cpu.endian = little
    sun.cpu.isalist =
    sun.desktop = gnome
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = UTF-8
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level = unknown
    user.country = GB
    user.dir = /home/username/hg/jdk8u/build/linux-x86_64-normal-server-release/images
    user.home = /home/username
    user.language = en
    user.name = username
    user.timezone =

openjdk version "1.8.0-internal"
OpenJDK Runtime Environment (build 1.8.0-internal-username_2019_12_10_12_48-b00)
OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)

I would have thought that ideally, we'd want java.vm.vendor to still be Oracle, although if Simon's investigation is correct the options don't allow you to set one of those and not the other.

It looks like our existing patch sets this to AdoptOpenJDK, so we're being consistent.

@lumpfish - I think you can go ahead and make the PR change (assuming this is a builds script change which I suspect it is).  Worth co-ordinating with @johnoliver to then remove/disable our patch.

Created https://github.com/AdoptOpenJDK/openjdk-build/pull/1461 for the --with-vendor-name part (not the patch removal).  I don't think it's possible to test using my fork of openjdk-build in the Jenkins pipeline - @johnoliver / @sxa555 - please tell me if that's incorrect and I can test it.

It is possible :-) Have initiated https://ci.adoptopenjdk.net/job/build-scripts-pr-tester/job/test-build-script-pull-request/237/ to test it
EDIT: I should probably have included an OpenJ9 version as well, but if you want to kick off another feel free - parameters are pretty self-explanatory

Output of
java -XshowSettings:properties -version

from builds created from the openjdk-build fork / branch in PR https://github.com/AdoptOpenJDK/openjdk-build/pull/1461:
jdk8u242-b06_hotspot:
Property settings:
    awt.toolkit = sun.awt.X11.XToolkit
    file.encoding = UTF-8
    file.encoding.pkg = sun.io
    file.separator = /
    java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
    java.awt.printerjob = sun.print.PSPrinterJob
    java.class.path = .
    java.class.version = 52.0
    java.endorsed.dirs = /home/user/Downloads/jdk8u242-b06/jre/lib/endorsed
    java.ext.dirs = /home/user/Downloads/jdk8u242-b06/jre/lib/ext
        /usr/java/packages/lib/ext
    java.home = /home/user/Downloads/jdk8u242-b06/jre
    java.io.tmpdir = /tmp
    java.library.path = /usr/java/packages/lib/amd64
        /usr/lib64
        /lib64
        /lib
        /usr/lib
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 1.8.0_242-202001131717-b06
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.8
    java.vendor = AdoptOpenJDK
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.8.0_242
    java.vm.info = mixed mode
    java.vm.name = OpenJDK 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.8
    java.vm.vendor = AdoptOpenJDK
    java.vm.version = 25.242-b06
    line.separator = \n
    os.arch = amd64
    os.name = Linux
    os.version = 4.15.0-29-generic
    path.separator = :
    sun.arch.data.model = 64
    sun.boot.class.path = /home/user/Downloads/jdk8u242-b06/jre/lib/resources.jar
        /home/user/Downloads/jdk8u242-b06/jre/lib/rt.jar
        /home/user/Downloads/jdk8u242-b06/jre/lib/sunrsasign.jar
        /home/user/Downloads/jdk8u242-b06/jre/lib/jsse.jar
        /home/user/Downloads/jdk8u242-b06/jre/lib/jce.jar
        /home/user/Downloads/jdk8u242-b06/jre/lib/charsets.jar
        /home/user/Downloads/jdk8u242-b06/jre/lib/jfr.jar
        /home/user/Downloads/jdk8u242-b06/jre/classes
    sun.boot.library.path = /home/user/Downloads/jdk8u242-b06/jre/lib/amd64
    sun.cpu.endian = little
    sun.cpu.isalist =
    sun.desktop = gnome
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = UTF-8
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level = unknown
    user.country = GB
    user.dir = /home/user/Downloads
    user.home = /home/user
    user.language = en
    user.name = user
    user.timezone =

openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-202001131717-b06)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b06, mixed mode)

jdk-11.0.6+9.hotspot
Property settings:
awt.toolkit = sun.awt.X11.XToolkit
file.encoding = UTF-8
file.separator = /
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.awt.printerjob = sun.print.PSPrinterJob
java.class.path =
java.class.version = 55.0
java.home = /home/user/Downloads/jdk-11.0.6+9
java.io.tmpdir = /tmp
java.library.path = /usr/java/packages/lib
/usr/lib64
/lib64
/lib
/usr/lib
java.runtime.name = OpenJDK Runtime Environment
java.runtime.version = 11.0.6+9-202001131745
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 11
java.vendor = AdoptOpenJDK
java.vendor.url = https://adoptopenjdk.net/
java.vendor.url.bug = https://github.com/AdoptOpenJDK/openjdk-support/issues
java.vendor.version = AdoptOpenJDK
java.version = 11.0.6
java.version.date = 2020-01-14
java.vm.compressedOopsMode = 32-bit
java.vm.info = mixed mode
java.vm.name = OpenJDK 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 11
java.vm.vendor = AdoptOpenJDK
java.vm.version = 11.0.6+9-202001131745
jdk.debug = release
line.separator = \n
os.arch = amd64
os.name = Linux
os.version = 4.15.0-29-generic
path.separator = :
sun.arch.data.model = 64
sun.boot.library.path = /home/user/Downloads/jdk-11.0.6+9/lib
sun.cpu.endian = little
sun.cpu.isalist =
sun.desktop = gnome
sun.io.unicode.encoding = UnicodeLittle
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = UTF-8
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
sun.os.patch.level = unknown
user.country = GB
user.dir = /home/user/Downloads
user.home = /home/user
user.language = en
user.name = user
user.timezone =
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+9-202001131745)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+9-202001131745, mixed mode)
jdk-13.0.1+9.hotspot
Property settings:
    file.encoding = UTF-8
    file.separator = /
    java.class.path =
    java.class.version = 57.0
    java.home = /home/user/Downloads/jdk-13.0.1+9
    java.io.tmpdir = /tmp
    java.library.path = /usr/java/packages/lib
        /usr/lib64
        /lib64
        /lib
        /usr/lib
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 13.0.1+9-202001131807
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 13
    java.vendor = AdoptOpenJDK
    java.vendor.url = https://adoptopenjdk.net/
    java.vendor.url.bug = https://github.com/AdoptOpenJDK/openjdk-support/issues
    java.vendor.version = AdoptOpenJDK
    java.version = 13.0.1
    java.version.date = 2019-10-15
    java.vm.compressedOopsMode = 32-bit
    java.vm.info = mixed mode, sharing
    java.vm.name = OpenJDK 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 13
    java.vm.vendor = AdoptOpenJDK
    java.vm.version = 13.0.1+9-202001131807
    jdk.debug = release
    line.separator = \n
    os.arch = amd64
    os.name = Linux
    os.version = 4.15.0-29-generic
    path.separator = :
    sun.arch.data.model = 64
    sun.boot.library.path = /home/user/Downloads/jdk-13.0.1+9/lib
    sun.cpu.endian = little
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = UTF-8
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    user.country = GB
    user.dir = /home/user/Downloads
    user.home = /home/user
    user.language = en
    user.name = user

openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9-202001131807)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13.0.1+9-202001131807, mixed mode, sharing)

For reference, this are the system properties for the previous AdoptOpenJDK release:
jdk8u232-b09_hotspot
Property settings:
    awt.toolkit = sun.awt.X11.XToolkit
    file.encoding = UTF-8
    file.encoding.pkg = sun.io
    file.separator = /
    java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
    java.awt.printerjob = sun.print.PSPrinterJob
    java.class.path = .
    java.class.version = 52.0
    java.endorsed.dirs = /home/user/Downloads/jdk8u232-b09/jre/lib/endorsed
    java.ext.dirs = /home/user/Downloads/jdk8u232-b09/jre/lib/ext
        /usr/java/packages/lib/ext
    java.home = /home/user/Downloads/jdk8u232-b09/jre
    java.io.tmpdir = /tmp
    java.library.path = /usr/java/packages/lib/amd64
        /usr/lib64
        /lib64
        /lib
        /usr/lib
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 1.8.0_232-b09
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.8
    java.vendor = AdoptOpenJDK
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.8.0_232
    java.vm.info = mixed mode
    java.vm.name = OpenJDK 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.8
    java.vm.vendor = AdoptOpenJDK
    java.vm.version = 25.232-b09
    line.separator = \n
    os.arch = amd64
    os.name = Linux
    os.version = 4.15.0-29-generic
    path.separator = :
    sun.arch.data.model = 64
    sun.boot.class.path = /home/user/Downloads/jdk8u232-b09/jre/lib/resources.jar
        /home/user/Downloads/jdk8u232-b09/jre/lib/rt.jar
        /home/user/Downloads/jdk8u232-b09/jre/lib/sunrsasign.jar
        /home/user/Downloads/jdk8u232-b09/jre/lib/jsse.jar
        /home/user/Downloads/jdk8u232-b09/jre/lib/jce.jar
        /home/user/Downloads/jdk8u232-b09/jre/lib/charsets.jar
        /home/user/Downloads/jdk8u232-b09/jre/lib/jfr.jar
        /home/user/Downloads/jdk8u232-b09/jre/classes
    sun.boot.library.path = /home/user/Downloads/jdk8u232-b09/jre/lib/amd64
    sun.cpu.endian = little
    sun.cpu.isalist =
    sun.desktop = gnome
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = UTF-8
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level = unknown
    user.country = GB
    user.dir = /home/user/Downloads
    user.home = /home/user
    user.language = en
    user.name = user
    user.timezone =

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)


feat: implement remainder of 1.2 support in task type checking

See https://github.com/stjude-rust-labs/wdl/pull/163.
The following need to be implemented to have full 1.2 support in task type checking:

[x] support task name (with "task" hidden type) in commands and output declarations. (#168)
[x] support input, output, and hints hidden types in literal expression evaluation. (#170)

This is now complete.


Update micro:bit chip descriptions in the book

I forgot editing the book as well in #423.
BTW, I put the chip instructions in one line each so that people are not confused and uncomment also the "v2" comment. I saw somebody asking in the chat about this.

r? @andre-richter
(rust-highfive has picked a reviewer for you, use r? to override)


Adds featured-sponsors-darkmode.svg to fix darkmode sponsors on ddev/ddev

Adds featured-sponsors-darkmode.svg to fix dark mode sponsors on ddev/ddev
The Issue
https://github.com/ddev/ddev/issues/5492
How This PR Solves The Issue
This PR makes the asset available

https://35a114ba.ddev-com-front-end.pages.dev/resources/featured-sponsors-darkmode.svg
https://35a114ba.ddev-com-front-end.pages.dev/resources/featured-sponsors.svg

I basically used the same method I used on ddev.com on this. Most of the logos already existed except for a few that I was just inverting the colors.
The one that proved most challenging was Drupaleasy since it's a PNG but I got it done.
I use inkscape for all but drupaleasy to edit the SVG's then select all the letters icons and on the color pallete switch them to pure white and export the file with a new name. Inkscape is an open-source tool but any other's like illustrator can accomplish the same goal.

I can be on the watch for those PRs and add them as needed. It takes a min or two if I have a laptop with me.

It's never a rush. Thanks for your help with it. Could just turn the new-sponsor task over to you as well.

Yeah, I'm down. If you get the files and share them as an issue I can add the PR for them


Wip Fix Fixtures Python3.6

It solves the problem of fixtures for python3 but it put a problem of syntax with python2 metaclass=ChoiceEnumMeta
With the syntax  six.with_metaclass (I did not use), there is this problem that could be solved maybe:
class AutoIntEnum(six.with_metaclass(int, Enum, ChoiceEnumMeta)):
  File "/home/np/sources/Tutorial/shoptutorial/lib/python3.6/site-packages/six.py", line 809, in with_metaclass
    return type.__new__(metaclass, 'temporary_class', (), {})
TypeError: type.__new__(metaclass): metaclass is not a subtype of type

it's a bit hacky, because with six I have not been able to use metaclass.
#666 #670

Hi Nicolas,
finally I found a solution for this problem which works on Python 2.7, 3.4, 3.5 and 3.6
Changes: https://github.com/awesto/django-shop/commit/c4f970aabeaa2a4ee1bfcf31441b13e2812436ed
It's currently part of the 0.12 branch, but if you need Python 3.6 on version 0.11.2, it could easily be backported.
Please retry...


"bcbio_nextgen.py upgrade --tools" makes brew error

I'm upgrading bcbio-nextgen,
$ bcbio_nextgen.py upgrade --tools

It makes brew error like follows and stopped.
....
[localhost] local: /home/isg/tools/bin/brew info vcflib

Fatal error: local() encountered an error (return code 1) while executing '/home/isg/tools/bin/brew info vcflib'

Aborting.
local() encountered an error (return code 1) while executing '/home/isg/tools/bin/brew info vcflib'

brew command result is like follows.
$ /home/isg/tools/bin/brew info vcflibError: Formulae found in multiple taps:
 * homebrew/science/vcflib
 * chapmanb/cbl/vcflib

Please use the fully-qualified name e.g. homebrew/science/vcflib to refer the formula.

How can I resolve this problem?

Hyungyong;
Sorry about the issue and thanks for letting us know about the problem. It looks like vcflib made it into homebrew-science and was conflicting with the CloudBioLinux copy. I removed the CBL specific one so if you re-run the update it should now proceed cleanly. Thank you again for the report.

I confirmed the error was fixed.
Thank you for quick fix and great program.


💡 [Feature]: Add setting to enable/disable the .nvmrc file creation

🎯 Aim of the feature
Add a new additional step setting when scaffolding a new project, the additional YES/NO switch will have a label 'Create node version manager configuration file (.nvmrc)'. This setting will be added after the already existing ones:

The setting, if set to YES, will create the .nvmrc file when scaffolding the new project.
Other than adding the new additional step two new extension settings will be added:

createNVMRCFileDefaultValue: this setting will define what's the default value for the additional scaffold step. By default the value will be NO.
nodeVersionConfigurationFile: this setting will define what Node version configuration file to use. If the user has selected NVM as Node versioning software this setting won't display, instead if the NVS versioning software is used the user can choose the configuration file to use, the available choices are:

.nvmrc
.node-version

📷 Images (if possible) with expected result
No response
🤔 Additional remarks or comments
No additional remarks

@GuidoZam thanks for this suggestion 👍. I think it is a really awesome idea, let's give it though and discuss different options and then prototype(draft/spec) how it should be done before we open it up.
I will try to get back with more comments and questions regarding this issue later during the day 👍

@GuidoZam some feedback from my side on this idea:

This new setting seems strictly related to project scaffolding. VS Code extension setting are usually something most of us (developers)  do not change 😉 so if we put this there it will get little visibility. Besides that we already have some additional 'settings' that one may be interested when scaffolding new project and this may be found in the 3rd step of the scaffolding form. IMO I would rather add this as a new option in the 'Additional Steps' section in the scaffolding form. Just another YES/NO switch with label like 'create node version manager configuration file (.nvmrc)' or something similar.

Then if the above suggestion would be fine with you in the VS code extension settings I would rather add a setting if this should be 'turned on' (so set as YES) by default. Otherwise by default it will be NO which should be this default... default value 😅
SPFx Toolkit supports either NVM or NVS. NVM only supports .nvmrc (at least this is what I think 😅), but NVS supports both .nvmrc and .node-version. Maybe we should also include additional setting, enabled only when someone selected NVS as preferable node version manager, to select if .nvmrc should be created (default) or .node-version.

What do you think of the above 👆? IMO applying those suggestions to your idea will make this more flexible and visible.
As for the additional remark. For windows one may use nvm-windows which is also the same as nvm
https://github.com/coreybutler/nvm-windows?tab=readme-ov-file
in this case nvm use respect the .nvmrc file. At least I think it does 😅. It does seem to work 👍

@Adam-it my reply to your points:

You're right, adding a new toggle in the 'Additional Steps' section definitely seems a better way and place to manage this.
Seems a great idea, and I think it's even more useful and personalizable this way.
Also this point seems legit. The .nvmrc file will be the default for both nvm and nvs while when the user select nvs as default Node version manager it will also make available an additional setting where it can select between .nvmrc or .node-version.

Awesome 🤩😍.
@GuidoZam may I kindly ask you to update the initial post of this issue with what we clarified 🙏. You may of course copy paste most of my points and this will be our spec (prototype) of this feature.
After that let's open this up.
Would you like to get assigned?

@Adam-it I've updated the issue, I think it's ok this way but if you need more clarification just tell me 😄
For the assignment: yes, assign this to me, I will do my best to improve this awesome extension!

@Adam-it I've updated the issue, I think it's ok this way but if you need more clarification just tell me 😄 For the assignment: yes, assign this to me, I will do my best to improve this awesome extension!

AWESOME!. All yours 👏😍🤩

Hi @GuidoZam
Hows the work coming up with this issue?
Do you need any additional help from my side?
This year the SPFx Toolkit repo will participate in hacktoberfest and this issue will count so if you are also planning to join this event please do remember to rise a PR during October (no sooner no later 😉)

Hey @Adam-it!
The work is almost done, I'm having some difficulties with the dynamic update of the setting that specify which Node version file to use.
Do you have any advice on that?
Good to know about the hacktoberfest, I will surely commit all the work in time to participate!

I'm having some difficulties with the dynamic update of the setting that specify which Node version file to use. Do you have any advice on that?

What do you mean by dynamic update?

I mean to hide or show the nodeVersionConfigurationFile, as mentioned in the issue description:

nodeVersionConfigurationFile: this setting will define what Node version configuration file to use. If the user has selected NVM as Node versioning software this setting won't display, instead if the NVS versioning software is used the user can choose the configuration file to use.

Once done that I will commit the changes!

maybe it doesn't need to be dynamically show/hidden only when NVS. IMO this setting may always be present but in its description we may just include information that it applies only when NVS manager is selected and for NVM it won't be considered

That was my plan B! 😄
I'll try to reserve some time to finalize this next week, I'll keep you updated!

Hey @Adam-it I finally commited the changes!
Everything is working fine.
JFYI I had to cancel the previous PR and recreate a new one because there was some issue with some previous commit.

Awesome work 👏👏👏. PR merged and I will try to make a new pre-release with this ASAP 👍


Test script

Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

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

do not mege just testing runtime of checks


feat: add trans assoc type lemmas for (Partial)Equiv and (Partial)Homeomorph

Let es denote Equivs and fs denote PartialEquivs. Let > denote Equiv.trans, PartialEquiv.trans, Equiv.transPartialEquiv, or PartialEquiv.transEquiv. We want to simplify expressions like e1 > e2 > f3 > f4 > e5 > e6 to (e1 > e2) > (f3 > f4) > (e5 > e6), so that simp lemmas about Equiv.trans and PartialEquiv.trans may apply. This means adding four lemmas:

e1 > e2 > f3 = (e1 > e2) > f3
(e1 > f2) > f3 = e1 > (f2 > f3)
(1) with e and f flipped
(2) with e and f flipped

The definitions Equiv.transPartialEquiv and PartialEquiv.transEquiv are moved to later in the document, so that they stay together with these lemmas. The argument order of these two definitions has also been reversed so as to match Equiv.trans and PartialEquiv.trans.
The same is done for Homeomorph/PartialHomeomorph.

Thanks!
bors merge


added Ingredient project

Ingredient project link: https://ingredient-d4129.firebaseapp.com/

Added my recipe search webapp in the reactjs example project list.

Thanks, but this is a link to the app. I can't view the source so it's not helpful as an example.


fix: remove framework related just kargs

These just commands will be shipped via the framework repo. No need for them in here anymore.

First I need to make sure, the shipped custom file from framework will not replace it all. Draft for now

Solved the problem, pr is in place on the framework side. This can be merged.


[Docs] Add calibration FAQ

This adds FAQ / more information about calibration from @mrwojtek and others. cc @karlunho

@rmlarose I just noticed that the FAQ should be appearing under "Guides" and not under Tutorials since Tutorials is suppose to be primarily code that can be ran. Can you do the following:

Move calibration_faq from the tutorials/google directory to  /cirq/docs/google
Change book.yaml file accordingly (place the file right after "calibration metrics")

@rmlarose I just noticed that the FAQ should be appearing under "Guides" and not under Tutorials since Tutorials is suppose to be primarily code that can be ran. Can you do the following:

Move calibration_faq from the tutorials/google directory to  /cirq/docs/google
Change book.yaml file accordingly (place the file right after "calibration metrics")

Sure thing, done.
In the left-nav, "Calibration FAQ" right after "Calibration metrics" might be confusing - they are two different concepts using the same word & appearing right next to each other.

@tanujkhattar @rmlarose is this ready for a re-review or merge ?

@MichaelBroughton I think we are waiting for Ryan's response on Wojtek's comment above: https://github.com/quantumlib/Cirq/pull/4442#discussion_r702948972

This looks good for me.

It would be great to get this merged and pushed to the website. Thanks !


Reduce dandicli API key scope

The dandicli API key currently has the default scope, which is
everything. It should use the minimum scope required, core.data.read core.data.write.
This also involves specifying the correct scope in the
create_dandiset endpoint. All other endpoints are currently public.
I tested the new, reduced scope dandicli API key in the web UI and in the python CLI, and I was able to create new dandisets in both.
I did not add any regression tests because the dandicli API key isn't defined on the server side. It is instead created as necessary by the web UI. If we ever decide to initialize that API key on the server then it would definitely be appropriate to find a way to parameterize test_rest.py to use both the user and the dandicli token.
Fixes #156

Sorry, I don't fully understand your point about testing. I agree it would be ideal to parameterize each our tests that make API calls, to do so with both user and token based auth.
However, even without that, is it possible to make a single test like test_create_dandiset_token where the test case itself creates a token (probably within a fixture), then runs the operation?
Also I'd be happy to discuss solutions for your idea about parameterization, as I think it will be a very worthwhile improvement for both current and future tests.

My thinking was that we could parameterize the tests right now, but we'd have to specify in the test that the token is a ['core.data.read','core.data.write'] token. That token is totally nonexistent in the server, it is created and consumed strictly by the web UI. That decoupling didn't feel right to me. It would be easy to modify the token in the UI (just like Michael did) and neglect to update this specific test. I guess some documentation could fix that, but it feels clumsy. Testing this case is useful for future modifications to the token, but testing it in this way seems like it would make those future modifications more difficult.
I could be totally wrong, this is just my gut feeling.


Receive-RSJob doesn't clear a job's HasMoreData state

I've tried this on both PS v2 and v3 with the same result.
Both examples on the home page result in Completed jobs that show there is more data to retrieve even when there is not.  When a job is Completed and its last data has been fetched, HasMoreData should become False and then we know it can be removed. For instance, after running the second example, calling get-rsjob again shows the following:
PS > Get-RSjob

Id       Name                 State           HasMoreData  HasErrors    Command
--       ----                 -----           -----------  ---------    -------
36       Job36                Completed       True         False        ...
37       Job37                Completed       True         False        ...
38       Job38                Completed       True         False        ...
39       Job39                Completed       True         False        ...
40       Job40                Completed       True         False        ...
41       Job41                Completed       True         False        ...
42       Job42                Completed       True         False        ...
43       Job43                Completed       True         False        ...
44       Job44                Completed       True         False        ...
45       Job45                Completed       True         False        ...

With HasMoreData = True, we should be required to call receive-rsjob to receive the data, but doing so results in the same output as the original call to receive-rsjob. HasMoreData never becomes false.
Run a similar test with standard PS jobs and once a job's data is fetched, HasMoreData becomes False and a call to receive-job results in no additional data.
Edit: fixed typos

This is by design which does deviate from how the PSJobs are handled. Currently I have not found a good way to allow a streaming of data being outputted and can only return all of the results when the runspace has completed. The only exceptions to this are when using the Verbose, Warning, Error, Debug and Progress streams. If I (or someone else) can solve this issue with streaming output from a runspace, then I would definitely add that into PoshRSJob.

Thanks for the update. However, even if the job can't provide it's output until completed, it seems like it would be useful to have the HasMoreData flag get cleared when the data is read from a completed job, if possible.  Then the rsjob equivalent of code below would still work.
1..3 | %{ Start-Job -name $_ -ScriptBlock { 1..10 | %{ $_ ; Start-Sleep -Seconds 1 } }  }
do { get-job -HasMoreData | wait-job | receive-job }
until ( get-job | ? { $_.state -eq 'Completed' -and -not $_.HasMoreData } )

The rsjob equivalent wouldn't return results as they were produced - jobs wouldn't produce results until they went to a Completed status - but then when the results were read, the loop would terminate. PoshRSJob would be more compatible with the standard job implementation and a virtual drop-in replacement.
As it is right now, the above produces an endless loop and one has to be more careful about result handling.
Just my two cents... thanks for the nice module!

I believe ALuckyGuy is correct.  Here's a test.
(Get-RSJob | Remove-RSJob); [void] (Start-RSJob -ScriptBlock { Get-ChildItem }); Start-Sleep -Seconds 1; [void] (Get-RSJob | Receive-RSJob); Get-RSJob | Where { $_.HasMoreData }
Clear jobs. Start a job. Get the output. Even though it's complete and the data has been received the HasMoreData flag is still set.

I really should have named that property HasData instead of HasMoreData as it gives a false impression that more data might exist after initially running Receive-RSJob. I blame that on wanting this to closely mirror the PSJob cmdlets.

Fixed with latest PR https://github.com/proxb/PoshRSJob/pull/89


feat: Improved project bootstrapping

This adds a unified crawler template. The original playwright and beautifulsoup templates are kept for compatibility with older versions of the CLI.
The user is now prompted for package manager type (pip, poetry), crawler type, start URL and whether or not Apify integration should be set up.

closes #317
closes #414 (http client selection is not implemented)
closes #511

okay, this could use some testing now... plus there's a bunch of stuff to consider

the pip thing is probably not very ergonomic and I'm not sure how to approach it well... should we create a .venv for users? should we have a requirements.txt and use it as a lockfile?
does this work on windows?
isn't the creation dialog too long now? maybe some of the options don't need the prompt and just CLI flags are enough
should we include http client selection?

Thanks for the review @vdusek! Do you have anything to add regarding those points for consideration?

the pip thing is probably not very ergonomic and I'm not sure how to approach it well... should we create a .venv for users? should we have a requirements.txt and use it as a lockfile?

That is generally how pip works. I wouldn't add additional overhead here. Simply dumping the dependencies into requirements.txt should be enough. Managing the environment and installation should be left to the user - that's the standard approach with pip.

isn't the creation dialog too long now? maybe some of the options don't need the prompt and just CLI flags are enough

IMO the current setup is fine. Also, all options have default values.

should we include http client selection?

That would be a nice feature, but I wouldn't prioritize it at this moment. We have a guide covering that, which should be sufficient for now.

we should probably scream and shout if poetry is not installed... or we could just disable the option in that case

I would suggest throwing an error. If a user wants to use Poetry, the option should be conditionally on Poetry being installed.

the pip thing is probably not very ergonomic and I'm not sure how to approach it well... should we create a .venv for users? should we have a requirements.txt and use it as a lockfile?

That is generally how pip works. I wouldn't add additional overhead here. Simply dumping the dependencies into requirements.txt should be enough. Managing the environment and installation should be left to the user - that's the standard approach with pip.

I generally agree. But how would you ensure that pipx run crawlee create ... installs the dependencies in a venv? Often people will want to keep the virtualenv in the project directory, which doesn't get created until you run crawlee create.

should we include http client selection?

That would be a nice feature, but I wouldn't prioritize it at this moment. We have a guide covering that, which should be sufficient for now.

It's a 15-minute adventure, the only problem is that it'd make the dialog longer.

Relevant discussion - https://apify.slack.com/archives/C06ENBV1B9Q/p1728907202834259

how is this solving #495 please?

See https://github.com/apify/crawlee-python/pull/538/commits/65edfe399ab77ffb38104908d7657fb27b2142d2 and https://github.com/apify/crawlee-python/issues/495#issuecomment-2511708789

We provide http client option together with the PW crawler, is that what we want?

As long as we don't use playwright.request in PlaywrightCrawlingContext.send_request, it makes perfect sense. After that, it still might make sense in some niche cases, but the utility of giving that choice to users in project bootstrapping will be debatable.

As long as we don't use playwright.request in PlaywrightCrawlingContext.send_request, it makes perfect sense. After that, it still might make sense in some niche cases, but the utility of giving that choice to users in project bootstrapping will be debatable.

I would not expose the option to the user, IMO it would results only to confusion. Net a request though.


Feat: Add Bicycle Using HTML5 and CSS3

Create Bicycle as part of Hacktoberfest 2022 which fixes issue #2

Kindly add 'hacktoberfest-accepted' tag and merge PR. Thanks!

@TheInspiredConjurer nice work!!


Global data new

tests https://github.com/SpiNNakerManchester/SpiNNUtils/pull/172

stuff tested merged


Add documentation badge to the README header

Docs badges are a common and convenient way for programmers to go rapidly to the documentation of a project from GitHub. I believe this will improve convenience, over scrolling down to the Documentation subsection (which does not stand out very much).

It is already there. I added it last week ;).
Thanks @stephane-caron for the suggestion.


PHP extension for R3

I plan to work with PHP extension in a couple of weeks.
I think we should separate r3 and r3-php into two repository in the future, But for the sake of API stability We are still committing the changes into single repository.

Few notes:

[ ] Make static linking r3 with php extension works.
[ ] Add a persistent C structure that maintains a pointer to the built tree structure of r3.
[ ] Make the basic API R3::create works.
[ ] Test cases

Done in c9s/php-r3


Scheduling on tuesday every other week

Seen first on https://github.com/jmettraux/rufus-scheduler/issues/259
    "0 0 * * tue/2"    #~~> every second tuesday at midnight
    "0 0 * * tue/2+1"  #~~> every odd second tuesday at midnight

Eventutally generalize the /n+m concept to the already existing /n systems.

Eventutally generalize the /n+m concept to the already existing /n systems.

Days (Monday, Tuesday, Wednesday, ...) are not numbers like days (1..31) or hours (0..24). That generalization is not possible.

Rather "0 0 * * tue%2" or "0 0 * * tue%2+1"

0 22 * * Tue%2  is nice, but when is the "not other Tuesday"? What is the point of reference? "Oh it's the next Tuesday from the start of the schedule", OK, but the scheduler might restart that reference point will change.
We could use the "last_time" in the job, might work, but that implies passing some context to the #match? method of the Fugit::Cron.

Use the next_time(start_time)'s start_time. When it's a Tuesday, it's the other Tuesday else it's next Tuesday.

Is there a workaround for this currently available?

Hello @thisismydesign,
this issue is about extending the cron syntax supported by fugit.
For when do you need that? In what context are you using fugit?

Hey @jmettraux,
My use case is bi-weekly dynamic scheduling with resque-scheduler.
resque-scheduler uses rufus-scheduler, which uses fugit if my understanding is correct. Got here by the issue you referenced above: https://github.com/jmettraux/rufus-scheduler/issues/259
Our timeframe for this is pretty short but I'd be happy to come back and use this feature when available.

@thisismydesign,
you can easily implement it by yourself in your Resque-Scheduler job implementation, skip the job if its last trigger time was less than 13 days ago.
I'll try to work on the fugit feature itself tomorrow, I've got an idea on how to make it tick.

Thanks. Yep, that's the workaround in mind. I think the version dependencies are open-ended so theoretically, I could use this as soon as you can release. Do you foresee any other changes that would need to be done for the other gems? (not sure how involved you are with resque-scheduler)

Hello,
I made good progress on that today, but on its et-orbi side. I'm fighting timezone tests on Windows.
I will continue tomorrow. Hopefully I can implement the proper fugit part of the solution.

Good morning @thisismydesign, if you could have a look at the implementation, that'd be much appreciated.

Thank you @jmettraux, looking at the syntax it makes sense and would be great for us.

OK, I will then release tonight or tomorrow.
Thanks a lot.

Thank you!

It's in today's fugit 1.1.10 release.


Add a warning when the type of a new object is not displayed

We don't filter presets by supported types (from good_tags). That means, one could add duplicates because they don't see the object on the map. E.g. #587, #618.
When creating (or editing?) these objects, show a warning that the type is not supported.
Maybe also show this message when creating an object from a wrong mode (e.g. post box from amenities mode).

Done in 4.0, both warnings.


nixos: add AppStream module

Motivation for this change
As suggested in https://github.com/NixOS/nixpkgs/issues/47173.
Implementation is trivial, just linking some paths. /share/app-info is a little funny, since it contains both collection metadata and icon caches. I'm pretty sure we don't also need to include /share/app-info/icons for that to be merged properly.
@jtojnar
Things done

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

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

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

For references, here is an issue on generating the "Collection metadata" for appstream: https://github.com/NixOS/nixpkgs/issues/15932
We can probably disable these by default for now. This is all meta information for software that hasn't been installed. They aren't very useful once you have installed the software (you can use .desktop files for that). But eventually we need to index all of these files for GNOME software.

I agree that we should not need to bother with collections at this time. It will not be really provided by packages anyway,


Support more than 256 Modules

This will be guided both by usage data (how many Modules do the users try to create) and profiling (how much slower would a bit vector of 512 or 1024 bits be on a reasonably modern x64).
There are two alternatives:

If enough for the users and not much slower, increase the number of bits to 512 or 1024

Allow any number of modules (limited only by memory)

Option 2) two presents a few complications:

Bit vectors will no longer be compact (we could keep the compact ones as a specialization for the optimal case) and there will be likely slowdowns,

The C API will need to to be changed to accept Slot states with arbitrary number of Modules. This could be done via a size and count pattern or similar. Note that a World will still need to be created with the number of Modules known beforehand.

Also we could try const generics to have specialized bit vectors for the compact size classes (powers of two from 8 up to say 512?) and an allocating bit vector for anything above that? Rule sets with few modules could actually get a speedup from this.
Also see #12

Done by #24


Add option to disable checkout-if-exists

The GEOSldas workflow uses a BRIDGE branch instead of standard GitFlow. After the split out of GEOSldas_GridComp, this exposed an issue because both GEOSldas and GEOSldas_GridComp could have BRIDGE branches that aren't quite in sync.
So, this PR gives the ability to disable the mepo checkout-if-exists step, though we default to true.

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:30a621efdfeb984eb3f5bcc65e8f98cbcbb5e295
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:alpha


enable multiple file support?

While not explicitly allowed, it seems we might want to enable type: file inside arrays to allow for support of multiple files.

Can't you already accomplish this by simply having more than one parameter with {type: "file"}?  As long as your Content-Type is multipart/form-data, you can send multiple files in a single request.
Or am I missing something?

@BigstickCarpet - the idea is to allow an undefined number of files to upload. You can set several individual parameters but that's not quite the same.

Ah, ok.  :+1:

Any thoughts on this? multiple file upload (where the user decides how many files to upload) seems like a really common use case.
Enough that dropzone has nearly 8,000 stars https://github.com/enyo/dropzone

So following #50, we may be able to allow the declaration of an array of "type": "string", "format": "binary" as a workaround for multiple file upload definitions.

Any progress on this?

Most likely part of 3.0

Currently this should be possible with:
- name: files
  in: formData
  description: Upload multiple files
  required: true
  type: array
  items:
    type: File
  collectionFormat: multi

If the documentation could be adapted to:

corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in "query" or "formData". For files in "formData" an numeric index will be appended to the parameter name (files0, files1, ...).

A new approach has been introduced in the V3 spec to model multi-part forms included files.  The type: file has been removed because it is not valid in JSON Schema. Also, request bodies are no longer modeled as parameters.

@darrelmiller Are you meaning to say that uploading e.g. an array of files is now possible?
I guess the explode property of encoding can help here, thought I'm not sure this is the correct way of doing this:
requestBody:
  content:
    multipart/mixed:
      schema:
        type: object
        properties:
          id:
            # default is text/plain
            type: string
            format: uuid
          address:
            # default is application/json
            type: object
            properties: {}
          profileImages:
            # default is application/octet-stream, need to declare an image type only!
            type:array
            items:
              type: string
              format: binary
      encoding:
        profileImages:
          # only accept png/jpeg
          contentType: image/png, image/jpeg
          style: form
          explode: true

How would the form images be named in the request? profileImages[0], profileImages[1], ...?
I guess this needs some clarification (and an example) in the spec.

I know we discussed this scenario and it was intended to support it.  I don't believe style needs to be used here because style is a serialization hint and binary streams of images are not going to be encoded with key value pairs.  As for how the naming of the parts is defined, I'm not sure, but your suggestion does make sense.
We got to a point with the definition of the multi-part stuff where we felt we needed to actually try implementing some of the scenarios before we rat-holed on trying to get the definition airtight.

We should have made it clearer in the spec - iirc, style and explode are both only relevant when the media type is application/x-www-form-urlencoded.
As for the naming, what @darrelmiller said.

Any progress on this? Open since ~3yrs and counting ...

@tuxedo0801 , actually OpenAPI 3.0 supports defining multi-file upload.

Swagger Editor supports OpenAPI 3.0 it in the editor.
However Swagger UI has to catch up and you can follow swagger-api/swagger-ui#3641 (referenced by swagger-api/swagger-ui#4276).
You can also follow the list of implementation.

This seems to be the same issue: OAS 3: Support for uploading an array of files in multipart requests #4600

I made a quick dirty fix for this issue in my fork:
I think swagger-client in general does not support multiple files, so the fix needs to start from there. I'll work on this soon.

This is so basic.  Can you guys implement it?  The incompleteness of OpenAPI 2 vs. HTTP features is a real pain point.  IT's not optional to support all the features of HTTP

@Cloudmersive OpenAPI 2 is no longer under active development so the solution here is to move to OpenAPI 3.
@darrelmiller @webron is there any reason to keep this open?
Per https://github.com/OAI/OpenAPI-Specification/issues/254#issuecomment-412306495 it's solved in OAS 3.0, and the rest of the links and comments here are about tooling support or OAS 2.0
Also, is there an official statement that OAS 2 is no longer in active development?  I couldn't find one offhand but I know it's been said somewhere.

Yeah, I think with a bit of creativity you can describe this scenario with OpenAPI V3.  I'm ok with closing this and let some open an new issue if they find there is something they cannot do.
There is no more work on-going on OpenAPI V2.

For imitation form-data do this:
files[]:
    name: files
    in: formData
   description: Upload multiple files
   required: true
   type: array
   items:
    type: file
  collectionFormat: multi

This is crazy, if there is no a better documentation on this from Swagger UI!

@teeTech32 Swagger UI is made by SmartBear, so please raise the issue with them.  As far as the specification is concerned, this has been addressed since 3.0.


[GHSA-qg5r-95m4-mjgj] Reflected Cross-site Scripting in yiisoft/yii2 Debug mode

Updates

Affected products

Comments
Just reviewing the 2 recent Yii2 CVEs and both were improperly tagged with "affected versions" - sending poor Dependabot on a rampage of mistakes.
This vulnerability was introduced in 2.0.43 as seen here (https://github.com/yiisoft/yii2/commit/8cc9aeb2f0b2ffe02fb54a817064e9da75512706) and referenced in the CVE as such. This means the proper range is greater than (or equal) to 2.0.43 and less than 2.0.50 (where it was patched)

Hi there @Antiphishing and @samdark! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory


Tobin gh1030 sparse binding size

A couple of updates to how sparse bindings are handled.
Need to get size of sparse bindings and also account for separate memory bound in sparse cases when we're dealing with the memory object itself.

Pushed an update to this branch using size from memory requirements.
Also added new CL to rename BUFFER_NODE->BUFFER_STATE which I missed in my previous rename sweep.

Replaced by #1168


CNV.segment function

I have this code
detail<-GRanges(seqnames=c("chr11","chr11"),
                 ranges = IRanges(start = c(1018812, 2719948), end = c(1024740, 2722259)))
values(detail)<- DataFrame(name = c("H19/IGF2:IG-DMR", "KCNQ1OT1:TSS-DMR"))

anno<-CNV.create_anno(array_type = "EPIC",detail_regions = detail)
Intensities <- CNV.load(myLoad$mset) # Loading intensity data
anno@probes<-anno@probes[names(anno@probes) %in% rownames(Intensities@intensity)] # Removing probes from anno absent from Intensity due to QC
Intensities@intensity<- subset(Intensities@intensity, rownames(Intensities@intensity) %in% names(anno@probes)) # Removing probes absent from anno
x <- CNV.fit(minfi.data["WT11"], minfi.data[minfi.controls], anno)
x <- CNV.bin(x)
x<-CNV.detail(x)
x <- CNV.segment(x)
CNV.genomeplot(x)

Which is giving me this error:
> x <- CNV.segment(x)
WT11 (100%)
Error in if (min(weights) <= 0) stop("all weights should be positive") :
  missing value where TRUE/FALSE needed

I checked for missing values in Intensities but didn't found any. Would be glad to have any help.
Thanks a lot.
A. Saadat

Thank you for your comment! The error might occur due to the chosen preprocessing/normalization method at the beginning of the workflow. The anno object is manipulated by removing all probes that are absent in the Intensity object, even though the genomic binning was already performed based on the entirety of probes.
I would suggest to use the preprocessIllumina function from the minfi package to generate the mset object. This function achieved very accurate results in our analyses and ensures that all probes used for the anno object are also part of the Intensity object. No additional manipulation of both objects is required, thus avoiding the error message. I hope that this is helpful and please reach out if you encounter further issues.
Thanks,
B. Daenekas

It worked. Thanks a lot.
Regards
A. Saadat


Pok branch

We use Arquillian to test against GF3.1.1 and MySQL. I got a problem with the persistence extension because a table we have was named "union" (yeah i know). In order for me to get the persistence extension to work, I needed to configure DBUnit with the escape pattern.
http://www.dbunit.org/properties.html#escapepattern
This commit is so that I can configure this in the arquillian.xml like so:
<property name="escapePattern">`?`</property>

Hi,
I'm glad to hear that you are using Arquillian with this extension. Thanks a lot for the pull request, much appreciated!
I think there is a need for more customization and hence I created a JIRA task for next iteration where we can incorporate your improvement too. Maybe you will be interested in helping us?

That's awesome! Welcome in the community :)
There are only few things needed to move on:

Create account on http://community.jboss.org
Sign Contributor License Agreement (@aslakknutsen will then approve it)
Create branch for issue which you would like to work on
Assign yourself to the Jira issue and start hacking :)

Once you are done just create a pull request and I will take care of pushing it upstream.
I updated description for ARQ-718 but if you have any questions just drop me a line!
There is also really handy Git guideline from Shrinkwrap project which describes a workflow used by Arquillian too.
Cheers,
Bartosz

I've recently created Arquillian contribution and development guideline. Are you still willing to work on this issue? :)


[Theme Request] Hoshimachi Suisei (Hololive)

Who/What do you want to be featured?

I'd love to see a theme of Hoshimachi Suisei!
What do they look like?

What type of theme?

[x] Light Theme
[ ] Dark Theme

Additional Information (Optional)

am simp

VTubers are great! I'm more into VShojo myself (IronMouse & Nyanners more specifically :joy: ).
I'll keep her in mind when I need another light theme, thanks for the suggestion!

Any updates on this? I would like to make my vscode somewhat match with my desktop wallpaper

I'll keep her in mind when I need another light theme, thanks for the suggestion!
oh and dark theme please if you can

@RealEthanPlayzDev I currently don't have plans on working on her theme anytime soon. Thankfully the vscode extension allows custom assets, plus I've already got a bunch of blue and gray themes (You don't even have to use my themes if you use custom assets).

@RealEthanPlayzDev I currently don't have plans on working on her theme anytime soon. Thankfully the vscode extension allows custom assets, plus I've already got a bunch of blue and gray themes (You don't even have to use my themes if you use custom assets).

Alright then I'll check them out

Also wanna this theme to come true.
And I wanna ask about the dark version.


Optimize proof performance

When using message types, where inner messages gets unfolded into the outer message, the number of paths in a message raise quickly which leads to impractical verification times (e.g. after converting the SPDM spec from refinements to message types, verification took ~6-7 minutes).
The reason for the poor performance is that we make no attempt to parallelize verification even though proofs over different paths are independent.
The following improvement is being pursued:
Parallelize Z3 proofs
We'll conduct a couple of experiments to identify a setup that allows for parallelization of Z3 proofs. Multiprocessing cannot be used as Z3 objects cannot be pickled. Activating Z3's own parallelization (parallel.enable) will make RecordFlux hang indefinitely. Even if it worked, parallelization a single proof has much less potential than parallelizing multiple proofs over different paths (also, I never observed a situation where Z3's parallelization sped up anything in previous experiments - it probably only helps when using specific tactics.).
This leaves us with concurrent.futures.ThreadPoolExecutor, i.e. real multithreading. A quick experiment using __prove_field_positions, which consumes most time during verification, was unsuccessful. When parallelizing using ThreadPoolExecutor RecordFlux crashes (with Segfault or in other strange ways). The reason is probably in using only default contexts in Z3 (source):

Z3Py uses a default global context. For most applications this is sufficient. An application may use multiple Z3 contexts. Objects created in one context cannot be used in another one. However, several objects may be "translated" from one context to another. It is not safe to access Z3 objects from multiple threads. The only exception is the method interrupt() that can be used to interrupt() a long computation.

In a separate experiment using only the Z3 Python API we'll need to confirm whether parallelization using multiple contexts is possible at all. If so, our Proof class needs to be changed to create a new context per proof session. For this to work, the z3expr needs to be extended with a parameter for the context to create the object in (recursively).
Previous topics
1. Move from unbounded integers (z3.Int) to bit vectors (z3.BitVec). (dropped as this is very complicated and requires explicit overflow handling)
2. Fix the logic used to QF_BV (#612) (not pursued anymore, see last comment in #612)

Use SMTlib instead of the Z3 binding (which should allow us to use specialized provers like boolector) (Unclear how much this would help - we may investigate  this later)

Z3 can indeed be parallelized using ThreadPoolExecutor. The crashed go away when a dedicated context is used per solver:
def solve(e):
    context = z3.Context()
    left, right = e
    s = z3.SolverFor("QF_LIA", ctx=context)
    s.append (z3.IntVal(left, ctx=context) > z3.IntVal(right, ctx=context))
    return (left, right, s.check())

The bad new is that I get a speedup of 2 at most, no matter how many cores are used (tests with 2..16). I'll try to create the context and/or solver only once per thread. Maybe the context or solver creation accounts for most of the proof time...

Could this be caused by Python's Global Interpreter Lock? You could try to use ProcessPoolExecutor instead.

Never mind, I just read the explanation above that Z3 contexts are not picklable. If Z3 doesn't provide a way to spawn separate processes on its own, I don't see how we could improve performance by parallelizing proofs.

Here are the conclusions of my experiment:

ThreadPoolExecutor worked, but expectedly gave a constant speedup of ~2 due to the GIL.
ProcessPoolExecutor also worked and had no problems serializing z3 expressions. This is unexpected as multiprocessing failed and ProcessPoolExecutor is just a frontend to it.
With ProcessPoolExecutor I achieve a speedup of ~8, but more than 13 cores give no improvement
As @jklmnn assumed, we don't need specific contexts when using processes, which will make the changes in this ticket much more lightweight.

These results look promising enough to try them in RecordFlux now.


Milk Street

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2021.12.27. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and am willing to share it if required

Region
US
Example URLs
https://www.177milkstreet.com/tv/la-cocina-de-puerto-vallarta
https://www.177milkstreet.com/tv
Description
Video downloads, but metadata extractor information does not pull season, episodes or titles. Only parses as a playlist title per episode.
Verbose log
usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
[debug] Command-line config: ['-Uv', 'https://www.177milkstreet.com/tv/la-cocina-de-puerto-vallarta']
[debug] System config file: /etc/yt-dlp.conf
[debug] System config: ['--geo-bypass', '--geo-bypass-country', 'US', '-o', '/mnt/local/downloads/manual/%(series)s.%(season_number)sx%(episode_number)s - %(episdoe)s ENG WEB-DL %(height)sp.%(ext)s', '--write-sub', '--convert-subs', 'srt', '--embed-subs']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, err UTF-8, pref UTF-8
[debug] yt-dlp version 2021.12.27 [6223f67a8] (zip)
[debug] Python version 3.6.9 (CPython 64bit) - Linux-4.15.0-163-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8
[debug] Optional libraries: Crypto, secretstorage, sqlite
[debug] Proxy map: {}
Latest version: 2021.12.27, Current version: 2021.12.27
yt-dlp is up to date (2021.12.27)
[debug] Using fake IP <IP_ADDRESS> (US) as X-Forwarded-For
[debug] [generic] Extracting URL: https://www.177milkstreet.com/tv/la-cocina-de-puerto-vallarta
[generic] la-cocina-de-puerto-vallarta: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] la-cocina-de-puerto-vallarta: Downloading webpage
[generic] la-cocina-de-puerto-vallarta: Extracting information
[debug] Looking for video embeds
[download] Downloading playlist: La Cocina de Puerto Vallarta
[generic] playlist La Cocina de Puerto Vallarta: Collected 1 videos; downloading 1 of them
[download] Downloading video 1 of 1
[debug] Using fake IP <IP_ADDRESS> (US) as X-Forwarded-For
[debug] [vimeo] Extracting URL: https://player.vimeo.com/video/660970548#__youtubedl_smuggle=%7B%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fwww.177milkstreet.com%2Ftv%2Fla-cocina-de-puerto-vallarta%22%7D%7D
[vimeo] 660970548: Downloading webpage
[vimeo] 660970548: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 660970548: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 660970548: Downloading akfire_interconnect_quic MPD information
[vimeo] 660970548: Downloading akfire_interconnect_quic MPD information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 660970548: Downloading 1 format(s): hls-akfire_interconnect_quic-4441
[SubtitlesConvertor] There aren't any subtitles to convert
[debug] Invoking downloader on "https://69vod-adaptive.akamaized.net/exp=1642738906~acl=%2F322bf3d9-c2f0-4994-b97d-6f45f25c95d4%2F%2A~hmac=c23e6ecf112642c0b7a13dcbc47ba93276c82f4c0c590b12878d420c10dad5ed/322bf3d9-c2f0-4994-b97d-6f45f25c95d4/video/75f7a7d6/playlist.m3u8?query_string_ranges=1"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 247
[download] Destination: /mnt/local/downloads/manual/NA.NAxNA - NA ENG WEB-DL 1080p.mp4

does not pull season, episodes or titles

That's bcoz the site doesn't have those in a reliable format.
Just has this

Season 5, Episode 519

Jan 15, 2022

As of titles, it is fetching that correctly but your output template is incorrect for this.
use %(title)s instead of episode
@pukkandan does it make sense to write a diff extractor for this site only for unstable season number and episode number fields?

There is no reason not to. But it's a low priority issue imo


Internal Cache API

We're using more and more caching (through memoize or lru-cache) but this is currently lacking a coherent API.
This PR introduces:

a cache library (key/value) that can be used everywere it's needed
support for a memcache backend to scale that in production

@Betree About global cache, the use case is to use 1 memcached server or 1 memcached cluster. I had only but good experience with that. So, it's global.
I think what we might do to go in your direction is turning the cache API in an object that needs to be instantiated, and making it automatically prefix the keys.
Granular flushing with memcached is an issue. It's doable but needs to be handled from the client and that might increase complexity. We might skip that feature for now.

Granular flushing is indeed not a big requirement.
Prefixing the keys with a namespace is a good idea, the alternative is to be careful with naming.

Coverage increased (+0.3%) to 69.332% when pulling 5cc0f3eb2bf8da1e688ec3bf41822e233eaa5741 on feat/cache into 17187b4d24b9acb6169dc7cab76b6dc6a74e4512 on master.


Unable to set empty "Environment" property in the Operator YAML file

Bug Report
Environment

operator-sdk version: v0.11.0

What did you do?
Unable to set empty "Environment" property in the Operator YAML file like
env:
  - name: AB_JOLOKIA_HTTPS
build:

Which ends up in an error like
The VirtualDatabase "dv-odata" is invalid: []: Invalid value: map[string]interface {}{ "env":[]interface
{}{map[string]interface {}{"name":"AB_JOLOKIA_PASSWORD", "value":"jolokia"}, map[string]interface {}{"name":"AB_JOLOKIA_PASSWORD_RANDOM"}, map[string]interface {}
{"name":"AB_JOLOKIA_HTTPS"}}, "replicas":1}, "apiVersion":"teiid.io/v1alpha1", "kind":"VirtualDatabase"}: validation failure list:
must validate one and only one schema (oneOf)
spec.env.value in body is required

Attempting to use a yaml empty string causes the crd to not even be picked up for deployment by the operator:
env:
  - name: AB_JOLOKIA_HTTPS
    value: ''
build:
...

What did you expect to see?
Empty values should be allowed? There is a default property set on the image, I am trying to remove it using this.
Environment

operator-sdk version: 11.0
go version: go version go1.13.5 linux/amd64
Kubernetes version information: kubernetes v1.11.0+d4cacc0

@rareddy Can you please share the full the CRD manifest with the validation block defined, and the full CR manifest as well.
Also the pkg/apis/.../..._types.go file that define your CRD spec and validation as well.
I think this is a case of marking a field as nullable which is possible with structural CRDs but since you're on k8s 1.11 I'll have to double check how we do it for that case.

@hasbro17 here is the reference to my project https://github.com/teiid/teiid-operator
CRD - https://github.com/teiid/teiid-operator/blob/master/deploy/crds/virtualdatabase.crd.yaml
CR - https://github.com/teiid/teiid-operator/blob/master/deploy/crs/vdb_from_ddl.yaml
types - https://github.com/teiid/teiid-operator/blob/master/pkg/apis/vdb/v1alpha1/virtualdatabase_types.go

@rareddy Sorry I forgot to follow up on this. Do you still have this issue?
And are you able to test against a more recent version of k8s > 1.11.x?

I can not recreate anymore in newer version, sure you can close this


Add strapi plugin to readme and create plugin sections

Naming based upon:

bors merge

Oops, no bors


Allow CAS to act as an ADFS client

Allows the cas server to delegate authentications to an ADFS server. Code already exists and module is already available as an extension.

https://github.com/Unicon/cas-adfs-integration/tree/opensaml3


Fortran Best Practices -- typos and grammar

I'll create a PR eventually. Since the PR in my previous fork has been incorporated, can I delete that fork and fork the current repo?
"purpose" not "purse" in "every procedure starts with a comment briefly describing its purse and the intent of the dummy arguments" at https://fortran-lang.org/learn/best_practices/modules_programs
"on" not "one" in "Similarly, exports are made explicitly by adding a private statement one a single line and explicitly listing all exported symbols in public statements." (same page)
For "Variables inside a module are static (implicitly saved), it is highly recommended to limit the usage of module variables to constant expressions, like parameters or enumerators only or export them as protected rather than public." start a second sentence at "it".
Change "Reusing implementations from modules allows to write reusable code and focus in the program unit only on translating user input to the respective library functions and objects." to "Reusing implementations from modules allows you to write reusable code and focus the program unit on conveying user input to the respective library functions and objects."
In "In the following example the inverse distance between two sets of points is evaluated, note that the points are stored contiguously in the arrays xyz1/xyz2, while the inner-most loop is advancing the left-most index of the matrix a." start a new sentence at "note" . Page is https://fortran-lang.org/learn/best_practices/multidim_arrays.
"then" not "than" in "The function can than be used with a callback by importing the module as shown in the following example" at https://fortran-lang.org/learn/best_practices/callbacks

I'll create a PR eventually. Since the PR in my previous fork has been incorporated, can I delete that fork and fork the current repo?

If you go to your fork there is a Fetch upstream button to sync your repo again:


Add hash tag based navigation for large  list of menu items.

When the user manual has a long length of the menu items and after scrolling all the way down, if the user clicked on any help menu item which is bottom the list. The page will be refreshed to the new help section but clicked menu item all the down(out of the viewpoint), there is no clue about where is the clicked item.
This code bit always keeps the clicked menu item on the viewpoint.

Hey @sameerast. Thanks so much for this PR. I was a little busy today and didn't get a chance to review this. I'll check it out tomorrow for sure though. Thanks again.

Hi Rob,
I addressed all the points were highlighted. Thank you for taking some time.

@RobErskine did you get a chance to review the changes.

Might be over a year later but it's never to late for a merge 😅. Thanks for this @sameerast


Fix absolute URLs in pipelined CSS

The way that absolute URLs get excluded during cssRewrite() doesn't cover all possible cases due to a incorrect CSS_URL_REGEX.
The current one
const CSS_URL_REGEX = '{url\([\'\"]?((?!http|//).*?)[\'\"]?\)}';

does only exclude absolute URLs that are not being wrapped inside quotes (single or double), see https://regex101.com/r/rN4sE9/1
A better one might look like this (see https://regex101.com/r/uB8zV6/1):
const CSS_URL_REGEX = '{url\([\'\"]?((?!([\'\"]?(http|//))).*?)[\'\"]?\)}';

I am not a regex pro, so I cannot exactly explain why this is correcter than the old one. Knowing that negative lookaheads are a pain to maintain, I prefer this patch as a solution. Since we're already handling data-URLs like this, I think it's only best to process accordingly with remote urls.
This matches all URLs (local, data and remote, see https://regex101.com/r/fJ0cS3/1) regardless of being wrapped inside quotes:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvV")
url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvV')
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvV)
url("grav.png")
url('grav.png')
url(grav.png)
url("font-awesome.min.css")
url('font-awesome.min.css')
url(font-awesome.min.css)
url("../../images/banner.jpg")
url('../../images/banner.jpg')
url(../../images/banner.jpg)
url("https://fonts.googleapis.com/css?family=Lato:300,400,900");
url("http://fonts.googleapis.com/css?family=Lato:300,400,900");
url("//fonts.googleapis.com/css?family=Lato:300,400,900");
url('https://fonts.googleapis.com/css?family=Lato:300,400,900');
url('http://fonts.googleapis.com/css?family=Lato:300,400,900');
url('//fonts.googleapis.com/css?family=Lato:300,400,900');
url(https://fonts.googleapis.com/css?family=Lato:300,400,900);
url(http://fonts.googleapis.com/css?family=Lato:300,400,900);
url(//fonts.googleapis.com/css?family=Lato:300,400,900);

and then excludes data and remote URLs afterwards.

@Kitzberger You can shorten your regex and make it approx. 10x faster. The required regex is const CSS_URL_REGEX = '{url\(([\'\"]?)(.*)\1\)}'. However, you may adjust https://github.com/getgrav/grav/pull/837/files#diff-036bc801ec8840ea4247592b9ded7a66R1152 though to $old_url = $matches[2];.

Thanks for you comment!
I'm not quite sure if I'm misinterpreting this but how can you tell that it's faster? Via the displayed "Steps" on regex101?

https://regex101.com/r/fJ0cS3/1 (mine, the modified original, 2706 steps)
https://regex101.com/r/fJ0cS3/2 (yours, with the back reference, 371 steps)

Unfortunately we cannot change the quantifier from *? to * because it's too greedy then. Please have a look at those two:
https://regex101.com/r/fJ0cS3/4
https://regex101.com/r/fJ0cS3/5

Ah you are right. Sorry, for not taking this into account. However, there is a small performance gain left and the regex is more robust. Yes I compared speed with steps (since it is somehow proportional).

Thanks guys, the solution is definitely more robust than the original regex.


Search with same query

Hello, after performing a search, when I go back and press Enter in the search bar to search for the same thing again, nothing changes. For example, on https://demo.vercel.store/search?q=Acme+Circless, if I go there and press Enter directly in the search bar, there is no change on the page.

Can you elaborate? Circless does not exist, Did you mean Circles (just one s)?

Hello, when you press Enter in the search box and then press Enter again without changing the search, nothing happens.

But why should something change when the same search will result in the same results?

This is intended. Since the search value is the same, pressing enter should not trigger another search with the same value.


wsl 2.4.4.: An assertion failure has occurred. Error code: Wsl/Service/0x8007029c

Windows Version
Microsoft Windows [Version 10.0.26100.2448]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[x] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-1
Distro Version
Any distro
Other Software
No response
Repro Steps
start any distro
Expected Behavior
start distro
Actual Behavior
The error An assertion failure has occurred. Error code: Wsl/Service/0x8007029c appears and the distribution does not start.
Diagnostic Logs
No response

I have the same issue. And, just trying to install another distro (debian), it shows the following error:

The log file:
WslLogs-2024-11-20_09-59-45.zip

the same problemWslLogs-2024-11-21_11-59-48.zip

I have the same issue, but it was resolved by downgrading to version 2.3.26.

I had the same issue, but it was resolved by downgrading to version 2.3.26.

how to downgrade to 2.3.26?

I had the same issue, but it was resolved by downgrading to version 2.3.26.

how to downgrade to 2.3.26?

https://github.com/microsoft/WSL/releases/tag/2.3.26
only need to run either wsl.<IP_ADDRESS>.x64.msi or wsl.<IP_ADDRESS>.arm64.msi.
Which one to run depends on your environment.

how to downgrade to 2.3.26?

To downgrade WSL version is very easy regardless of how you install WSL 2.4.4:
wsl --uninstall
wsl --install Ubuntu-24.04

Ubuntu-24.04 on the command line is just a example, use any distro you want to install.

Thank you @josemtella. Looking at the logs, the issue seems to be coming from a string encoding errors.
Could you share what's your Windows username, and what environment variables you have set on the machine ? I wonder if there are special characters that are causing this error.

Tank @OneBlue, Indeed, the characters in the "prompt" environment variable are causing the error.
I have:
prompt=$_$E[92m┌─$E[93m[CMD]$E[92m─($E[94mcpanld4@%computername%$E[92m)$_└─$E[93m[$E[97m$p$E[93m]$E[94m$$$S$E[0m
If I remove it or set the value prompt=[$p], the Linux distributions boot without problems.
Just putting the previous prompt back, it fails again
I would like to keep the prompt, please consider this a bug.

I leave the logs once I have seen the problem with my answer: https://github.com/microsoft/WSL/issues/12294#issuecomment-2495421233
WslLogs-2024-11-23_11-13-40.zip

@josemtella - I think I have a fix, could you give me some instructions on how validate this? You're setting some environment variable on the Windows side right?

@benhillis see:

[code]
set var=└─
[/code]

Thanks! I have confirmed my fix resolves this issue.

Fixed with https://github.com/microsoft/WSL/releases/tag/2.4.5 - sorry for the inconvenience here.


[WIP] Allow creating snapshot from VM snapshot

In old UI we support creating snapshot from
VM snapshot by selecting one of the volume
belonging to VM. Allow the same in new UI
Navigate to Storage -> VM Snapshots -> Select any one -> Click on camera icon which says create snapshot

@davidjumani can you review this

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build primate packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark:centos :heavy_check_mark:debian :heavy_check_mark:archive.
QA: http://primate-qa.cloudstack.cloud:8080/client/pr/587 (JID-3231)

LGTM, wil merge this as soon as we merge the upstream 4.14 PR https://github.com/apache/cloudstack/pull/4275

@ravening is this still WIP, or ready?

@ravening is this still WIP, or ready?

@rhtyd this is ready.. waiting for back end pr to get merged


Blaze Burner = Fatal Serverside Crashes (Fabric)

Describe the Bug
The Bug consists mainly around Blaze Burners, Players had placed and used blaze burners in mod V0.5.0e, however when we updated the server to V0.5.0.g, all blaze burners and their associated blocks became corrupted, which lead to not only the burners themselves causing the server to crash but any interaction with the blocks they were located in to cause a crash after a few ticks. We have filled former spots with bedrock, as a temporary guard against crashes, any further interaction results in crashes.
Reproduction Steps

Launch Server with Create V0.5.0e -733
Place and use a Blaze Burner
Update Server to Create V0.5.0g-792
Interact with the Blaze Burner or any blocks that used to contain the Blaze Burner.

Expected Result
Normal Interaction with the Blaze Burner Interface.
Screenshots and Videos
No response
Crash Report or Log
https://pastebin.com/xSntRDCX
Operating System
Linux Ubuntu - version 5.13.0-52-generic
Mod Version
0.5.0g
Minecraft Version
1.18.2
Other Mods

Additional Context
No response

issue with CC&A


[LLD] - [LIVE-10488] - Add Portfolio Content Card

📝 Description

Remove old Carousel and use the new one
Remove extra unused files
Add Action Content Card
Add LLD portfolio carousel feature flags
Add usePortfolioCards hooks

NOTE:
We currently have some limitations on LLD (due to the fact that each variant has to be displayed in 2 different part of the DOM) that forced me to create a single component displayable in two different place for each variant, VariantA and VariantB.

❓ Context

JIRA or GitHub link: LIVE-10488

✅ Checklist
Pull Requests must pass the CI and be code reviewed. Set as Draft if the PR is not ready.

[ ] npx changeset was attached.
[ ] Covered by automatic tests.

[ ] Impact of the changes:

🧐 Checklist for the PR Reviewers

[ ] The code aligns with the requirements described in the linked JIRA or GitHub issue.
[ ] The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
[ ] There are no undocumented trade-offs, technical debt, or maintainability issues.
[ ] The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
[ ] Any new dependencies have been justified and documented.
[ ] Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

Can you provide a way to test it, please?
A mock of portfolioCards or Braze setup with a campaign we can use in test.

Nice job Maxime ! 💪


Kubeflow could not be enabled

Hi all,
After discussion with @knkski I am creating a new error for enabling kubeflow. Namely, I am getting an error for enabling kubeflow on Ubuntu 18.04. The error is:
ERROR cannot deploy bundle: cannot add charm "cs:~kubeflow-charmers/ambassador-54": cannot retrieve charm "cs:~kubeflow-charmers/ambassador-54": cannot get archive: Get https://api.jujucharms.com/charmstore/v5/~kubeflow-charmers/ambassador-54/archive?channel=stable: dial tcp: lookup api.jujucharms.com on <IP_ADDRESS>:53: server misbehaving
Command '('microk8s-juju.wrapper', 'deploy', 'cs:kubeflow', '--channel', 'stable', '--overlay', '/tmp/tmpp902pdg2')' returned non-zero exit status 1
Failed to enable kubeflow
I have also executed the following command: KUBEFLOW_DEBUG=true microk8s.enable kubeflow and the output is in the attached file.
Thanks a lot for your time!
kubeflow-enable-output.txt

@SrdjanStevanetic: Can you also run microk8s.inspect and attach the file that it generates? It looks like the deploy is failing due to an issue with volumes not getting created with microk8s.

@knkski  Hi, the generated file cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb is 1.8GB big if you mean that one, so it is too big to be sent here.

@SrdjanStevanetic: no, there should be a .tar.gz file that's considerably smaller

@knkski Yes I see. Here it is.
inspection-report-20200324_163102.tar.gz

@SrdjanStevanetic there seems to be something blocking the pod to service communication. For example CoreDNS reports:
E0324 15:55:10.345596       1 reflector.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: Failed to list *v1.Service: Get https://<IP_ADDRESS>:443/api/v1/services?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: connect: connection refused

<IP_ADDRESS> is the Kubernetes API server available for the hosted services.
Often this problem has to do with a firewall adding IPtable rules. Could you check the first couple of points in https://microk8s.io/docs/troubleshooting ?

@ktsakalozos Hi, sorry for the late reply. Could you please indicate exactly which options I should check?

@SrdjanStevanetic in the logs of failing containers you will see that the pod cannot reach the apiserver. The pods are in the <IP_ADDRESS>/16 network and the cluster IPs are in <IP_ADDRESS>/24.
 I suspect the traffic is blocked because in the FORWARD chain there are two REJECT rules before the accept rules for the <IP_ADDRESS>/16 network:
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
KUBE-FORWARD  all  --  anywhere             anywhere             /* kubernetes forwarding rules */
KUBE-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes service portals */
ACCEPT     all  --  anywhere             anywhere             /* generated for LXD network lxdbr0 */
ACCEPT     all  --  anywhere             anywhere             /* generated for LXD network lxdbr0 */
DOCKER-USER  all  --  anywhere             anywhere
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             <IP_ADDRESS>/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  <IP_ADDRESS>/24     anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
ACCEPT     all  --  <IP_ADDRESS>/16          anywhere             /* generated for MicroK8s pods */
ACCEPT     all  --  anywhere             <IP_ADDRESS>/16          /* generated for MicroK8s pods */
ACCEPT     all  --  <IP_ADDRESS>/16          anywhere
ACCEPT     all  --  anywhere             <IP_ADDRESS>/16

You may want to investigate if these two REJECT rules are really the cause of the problem and why are these rules there.

@knkski @ktsakalozos
I'm faced with this issue.
I think we need to add juju-no-proxy option to here as well as here and here.
What do you think?

@wallyworld: Do we need to add the juju-no-proxy option in those places? :point_up:


"Princeton Users: Log in to View" button is not showing up on "Princeon Only" Visibility  "Ephemera Project" Scanned Resources

Summary
As an answer to three user needs, we decided to test out providing restricted access to curated collections via DPUL unpublished exhibitions. The items being mapped to DPUL are "Princeton Only" Visibility.
What works:

Users can sign in to DPUL and are able to view the unpublished collections they have been added to as "viewer".
Users can see thumbnails and metadata of the scanned resources marked "Princeton Only"

What does not work:

Users cannot see the full resource. when the thumbnail is clicked, they navigate to a page with a blank square where the viewer should be.  The "Princeton Users: Log in to View: button does not appear (see screenshots). *

*We know this functionality works in DPUL, thanks to the Performance Audio Archive Collection (see screenshots).  However, it is not working for the ephemera project resource example for  https://dpul.princeton.edu/eal_covid-19_posters
Impact
Please include hard deadlines, if the exhibit is part of an event, the issue is stopping work, etc.
This workflow is going to be used for a forthcoming class with Sara Howard. She will be using her LGBTQIA+  DPUL colleciton as specified above: https://dpul.princeton.edu/lgbtqia_ephemera
Priority recommendation

[ ] asap
[ ] within the next 3 weeks
[x] PO will prioritize

Sudden Priority Justification
Required if "asap" or "within the next 3 weeks" is checked.  Add "Sudden Priority" and "Maintenance/Research labels
This is a sudden priority only because we do not yet have the harmful/illicit content click throughs in place yet. If those are coming soon and we have an ETA, i can touch base with the stakeholders and confirm options.
Expected behaviour
As a "viewer" user to an unpublished DPUL site, I expect to be able to click on a thumbnail of a "Princeton Only" item, navigate to that item in DPUL, and see a blue "Princeton Users: Log in to View" button where the viewer should be (above the metadata).  Once I log in, I expect to see a viewer that shows the item i am interested in viewing.
Actual behaviour
As a "viewer" user to an unpublished DPUL site, I click on a thumbnail of a "Princeton Only" item, navigate to that item in DPUL, and see blank grey-taupe square where the viewer should be (above the metadata).
Steps to reproduce behaviour

Go to https://dpul.princeton.edu/eal_covid-19_posters as a viewer user (the site is unpublished, so you will need to be added as a viewer in order to see it as one. OR temporarily publish the site, open up the link in a incognito window, and go through following steps).
Click on thumbnail of a poster
What do you see?

Screenshots

@kelea99 This appears to be fixed. I'm going to close this. If you discover issues, please re-open.


How to disable moving average

Hi,
Is there any way to disable the smoothing ?
I need no settling time and also the 80 sps for my project because it is in real time and the measurement increases very quickly.
Regards,
Yves

Hi, you can try the function getSingleConversion()
If a new conversion is ready it should return the data as a float and start the next conversion. If no new conversion is ready yet it returns -1.

Thank you olav
I will try this as soon as I can

Hi,
I wrote this code but the load value is strange and constant.
I would be very grateful if you could help me.
#include <HX711_ADC.h>
float calValue= -21460/9.81;
float force;

unsigned int t_loop = 0;
unsigned int t_depart = 0 ;
unsigned int t_fin = 0 ;

HX711_ADC LoadCell(2,3); // 2 -> dout   3 -> clk

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
 LoadCell.tareNoDelay();
 LoadCell.setCalFactor(calValue); // set calibration value (float)

}

void loop() {
t_loop = t_fin-t_depart ;
      if (t_loop >= 12500 ) // micros
      {
        t_depart = micros() ;
        LoadCell.update();
        force = LoadCell.getSingleConversion();//scale.get_units() returns a float
        Serial.println(force);
      }
t_fin = micros() ;
}

Regards,
Yves

Hi Yves
The function getSingleConversion() is no good, it's a bit embarrassing, but i think it was implemented without actually testing it. There is also some issues with your code. The library was never intended for reading out single conversions (quite the opposite), but I will make a fix for you by allowing only 1 sample in the config.h.

That would be awesome !

Okay, files has been updated. Copy from respository or wait for the new release to be available in Arduino library manager.
You need to do the following:
In library file config.h change the defined values to: SAMPLES 1, IGN_HIGH_SAMPLE 0, IGN_LOW_SAMPLE 0
In your sketch, setup() is missing some lines, it should look something like this:
void setup() {
 Serial.begin(9600);
 LoadCell.begin();
 long stabilisingtime = 2000;
 LoadCell.start(stabilisingtime);
 LoadCell.tareNoDelay();
 LoadCell.setCalFactor(calValue); // set calibration value (float)
}

In the loop, replace force = LoadCell.getSingleConversion(); with force = LoadCell.getData();
Please let me know if this solves the issue.
BTW; I noticed that you have a negative calibration factor, that is unusual. If the reason for this is that you otherwise get negative readings, you could also flip the load cell 180° or switch 2 of the wires between the HX711 and the load cell.
BTW 2; depending on what other code you will include in the loop and your general requirements, you might want to consider an interrupt on the DOUT pin.

Thank you very much
Unfortunately, I did everything you said and the the value I get is constanly 0.
Here is my code
#include <HX711_ADC.h>

float calValue= 21460/9.81;
float force;

unsigned int t_loop = 0;
unsigned int t_depart = 0 ;
unsigned int t_fin = 0 ;

HX711_ADC LoadCell(2,3); // 2 -> dout   3 -> clk

void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);
 LoadCell.begin();
 LoadCell.setCalFactor(calValue); // set calibration value (float)
 LoadCell.tareNoDelay();

}

void loop() {
t_loop = t_fin-t_depart ;
      if (t_loop >= 12500 ) // micros
      {
        t_depart = micros() ;
        LoadCell.update();
        force = LoadCell.getData();//scale.get_units() returns a float
        Serial.println(force);
      }
t_fin = micros() ;
}

Hi, your code works fine when I test it.
If you get a repeated 0.00 value this indicates that you don't have comunication between the MCU and the HX711 module, typically wiring or pin designation issue.

It is strange because I get values with the library written by bodge without touching anything.

Yes that's strange. What kind of microcontroller are you using?

I am using the arduino due based on the Atmel SAM3X8E ARM Cortex-M3

Hi, I have tested your code now with an Arduino Due using the same pins (2,3) at 80SPS, and it's still working fine here. I'm afraid I'm out of ideas of why you can't get it working.

Hi,
Maybe the difference comes from the ADC.
I am using the SparkFun Load Cell Amplifier.
Are the sck pin and the clk pin the same ?

I don't have the Sparkfun module to test with, but there should be no difference as the two signal lines are connected directly to the HX711 chip, same as the modules I use. "dout" = "dat" and "sck" = "clk"
https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/SparkFun_HX711_Load_Cell_v11.pdf

My bad !
In my previous code I used CLK=2 and DOUT=3 whereas on the new code, I put HX711_ADC LoadCell(2,3).
That is why it worked with the bodge library and not with this one.
It now take 5 micros instead of 87 mills to get the data.
Thank you very much and sorry for my mistake.

No problem, good that you figured it out :)


Remove binary file from root

Removing a darwin compiled machine binary added with 7b68762d36bcf3b9064afa0590a72b41b72e3ee3

@frapposelli dup? https://github.com/docker/machine/pull/1198

lol yes


Added .editorconfig

[x] I have read the guidelines in CONTRIBUTING.md.

[ ] I have documented all public-facing changes in CHANGELOG.md.

[x] This pull request includes code, documentation, or other content derived from external source(s).  - I'm the author of the copied content.

@KOLANICH, when you have a moment, could you provide a little more context here? This file is not part of, for example, numpy or scikit-learn.

This file is not part of, for example, numpy or scikit-learn.

It is not, they have decided they don't need it. But you should make your own decision.

could you provide a little more context here?

it changes editor prefs to match project's conventions. Tabs/spaces, tab width (or count of spaces to insert), line ending, stuff like that. It is not a replacement for autopep8 and black. They format source code after it is ready for a PR. This tool changes editor prefs making applying these tools unneeded in order to make the sourcs work (if editor is set up to differrent count of spaces or to using tabs instead of spaces, one will get a syntax error on any modification of pep-8 compliant source. A possible solution (promoted by pep-8 fanatics) is to set an editor to always use pep-8-compliant settings on python files, but it is only acceptable solution for fanatics. I am not a fanatic, so if a project doesn't use .editorconfig, I usually just copy it from an another project rather than changing my editor settings manually).

@thermokarst do the changes here satisfy your requests?