Binaries are uploading but never appear as builds in App Store Connect

New Issue Checklist

[X] Updated fastlane to the latest version
[X] I read the Contribution Guidelines
[X] I read docs.fastlane.tools
[X] I searched for existing GitHub issues

Issue Description
Fastlane uploads my IPAs but the build does not ever appear in App Store Connect. (Fastlane shows the waiting for processing message a hundred times)
Command executed
match(app_identifier: app_ids)
build_app(workspace: "Workspace.xcworkspace",
            scheme: "App Release",
            export_options:  {
                method: "app-store",
                provisioningProfiles: app_ids)
            },
            silent: true
    )
upload_to_testflight(
            username: app_store_username,
            changelog: testNotes,
            skip_waiting_for_build_processing: true
        )

Complete output when running fastlane, including the stack trace and command used

 [REPLACE THIS WITH YOUR INFORMATION]

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.15.6

Ruby
2.6.3

Bundler?
false

Git
git version 2.24.3 (Apple Git-128)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.15.6 (19G2021)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib

OpenSSL Version
LibreSSL 2.8.3

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
12.0

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile`

default_platform(:ios)

platform :ios do |options|

    desc <<~HEREDOC
        It is recommended to add to your shell config file (located at ~/.zshrc):
            PATH=$PATH:/usr/local/sbin
            PATH=$PATH:~/.gems/bin
            export PATH
            export GEM_HOME=~/.gems
            export LC_ALL=en_US.UTF-8
            export LANG=en_US.UTF-8
            export MATCH_PASSWORD=<certificates-encryption-password> # Get this from the team
            export FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=60
            alias fl="bundle --quiet; bundle exec fastlane"
        HEREDOC
    lane :test do |options|
        UI.message "Testing..."
    end

    desc <<~HEREDOC
        Run this lane with `fl beta`
        This command does: `fl masterbump`, `fl configure`, codesign, build, commit, tag, and upload
        Running this will trigger automatic branching to generated beta branches that all start with "beta/".
        If run from master, master branch will be bumped as needed before configuring as a variant.
        If run from a beta branch, it will commit directly to that branch.
        All variant commits are tagged like: "betabuild/v1.2.3/guillotine-b2"
            Because git tags are global, all build commits can be tracked.
        HEREDOC
    lane :beta do |options|
        ensure_git_status_clean
        # update_fastlane # This command seems unable to actually update fastlane
        newVersion = ask_for_app_version(fromVersion: startingVersion)

        strategy = {
            selectVersion: newVersion,
            autoIncrementBuild: isMultivariant,
            findTargetBranch: true
        }
        if startingBranch == main_branch && version_greater_than(newVersion, startingVersion)
            bump_master(newVersion)
        end
        config = configureApp(variant, strategy, startingBranch)
        testNotes = ask_for_test_notes()
        deploy_beta(config, testNotes)
    end

    desc <<~HEREDOC
        Run this lane with `fl codesign app:<variant>`
        Runs fastlane Match for an app ID set.
        Use this to install the developer certificate for deployment.
        HEREDOC
    lane :codesign do |options|
        appVariant = acquire_variant(options[:app])
        codeSign({code: appVariant})
    end

    def deploy_beta(config, testNotes)
        if existing_git_tag(commit_tag(config))
            reset_git_repo
            switch_back_branch(config)
            UI.user_error! "#{commit_tag(config)} is already tagged in a commit!"
        end

        begin
            codeSign(config)
        rescue => ex # If the codesign build fails, undo the config.
            reset_git_repo
            switch_back_branch(config)
            raise ex
        end

        begin
            build_project(config)
        rescue => ex # If the xcode build fails, undo the increments and hit slack.
            alert_error_on_slack(ex, config)
            reset_git_repo
            switch_back_branch(config)
            raise ex
        end
        # Commit, push and switch back to starting branch.
        commit_variant_changes(config)
        switch_back_branch(config)

        upload_to_testflight(
            username: app_store_username,
            changelog: testNotes,
            skip_waiting_for_build_processing: true
        )
        alert_finished_on_slack(config) # Feel free to comment out if annoying
    end

    def codeSign(config)
        match(app_identifier: app_ids(config[:code]).keys)
    end

    def build_project(config)
        cocoapods(deployment: true)
        options = {
            method: "app-store",
            provisioningProfiles: app_ids(config[:code])
        }
        build_app(
            scheme: "WC Release",
            export_options: options,
            silent: true
        )
    end

    ####################
    #### USER INPUT ####

    def ask_for_app_version(fromVersion: get_current_project_version)
        version = UI.input "Current version is \"#{fromVersion}\". \
            \nPress [enter] to ACCEPT or enter a new version: "
        if version.length == 0
            return fromVersion
        end
        if version.split(".").length < 3
            UI.user_error! "\"#{version}\" is not formatted correctly. Build cancelled."
        end
        return version
    end

    def ask_for_build_number(config)
        build = fetch_current_buildnum(config)
        newBuild = UI.input "Latest build num is: #{build}. \n\
            Press [enter] to INCREMENT or enter a build number: "
        if newBuild.length < 1
            return build + 1
        end
        return newBuild.to_i
    end

    def ask_for_test_notes(didPatch: false)
        commitLog = changelog_from_git_commits(merge_commit_filtering: "exclude_merges")
        if commitLog.length < 1
            commitLog = changelog_from_git_commits(
                merge_commit_filtering: "exclude_merges",
                commits_count: 1
            )
        end
        notes = ""
        if didPatch
            notes = UI.input "What does this patch fix? Add TestFlight notes:"
        else
            notes = UI.input "What are we testing? Add TestFlight notes:"
        end
        if notes.length < 1
            return commitLog
        end
        return notes
    end

    def existing_git_tag(tag) # Rewrite of git_tag_exists so we don't get annoying red text
        system "git rev-parse -q --verify #{tag}"
        return $?.exitstatus == 0
    end

    ###############
    #### UTILS ####

    def patch_increment_on(version)  # "1.2.3" -> "1.2.4"
        versionNums = version.split(".")
        nextPatchNum = versionNums.pop().to_i + 1
        versionNums.push(nextPatchNum.to_s)
        return versionNums.join(".")
    end

    def version_greater_than(newVersion, version)  # "1.2.4" > "1.2.3" -> true
        return Gem::Version.new(newVersion) > Gem::Version.new(version)
    end
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.160.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.3.0

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

plist
3.5.0

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

faraday
1.0.1

faraday_middleware
1.0.0

gh_inspector
1.1.3

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

bundler
2.1.4

uber
0.1.0

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mini_mime
1.0.2

httpclient
2.8.3

google-api-client
0.38.0

nanaimo
0.3.0

colored2
3.1.2

claide
1.0.3

CFPropertyList
3.0.2

atomos
0.1.3

xcodeproj
1.18.0

unicode-display_width
1.7.0

public_suffix
4.0.6

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

excon
0.76.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.7

fastimage
2.2.0

json
2.3.1

mini_magick
4.10.1

dotenv
2.7.6

naturally
2.2.0

simctl
1.6.8

jwt
2.2.2

declarative
0.0.20

multi_json
1.15.0

signet
0.14.0

os
1.1.1

memoist
0.16.2

googleauth
0.13.1

rake
13.0.1

digest-crc
0.6.1

google-cloud-errors
1.0.1

google-cloud-env
1.3.3

google-cloud-core
1.5.0

google-cloud-storage
1.28.0

emoji_regex
3.0.0

aws-eventstream
1.1.0

aws-sigv4
1.2.2

aws-partitions
1.371.0

jmespath
1.4.0

aws-sdk-core
3.107.0

aws-sdk-kms
1.38.0

aws-sdk-s3
1.81.0

forwardable
1.2.0

logger
1.3.0

stringio
0.0.2

ipaddr
1.2.2

openssl
2.1.2

ostruct
0.1.0

strscan
1.0.0

date
2.0.0

fileutils
1.1.0

etc
1.0.1

io-console
0.4.7

zlib
1.0.0

libxml-ruby
3.1.0

rexml
3.1.9

psych
3.1.0

mutex_m
0.1.0

webrick
1.4.2

generated on: 2020-09-18

I have the same issue here. Self-Hosted Jenkins with fastlane 2.160.0 and Xcode 12 always prints Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues). But my Azure pipelines works properly with fastlane 2.151.2 and Xcode 11.7 (I use macOS-10.15 and default Xcode is 11.7).
I am still investigating this issue.

Yes, you're right!


ArgoCD Release Template

I have setup a release template for Argo Application and then call it at each release, like the following example:
`

name: grafana
<<: *argocd-apps
namespace: monitoring
createNamespace: true
disableValidation: true
missingFileHandler: Warn
labels:
release-name: "{{ {{ .Release.Name }} }}"
layer: "infra"
set:

name: source.helm.file
file: "helmfiles/grafana/{{ .Environment.Name }}/values.yaml.gotmpl"
`

So, my doubt here is to try to understand if possible to template a values.yaml.gotmpl used at set section previous to submit it to Argo
My intention is to template the values.yaml used by the grafana helm-chart and create the Grafana Argo CD Application. My intention is to use environment variable({{ requiredEnv "ARGOCD_INGRESS_NAME" }}) to then pass it the gotmpl to create the Grafana ingress. If not possible , is possible to use envsubst  or another better way to work with it ?

see: https://github.com/roboll/helmfile/issues/2148


[FLINK-2722] Use InetAddress.getLocalHost() as first approach when detecting the TMs own ip/hostname

A user reported a connection issue with Netty being unable to connect to a TaskManager to subscribe to an intermediate result.
The problem occurred when the TaskManager and JobManager were running on the same host (something that can easily happen on YARN).
In that case, the TaskManager was reporting a host-local ip address to the JobManager when connecting.
To avoid the issue in the future, the TaskManager first tries to use the hostname returned by InetAddress.getLocalHost(). In a properly set-up environment, this will return a connection which is accessible by all machines in a cluster.
I tested this implementation on a cluster in GCE using YARN (note that I was not able to reproduce the issue originally reported, but the user reported that the issue has been fixed)
I would really like to include this fix into the 0.10-milestone-1 release!

+1 if the user reported that his problem is gone and it doesn't interfere with other normal operation then we should merge it now

I had some comments. Additionally, I was wondering whether it wouldn't make sense to also include the new strategy LOCAL_HOST in the resolveAddress method. Seems odd to only support it in findAddressUsingStrategy.
It would also be nice to add a test case for this feature if the time allows it.

Thank you for the thorough review @tillrohrmann. I removed the resolveAddress() method. It had a lot of duplicates with findConnectingAddress() and was only used in one other location.
I'm now using the findConnectingAddress() there as well.
Regarding a test: There is a little test for findConnectingAddress(), but we should add another test for the feature. My main problem is that I would really like to include the fix into 0.10-milestone-1, which seems to be blocked on this PR.
I'm currently manually testing my change on YARN to see if everything is working as expected ...

Except for the missing test case, it looks good to me.

okay, I'm merging


What about version for Docker ?

I think it wi'll be great :)

Not planned, sorry.

Why wouldn't you use this docker image ?
https://github.com/kylemanna/docker-openvpn
This project, openvpn-install, is great for people who can't / don't want to install and use docker

This could also make supporting every distro easier.

Let's be honest: nearly everyone is using either a Debian-based distro or CentOS for their Linux servers. Anything else is either niche or only common for the enterprise, so I'm happy with the current support. I highly prefer to have only a few supported distros and do it right, than add support for a ton of them and not being able to maintain it.
And if someone wants to set this up on a container, LXC is there anyway.

This could also make supporting every distro easier.

Maybe if I forget about this project and stop maintaining it, which I'm not going to do. Else, I would need to maintain two separate projects, which I'm not going to do either.

right, this project focused on vps and even lowend vps, that probably can't run docker (I've bought 2 lowend vps form 2 different providers, they both shipped with a Linux 2.6.x kernel -> forget about Docker & co)
To have experimented both projects,

https://github.com/kylemanna/docker-openvpn is perfect for Docker, the keys setup is even done using containers, a volume is being used to persist the certs, etc. - I'm using it on a host that I did not want to "pollute" with specific software installation
this project is perfect for a debian (even 7) / centos (like you said 90% of market share) on a cheap host where you can't (kernel < 3.10) / don't want (if you just want to host a vpn server )to use docker

Both work perfectly, maybe openvpn-install from @Nyr is easier to setup than docker-openvpn thanks to the wizard

Oh that is why I can't install OpenVpn with my Docker.
Thanks for pointing this.

I have the script running in docker. Please see https://github.com/vahidshirvani/openvpn-install


[suggestion] Please make separate projects for Forge and Fabric.

When updating almost 200 mods in my modpack on the Twitch launcher, I go through and click the up arrows to update them all, when the project has mixed forge/fabric it downloads the forge mod in my fabric modpack, and the fabric mod in my forge modpack, breaking the packs, please separate the projects.

No, sorry.

No, sorry.


luci-proto-bonding: fix member because of API change

Signed-off-by: Helge Mader<EMAIL_ADDRESS>This change is necessary as the result of network.getDevices() now returns device instead of ifname,
so the previous version no more works.

You would actually need to support both ifname and device

@jow-
Just for interest, could you explain me, why support for ifname is still required? Did I miss something?
But, OK, I will change this.

@jow-
I made the change you requested

Just for interest, could you explain me, why support for ifname is still required?

Netifd still supports option ifname and maps it to option device internally. Also not migrated user network configs might contain option ifname yet. I usually try to be backwards compatible in LuCI since people might be restoring old configs from backups etc. and being lenient wrt. supported configuration helps to reduce churn on the user side.

Netifd still supports option ifname and maps it to option device internally. Also not migrated user network configs might contain option ifname yet. I usually try to be backwards compatible in LuCI since people might be restoring old configs from backups etc. and being lenient wrt. supported configuration helps to reduce churn on the user side.

Thank you very much for your explanation.

@jow-
Thank you for merging.


scaling bounding box

when we generate tf record, bounding box is scaled based on original image size. When we load image and resize in load_tfrecord_dataset method, i suppose bounding box also needs to be scaled to resized image. I really did not get where that is happening, Anybody has any views on this?

actually you can set the value of bounding box annotation with range of 0 - 1, so that the bounding box already scaled to any size of image.


bro you dumbass

"I am in the process of taking legal action against someone stealing my code and posting it as their own. They modified my code as well as deleted all credit towards me. Do not steal my work as I will take legal actions."


After building eosio.contract, if I rebuild eosio.contract,  i got an error.

After building eosio.contract, if I rebuild eosio.contract,  i got an error.
but  i removed all  CACHE PATH "cxx" FORCE, and then rebuild is no problem.
set(CMAKE_C_COMPILER "@CDT_ROOT_DIR@/bin/eosio-cc" )
set(CMAKE_CXX_COMPILER "@CDT_ROOT_DIR@/bin/eosio-cpp" )
set(CMAKE_AR "@CDT_ROOT_DIR@/bin/eosio-ar" )
set(CMAKE_RANLIB "@CDT_ROOT_DIR@/bin/eosio-ranlib" )
os : osx
eosio : 1.5.0
eosio.cdt : 1.4.1
eosio.contract : 1.5.1
https://github.com/EOSIO/eosio.cdt/blob/6f14991bb514ec0b922778db5841deeca05c9d09/modules/EosioWasmToolchain.cmake.in#L11

This has been resolved as of v1.5.0-rc1.

thanks


LoadBalancer schema, resources and custom actions

@ibuildthecloud Darren, WIP PR. Contains schema changes and custom agent definitions.
Things missing:

Authentication - waiting for the feature PR merge before setting up proper permissions
Strongly typed embedded fields: waiting for merge for https://github.com/rancherio/cattle/pull/112
addLoadBalancer action defnition has to be updated with "weight" parameter (required)

@alena1108 sorry for the troubles.  Can you rebase?  The tests should pass then because the tests on master now are a bit more reliable (not completely yet).

oops, wrong PR

Darren, updated the PR based on your review. After https://github.com/rancherio/cattle/pull/183 PR is merged to master, will rebase this branch so its ready for a final review/merge.


Clarify the need for using rawurlencode() instead of urlencode()

When usage of urlencode() is detected, the warning from WordPress.PHP.DiscouragedPHPFunctions.urlencode_urlencode states:

urlencode() should only be used when dealing with legacy applications rawurlencode() should now be used instead. See http://php.net/manual/en/function.rawurlencode.php and http://www.faqs.org/rfcs/rfc3986.html

This doesn't explain what a legacy application is, or why rawurlencode() should be used. The two links provided don't provide any useful information either.
What can we do to improve this message? What's the actual reason for recommending rawurlencode() over urlencode()?

I've wondered the same myself quite often and haven't got an answer for you.
It has always been my understanding (after much research I did quite a long time ago) that rawurlencode() should be used on individual parts of a URL, i.e. user, password, individual path fragments etc, and that urlencode() should be used on query strings and fragments (#).

I think this SO answer explaining the differences between them forms a portion of the rationale for this. urlencode() converts spaces to + instead of %20, which is the way some legacy systems did it but is no longer standard.

More info about usage: https://www.gyrocode.com/articles/php-urlencode-vs-rawurlencode/

At least for modern PHP, it seems that urldecode() can handle both, so there doesn't seem to be an obvious reason to use urlencode(), when rawlurlencode() follows an RFC (unless the generated URL is going to be sent to a system that has a different version of PHP, or has a method of decoding querystrings that doesn't support %20 for spaces).
As such, the WPCS current message would seem accurate, even if the links are not ideal (perhaps have a wiki page on this repo to outline the perceived issue, and include a link to that instead?).
FWIW, the WordPress VIP docs (and here and here suggest to use rawurlencode() all the time, even for querystrings.

Based on the above discussion, there is nothing to do here, so closing.


added Jan Grodek State University in Sanok

@angahmsnk The first verification stage is complete: the official domain for  Uczelnia Państwowa im. Jana Grodka w Sanok is up-sanok.edu.pl, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://up-sanok.edu.pl/studenci/praca-zdalna/details,1.html

@philipto Thank you! You're right about our school webpage. I didn't stand for add<EMAIL_ADDRESS>domain to list, because students don't own emails with that address. We have to use domain<EMAIL_ADDRESS>- as you wrote at the end.

@angahmsnk Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Improvements to studies for repertoire purposes

This is a reminder item for https://github.com/lichess-org/lila/issues/14619

Also https://github.com/lichess-org/lila/issues/8118


LightGBM contributions

Hello @jameslamb, I reached out to you about guidance to make more continued contributions to LightGBM.
At this moment, to get into the process, I will be involved with issue: #6361 in the LightGBM repository.
I want to contribute more to this repository (eventually by writing some code for a feature, enhancement or patching a bug)
P.S. Happy to share: I am involved in research work at one of the labs at my college, and might use LightGBM for the project as well ( will come to this topic once implementation details are finalised)

Thanks for your interest!
By "open a draft pull request", I meant that you should try to make some changes to the project: https://github.com/microsoft/LightGBM/issues/6361#issuecomment-2166807509
And then we can answer questions about those changes. If you want to talk in general terms (not specific to a particular change) about contributing to this project, pull requests are not the right place to do that.
You can post specific questions about how to contribute on #6350.
You can email me with more general questions about what to work on next, though I think for now that #6361 is a great place to start.
I'm going to close this, please open a pull request whenever you have some proposed changes to make to the project and we'd be haply to review.

Thanks, @jameslamb, please don't mind the confusion. I will get started with #6361 and will reach out to you for specific questions. Thanks once again for all the support.


train on Apple, predict on Raspberry pi

It would be great if models built on MacOS  could be deployed on raspberry pi.

Not needed since one can use NNVM
http://nnvm.tvmlang.org/tutorials/from_coreml.html#load-pretrained-coreml-model

+1. NNVM seams too complicated. It would be nicer to predict with turi instead on the raspberri pi. Tried to compile from turi source but get compile errors.

@luto65 @vashat - Are you not able to just pip install -U turicreate? Is there a reason you need to compile from source?

@TobyRoseman This would be to compile and run the models on the Raspberry Pi.

@TobyRoseman when I run:
pip install -U turicreate
I get:
Collecting turicreate
Downloading https://files.pythonhosted.org/packages/db/54/167837569bcb816b3fe68f003f18d07ab9d5ac31b2b12b8f9b07b1ccc7a4/turicreate-4.2.tar.gz
Installing collected packages: turicreate
Running setup.py install for turicreate ... error
Complete output from command /home/pi/.pyenv/versions/3.5.1/bin/python3.5 -u -c "import setuptools, tokenize;file='/tmp/pip-install-lxbadvb1/turicreate/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-8njmxf72/install-record.txt --single-version-externally-managed --compile:
running install
        ==================================================================================
        ERROR

        If you see this message, pip install did not find an available binary package
        for your system. Supported platforms are:

        * Linux x86_64 (including WSL on Windows 10).
        * macOS 10.12+ x86_64.
        * Python 2.7, 3.5, or 3.6.

        Other possible causes of this error are:

        * Outdated pip version (try `pip install -U pip`).

        ==================================================================================

----------------------------------------

Command "/home/pi/.pyenv/versions/3.5.1/bin/python3.5 -u -c "import setuptools, tokenize;file='/tmp/pip-install-lxbadvb1/turicreate/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-8njmxf72/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-lxbadvb1/turicreate/


main: Implement --prefix option to override install path

Implement a --prefix option that can be used to override platbase
and base when expanding the paths from install scheme.  This can be used
to install paths to a layout using another prefix than the one used
to run installer.
Gentoo use case for this is running installer inside a venv to prepare
installation images for the real system.  The nixOS maintainers have
also indicated interest in this feature.
Fixes #98

Also rebased and reverse the if branches to make mypy happier.

This solution won't work for macOS framework installations of Python (pretty-print added by me):
$ /usr/bin/python3
>>> import sysconfig
>>> sysconfig.get_paths()
{
    'stdlib': '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8',
    'platstdlib': '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8',
    'purelib': '/Library/Python/3.8/site-packages',
    'platlib': '/Library/Python/3.8/site-packages',
    'include': '/Library/Python/3.8/include',
    'platinclude': '/Library/Python/3.8/include',
    'scripts': '/usr/local/bin',
    'data': '/Library/Python/3.8'
}
>>> sysconfig.get_paths(vars={'base': '/foo/bar', 'platbase': '/foo/bar'})
{
    'stdlib': '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8',
    'platstdlib': '/foo/bar/lib/python3.8',
    'purelib': '/Library/Python/3.8/site-packages',
    'platlib': '/Library/Python/3.8/site-packages',
    'include': '/Library/Python/3.8/include',
    'platinclude': '/Library/Python/3.8/include',
    'scripts': '/usr/local/bin',
    'data': '/Library/Python/3.8'
}

As you can see, purelib/platlib haven't changed. It looks like they don't use base/platbase in the default scheme:
>>> sysconfig.get_paths(expand=False)
{
    'stdlib': '{installed_base}/lib/python{py_version_short}',
    'platstdlib': '{platbase}/lib/python{py_version_short}',
    'purelib': '/Library/Python/{py_version_short}/site-packages',
    'platlib': '/Library/Python/{py_version_short}/site-packages',
    'include': '/Library/Python/{py_version_short}{abiflags}/include',
    'platinclude': '/Library/Python/{py_version_short}{abiflags}/include',
    'scripts': '/usr/local/bin',
    'data': '/Library/Python/{py_version_short}'
}

When I pip install --prefix a package, it doesn't use this scheme at all, it seems to use something like the posix_path scheme (/foo/bar/lib/pythonX.Y/site-packages). Does anyone know how pip does this if not by modifying these vars? Maybe they explicitly choose a scheme to use?

Dug into how pip handles this. Basically, the solution proposed in this PR is about as good as it will get, and is basically exactly what pip does. The issue I mentioned above is alluded to in the pip source code. Pip still uses distutils for Python 3.9 and older, and distutils doesn't have this bug, which is why I didn't encounter it. Obviously we don't want to use distutils in installer, so I think the correct solution is to merge this PR as is and acknowledge that things will be broken for the XCode Python on macOS.

distutils doesn't have this bug

Nitpick, a more correct phrasing of this would be Apple patches distutils correctly, but not sysconfig 🙂

FTR, I've ended up doing something a bit different for Gentoo — calling sysconfig.get_paths() with base and platbase overrides: https://github.com/mgorny/gpep517/blob/master/gpep517/main.py#L103

FTR, I've ended up doing something a bit different for Gentoo — calling sysconfig.get_paths() with base and platbase overrides: https://github.com/mgorny/gpep517/blob/master/gpep517/main.py#L103

Sorry, I meant different from my original idea of patching sys.prefix. Let's disregard my comment, I suppose it just adds noise.

I don't think the way Apple patches sysconfig is necessarily incorrect. It just highlights one of the weaknesses of this proposed option, it does not follow the assumption that all paths will be based on {prefix}, this can be because the schemes simply do not use these variables, or that the paths are not based on {prefix} at all. Like I said many times before, I don't think adding this is a good idea, but I understand it would be the simplest to fix the issue people are facing, it's just that it will often break unpredictably.

FWIW, what I'm planning on doing in Spack is to:

Run get_paths and get_config_vars with the default vars
If purelib/platlib/include are prefixed by base/platbase/installed_base/installed_platbase, replace those
If not, hard-code to --prefix + lib/pythonX.Y/site-package since that is the most common

I'm hoping that works for most situations. 1 is how sysconfig is used by pip, and 2 is how distutils does things.

Could this be rebased maybe?

Could this be rebased maybe?

Done.

I'll probably bring the location logic in sync with what pip's doing with sysconfig in 22.2.


Add support/abstraction for running command-line scripts with LISA

@derkling @bjackman , just created this to track this feature. It is useful to have an abstraction to run LISA scripts from the command line to parse common command line arguments and provide a more well defined way to writing these scripts. Especially for Android, I think we'd want something like this for more easier data collection.
More specifically for Android I wanted something that could abstract common test parameters
--iterations=
--workload=<workload-name eg youtube, jankbench>
--list_workloads
--collect=
--collect_params=
--serial_no=
--outdir_name=<default to results/workload_timestamp>
abstraction could look like class hierarchy Script -> AndroidScript etc.

I see this already there, maybe we want to improve/extend this?
https://github.com/ARM-software/lisa/blob/master/libs/utils/android/benchmark.py

Also, may be we can have a generic benchmark collector which you can pass a optional conf if needed?
So I should be able to say:
benchmark --workload=youtube --collect=energy
I see benchmarks are their own python files, which call into workload.py (https://github.com/ARM-software/lisa/tree/master/tests/benchmarks), do we really need a separate python wrapper for each workload? CC: @ionela-voinescu @jlelli

See https://github.com/ARM-software/lisa/pull/636


Insert an event on Google Calendar

Description
Inserts an event on Google Calendar and creates the public method CreateCalendarEvent
Expected behavior

When called, CreateCalendarEvent should return a struct with the event URL

In this PR we have just unity test right?

Yes :smile:


usecase: experiment to check the status of pod and its containers present in a namespace

ProblemStatement: As an admin, I have some applications deployed in a specific namespace in a kubernetes cluster, how can I check the status of the pods and containers inside that given namespace.

@harshshekhar15 can you try this (this is just a sample, you might need to change if needed):
This does the following things:

Asserts presence of pod target-ns my-pod
Asserts this pod phase equals Running
Asserts this pod has a container named my-con-1 with image nginx
Asserts this pod has a container named my-con-2 with image dope

apiVersion: metacontroller.app/v1
kind: Job
metadata:
  name: assert-my-use-case
  namespace: some-namespace
spec:
  tasks:
  - name: assert-my-pod
    assert:
      state:
        kind: Pod
        apiVersion: v1
        metadata:
          name: my-pod
          namespace: target-ns
        spec:
          containers:
          - name: my-con-1
            image: nginx
          - name: my-con-2
            image: dope
        status:
          phase: Running


Deprecation of BaseSamplerV1 has a conflict with HamiltonianPhaseEstimation class

Environment

Qiskit Algorithms version: 1.2.1
Python version: 3.12.0
Operating system: Ubuntu 22.04.4

What is happening?
Since the release of the version Qiskit 1.2 the class Sampler is deprecated. With this choice we require that all implementations of the BaseSamplerV1 interface have been deprecated in favour of their V2 counterparts. The V2 alternative for the Sampler class is StatevectorSampler.
The class HamiltonianPhaseEstimation has not be modified to accommodate this modification and still uses the BaseSamplerV1 Sampler class. At the moment, the code is still working with the exception of printing a DeprecationWarning. However, once the Sampler class will be removed it will generate an error.
At the moment StatevectorSampler CANNOT be used as sampler for the HamiltonianPhaseEstimation. This is due to the implementation of the function estimate_from_pe_circuit in the module qiskit_algorithms/phase_estimators/phase_estimation.py.
How can we reproduce the issue?
Import required modules
import qiskit
import qiskit_algorithms
from qiskit.primitives import Sampler, StatevectorSample
from qiskit.quantum_info import Statevector, SparsePauli
from qiskit_algorithms import HamiltonianPhaseEstimation

Use the Sampler class to run the HamiltonianPhaseEstimation
sampler = Sampler(options={"shots" : 10, "seed" : 0})
qpe = HamiltonianPhaseEstimation(num_evaluation_qubits=2,
                                 sampler=sampler)

qpe_result = qpe.estimate(hamiltonian=SparsePauliOp('XZ'),
                          state_preparation=Statevector.from_label("01"))

/tmp/ipykernel_1033530/360718787.py:1: DeprecationWarning: The class qiskit.primitives.sampler.Sampler is deprecated ...
Use the StatevectorSampler leads to an error:
bound = 0.8
sampler = StatevectorSampler(default_shots=10, seed=0)
qpe = HamiltonianPhaseEstimation(num_evaluation_qubits=2,
                                 sampler=sampler)

qpe_result = qpe.estimate(hamiltonian=SparsePauliOp('XZ'),
                          state_preparation=Statevector.from_label("01"))

--> 6 qpe_result = qpe.estimate(hamiltonian=SparsePauliOp('XZ'),
File ~/qiskit_algorithms/phase_estimators/hamiltonian_phase_estimation.py:173, in HamiltonianPhaseEstimation.estimate(self, hamiltonian, state_preparation, evolution, bound)
--> 173 phase_estimation_result = self._phase_estimation.estimate(
174 unitary=unitary, state_preparation=state_preparation)
File ~/qiskit_algorithms/phase_estimators/phase_estimation.py:230, in PhaseEstimation.estimate(self, unitary, state_preparation)
--> 230 return self.estimate_from_pe_circuit(pe_circuit)
File ~/qiskit_algorithms/phase_estimators/phase_estimation.py:199, in PhaseEstimation.estimate_from_pe_circuit(self, pe_circuit)
--> 199 phases = circuit_result.quasi_dists[0]
AttributeError: 'PrimitiveResult' object has no attribute 'quasi_dists'
The reason of the error arise because the BaseSamplerV1 provides a result that is a quasi distribution, while BaseSamplerV2 return a primitive unified blocs (PUB) results which is inconsistent with the actual implementation.
What should happen?
The estimate_from_pe_circuit function in phase_estimation.py should check which Sampler is passed on and allow back-compatibility, in case it is passed the BaseSamplerV1, and also allow the usage of the suggested BaseSamplerV2
Any suggestions?
I am happy to open a pull request to modify the code from the current implementation
phases = circuit_result.quasi_dists[0]
phases_bitstrings = {}
for key, phase in phases.items():
    bitstring_key = self._get_reversed_bitstring(self._num_evaluation_qubits, key)
    phases_bitstrings[bitstring_key] = phase
phases = phases_bitstrings
return PhaseEstimationResult(
    self._num_evaluation_qubits, circuit_result=circuit_result, phases=phases
)

To my suggested implementation:
phases_bitstrings = {}
if isinstance(self._sampler, BaseSampler):
    print("sampler V1")
    phases = circuit_result.quasi_dists[0]
    for key, phase in phases.items():
        bitstring_key = self._get_reversed_bitstring(self._num_evaluation_qubits, key)
        phases_bitstrings[bitstring_key] = phase
elif isinstance(self._sampler, BaseSamplerV2):
    phases = circuit_result[0].data.meas.get_counts()
    for key, phase in phases.items():
        phases_bitstrings[key[::-1]] = phase
else:
    raise ValueError("Sampler does not belong to any known Sampler class")
phases = phases_bitstrings
return PhaseEstimationResult(
    self._num_evaluation_qubits, circuit_result=circuit_result, phases=phases
)

Further modification is the annotation of the classes as sampler: BaseSampler | BaseSamplerV2 | None = None.
I am open to discuss wheatear the check of the Sampler type is more appropriate in the initialization of the PhaseEstimation object.

Hi, I think the same issue exists with TrotterQRTE with the Estimator. It does not support StatevectorEstimator which is supposed to replace qiskit.primitives.Estimator

Hi! Same for AmplitudeEstimation with StatevectorSampler which should replace qiskit.primitives.Sampler.
the 'estimate' method uses shots.


feat: Removes desk title for loading...

The desk always shows frappe during loading and eventually changes to whatever the backend's name is set.

Pull Request Test Coverage Report for Build 1014

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 49.943%

Totals

Change from base Build 1012:
0.0%

Covered Lines:
21558

Relevant Lines:
43165

💛  - Coveralls


add real time xml editor for android projects

We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the VS Code Marketplace. Just in case, in a few simple steps you can get started writing your own extension. See also our issue reporting guidelines.
Happy Coding!


Simplify clasp text output customization.

Update clasp and simplify CustomTextOutput

However, I think it is not quite the same. This would break systems, which want to print something after clasp printed its model. Now they can only print something before if they want to use the default printer. Systems like clingcon or clingo-lpx won't be affected because there I took over printing completely but it is still a break.

Hm, I'm obviously missing something then.
From my understanding, both versions should do the same.

Both the old and the new code only use CustomTextOutput if there is a printer, i.e. app_->has_printer() is true.
In the old code, CustomTextOutput directly replaced the base classe's printModel() function (with a nearly verbatim copy) and:

only forwarded to the base version if there's no control object. Otherwise,
checked whether the model should be printed and if so first invoked the printer and then afterwards in the (optionally invoked) callback forwarded to printValues() of the base class.
Finally and only if x == optQ(), printMeta() of the base class was invoked

In the new code, the base class TextOutput gained a new virtual function printModelValues(), which is called from TextOutput::printModel() only after the "should we print this model" check returned true.

CustomTextOutput` overrides this function and again first  invokes the printer.
Only if the printer invokes the callback, CustomTextOutput then calls printModelValues() of the base class, which (as previously) calls printValues().
Finally and only if x == optQ(), printMeta() is invoked from the base class implementation of printModel().

Could you please help me figure out where I went wrong?

@rkaminsk  Sorry for the noise. Postponing the call to printModelValues() to after the callback has finished is already a breaking change  :disappointed:

Now it looks like it was before sans the copied code. I think it can be merged like this.


[error    ] Failed to receive or enqueue a message: TypeError, object of type 'NoneType' has no len()

We are seeing an unexpected error in our async socket mode logs whenever there is a network issue.
Looking at the code, it appears that simply checking if message_data is not None before checking len() would remove this error without any other effects?
https://github.com/slackapi/python-slack-sdk/blob/7e71b7377a9f0e627f0da45fd5a74fe6117b7cbc/slack_sdk/socket_mode/aiohttp/__init__.py#L241
Reproducible in:
The slack_sdk version
slack-bolt                1.18.1       The Bolt Framework for Python
slack-sdk                 3.26.2       The Slack API Platform SDK for Python
Python runtime version
Python 3.11.4
OS info
issue also occurs in Docker linux container
ProductName:            macOS
ProductVersion:         14.2.1
BuildVersion:           23C71
Darwin Kernel Version 23.2.0: Wed Nov 15 21:54:10 PST 2023; root:xnu-10002.61.3~2/RELEASE_X86_64
Steps to reproduce:

start the socket mode async example: https://github.com/slackapi/bolt-python/blob/main/examples/socket_mode_async.py
disconnect the network until the Slack client notices and logs an error
reconnect network and Slack client reconnects successfully (but with an extra error)

Expected result:
This ERROR should not occur in the normal disconnect/reconnect process:
2024-02-11T03:46:58.356189Z [error    ] Failed to receive or enqueue a message: TypeError, object of type 'NoneType' has no len() (s_296440909) location=slack_sdk.socket_mode.aiohttp:302

Actual result:
2024-02-11T03:46:47.653122Z [error    ] Failed to check the current session (s_296440909) or reconnect to the server (error: ClientConnectorError, message: Cannot connect to host ssl:default [nodename nor servname provided, or not known]) location=slack_sdk.socket_mode.aiohttp:202
2024-02-11T03:46:57.652975Z [info     ] The session (s_296440909) seems to be already closed. Reconnecting... location=slack_sdk.socket_mode.aiohttp:185
2024-02-11T03:46:57.653354Z [debug    ] Inactive connection detected (session_id: s_296440909, closed: False, stale: False, current_session.closed: True, is_ping_pong_failing: False) location=slack_sdk.socket_mode.aiohttp:330
Sending a request - url: POST https://www.slack.com/api/apps.connections.open, params: {}, files: {}, data: {}, json: {}, proxy: {}, headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': '(redacted)', 'User-Agent': 'Python/3.11.4 slackclient/3.26.2 Darwin/23.2.0'}
Received the following response - status: 200, headers: {'Date': 'Sun, 11 Feb 2024 03:46:58 GMT', 'Server': 'Apache', }
2024-02-11T03:46:58.356189Z [error    ] Failed to receive or enqueue a message: TypeError, object of type 'NoneType' has no len() (s_296440909) location=slack_sdk.socket_mode.aiohttp:302
2024-02-11T03:46:58.356483Z [info     ] The old session (s_296440909) has been abandoned location=slack_sdk.socket_mode.aiohttp:365
2024-02-11T03:46:58.983811Z [info     ] A new session (s_296441593) has been established location=slack_sdk.socket_mode.aiohttp:384
2024-02-11T03:46:58.984019Z [debug    ] Sending a ping message with the newly established connection (s_296441593)... location=slack_sdk.socket_mode.aiohttp:388
2024-02-11T03:46:58.984273Z [debug    ] A new monitor_current_session() executor has been recreated for s_296441593 location=slack_sdk.socket_mode.aiohttp:396
2024-02-11T03:46:58.984454Z [debug    ] A new receive_messages() executor has been recreated for s_296441593 location=slack_sdk.socket_mode.aiohttp:402
2024-02-11T03:46:58.984600Z [debug    ] The monitor_current_session task for s_296440909 is now cancelled location=slack_sdk.socket_mode.aiohttp:152
2024-02-11T03:46:58.984841Z [debug    ] A new monitor_current_session() execution loop for s_296441593 started location=slack_sdk.socket_mode.aiohttp:144
2024-02-11T03:46:58.985053Z [debug    ] The running receive_messages task for s_296440909 is now cancelled location=slack_sdk.socket_mode.aiohttp:309
2024-02-11T03:46:58.985210Z [debug    ] A new receive_messages() execution loop with s_296441593 started location=slack_sdk.socket_mode.aiohttp:218
2024-02-11T03:46:58.999602Z [debug    ] Received message (type: TEXT, data: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-1","build_number":81,"approximate_connection_time":18060},"connection_info":{"app_id":"A1234"}}, extra: , session: s_296441593) location=slack_sdk.socket_mode.aiohttp:243
2024-02-11T03:46:58.999957Z [debug    ] A new message enqueued (current queue size: 1, session: s_296441593) location=slack_sdk.socket_mode.async_client:105
2024-02-11T03:46:59.000394Z [debug    ] Message processing started (type: hello, envelope_id: None, session: s_296441593) location=slack_sdk.socket_mode.async_client:137
2024-02-11T03:46:59.000662Z [debug    ] Message processing completed (type: hello, envelope_id: None, session: s_296441593) location=slack_sdk.socket_mode.async_client:163
2024-02-11T03:46:59.212906Z [debug    ] Received message (type: PONG, data: bytearray(b'sdk-ping-pong:1707623218.984142'), extra: , session: s_296441593) location=slack_sdk.socket_mode.aiohttp:243

@jhofeditz Thanks for reporting this issue. As you already analyzed, this looks like a simple bug that can happen only when debug-level logging is enabled. We will resolve it in the next release. If you have interest and time to send a PR to resolve it, we are happy to have your contribution! Otherwise, I will take a look at it later this week.


Masked Inputs don't have a label

As shown in the documentation, Input can be masked by providing the inputComponent. This works very well. But it doesn't fit well to all the other inputs, because it doesn't have a label. So if there are labeled inputs in a form, a masked one would completely break the style.
Is there a reason for not having a label on masked inputs?
Maybe a solution would be an inputComponent prop on the TextField component? Or an exposed Label-Wrapper component that can be wrapped around a custom Input?

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Your Environment

Tech
Version

Material-UI
beta.36

React
16.2

Is there a reason for not having a label on masked inputs?

@Mario-Eis It can already be achieved:
      <div className={classes.container}>
        <FormControl className={classes.formControl}>
          <InputLabel htmlFor="formatted-text-mask-input">react-text-mask</InputLabel>
          <Input
            value={textmask}
            onChange={this.handleChange('textmask')}
            id="formatted-text-mask-input"
            inputComponent={TextMaskCustom}
          />
        </FormControl>
        <TextField
          className={classes.formControl}
          label="react-number-format"
          value={numberformat}
          onChange={this.handleChange('numberformat')}
          id="formatted-numberformat-input"
          InputProps={{
            inputComponent: NumberFormatCustom,
          }}
        />
      </div>

I'm updating the documentation to demonstrate it.


Using dynamic imports?

Are there any issues with using dynamic imports, as opposed to node's require? Both methods are "lazy", but require is synchronous, whereas import is async (returns a promise).
With require...
static get relationMappings() {
  const Animal = require('./Animal')

  return {
    pets: {
      relation: Model.HasManyRelation,
      modelClass: Animal,
      join: {
        from: 'persons.id',
        to: 'animals.ownerId'
      }
    }
  }
}

With dynamic import...
static get relationMappings() {
  const Animal = import('./Animal').then(animal => animal)

  return {
    pets: {
      relation: Model.HasManyRelation,
      modelClass: Animal,
      join: {
        from: 'persons.id',
        to: 'animals.ownerId'
      }
    }
  }
}

Objection doesn't support async relation mappings, and it's not feasible to add support for it. It would change a lot of other code async as a consequence. You need to use require or some of the other ways to prevent require loops.


Provide OAI-PMH endpoint for Wikidata

This is necessary since Open Knowledge Maps works on the basis of BASE.

Several points to consider here, as per separate email discussions.

How to pull the data from WIkidata

This could be done, e.g., via

SPARQL

Wikidata Query Service
LDF
dedicated Wikidata endpoint

dumps
API

How to convert the data into a format compatible with BASE (details)

perhaps via citation.js

How to get these data into BASE (  cf. #11 )
How to make it generic for any Wikibase

see slide 8 in this presentation for a related initiative

I had a call with the Archives nationales de Luxembourg today to explore what we could be doing together. They have been using OAI-PMH for years and have begun the above-mentioned Wikibase project, in the framework of which they have also been exploring some bridging between OAI-PMH and Wikibase. They need it in both directions, though (i.e. they want to roundtrip), which is hardly possible, so not their priority right now. Still, they are happy to advise us.

For OAI-PMH to Wikidata, see also https://twitter.com/LibrErli/status/1456971768170745856 .

The Wikipedia Citations Database might also be relevant in this space, as it runs on Wikibase and would probably benefit from having an OAI-PMH endpoint.
More via this email.

There was a presentation last week about the Luxembourg project mentioned above — no mention of OAI-PMH, but CIDOC-CRM instead:
Representing the Luxembourg Shared Authority File based on CIDOC-CRM in Wikibase

I shrinked the scope of this ticket a bit because we have

#14
for the more generic OAI-PMH endpoint for Wikibase.


Typo (IDFGH-3850)

https://github.com/espressif/esp-idf/blob/master/components/fatfs/port/freertos/ffsystem.c#L20

Thanks for reporting and sorry for slow reply, we have fixed the typo, and the issue will closed automatically when the fix is available on GitHub. Thanks.


[Bug]: commonObjs empty on NodeJs

Attach (recommended) or Link to PDF file
You can use any PDF object you have. We are not able to fill it.
Web browser and its version
Node 20.12.1
Operating system and its version
Windows 11
PDF.js version
Latest (4.6.82)
Is the bug present in the latest PDF.js version?
Yes
Is a browser extension
No
Steps to reproduce the problem
Given the following example code:
const pdfJsLib = await import('pdfjs-dist/legacy/build/pdf.mjs');
const document = pdfJsLib.getDocument({data: inputBuffer});
 for (let pageIndex = 1; pageIndex <= document.numPages; pageIndex++) {
            const page = await document.getPage(pageIndex);
            await page.getOperatorList();

            // commonObjs is always an empty object
            console.log(page.commonObjs);
}

For some reason, in the latest version of PdfJs, commonObjs is always an empty object.
I do have an old version of pdfjs (where I unfortunately do not know the exact version, any hint how I could figure that out?), which does work perfectly well. I've uploaded the old version as zip here: https://we.tl/t-9MyjlHlfXe
So if I do load the old version like this:
const pdfjsLib = require('./externallibs/pdfjs/pdf.js');

And then execute the code above, it works perfectly fine.
So my questions would be:

Does the newest version still support NodeJs?
How can I figure out the version of a lib
Is there anything I have to do differently in the latest versions to load the commonObjs object?
Is there any possibility to get som additional logs how I could maybe figure out a problem?

What is the expected behavior?
It should return a filled commonObj after calling getOperatorList
What went wrong?
The commonObj object is an empty object
Link to a viewer
No response
Additional context
No response

For some reason, in the latest version of PdfJs, commonObjs is always an empty object.

Note that we have multiple unit-tests, that run in Node.js (via GitHub Actions), which access that field successfully; please see one such example here: https://github.com/mozilla/pdf.js/blob/9735a840ad9e8b6f87d24279504400f6da13acfe/test/unit/api_spec.js#L3349-L3352

Does the newest version still support NodeJs?

Yes, as outlined in https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-support

How can I figure out the version of a lib

Unless you're using a minified version of the code, searching for pdfjsVersion in e.g. the pdf.mjs file should allow you to find the version number.

Is there anything I have to do differently in the latest versions to load the commonObjs object?

It should be available, so without additional information it's unfortunately somewhat difficult to help.

Is there any possibility to get som additional logs how I could maybe figure out a problem?

Please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.

Thank you very much @Snuffleupagus for your response.
As the old version is minified, I guess that is going to be a hard task then. But anyway, as I don't want to use the old version it doesn't matter too much. I was just wondering if there was something in the upgrade path, that I've missed.
I've uploaded here a runnable example that demonstrates the problem in the smallest possible way:
https://github.com/sschoeb/pdfjs-commonobj-node
There is also an example PDF-included in the repo. About the code in there:
async function parsePdf(): Promise<void> {
    const data = fs.readFileSync('./dummy.pdf');
    const pdfJsLib = await import('pdfjs-dist/legacy/build/pdf.mjs');
    const document = await pdfJsLib.getDocument({
        data: data.buffer, verbosity: 0
    }).promise;

    for (let pageIndex = 1; pageIndex <= document.numPages; pageIndex++) {
        const page = await document.getPage(pageIndex);
        await page.getOperatorList();

        console.log('Loaded commonObjs')
        console.log(page.commonObjs);
    }
}

We load the pdf using the legacy build of pdfjs. Getting the document, the pages works perfectly fine. But after calling the "getOperatorList()"-method on the page, somehow the commonObjs is not populated.
Maybe about the task we want to archive:
We need a list of fonts with all the properties from the document. And we think this commonObj-thing is the way to go for this. Please let me know if we are wrong about this.
I hope I could provide all the information needed, otherwise I'm happy to work further on this. Thanks for your help.

Thank you very much @Snuffleupagus. That solved the problem.
For anyone migrating from an old world to the new one:
In old versions the "private" field was not "private" but just named "_objs". Therefore it was possible to access these values to get all the fonts (which was a hack, I agree :-)). In the newer version, pdfJs uses real private fields, making the "objs" field invisible to the outside.
Thanks again.


add swm to softdepend of plugin

Adding SlimeWorldManager as soft dependcy of the plugin makes it so that it successfully loads SWM managed worlds and doesn't produce exceptions with unloaded world.
fixes #138

I don't know how I feel about this. If I add this plugin as a softdepend, then I will have to add many other plugins when someone asks. I think it would be much simpler if people just edit the plugin.yml on their own when they come across issues like this one.

Yeah, I'm going to pass on this only because if I do it for this plugin then I'd have to forever be updating it for everyone else's fringe plugin. It's easier if the server admin just makes this change themselves in the plugin.yml with their favorite compression tool.


[Blending] Depth Estimation

I tried to refactor into a Python module the PR : https://github.com/pyronear/synthetic-dataset/pull/7
Creation of a module to generate a mask from the depth estimation
Tested, it works well. Still missing unit tests ...
With the module it is possible to :

Estimate the depth of an image with estimate_depth_from_image
Generate a mask from the depth with generate_mask
The method detect_sky_from_depth applies both

fyi @jpennors @MateoLostanlen , I put the same option as other repos to squash merge a PR commit into the target branch (instead of merging)


i cant shade

hey i tried shade this plugin(new to maven) but still class not found errror

so if you update shade code it will be good

I've added some shading instructions to the readme.
https://github.com/Slikey/EffectLib/blob/master/README.md#how-to-shade

Okey thanks i got it work thank you verymuch


REL: v0.15.9 for old v0.15.x branch

Note the base branch v0.15.x
Closes #17 (Well, the current v0.15.x branch already closes #17)

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Fix manylinux2014_x86_64 repo updating

See upstream issue:
https://github.com/pypa/manylinux/issues/1641

I will make the change with Copybara.


Add support for Nvidia Virtual GPU (vGPU)

Description
Nvidia Virtual GPU (vGPU), formerly Nvidia Grid, allows hardware GPU resources to be divided among several VMs. For example, a 16 GB Nvidia T4 can be divided among 4 VMs with 4 GB GPU memory apiece. GPUs are typically used for AI-related applications such as LLMs (Large Language Models).
vGPUs requires the installation of special ESXi VIBs (vSphere Installation Bundle).
This commit enables Nvidia vGPU support for the BOSH vSphere CPI. vGPUs are configured via the cloud_properties property, vgpus, which is an array of vGPUs. The property, memory_reservation_locked_to_max, must be set to true.
A typical vGPU device name is grid_t4-16q, which is an Nvidia T4 card with 16 GB of RAM. The devices not ending in q don't seem to work (e.g. grid_t4-1a doesn't work).
Although vgpus is an array, we weren't able to configure more than one vGPU per VM.
Here's a typical VM Extension:
vm_extensions:
- name: vgpu
  cloud_properties:
    memory_reservation_locked_to_max: true
    vgpus:
    - grid_t4-1q

There are unit tests, but we didn't write integration tests because we don't have access to VMware hardware with GPUs.
Type of change

[X] New feature (non-breaking change which adds functionality)
[X] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

We wrote unit tests
We tested deploying VMs with vGPUs on a vSphere 8.0 environment with an Nvidia T4 PCI card.
We did not write integration tests; we don't have access to a VMware environments with GPUs.

Do we think vsphere may allow multiple vgpus in the future? If not, an array that can't have more than one value seems odd.
Also, a required property of memory_reservation_locked_to_max seems strange. Shouldn't we just set that automatically on the CPI side of things if you are asking for a vgpu?
cloud_properties are CPI specific items, but they don't have to be dictated by the IaaS interface, the CPI should do processing on the cloud_properties if it makes a cleaner interface for the operator.

Do we think vsphere may allow multiple vgpus in the future? If not, an array that can't have more than one value seems odd.

Surprisingly, vSphere allows multiple vgpus (it works when I set them manually from the GUI), but vSphere throws an error when we try to set multiple GPUs via the CPU. I haven't figured out why, but I don't know how important it is to fix this CPI bug—I can't envision a scenario where a user would want multiple GPUs.

Also, a required property of memory_reservation_locked_to_max seems strange. Shouldn't we just set that automatically on the CPI side of things if you are asking for a vgpu?

Probably a good idea, and not to hard to implement—let me go back to the drawing board.

Do we think vsphere may allow multiple vgpus in the future? If not, an array that can't have more than one value seems odd.

Surprisingly, vSphere allows multiple vgpus (it works when I set them manually from the GUI), but vSphere throws an error when we try to set multiple GPUs via the ~CPU~ CPI. I haven't figured out why, but I don't know how important it is to fix this CPI bug—I can't envision a scenario where a user would want multiple GPUs.

In some doc like this, I see requirements/constrains to use multiple vGPU for a VM
I thought user may have scenarios to deploy multiple workloads and assign different GPUs to each on a single cluster/worker, is that not true?

@wyike

I thought user may have scenarios to deploy multiple workloads and assign different GPUs to each on a single cluster/worker, is that not true?

That's a good point — user might have scenarios to deploy multiple workloads on a single worker and assign different GPUs. And thanks for finding that doc.
If you have users who need this feature, let us know and we can see if it we can revisit this.


Do not use init() in ec2 and ecs packages

Adding the following two imports to my application:
	_ "github.com/aws/aws-xray-sdk-go/plugins/ec2"
	_ "github.com/aws/aws-xray-sdk-go/plugins/ecs"

will make it take up to 10 seconds to timeout before it can continue loading when I'm working on my local machine and not in an EC2 or ECS instance.
I would like to argue for removing the implicit behaviour those two imports have and manually adding an idempotent Init() function on each package which will allow users to call those functions whenever needed. It might not make for a "nice" experience but I'll take adding an extra couple of lines of code any day over 10 seconds of waiting time on application boot any single day.

I agree, implicit loading (like from db/sql) is fine, but implicit reaching out for things that can take a while is a bad idea and means you can't do stuff dynamically.

Hi @dlsniper,
We are open to making the change in the manner you suggest, adding new plugins as a transition measure and deprecating old ones, and removing the old plugins entirely upon release of 1.0.
We believe that the new plugins should permanently reside under new package names, as the backwards-incompatibility of this change will not be immediately visible to consumers. Directly changing the plugin behavior under the same package name will not result in any compile or runtime errors for consumers, and will silently fail to record AWS metadata on their segments (consumers may not realize they now need to call Init()). Moving the plugins to new package names will reduce the chance of this occurence for consumers upgrading to 1.0+ versions of the SDK.
One option for the new package name: "github.com/aws/aws-xray-sdk-go/awsplugins/ec2", but we're open to other suggestions.
Thank you.

I believe we have a path forward here, which is to have the plugins use explicit Init() but under a new namespace to avoid silent breaking for existing customers. I'm closing this for now. We will leave the PR https://github.com/aws/aws-xray-sdk-go/pull/40 open and you are always welcome to make it up-to-date and we are happy to review and merge it in. But feel free to leave any comment here if you still have any concerns.
Regardless of the PR we will make sure this issue get fixed upon the GA release of the SDK. We cannot provide a timeline here but we will do our best to get the improvement out. Please stay tuned and thank you for your patience.


The depth column is ignored?

Hi,
What a great gem...
It seems the depth column is ignored when the models are updated.
In the DB, depth stay NULL.

Really? Hm! For gem 'nested_set' depth column should be uncommented into migration - and  update of depth column should makes automaticaly.
I'm not use  gem 'awesome_nested_set' - and I don't know anything about this gem and it's behavior. Maybe it's nested_set gem bug?
Read doc please
https://github.com/skyeagle/nested_set
Waiting for your next message

I think it's answer for your question
https://github.com/skyeagle/nested_set/issues/42

I've answered here: https://github.com/skyeagle/nested_set/issues/42

probably a problem in other gem

Just found and fixed )

yaahoooo! :)


Static hosts

Provides a way for users to install Romana using this setup tool, but on hosts they have provisioned themselves.
The user is expected to provide an Ansible inventory and ensure the host has been configured appropriately to the same level as our automatically provisioned hosts.
(Eg: SSH available, key-based authentication, sudo access without a password prompt.)

Looks good!


Allow returning string for an ID field?

Right now resolvers of fields with GraphQL type ID have to return either a Go graphql.ID type (imported from neelance/graphql-go), or declare their own ID type, implement ImplementsGraphQLType and UnmarshalGraphQL for it, and return that type. Aside from this issue there's no other need to import neelance/graphql-go in resolver definitions at all.
There is already some precedent, though I'm not sure if it's intentional: field arguments of GraphQL type ID are passed correctly to resolvers that expect strings. (See demo below.)
TL;DR: Would it be possible to allow resolvers for fields of GraphQL type ID to simply return strings?

See demo gist here: https://gist.github.com/vergenzt/c4dbc132e101d08e4e711796255742e9
With this schema:
schema {
	query: Query
}

type Query {
	stringIdAcceptedAsArgument(userId: ID!): String!
	stringIdNotAcceptedAsReturnValue: ID!
}

and these resolvers:
type resolver struct{}

func (*resolver) StringIdAcceptedAsArgument(args struct{ UserID string }) string {
	return "Hello, user " + args.UserID + "!"
}

func (*resolver) StringIdNotAcceptedAsReturnValue() string {
	return "123"
}

the only error thrown is on the resolver with the string return type.

You could wrap the return in graphql.ID("123"), but you would like to avoid this, right?

but you would like to avoid this, right?

Correct. 😕  It's not a huge deal, but it just feels messy to have to import graphql-go from my resolver definitions when they're so close to being completely independent.

Also I'd also be happy to work on a PR for this if the author is open to it! Just thought I'd report it first though.

Why do you use ID in your schema? Just use String and everything will be just fine for you, no?

ID has more appropriate semantics for an opaque identifier than String. Like I said, not a big deal, but nice to have.

Please what is the update regarding this issue?
Is there a specific why we simply cannot return string?

I am closing this issue as it's more of a syntactic sugar than an issue.


chore: add error logging

This implement log using Logrus and store it on MongoDB with Mogrus. Logs will occur when the internal server error.

Testing report: OK

EC2 setted up. You can merge this.


Unlike what documentation says, the mocks are activated by default

Documentation/code improvement
What is the current behavior?
The [documentation says]:

When a manual mock exists for a given module, Jest's module system will use that module when explicitly calling jest.mock('moduleName').

Even the example in the docs use jest.mock('fs'); to demonstrate that mocks are opt-in  rather than active by default. But this example repo branch (default-mock-behaviour) shows that mocks are enabled by default.
// __tests__/actual-redis.test.js
const mockedRedis = require('../__mocks__/redis.js');
// jest.mock('redis');
const redis = require('redis');

describe('redis', () => {
  it('not to be mocked', () => {
    expect(redis).not.toEqual(mockedRedis); // this fails even though jest.mock() is not called
  });
});

What is the expected behavior?
So either the documentation can be updated to mention that jest.mock() isn't necessary by default (then #2355 is gonna be even more outstanding) or jest needs to have the opt-in behaviour just as described in the current documentation.
The expected behaviour at least according to the docs is to let the test files opt-in  to using a manual mock by explicitly calling jest.mock() instead of having the mocks active by default and then expect an opt-out using jest.umock().
This is related to #2349 and #2353.
versions
Jest 18.0.0, Yarn 0.17.10, npm 4.0.5

I'm also observing this behaviour. Also for axios, jest.unmock() does not prevent the mocked modules from loading.

In regard to the issue, it seems inline with the documentation:

When a manual mock exists for a given module, Jest's module system will use that module when explicitly calling jest.mock('moduleName'). However, manual mocks will take precedence over node modules even if jest.mock('moduleName') is not called. To opt out of this behavior you will need to explicitly call jest.unmock('moduleName') in tests that should use the actual module implementation.

However I have the same problem as @dijimsta in that calling unmock does not seem to work.

I seem to be having the same issues where calling unmock for a given test does not unmock the module, and loads the manual mock instead, unless jest.unmock is called for the entire file (as described here  https://github.com/facebook/jest/issues/2349#issuecomment-267819337).
Is this the desired behaviour?

From the documentaiton:

However, manual mocks will take precedence over node modules even if jest.mock('moduleName') is not called.

I'm questioning why this is only the case for node modules.  I'd love to have this behaviour for relative modules too.  Adding jest.mock('./path/to/relative/module') after I've already created a manual mock seems unnecessary.  Would much prefer to call jest.unmock(....) if I'm really testing that relative module.

I also think that it should work for relative modules, as part of my tests I call methods that might send emails, obviously from tests this is a bad idea, being able to use the mock per default would be a sensible improvement.

Still no movement on this? I mocked lodash/debounce by making a __mocks__/lodash/debounce.js. Calling jest.unmock('lodash/debounce') OR jest.unmock('lodash') has no effect on unmocking the file I made.

In general manual mocks are automatically mocked when required in your tests, no need to explicitly add jest.mock('my-module'). However, there is an exception to that, which is Node's core modules, like fs, path, etc. They need to be explicitly mocked by calling jest.mock('fs') or jest.mock('path') in this case.
The fs example is kinda unfortunate, because it's a special case. Looks like we'll need to adjust the documentation to include that.


Unpin openstack-k8s-operators

We pinned these to the released versions for the dev preview release but we should resume tracking the latest code.

/test cinder-operator-build-deploy-tempest


[11.17] Laravel attempts to load attributes it didn't previously

Laravel Version
11.17
PHP Version
8.3.9
Database Driver & Version
No response
Description
After upgrading from 11.16 to 11.17 I started getting errors in production: Attribute class "Knuckles\Scribe\Attributes\Group" not found.
I use scribe to generate API documentation. scribe is installed a a development dependency because the documentation is built during CI/CD.
Tests still passed because scribe is available during tests, but once this was in production it blew up.
Laravel 11.16 did not attempt to load these controller attributes, but now does.
This is a breaking change that unfortunately flew under the radar for me. Should this be expected behaviour going forward? (I can make scribe a regular dependency to get around this, but wanted to be sure).
Relevant PR: #52167
use Knuckles\Scribe\Attributes\Group;

#[Group('Feeds', <<<'DESC'
Endpoints that return currently available listings that can be listed on other sites with permission.
DESC)]
class RoomController extends Controller
{
    //
}

Steps To Reproduce
Add an attribute that doesn't exist/is not available to a controller.
#[Laravel\InteractsWithLambo]
class PagesController extends Controller
{
    //
}

This will do nothing on Laravel 11.16, but blow up on Laravel 11.17.

heya thanks. we reverted the causing PR.


proposal: top level mixs_templates/ directory

mixs_templates/ would contain XLSX files that consist solely of a header row, consisting of term names.
We should provide prominent documentation about hwo to use these files. For example, most enumerated columns will provide a pull-down menu, but no other validation is provided in-sheet
We need to use language that minimizes the potential confusion with the tabular representation of the MIxS standard itself, via schemasheets. Therefore, these files should not be referred to by their format (Excel, XLSX, TSV, etc) but rather by their content/intention.
possibly related to

https://github.com/GenomicsStandardsConsortium/mixs/issues/692

within the top level directory there should be one subdirectory containing only free-standing extension templates (without checklists) plus one subdirectory for each checklist, in a form like "Mims_plus_combinations"

This issue was discussed and agreed upon at the TWG call on 12/19. I (@ramonawalls) will create the documentation.
@sujaypatil96, I think you are already working on the templates. Can you link the branch and this issue?


Add idtokens to manual_glidein_submit

Please rebase the PR to avoid conflicts.
And the CHANGELOG.md first section usually is copied from the bottom template and titled "Changes Since Last Release" unless a release is cut.

Rebased and conflicts resolved

Did a selective rebase to eliminate the pre-commit changes and fixed the CHANGELOG (additions were in old releases)


CNI plugin testing

Now we test every pull request in 3 different clouds (and bare-metal clusters on packet). But seems like the main difference that makes sense for us is CNI plugins used on a particular cloud.

GKE uses Calico
EKS uses AWS CNI Plugin, has support of Calico as well
AKS uses Azure VNET CNI Plugins

All those plugins are open-source and could be easily installed on every kubernetes cluster. Moreover, there are a number of other CNI plugins that we need to test with.
So I think we need to somehow rethink our CI. Probably it's better to move from cloud testing to bare-metal testing with different CNI plugins. Or cloud testing could be done only on master branch.

I would argue here that CNI is orthogonal to NSM. On the other hand, it is true that nsmd-k8s leverages whatever CNI is out there to talk K8s API. Everything else should be pretty much CNI independent. Even more, if there are other CNI dependencies we should outline and remove them.

Yep, you are right NSM is orthogonal to CNI. But this is the thing that we are guaranteeing to users.
As developers we had some issues with configuring VPP when we were deploying NSM on GKE, AKS and EKS. Because they are using different mechanisms to setup pod networking. That's why we had to configure additional routes on vpp pod, because vxlan did not work out-of-box on GKE for us. We had to configure arp-entries on vpp pod in order to satisfy EKS networking. And if I am correct that "pod networking setup" is determined by CNI plugin.
And there are other interesting CNI that for example use IPVLANs instead of bridge to setup pod networking (https://github.com/lyft/cni-ipvlan-vpc-k8s). So I believe that testing NSM on different CNI plugins is more important than testing on different clouds.

Do you consider the problems you talk about being specific to vpp-agent or are a generic forwarding plane issues? I.e. do you consider these to be issues with any future non-vpp implemetations?

Ilya,
I would tend to agree with you that CNI is one area of concern wrt various
public clouds.  But some of the issues we've hit are actually orthogonal to
CNI plugins (like for example the absense of /dev/vhost-net on GKE).  So we
can't say that all of the important differences are CNI plugins.
I am also a bit curious if we are OK across different CRI choices... there
have been some questions about us working with non-docker CRIs, like CRIO
or containerd.
Ed
On Thu, May 30, 2019 at 1:12 AM Ilya Lobkov<EMAIL_ADDRESS>wrote:

Now we test every pull request in 3 different clouds (and bare-metal
clusters on packet). But seems like the main difference that makes sense
for us is CNI plugins used on a particular cloud.

GKE uses Calico
EKS uses AWS CNI Plugin, has support of Calico as well
AKS uses Azure VNET CNI Plugins

All those plugins are open-source and could be easily installed on every
kubernetes cluster. Moreover, there are a number of other CNI plugins that
we need to test with.
So I think we need to somehow rethink our CI. Probably it's better to move
from cloud testing to bare-metal testing with different CNI plugins. Or
cloud testing could be done only on master branch.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/networkservicemesh/networkservicemesh/issues/1176?email_source=notifications&email_token=AALDI2BNMBJRV3J6UPBTPKDPX5V6VA5CNFSM4HQ6J5IKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GWUWYWA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALDI2CINRQYFWFH6P3ATD3PX5V6VANCNFSM4HQ6J5IA
.

@edwarnicke containerd mostly works. KInd was migrated to it a couple of weeks ago and it works OK in the CI of the examples repo. However, @matrohon told me that some skydive component call directly Docker through the Unix socket and this is broken in Kind with containeed.

OK, so there is a skydive issue (which will look like an NSM issue to folks
trying to use skydive with NSM).  We do not see an actual NSM issue though,
correct?
Ed
On Fri, May 31, 2019 at 6:27 PM Nikolay Nikolaev<EMAIL_ADDRESS>wrote:

@edwarnicke https://github.com/edwarnicke containerd mostly works. KInd
was migrated to it a couple of weeks ago and it works OK in the CI of the
examples repo. However, @matrohon https://github.com/matrohon told me
that some skydive component call directly Docker through the Unix socket
and this is broken in Kind with containeed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/networkservicemesh/networkservicemesh/issues/1176?email_source=notifications&email_token=AALDI2E4JX7MSXUDPLDCXZTPYGX3XA5CNFSM4HQ6J5IKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWS5LA#issuecomment-497888940,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALDI2CO3PKQWIF5TZHJW53PYGX3XANCNFSM4HQ6J5IA
.


Fix scale of Configuration editor screenshot.

description

[x] Correct scale of Configuration Editor screenshot (0.415 instead of 1.0).

checklist

[ ] compiles (cabal new-clean; cabal new-build)
[ ] tests run successfully (cabal new-test)
[ ] documentation added and created (cd docs; nix-shell --run make)
[ ] link to an issue
[ ] link to an epic
[ ] add estimate points
[ ] add milestone (the same as the linked issue)

@CodiePP Done.


Convert the Dict-implementation to use a Map internally

With all the recent work happening under https://bugzilla.mozilla.org/show_bug.cgi?id=1851662, the performance of Map is already good enough that I believe that we should now be able to utilize it in the Dict-class without problem.
This patch was tested in Firefox Nightly, specifically build https://hg.mozilla.org/mozilla-central/rev/6c508a387477e3b72db913a9e1761e9a433d06a2, with the following manifest file:
[
  {
    "id": "tracemonkey-eq",
    "file": "pdfs/tracemonkey.pdf",
    "md5": "9a192d8b1a7dc652a19835f6f08098bd",
    "rounds": 100,
    "type": "eq"
  },
  {
    "id": "issue2618",
    "file": "pdfs/issue2618.pdf",
    "md5": "2c554a99a52288ca1a44a422eeafb8fb",
    "rounds": 100,
    "type": "eq"
  }
]

which gave the following results, indicating no significant regression, when comparing this patch against the master branch:

Overall
-- Grouped By browser, pdf, stat --
browser | pdf            | stat         | Count | Baseline(ms) | Current(ms) | +/- |    %  | Result(P<.05)
------- | -------------- | ------------ | ----- | ------------ | ----------- | --- | ----- | -------------
firefox | issue2618      | Overall      |   100 |          678 |         678 |   0 |  0.04 |
firefox | issue2618      | Page Request |   100 |            1 |           1 |   0 | -3.88 |
firefox | issue2618      | Rendering    |   100 |          677 |         677 |   0 |  0.05 |
firefox | tracemonkey-eq | Overall      |  1400 |           35 |          36 |   0 |  0.96 |
firefox | tracemonkey-eq | Page Request |  1400 |            1 |           1 |   0 | -8.08 |
firefox | tracemonkey-eq | Rendering    |  1400 |           34 |          35 |   0 |  1.26 |

Page-specific
-- Grouped By browser, pdf, page, stat --
browser | pdf            | page | stat         | Count | Baseline(ms) | Current(ms) | +/- |     %  | Result(P<.05)
------- | -------------- | ---- | ------------ | ----- | ------------ | ----------- | --- | ------ | -------------
firefox | issue2618      | 0    | Overall      |   100 |          678 |         678 |   0 |   0.04 |
firefox | issue2618      | 0    | Page Request |   100 |            1 |           1 |   0 |  -3.88 |
firefox | issue2618      | 0    | Rendering    |   100 |          677 |         677 |   0 |   0.05 |
firefox | tracemonkey-eq | 0    | Overall      |   100 |           23 |          24 |   0 |   1.24 |
firefox | tracemonkey-eq | 0    | Page Request |   100 |            1 |           1 |   0 |  19.77 |
firefox | tracemonkey-eq | 0    | Rendering    |   100 |           23 |          23 |   0 |   0.40 |
firefox | tracemonkey-eq | 1    | Overall      |   100 |           32 |          32 |  -1 |  -1.89 |
firefox | tracemonkey-eq | 1    | Page Request |   100 |            1 |           1 |   0 | -28.13 |
firefox | tracemonkey-eq | 1    | Rendering    |   100 |           31 |          31 |   0 |  -0.77 |
firefox | tracemonkey-eq | 2    | Overall      |   100 |           17 |          18 |   1 |   4.60 |
firefox | tracemonkey-eq | 2    | Page Request |   100 |            1 |           1 |   0 |  23.53 |        slower
firefox | tracemonkey-eq | 2    | Rendering    |   100 |           17 |          17 |   1 |   3.71 |
firefox | tracemonkey-eq | 3    | Overall      |   100 |           23 |          24 |   0 |   1.71 |
firefox | tracemonkey-eq | 3    | Page Request |   100 |            1 |           1 |   0 |   7.79 |
firefox | tracemonkey-eq | 3    | Rendering    |   100 |           23 |          23 |   0 |   1.55 |
firefox | tracemonkey-eq | 4    | Overall      |   100 |           31 |          31 |   1 |   2.49 |
firefox | tracemonkey-eq | 4    | Page Request |   100 |            1 |           1 |   0 |  48.96 |
firefox | tracemonkey-eq | 4    | Rendering    |   100 |           30 |          30 |   0 |   1.05 |
firefox | tracemonkey-eq | 5    | Overall      |   100 |           31 |          30 |  -1 |  -2.42 |
firefox | tracemonkey-eq | 5    | Page Request |   100 |            2 |           1 |  -1 | -49.33 |
firefox | tracemonkey-eq | 5    | Rendering    |   100 |           29 |          29 |   0 |  -0.03 |
firefox | tracemonkey-eq | 6    | Overall      |   100 |           27 |          27 |   0 |   1.81 |
firefox | tracemonkey-eq | 6    | Page Request |   100 |            1 |           1 |   0 |   4.94 |
firefox | tracemonkey-eq | 6    | Rendering    |   100 |           26 |          27 |   0 |   1.68 |
firefox | tracemonkey-eq | 7    | Overall      |   100 |           26 |          26 |   1 |   3.13 |
firefox | tracemonkey-eq | 7    | Page Request |   100 |            1 |           1 |   0 |   6.98 |
firefox | tracemonkey-eq | 7    | Rendering    |   100 |           25 |          25 |   1 |   2.92 |
firefox | tracemonkey-eq | 8    | Overall      |   100 |           25 |          26 |   1 |   5.16 |
firefox | tracemonkey-eq | 8    | Page Request |   100 |            1 |           1 |  -1 | -41.84 |
firefox | tracemonkey-eq | 8    | Rendering    |   100 |           23 |          25 |   2 |   8.19 |
firefox | tracemonkey-eq | 9    | Overall      |   100 |           33 |          33 |   0 |   0.03 |
firefox | tracemonkey-eq | 9    | Page Request |   100 |            1 |           1 |   0 |   0.79 |
firefox | tracemonkey-eq | 9    | Rendering    |   100 |           32 |          32 |   0 |  -0.10 |
firefox | tracemonkey-eq | 10   | Overall      |   100 |          144 |         144 |   1 |   0.52 |
firefox | tracemonkey-eq | 10   | Page Request |   100 |            2 |           1 |  -1 | -43.52 |
firefox | tracemonkey-eq | 10   | Rendering    |   100 |          141 |         143 |   2 |   1.18 |
firefox | tracemonkey-eq | 11   | Overall      |   100 |           24 |          25 |   1 |   2.51 |
firefox | tracemonkey-eq | 11   | Page Request |   100 |            1 |           1 |   0 |  -4.71 |
firefox | tracemonkey-eq | 11   | Rendering    |   100 |           23 |          24 |   1 |   2.78 |
firefox | tracemonkey-eq | 12   | Overall      |   100 |           40 |          39 |  -1 |  -1.67 |
firefox | tracemonkey-eq | 12   | Page Request |   100 |            1 |           1 |   0 |  14.71 |
firefox | tracemonkey-eq | 12   | Rendering    |   100 |           39 |          38 |  -1 |  -1.98 |
firefox | tracemonkey-eq | 13   | Overall      |   100 |           19 |          20 |   1 |   3.09 |
firefox | tracemonkey-eq | 13   | Page Request |   100 |            1 |           1 |   0 |  24.79 |
firefox | tracemonkey-eq | 13   | Rendering    |   100 |           18 |          19 |   0 |   1.70 |

/botio test

/botio unittest


[UI] Text Dropdowns in Header Actions Fix

Fixes #242: Text Dropdown Bug in Header Actions
Before:

After:

Tested on:
Chrome
Firefox
Safari
IE 10
IE 11
Edge
Note: I have not updated app.html to reflect the screenshot above. The demo app header still remains to be a settings gear dropdown
Signed-off-by: Aditya Bhandari<EMAIL_ADDRESS>

Hi @adityarb88 as discussed, please file an issue to address how we can test this going forward. From what I understand the dropdown style breaks if the markup is a certain way (different than how it's setup in the demo app). Ideally we'd want to test both types of markups so that we can ensure any future changes don't break either of the scenario.

Thanks for raising this @jeeyun. I refactored the way dropdowns are styled in the header. Now we dont need to write a test. The screenshot test of the header demo should be enough to test all cases. But you and @hippee-lee will have to review this again :(


problem about yolo weights

NotFoundError (see above for traceback): Tensor name "yolo/conv_2/biases" not found in checkpoint files data/weights/YOLO_small.ckpt

@maohy3 please post the solution if you solved this issue. Facing the same problem.


docker configuration

Hi
I run asciidoctor thru docker like this : https://github.com/asciidoctor/docker-asciidoctor
I wonder how configure AsciiDoc.html_generator in vscode to use the docker run instead the default  asciidoctor -o-
Did you ever experiment this ?

You  no longer need asciidoctor to use the extenstion,  Please open the issue if needed. Thanks


CREATE java.less, MODIFY index.less

I create 'alpha' version of

java.less

I compared the syntax color with 'sublime text 2'

Here is the picture I took to compare syntax color.
I made a little change in color choice. And I made a comment on it.

Looks pretty close and I kinda like the little change in color choice.
I'll merge this "alpha" version already in. Can still be further tweaked with more PRs.
Thanks.. :bow:


Add new smileys and people introduced in iOS 12.1 🥳 🥼 🦸♀ 🦶 🥰

This pull request will add the new smileys and people emoji introduced in iOS 12.1:

[x] 🥰 Smiling Face With 3 Hearts
[x] 🥵 Hot Face
[x] 🥶 Cold Face
[x] 🥳 Partying Face
[x] 🥴 Woozy Face
[x] 🥺 Pleading Face
[x] 🦸♀ Woman Superhero
[x] 🦸♂ Man Superhero
[x] 🦹♀ Woman Supervillain
[x] 🦹♂ Man Supervillain
[x] 🦵 Leg
[x] 🦶 Foot
[x] 🦷 Tooth
[x] 🥽 Goggles
[x] 🥼 Lab Coat
[x] 🥾 Hiking Boot
[x] 🥿 Flat Shoe
[x] 🧵 Thread
[x] 🧶 Yarn
[x] 🧳 Luggage

:wave: @muan: I think I've followed all the existing conventions when adding these new emojis, so I'm going to go ahead and merge these changes, along with the additions in #169, #170, #171, #172, and #173. If you see anything that needs additional attention, please let me know and I'll happily take care of it. 🙇

@jasonrudolph thanks! sorry for not having got back to you sooner. I've made a release and added you as collaborator for the package on npm too in case you were blocked by me. :)

sorry for not having got back to you sooner.

@muan: No sweat at all!
I wasn't blocked. Your open source projects are still a gift to the world. :bow: And there will always be more to do than time available to do it. So, like I said, don't sweat it. 💟


Edge case handling and Quality-of-life improvements on Core, ListView and MenuBar

This commit is intended to fix an elusive crash that may occur on the library when working with multiple independent TopLevel views; Adds an IsCurrentTop convenience property to the base TopLevel and improves both ListView and MenuBar views to avoid raising obscure exceptions on some edge cases.
Changes:

Added IsCurrentTop read-only property to Gui.Toplevel class to allow a more convenient checking if a view's instance is currently on top (active and displayed).

Fixed an elusive crash that may occur in the Application.RunLoop method due to a null'ed Toplevel.NeedDisplay property. This issue appears to be caused by a race condition that may occur when switching Views (TopLevel) too fast. Extended to all other NeedDisplay checks too.
ListView control now displays empty rows for Null items in its Items collection, instead of crashing with a NullReferenceException.
Improved MenuBarItem constructor behaviour by performing an additional sanity check on the MenuItem[] children parameter to ensure its not null. If so, raise an ArgumentNullException. Using an empty array of type MenuItem for this parameter still displays an empty menu as intended.

Looks great. Thanks.


"AttributeError: enter " while trying "with ia.try_fetch(timeout=3) as buffer:"

Describe the Issue
Hello!
I am trying to acquire images in loop, but .fetch() returns None or throws an error. While when I use CamExpert for image capturing it goes without problems. Sometimes it turns out to read one image outside the loop successfully, but I don't know what it depends on.
To Reproduce
Steps to reproduce the behavior:

Run script

Sample Code
I can show a piece of code that demonstrates the reported phenomenon:

[X] Yes
[ ] No

If yes, please provide a sample code:
from harvesters.core import Harvester
import time
import traceback
import sys

h = Harvester()
h.add_file('/opt/mvIMPACT_Acquire/lib/x86_64/mvGenTLProducer.cti')
h.update()
print('Camera devices list: ', h.device_info_list)

ia = h.create(0)

ia.remote_device.node_map.AcquisitionMode.value = 'Continuous'
ia.remote_device.node_map.TriggerMode.value = 'On'
ia.remote_device.node_map.TriggerSource.value = 'Software'
ia.remote_device.node_map.PixelFormat.value = 'Mono8'

ia.start()
print('Image aquisition initialized')

time.sleep(5)

for i in range(0, 4):
    try:
        with ia.try_fetch(timeout=3) as buffer:
            print(i, '\n', buffer)
    except Exception as e:
        traceback.print_exc(file=sys.stdout)

ia.stop()
ia.destroy()
h.reset()
exit()

If applicable, please paste the actual output (its whole traceback, etc) here:
Camera devices list:  [{'access_status': 1, 'display_name': 'Teledyne DALSA Nano-M2020(00:01:0d:c5:2e:67)', 'id_': 'Nano-M2020(00:01:0d:c5:2e:67)', 'model': 'Nano-M2020', 'parent': <genicam.gentl.Interface; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::TLInterface > *' at 0x7f511a975a80> >, 'serial_number': 'S1236159', 'tl_type': 'GEV', 'user_defined_name': 'S1236159', 'vendor': 'Teledyne DALSA', 'version': '1.08'}]
Image aquisition initialized
Traceback (most recent call last):
  File "2test_camera.py", line 26, in <module>
    with ia.try_fetch(timeout=3) as buffer:
AttributeError: __enter__
Traceback (most recent call last):
  File "2test_camera.py", line 26, in <module>
    with ia.try_fetch(timeout=3) as buffer:
AttributeError: __enter__
Traceback (most recent call last):
  File "2test_camera.py", line 26, in <module>
    with ia.try_fetch(timeout=3) as buffer:
AttributeError: __enter__
Traceback (most recent call last):
  File "2test_camera.py", line 26, in <module>
    with ia.try_fetch(timeout=3) as buffer:
AttributeError: __enter__

Expected Behavior
Script can fetch images endlessly in a loop.
Configuration

OS: Ubuntu Linux 22.04
Python: 3.8.16
Harvester: 1.4.2; 1.4.1; 1.4.0; 1.3.8; 1.3.7;
GenTL Producer: Matrix Vision 2.44; 2.47
Camera: Teledyne DALSA Nano-M2020

Reproducibility
This phenomenon can be stably reproduced:

[X] Yes

[ ] No.

[X] I've read the Harvester FAQ page.

I also have this issue on a fresh install of python (3.7.7 & 3.9.13) with harvesters 1.4.2.

Has there been a solution found for this yet?

i am struggling too with this error. I will post here if i could solve it, otherwise please post solution if anyone already have. Thanks

Finally figured out the reason for this 'enter' error. What is happening is that when you use try_fetch() with the 'with' context manger. When your device doesn't have a buffer and the timeout period has passed it will return none. When returning None, the with statement will try and use that 'None' object within the context manager. Obviously a None object has no attributes so this is why we get the 'enter' error meaning that there is no attribute with that name for object None. What you need to do is either use try_fetch without the context manager and queue the buffer manually or use the context manager and account for when you get 'enter' error which indicates no buffer.


Suppress "No url found" warning for 0 byte entries

This commit suppresses the "No url found" warning for entries
which contain a "human_size" field set to "0 bytes".
When downloading a product, occasionally an entry in the
"download_struct" won't have a viable URL to download.
In every case I observed, this was harmless; the entry
was extra information, like a link to a web page where
you could download the soundtrack for free ("World Of Goo"),
or a link to a help page on which APK to choose ("Costume Quest"),
or some sort of... Javascript soundtrack player? ("Dustforce").
Also, in every case I observed, the entry in the "download_struct"
contained a "human_size" field set to the exact string "0 bytes".
This seems like a hint in the JSON blob saying: yeah, this entry
doesn't have anything for you to download, you can ignore it.
It's a little worrying to the casual user of the tool when it prints
these error messages.  But it seems like it's harmless.  So let's
suppress these error messages when "human_size" is "0 bytes".
(Also, I added .gitignore entries for build/ and dist/, which are
automatically created by "python3 setup.py".)

Also see https://github.com/xtream1101/humblebundle-downloader/issues/49 for context about the user experience.

https://github.com/xtream1101/humblebundle-downloader/pull/75
The asm.js games that PR downloads have a human_size of 0

As noted https://github.com/xtream1101/humblebundle-downloader/pull/75 will solve the asm games. Any other specific media types still broken can be opened in a new issue to work on a fix for that specific media type if necessary.


SAP HANA XS Advanced, installing node.js packages

Hi, can i ask for some information about installing libraries for node.js on hana?
no matter when installing globally or locally libraries socket.io or mqtt for example they are not appearing in subcatalog node_modules in node.js projects in sab webIDE, are you familiar with such issue?

Which tutorial are you referring to?
This forum is for issues completing the tutorials, including any errors that are discovered. For general technology questions, we suggest asking at https://answers.sap.com/index.html.


Cache Child Props

Cache the child props to prevent React from re-rendering unnessesarily.
The biggest culprits were the default accessors.  The defaults for each
attribute are now computed once, and re-used when required.

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

Using the 5th graph on the showcase (Line Chart Canvas) I was able to increase the fps while hovering over the graph from about 5 fps to 60 fps.