Upgrade Python version used in WMCore

Impact of the new feature
Everything in WMCore
Is your feature request related to a problem? Please describe.
Our central services are based on Python 3.8, which was EOL in Oct/2024.
WMAgents are using 3.9, and so is our docker Jenkins setup. Python 3.9 is also scheduled to EOL in 2025, see:
https://devguide.python.org/versions/
This python upgrade need to be executed in a conservative manner, because we have the WMRuntime package executed in the grid (including other WMCore python packages), which could be using a variety of python versions, AFAICT 3.6, 3.8 and 3.9.
Describe the solution you'd like
The idea is to upgrade the WMCore python version meeting all the following criteria:

upgrade to the latest stable version
adopt a safe version for grid runtime (so something that has low probability of breaking between different python3.x versions)
least effort upgrade (i.e., a good cost-benefit upgrade).

Based on that, my opinion is that python 3.9 is the safest upgrade. On the other hand, 3.10 potentially give us less maintenance for the coming couple of years. However, are there major/breaking differences (that might affect us) between py3.10 vs py3.11? How about py3.11 vs py3.12?
Note that updates need to happen at least:

WMCore codebase - adapting any code that needs changes between these different versions (should we consider compatibility among different py3 versions?)
WMCore requirements.txt file
WM central services dockerfiles
WMAgent dockerfiles
WMAgent virtual environment setup
WMCore-dev dockerfiles
Anything else in Jenkins?

Describe alternatives you've considered
None
Additional context
Some issues that can be directly related to this:

Upgrade pycurl and pyOpenSSL in our python3 cmsdist stack 							#11207
In python 3.9 the sys.setcheckinterval is removed 									#10925
Update HTCondor python bindings to release cycle 23.x 								#12031

can we decouple the python version that we use in our docker containers from the one that we use in wmruntime on grid nodes?

We rely on CVMFS to load the python environment. Given that we have only one ScramArch for the COMP package deployed in CVMFS - long ago - I think all the other ScramArchs are actually symlinks created to specific CMSSW versions, such that we can load the closest python version (provided by Shahzad).
So I am afraid the answer is no. Unless we put a major effort on this, which I believe not to be the right time now.

this is exactly my point. since changing the python version in our docker images is "easy" and chaning the python version distributed via the comp environment on cvmfs is "harder", can we have those two versions diverge? is it there any reason those need to be the same?
or better, why dont we start by upgrading python in our containers, then we focus on wmruntime and how to make it simple enough that it can happily run on whatever python runtime we will ever ship via cvmfs?


[FEAT]: Create Issue forms and make the issue options more visually appealing

Describe the Feature you want to end

Currently, the issue template for this repo seems to be basic also it is less visually appealing.👇

Changes I will make

Expected behavior

Screenshots (optional)

Additional context (optional )
Will add issue forms to the respective issues to make it easier for the contributor to raise it.
Here is an example of how a Bug Issue Form will look like 👇

Kindly assign me this issue under GSSOC'24

I would like to work on this issue under GSSoC 2024.Please assign this issue to me.


New package: EyeLeo.EyeLeo version 1.3.6

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


Enable Link-Time Optimization (LTO)

Hi!
I noticed that in the Cargo.toml file Link-Time Optimization (LTO) for the project is not enabled. I suggest switching it on since it will reduce the binary size (always a good thing to have) and will likely improve the application's performance a bit.
I suggest enabling LTO only for the Release builds so as not to sacrifice the developers' experience while working on the project since LTO consumes an additional amount of time to finish the compilation routine. If you think that a regular Release build should not be affected by such a change as well, then I suggest adding an additional dist or release-lto profile where additionally to regular release optimizations LTO will also be added. Such a change simplifies life for maintainers and others interested in the project persons who want to build the most performant version of the application. Using ThinLTO should also help to reduce the build-time overhead with LTO. If we enable it on the Cargo profile level, users, who install the application with cargo install, will get the LTO-optimized version "automatically". E.g., check cargo-outdated Release profile.
Basically, it can be enabled with the following lines:
[profile.release]
lto = true

Thank you.
P.S. It's more like an improvement idea rather than a bug. I created the issue just because the Discussions are disabled for the repo for now.

I am showing rage.exe to be 4.02 MB (4,225,024 bytes)   and rage-keygen.exe to be 2.94 MB (3,090,944 bytes) -- By modern standards, both file sizes are very acceptable. When you compile in production mode, let it cook. :)


Filter the type of webmentions?

Is is possible to tell Bridgy that I only care about mentions & replies - and not about likes and reposts?
Yesterday I posted a link to my blog on Mastodon.  This morning I work up to:

Nearly all of them were likes and reposts:

I would love a setting on Bridgy so it would only send the WebMentions types I care about. Is that possible?
Thanks!

Interesting! I'm actually a bit surprised I haven't heard more requests for filtering like this before. Maybe since most people do it on their own sites. You're on WordPress, I know the Semantic-Linkbacks plugin runs post type discovery on inbound webmentions and exposes the result, both in the db and all the way through to rendered comments. eg on https://snarfed.org/2022-11-06_47842#comments, the wms have u-comment, u-like, and u-repost classes.
Looks like you're on WordPress, maybe on a custom theme? You could use that data to filter out likes and reposts, automatically send them to the trash, or anything else...?

cc @pfefferle @dshanske

I think I raised the issue with the plug in ages ago (although I can't find it now).
Yes, I'm on WordPress with a heavily customised theme. I'll investigate whether the theme itself can search for and delete comments. Not something I've attempted before - but where there's a will!
Thanks for the great service, BTW. It's lovely seeing comments from all around the web.


Incorrect catch data: Lobster and Spider crab

Describe the bug
Both the spider crab and lobster creatures are listed as available all year. But in fact, they are only available at certain periods:
Spider crab: March-April (Northern) / September-October (Southern)
Lobster: April-June, December-January (Northern) / October-December, June-July (Southern)
I've been using ac-catch since it's release and I wondered why I had caught everything this month (Northern Hemisphere) besides these two creatures after extensive diving, so I reached out to other websites to clarify their catch periods.
Several sites which list the correct catch duration data:

https://www.polygon.com/animal-crossing-new-horizons-switch-acnh-guide/2020/7/2/21307259/diving-critters-sea-creatures-critterpedia-list
https://www.ign.com/wikis/animal-crossing-new-horizons/Sea_Creatures_Guide%3A_Sea_Creature_List%2C_Sell_Price
https://www.nintendolife.com/guides/animal-crossing-new-horizons-sea-creatures-complete-list-and-price-guide

To Reproduce

Visit ac-catch.com/
Navigate to Sea Creatures tab
View spider crab or lobster
See incorrect catch duration ("All year")

Expected behavior
Both the spider crab and lobster catch data should be updated:
Spider crab: N: "Mar - Apr"; S: "Sep - Oct"
Lobster: N: "Dec - Jan, Apr - Jun"; S: "Jun - Jul, Oct - Dec"
Screenshots
https://imgur.com/oMl315h
Desktop (please complete the following information):

OS: Windows 10
Browser Firefox
Version 78.0.2

Smartphone (please complete the following information):

Device: OnePlus6
OS: Android
Browser Firefox
Version 68.10.1

The way data is retreived is by using a scraper (script that runs periodically and loads data from here). The data there seems mostly correct (except December for Lobster), so maybe the scraper hasn't run yet or it's not working correctly. I think it's the former, because the "Swimming speed" column has been edited recently and the changes don't appear in the https://ac-catch.com/ page.

Yeah @javmarina, a contributor added creatures as soon as they were released. I'll scrape again and make sure everything is updated.

I've just hard refreshed ac-catch and I can validate that re-running the scraper has resolved this issue. Thanks!


Breaking change: Return error when a response item does not validate.

Previously, the item would be silently dropped with only a debug message.
This is a breaking change because it changes the behaviour of responses for existing handlers which return an item that does not validate.
Closes #330.

Thanks for the contribution @wolfgang42 - looks great! Merging.


Support github action event scheduling or workflow dispatch

Overview
The github action supports push & pull event only. It would be essential to support either event scheduling or workflow dispatch.
Screenshot

It should be straight forward to support this. If so, we can actually support this in v1.6.

This is in progress and will be released in v1.7.2.


Change 'var' into 'let'

Hi! This pull request is changing 'var' into 'let'.

The scope of a variable defined with var is function scope or declared outside any function, global.
The scope of a variable defined with let is block scope.

In ES6, We should use 'let' and 'const' when declare variables, so I fix it.
Thanks!

Ups...sorry...It was not examined correctly;;
This project didn't use es6 so i can't build this pull requst;;
If you'd like, i adapt this project to es6...how about this?

eventemitter3 should work in all browsers so using ES6 and also ES5 features is not an option.
Thanks for the PR but it can't be merged.


Implement CircleCI integration

Working with CircleCI, decided to implement a shield, fixes badges/shields#313

Added example shields (bottom of the build list) https://shields-circleci.herokuapp.com/try.html
Example requests:
https://shields-circleci.herokuapp.com/circleci/project/BrightFlair/PHP.Gt.svg
https://shields-circleci.herokuapp.com/circleci/project/BrightFlair/PHP.Gt/master.svg

Thanks a lot for this great work!

You're welcome @espadrine, wanted to contribute something back to this project, but it's my first Node PR so please excuse any mistakes.

Any idea when this will be merged, or if you need me to do something to improve the code?

Well, I'd like to know more about the token. If there was a security warning telling us to keep it secret, it has to be regenerated and passed secretly. In a way, if you put it in a pull request, it either means there was none (in which case we're good, but it is surprising) or it was too discreet. In the latter case, they might invalidate that token; then, you, being the only one with knowledge of how to generate a new one, become the maintainer of this part of the code, and the one with the responsibility to update it.
At any rate, I suppose I can activate CircleCI while it works, in a “best effort” manner. If it stops working, too bad.

It's live, although the website isn't updated. It will in 24h, unless you want a change.

Excellent! Thank you.

Regarding the token, I'm not too sure why the token is requested - I think that's for when you want to use the API for private stuff - it clearly says in the docs that the token is not required for publicly accessible repositories.
Like you say, "best effort" for now, and if there is more demand for integration with CirlceCI then I'll happily submit a new PR.

Thanks!

@espadrine I'm not sure how to generate index.html from try.html - I made the changes to try.html but it hasn't made its way to gh-pages or index.html.

I usually do it manually when I want to update the website. I usually leave myself a day or two after a change, just in case I end up staring at something terrible I missed.

Cool OK, just thought I'd missed something to do myself. Cheers.


[AutoRelease] t2-compute-2023-03-31-87182(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/2985
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1031
BuildTargetingString
azure-mgmt-compute
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/2985


Show table headers even when there are no rows

This will make it clearer what will go in the space once there are rows. We should make this change for the following tables:

Projects
Forms
Submissions
App users

We've implemented this everywhere except SubmissionList, where I'm not sure we even want this behavior, so I'm going to go ahead and close this issue.


Update Microsoft.OrchestratorRecognizer references to Microsoft.OrchestratorAdaptiveRecognizer

OrchestratorRecognizer class is removed from botbuilder-dotnet repo for R13 and if Composer is still referencing it, it needs to point it to OrchestratorAdaptiveRecognizer class instead.

we won't need this since we'll do a rename on SDK side.


Allow jemalloc-sys to pick jemalloc from git

This PR allows automatically fetching the latest jemalloc from
its dev branch by defining the environment variable
JEMALLOC_SYS_GIT_DEV_BRANCH. This is useful when debugging
whether certain bugs are already fixed upstream, as well as
for detecting whether upstream changes break our tests.
This PR adds two build jobs that test the dev branch on the
tier-1 x86_64 linux and osx targets.

lgtm

It seems that the build is failing due to: https://github.com/jemalloc/jemalloc/issues/1477
I'm going to add a FIXME pointing to that issue and temporarily disable the profiling tests.


Add BasicAuthPlugin

This plugin adds support for Basic Authorization header using an API key.

SwiftLint found issues
Warnings

File
Line
Reason

BasicAuthPlugin.swift
6
Lines should not have trailing whitespace.

  Generated by :no_entry_sign: Danger

Hey @yar1vn, thank you for the PR! Seems like a good idea of introducing Basic auth. Although, we might want to add this one to  our existing AccessTokenPlugin. Because right now this plugin is not really flexible - you can't use both OAuth & Basic on different endpoints (sometimes it happens) - you either use it or not.
I'm thinking about updating the AccessTokenAuthorizable protocol so it would look like:
enum AuthorizationType {
    case None
    case Basic
    case OAuth
}

public protocol AccessTokenAuthorizable {

    /// Declares whether or not `AccessTokenPlugin` should add an authorization header
    /// to requests. If it should, what type of authorization does this request need?
    var authorizationType: AuthorizationType { get }
}

And then it would be easy to append header based on the type specified:
    public func prepare(_ request: URLRequest, target: TargetType) -> URLRequest {
        guard let authorizable = target as? AccessTokenAuthorizable, authorizable.authorizationType != .None else {
            return request
        }

        var request = request
        switch authorizable.authorizationType {
            case .OAuth:
                request.addValue(authVal, forHTTPHeaderField: "Authorization")
            case .Basic:
                // add Basic header
        }
        return request
    }

This makes it really flexible to use and also this way we can really cover most of the use-cases in the networking layer with auths.
What do you think about it, @yar1vn?

@sunshinejr seems like a good idea.
Not sure what would be the use case for none (lowercase in Swift 3). Also I only see the implementation for Bearer in AccessTokenAuth.
Anyway you seem to have implemented most of it in your comment so feel free to go ahead and include this code wherever it makes more sense.
We (currently) don't have a need for OAuth in our project, and I'm also using SugarMoya -> httpHeaderFields property to add Basic Auth instead of a plugin.
Note: SugarMoya has a really nice wrapper for Moya by using Route. You might want to consider adding it to Moya.

@yar1vn I believe @sunshinejr was just trying to mock up a good way to add this functionality considering the state of Moya's current API.
The code he provided in the comment is a rough draft and may not even compile due to the switch statement not being exhaustive. There may be other things to implement such as updating docs/tests.
Maintaining a project requires a large effort and we're always encouraging new contributors. Small contributions have a snowball effect and save maintainers a great deal of time.
Would you be interested in moving this forward?

@SD10 that explain why I couldn't see the implementation for OAuth. I thought I was looking at the wrong file.
As I mentioned, we are currently not using OAuth so I don't have any code from my project to contribute besides Basic Authentication. AccessTokenPlugin only implementers Bearer so I'm not sure it makes sense to add OAuth on top of Basic Authorization.

@yar1vn Sorry I'm not an expert in this area. Could we just switch on the authValue property to provide a different value based on the case?

@SD10 I'm definitely not an expert in OAuth - but the implementation is a lot more complicated than just adding another field to the http header. There are entire frameworks that handle OAuth.

What I meant was to update what we have with Basic authorization on top of it. We can name it Bearer type, instead of OAuth, to describe it properly. We would just send a Bearer or Basic token in the header, so it makes sense to name it that way. And also, as @SD10 mentioned, to that we would also need to add tests, Changelog entry (with a breaking change) and check docs/update them accordingly.
Would you be up for that one, @yar1vn?

Let's do it. How do I setup an environment where I can build and run tests?

Check out https://github.com/Moya/Moya/blob/master/docs/Development.md :)

Hey @yar1vn! Just a heads-up that we just released 9.0.0-alpha.1 version of Moya. We would be up for taking your PR in the next release, so if you'd have time to implement it in the near future it would be awesome 👍 Thanks for taking this one!

Great. I'll find time as soon as I can take a break. Got a tight deadline on a new app 🙂

Sure, @yar1vn. Thanks for your response. 🐼
Please let me know if you'll be able to do it this week, would be awesome! Otherwise we might just help you out since this is a breaking change and is a perfect fit for a new major release we are planning.

Hmm, I wouldn't have time this week while I'ma t work. Possibly on the weekend but I wouldn't want to be the one blocking anything 😳

This shouldn't take that long to make the changes to sources, tests, and docs.
@yar1vn If you end up not being able to get around to making the changes this weekend, would you like me to take care of it for you?

We don't want you to feel pressured to do this, @yar1vn, since nothing good happens from it. Thus, I think, that we should just take it from here and you can always contribute in the future when you have more free time. We will always have some tasks for starters, so don't worry about that :) Thanks for the initiative and your time spent on this one! 🙇
@SD10 could you please create an issue and then we can move there and close this one? :)

Moving this to #1214.


[Automated] Sync main after 0.1.5 release

Sync main after 0.1.5 release

Codecov Report

Merging #9 (8cc06ed) into main (1d59ce5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main       #9   +/-   ##
=========================================
  Coverage     97.40%   97.40%
  Complexity       52       52
=========================================
  Files            11       11
  Lines           231      231
  Branches         30       30
=========================================
  Hits            225      225
  Misses            4        4
  Partials          2        2

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Object traversal is broken in latest Chrome

Using browserify in Chrome version 15.0.874.92, parsing of objects({}) does not work correctly.  #forEach receives one call containing the root object.  #paths returns an empty Array. #nodes returns an array containing the root object.

Can you paste some code or does this happen in all cases? Are the properties you're trying to traverse enumerable?

I think it's all cases, including the case in the example from the project README, leaves.js.  Behavior in Firefox is as expected.  here's a snippet that exhibits the problem. (assume browserify is installed and serving traverse correctly as per firefox)
traverse = require('traverse');
traverse({a:1, b:2}).paths();
// => [Array[0]]
Similar behavior for #nodes:
traverse({a:1, b:2}).nodes();
// => [ Object ]
// returns the original object, not a collection of nodes


Get Schema

When I get the database schema("tables"), my connection string contains the specified database, but the result of the schema still contains the results of other databases. Is this by design?

It does not sound right. Do you have code snippet to reproduce the issue?


Dependency Analysis parses measues from comments

Hi,
I have a measure defined as
MyMeasure = [Measure1] /* this used to be [NonExistingMeasure] */
ALM Toolkit compains, that MyMeasure contains a dependency to [NonExistingMeasure] which cannot be found.
I think you are somehow also parsing values from within comments to build the dependency tree which should not be the case I would say
regards,
-gerhard

Hi Gerhard!
Thanks for the heads up! This is old validation code that hasn't been changed in many, many years. Looks like you found an issue with it 😀.
I'll get it on the backlog ...


Fix arabic plurals bug

Before this change:

Clicking "Form 6" would result in this error:
[error] GenServer #PID<0.1773.0> terminating
** (KeyError) key 5 not found in: %{
  0 => [0],
  1 => [1],
  2 => [2],
  3 => [3, 4, 5, 6, 7, 8, 9, 10],
  4 => [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
   29, 30]
}
    (erts 15.0.1) :erlang.map_get(5, %{0 => [0], 1 => [1], 2 => [2], 3 => [3, 4, 5, 6, 7, 8, 9, 10], 4 => [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]})
    (kanta 0.3.1) lib/kanta_web/live/translations/translation_form_live/components/plural_translation_form/plural_translation_form.ex:76: KantaWeb.Translations.PluralTranslationForm.plural_examples/2
    (kanta 0.3.1) lib/kanta_web/live/translations/translation_form_live/components/plural_translation_form/plural_translation_form.html.heex:46: anonymous fn/2 in KantaWeb.Translations.PluralTranslationForm.render/1

It appears that Arabic has a lot of plural variations. Increasing the plural example count from 30 to 100 fixes this problem.

@vi0dine Please let me know if this needs any extra stuff.


Ubuntu 22.04 Support

Describe the Bug
Currently the script does not include Ubuntu 22.04 in the case statement to determine the deb_codename.
Expected Behavior
Include 22.04 codename in script
Steps to Reproduce
Execute current script will try to download a file with no codename, which fails.
Environment

Platform [Ubuntu 22.04]

Fixed in PR#6


Make sure the recorded git hash is recent

This addresses https://github.com/arborx/ArborX/pull/78#issuecomment-501001773 (but obviously needs some cleanup).

I am happy with the current version.

Overall, I like the PR. Couple things:

Please remove trailing whitespace in the files
One thing that is not great is that there is no ArborX_Version.hpp immediately after running cmake. It only appears after running make. I'm sure I'll forget that at some point and start looking for the file. Can we create some version of it during configuration stage?
(not really in the scope of the PR, but probably should be addressed) We don't check the source tree for being dirty, i.e. having files present in modified state. This may lead to confusion when some results are not reproducible. Something like this may work better: git describe --long --dirty --tags. For example, it produces v0.8-beta-17-g212d816-dirty which indicates it's 17 commits since last tag (v0.8-beta) with a hash 212d816 and the tree is dirty. This is not the exact hash, though.

@masterleinad Have you looked a bit around to see what other projects do?

3\. (not really in the scope of the PR, but probably should be addressed) We don't check the source tree for being dirty, i.e. having files present in modified state. This may lead to confusion when some results are not reproducible. Something like this may work better: `git describe --long --dirty --tags`. For example, it produces `v0.8-beta-17-g212d816-dirty` which indicates it's 17 commits since last tag (`v0.8-beta`) with a hash `212d816` and the tree is dirty. This is not the exact hash, though.

Let's address this in a separate pull request.

Let's address this in a separate pull request.

Fine by me.
@Rombur are you satisfied with the current state of the PR


numpy version in requirements has a security vuln

dependabot found potential vuln in the old version of numpy we are using.   For the web application, we may not even need numpy anymore, and for queue functions, it comes pygeneplexus so we may not need  it in requrements at all but minimally we should update the version.

fixed in PR #257 when updating requirements file for #256


fix(batcher): fix send_proposal_content return status and add the relevant tests

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2053  👈
#2050
#2049
#2042
#2046
#1951
#1996
#1986
#1985
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Yael-Starkware and the rest of your teammates on  Graphite

Merge activity

Nov 19, 3:52 AM EST: A user started a stack merge that includes this pull request via Graphite.


python3 compatibility

python3 compatibility

 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.

On Mar 24, 2022, at 1:54 PM, Maxime Armstrong @.***> wrote:
@maximearmstrong requested changes on this pull request.
Thanks for your contribution @anthonymobile https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_anthonymobile&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=8fRMZ2-poJo6lcN2cIBY9g&m=dIp-BmhcACMkqjtlGKYkVhi5q_fNfC8Uhr7fro-d3DasSuAQ9NYKgUVb6f5Uj5Kj&s=B-qTmzzR5v1DhEOcPG9REOKBZM5MWzoGH9JNDFwgxF0&e=! One comment in-line before merging the PR.
In python/README.md https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_MobilityData_gtfs-2Drealtime-2Dbindings_pull_82-23discussion-5Fr834575034&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=8fRMZ2-poJo6lcN2cIBY9g&m=dIp-BmhcACMkqjtlGKYkVhi5q_fNfC8Uhr7fro-d3DasSuAQ9NYKgUVb6f5Uj5Kj&s=20aGnRPhibDu20LNDXsL7If8FeXKE4RSU8BRqBLXJ8o&e=:

@@ -36,7 +36,7 @@ response = requests.get('URL OF YOUR GTFS-REALTIME SOURCE GOES HERE')
feed.ParseFromString(response.content)
for entity in feed.entity:
if entity.HasField('trip_update'):

print entity.trip_update

print (entity.trip_update)
Good observation! A small detail: according to PEP8 https://urldefense.proofpoint.com/v2/url?u=https-3A__peps.python.org_pep-2D0008_&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=8fRMZ2-poJo6lcN2cIBY9g&m=dIp-BmhcACMkqjtlGKYkVhi5q_fNfC8Uhr7fro-d3DasSuAQ9NYKgUVb6f5Uj5Kj&s=VL_smMSrYZcG9X9PcuXnVMrU772bPmaBXNfh4cdP3OM&e= best practices, blank spaces between a function name and parameter list should be avoided, so I would suggest removing it before merging the PR.

⬇ Suggested change

print (entity.trip_update)

print(entity.trip_update)
—
Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_MobilityData_gtfs-2Drealtime-2Dbindings_pull_82-23pullrequestreview-2D920650001&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=8fRMZ2-poJo6lcN2cIBY9g&m=dIp-BmhcACMkqjtlGKYkVhi5q_fNfC8Uhr7fro-d3DasSuAQ9NYKgUVb6f5Uj5Kj&s=H9bAfmQDPJzXvqC-L8UTayrl06IqardoVVIN44dJDQA&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AAA5YY6RCSIMBRXPBMYEIXLVBST55ANCNFSM446NFJDQ&d=DwMFaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=8fRMZ2-poJo6lcN2cIBY9g&m=dIp-BmhcACMkqjtlGKYkVhi5q_fNfC8Uhr7fro-d3DasSuAQ9NYKgUVb6f5Uj5Kj&s=W0CbsNhdCEvDjRB2JTuDEtrjcLxVo9Ye7k1rIKNSJbM&e=.
You are receiving this because you were mentioned.

@anthonymobile yes, it's ready! Thank you!


CI: Add code coverage

Would be nice to see how well we are testing the app. An example of that is here:
https://github.com/codecov/example-android
Maybe the code coverage could also be reported in pull requests.

It seems that this was fixed long back. Now every PR shows code coverage. :)


Upgrade codebase to use Prettier

@stockulus are you open to removing the current standard.js formatting rules and replacing with Prettier?
One of the harder parts of contributing to this code base was cleaning up the codebase to match standard, while many of the rules can be automatically fixed the developer workflow was pretty slow for me.
We could do the migration as a single shot, add the new dependencies, format the source, and add some commit hooks to format commits to apply the Prettier rules going forward.

.prettierrc like
{
  "printWidth": 80,
  "tabWidth": 2,
  "singleQuote": true,
  "trailingComma": "none",
  "bracketSpacing": true,
  "semi": false,
  "useTabs": false,
  "jsxBracketSameLine": false,
  "proseWrap": "never"
}

I would be totally fine

Cool, I'll open a PR with this proposal for you to review.


bower install doesn't install needed plugins (also with --save-dev)

When I follow the readme.md and run an installation via bower install scribe and load scribe with require-js then I get straight missing plugin errors:
logger....0746263 (Zeile 92)
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/plugins/core/plugins.js?ver=1443300746263"
plugins...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/plugins/core/formatters.js?ver=1443300746263"
formatt...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/plugins/core/commands.js?ver=1443300746263"
command...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/plugins/core/events.js?ver=1443300746263"
events....0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/api.js?ver=1443300746263"
api.js?...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/plugins/core/patches.js?ver=1443300746263"
patches...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/undo-manager.js?ver=1443300746263"
undo-ma...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/event-emitter.js?ver=1443300746263"
event-e...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/transaction-manager.js?ver=1443300746263"
transac...0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/config.js?ver=1443300746263"
config....0746263
"NetworkError: 404 Not Found - http://localhost/demo/js/src/vendor/scribe/node.js?ver=1443300746263"

Leaving aside that you use relative paths in your modules which has to be handled in the require.config with a package definition (which is not mentioned).
Whatever, I tried to install the plugins separately but of course the paths are not correct anymore and I don't want to redirect every plugin in the require.paths definition.
Is there a sane way to make your project work with requirejs and bower?
Do I need to install a certain branch/version/whatever?

You're right that we don't go into the require config in the readme. Maybe something we should add to the wiki...
However I think your problem is related to the require setup since it is failing to load the individual Scribe source files. What do you have 'scribe' aliased as?


Programmatic way of doing BSim search result application

I am interested in performing the "apply function signature and types of search result" functionality of BSim through programmatic means as part of a script I am working on.
I've reviewed the available example scripts that ship with Ghidra 11, namely QueryFunction.java and ExampleOverviewQueryScript,java, and while those show how to perform a search against BSim databases they don't show how the application is performed. I then tracked down the code responsible for populating functions in the Listing view, and came across AbstractBSimApplyTask::applyResults() and related functions in <ghidra_install_dir>\Ghidra\Features\BSim\lib\BSim-src.zip\ghidra\features\bsim\gui\search\results\apply\.
The relevant functions I've found do not appear to play nicely with the BSim scripting API exposed in the example scripts. As an example of this, a query made through QueryFunction.java provides a SimilarityResult object, but to instantiate an AbstractBSimApplyTask a BSimMatchResult object is needed, which has a lot of member overlap yet is distinguished from a SimilarityResult.
I'd like to know two things: first, is there a manageable way to perform search result application that is compatible with the kinds of objects the example scripts works with; second, if that is not the case, I'd appreciate confirmation/redirection to what parts of Ghidra code is responsible for application, so I could start adapting my current code to hook into that. Thanks for your time.

There's not a direct way to call these actions through a script.  Note that the BSim results do not contain the signature and types of the matching function.  However, applying the signature and types can be done easily with a static method in the FunctionUtility class, provided you have a Function object for the matching function.
To get that object, you will have to open the program containing the matching function and then get the Function at the appropriate address.  The ghidra URL and the address are contained in the BSim results.  To open the program you can use the constructor of the OpenProgramTask class that takes a ghidra URL.
We should probably add a utility method to handle all of this for you, or at least provide an example script.

The method you just described that goes through FunctionUtility sounds like it has the implicit requirement of the user having access to whatever project contains the executable of the matching function. So in order to apply a search result, you would need both a database to perform the search as well as the project containing the executable of the matching function.
Does BSim as used through the listing view also require both the original project and a database? My understanding was that it was possible to use the application functionality of BSim with just a database without requiring the original project. I quickly leafed through the tutorial docs (.../docs/GhidraClass/BSim) just now again, and didn't find a mention of this requirement.

In order to use the apply actions or the side-by-side comparison view you need to access the original program. The BSim database doesn't store the needed information.
The BSim server does return the name of the matching function (but not the namespace), so if that's all you care about you could write a script to rename a function using the BSim results alone.
What kind of modifications to a function body are you trying to do?  Are you manually fixing switch statements?

In order to use the apply actions or the side-by-side comparison view you need to access the original program. The BSim database doesn't store the needed information.

Thanks for clarifying this, it seems I had a misunderstanding.

What kind of modifications to a function body are you trying to do?

The body modifications I'm interested in are just the ones BSim already does, importing any user-defined structs/data types from a matched function and retyping any parameters/locals in the base function accordingly.

I'm having some difficulty working with the OpenProgramTask class @ghidracadabra pointed me towards. I'm getting a little tripped up on what URL I should be passing into this constructor. Right now, I am creating a new OpenProgramTask with the following code:
FunctionDescription matchedFn = ... // came from BSim Result;
String matchedFnRepoPath = matchedFn.getExecutableRecord().getRepository();
String matchedFnExeRelativePath = matchedFn.getExecutableRecord().getPath();

String fullPath = matchedFnRepoPath + matchedFnExeRelativePath;

OpenProgramTask opt = new OpenProgramTask(new URL(fullPath), new Object());

I then get a return value of null when I try opt.getOpenProgram(). One source of error that comes to my mind is that the URL I am passing into the OpenProgramTask constructor isn't what it expects. The source code for OpenProgramTask doesn't have much guidance to this end, so I'd appreciate a pointer to what the constructor is expecting.

Use the getURLString() method on the ExecutableResult to get the URL - I don't think the string you are using contains the program name.  Also, make sure you call TaskLauncher.launch(opt) before you call opt.getOpenProgram()).

Thank you for those pointers! With those changes, my script is working as intended and I'm able to populate symbols across projects. I greatly appreciated your help! The below code snippet is what ended up working for me; I'll leave it below in case any others have similar questions.
FunctionDescription matchedFn = ...; // from BSim results

OpenProgramTask opt = new OpenProgramTask(new URL(matchedFn.getExecutableRecord().getURLString), new Object());
TaskLauncher.launch(opt);

Program matchedProgram = opt.getOpenProgram.getProgram();
Function replacementSource =  matchedProgram.getFunctionManager().getFunctionAt(addressOfMatchedFn);

FunctionUtility.applyNameAndNamespace(queriedFunction, replacementSource);

Forgot to mention, but it's probably a good idea to pass this as the consumer in the OpenProgramTask constructor.  When you are done with matchedProgram, call matchedProgram.release(this).  If you are iterating through a list of matches and applying them it might be worth organizing the code so that you open a program, apply all of the matches from it, and then close it.


Documentation Links don't redirect to actual MFA costs.

Hello,
I've noticed that the links to Azure AD MFA pricing for SMS/Phone authentication don't appear to link to helpful information:

https://azure.microsoft.com/en-us/pricing/details/active-directory/ (Azure AD pricing)
https://azure.microsoft.com/en-us/pricing/details/active-directory/external-identities/ (External Identities pricing, this is also how Azure B2C consumer users would be charged as well)
https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-licensing (licensing for MFA, the links to "pricing" point towards one of the first two links)

In the pricing page for external identities (https://azure.microsoft.com/en-us/pricing/details/active-directory/external-identities/ ) there is a section titled "Separate Charges" mentions "A flat fee is billed for each SMS/Phone-based multi-factor authentication event."
Nowhere on the External Identities page pricing page, any B2C documentation pages, or any Azure AD MFA documentation pages is the "flat fee" per SMS/Phone-based MFA event explained. This information is also absent from all Azure AD documentation, Azure AD B2C documentation, and Azure MFA documentation pages in all languages from what I can tell.
The only mention of the actual "flat fee" cost of the SMS/Phone-based MFA events is found here:
https://azure.microsoft.com/en-us/updates/mau-billing/
Such information should be present in the "Azure Active Directory External Identities pricing" page regardless of whether or not the service is in preview. I am worried that laws/policies that make it illegal to fail to include all pricing information (as in no hidden fees) on a service's pricing page may put Microsoft at unnecessary risk of legal action being taken against them or of being subjected to fines in addition to potentially misleading and losing customers.
Please include the actual cost of the flat fee for "SMS/Phone-based  multi-factor authentication event" section (again at this page: https://azure.microsoft.com/en-us/pricing/details/active-directory/external-identities/ ). If there is no actual flat-fee for "SMS/Phone-based  multi-factor authentication events" then the section needs to be removed.
I hope that this is corrected soon.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: feb03e63-f543-d85b-9daf-16b4d1e13a60
Version Independent ID: da9dcdd2-70d4-e08e-18f2-6e6a1489937a
Content: Azure Multi-Factor Authentication versions and consumption plans
Content Source: articles/active-directory/authentication/concept-mfa-licensing.md
Service: active-directory
Sub-service: authentication
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@RobertColston
Thanks for your feedback! We will investigate and update as appropriate.

@RobertColston please clarify if you are speaking specifically about external identities only?

Resolved by https://github.com/MicrosoftDocs/azure-docs/issues/62558

Linking to existing opened item in B2B docs.

#reassign @msmimart

#reassign:MicrosoftGuyJFlo #please-close


URL in tutorial not available anymore

** PLEASE ONLY USE THIS ISSUE TRACKER TO SUBMIT ISSUES WITH THE DOCKER LABS TUTORIAL CONTENT **

If you have a bug working with Docker itself, not related to these labs, please file the bug on the Docker repo *
If you would like general support figuring out how to do something with Docker, please use the Docker Slack channel. If you're not on that channel, sign up for the Docker Community and you'll get an invite. *
Or go to the Docker Forums *

Please provide the following information so we can assess the issue you're having
Which lab is it that you're having issues with?
labs/developer-tools/nodejs/porting/3_publish_image.md
Tutorial that has issues
Wrong link the tutorial is pointing to
Description

The urls found in the tutorial above hosted on dropbox are no longer available. The link goes out for image files.

@lucj looks like all links on https://github.com/docker/labs/blob/master/developer-tools/nodejs/porting/3_publish_image.md have broken

@ManoMarks I changed the links and submitted a PR

@ManoMarks I guess this should be closed now.


[Feature Request] Community example repo.

Hey, @cgarciae @charlielito Is it possible to add a community example repo for elegy?
Where the community can create their elegy example in the form of colab notebook and then contribute it?

Hey @abhinavsp0730, I think for now it would be super easy to just create an Examples tab in the documentation and host the notebooks there. We are using Mkdocs Material with the Jupyter extension which can render the notebooks as HTML, take a look at our Getting Started. Additionally we can include the "Open in Colab" button just like in the example I showed you.
What do you think?

Hey, @cgarciae thank you. But I think the example is listed under Offical Documentation. My point is that a seperate repo for community examples which are not covered in offical Example.
Can a normal contributor can also make contributions in Elegy offical Examples?

@abhinavsp0730 for sure! The community is small right now so its super easy to contribute 😃 Send us a PR with the example you want to contribute under the examples repo and I'll make sure it also appears in the documentation webpage.

Thanks @cgarciae  I'll come with elegy examples very soon ❤.


Error in hourly cron scripts related to rfc_number being None

Describe the issue
After deploying v12.0.0, the hourly cron scripts fail with a traceback including
  File "[...]/ietf/doc/management/commands/generate_idnits2_rfcs_obsoleted.py", line 16, in handle
    blob = generate_idnits2_rfcs_obsoleted()
  File "[...]/ietf/doc/utils.py", line 1181, in generate_idnits2_rfcs_obsoleted
    obsdict[int(r.target.rfc_number)].append(int(r.source.rfc_number)) # Aren't these already guaranteed to be ints?
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
hourly(89): Command failed with error code 1 ([2300] [...]/bin/hourly )

Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

Yes, that one RelatedDocument object is bogus - it was built from a DocAlias pk and not a Document pk. The real obs relationship from the affected rfc is already in place and deleting the bogus relation is all that is needed, I will do in the admin.

For the sake of documentation:
>>> RelatedDocument.objects.filter(relationship_id='obs',target__type_id='draft')
<QuerySet [<RelatedDocument: rfc9386 obsoletes draft-ohba-pana-pemk>]>
>>> RelatedDocument.objects.filter(relationship_id='obs',target__type_id='draft').get().target.became_rfc()
<Document: rfc5807>
>>> RelatedDocument.objects.filter(relationship_id='obs',source__name='rfc9386')
<QuerySet [<RelatedDocument: rfc9386 obsoletes rfc6036>, <RelatedDocument: rfc9386 obsoletes draft-ohba-pana-pemk>]>

RelatedDocument 1296946 removed using the admin.


Minor tweaks to package.json

Whoops, thanks! Must have been wrong (but not causing problems) for a while.

It was mostly to fix the sidebar links on https://www.npmjs.com/package/exokit which currently 404.


Fix PanoramaSky artifacts on Android/GLES2

The root cause of the issue is that OpenGL ES 2 does not support the textureCubeLod function.
There are (optional) extensions to support this, but they don't appear to be exposed with the ES2 renderer (even though the hardware needed to support LOD features are certainly available.)
The existing shim in drivers/gles2/shaders/cubemap_filter.glsl just creates a macro:
#define textureCubeLod(img, coord, lod) textureCube(img, coord)

But the third parameter of textureCube is actually a mip bias, not an absolute mip level.
(And it doesn't seem to work regardless.)
In this specific case, the cubemap_filter should only sample from the first level of the "source" panorama cubemap.
In lieu of a method to force a lod level of zero, I've chosen to comment out the switchover from a 2D equirectangular panorama to the cubemap version of the same image, therefore always sampling roughness values from the 2D equirectangular panorama.
This may cause additional artifacts or issues across the seam, but at least it prevents the glaringly obvious black areas.

This same issue (no fragment texture LOD support) has rather large repercussions elsewhere too; it means materials with larger cubemap density (i.e. planar or distant objects) will be far rougher than expected.
Since GLES 3 appears to properly support fragment texture*Lod functions, switching to the GLES 3 backend would solve this problem.

Root cause discovered with help from @KaadmY.
Bugsquad edit: Fix #43667

A better fix would be to check for the existence of the GL_ARB_shader_texture_lod or GL_EXT_shader_texture_lod extensions, and only enable USE_SOURCE_PANORAMA (i.e. read from the cubemap instead of the source equirectangular map) only if textureCubeLod is available. I'm not sure how Godot handles OpenGL extension detection though, and I'd like to reuse that existing code if possible. Any pointers are welcome!

@ForestKatsch GLSL extension checking is handled within each shader with preprocessor directives as below:
https://github.com/godotengine/godot/blob/68013d23932688e57b489600f4517dd280edc464/drivers/gles2/shaders/cubemap_filter.glsl#L30-L45

This is definitely not a long-term proper fix. Without support for fragment shader texture LOD sampling, I don't know if there can be a proper fix for this bug. But an incorrect result is arguably an improvement over the black artifacts.
I don't have a native Android device, only an Oculus Quest 2. I'll look into getting RenderDoc captures.

GLSL extension checking is handled within each shader with preprocessor directives

Without checking for the extension on the C++ side, I don't think there's a clean workaround for devices that don't support the textureCubeLod function, because the C++ side would need to know to not set USE_SOURCE_PANORAMA and the source cubemap texture.

@ForestKatsch Well, we can just do a different codepath for all android devices. While it won't be as smooth, we could just force android devices to read from the source panorama. You would do so by putting an #ifdef GLES_OVER_GL check around the if (lod == 1) block

@ForestKatsch Well, we can just do a different codepath for all android devices. While it won't be as smooth, we could just force android devices to read from the source panorama. You would do so by putting an #ifdef GLES_OVER_GL check around the if (lod == 1) block

Note that this would apply to iOS too (and WebGL I think).

I don't know all of the tradeoffs between sampling from the source equirectangular panorama (with USE_SOURCE_PANORAMA set) and from the transformed cubemap. If they're functionally identical, I don't think there would be an issue with always sampling from the source equirectangular panorama on all platforms.

Here is a comparison between the two methods on a desktop with the GLES2 backend:
#if 1
      glActiveTexture(GL_TEXTURE0);
      glBindTexture(GL_TEXTURE_CUBE_MAP, sky->radiance);
      shaders.cubemap_filter.set_conditional(CubemapFilterShaderGLES2::USE_SOURCE_PANORAMA, false);
#endif

@ForestKatsch The difference is quality. A huge difference in quality when using high frequency environment maps. Try the same comparison with the environment map from https://github.com/godotengine/godot/issues/33616.
Although, thinking about it, GLES2 may not use an HDR panorama, so the impact may not be so severe. Please test with the environment map from https://github.com/godotengine/godot/issues/33616 and if it looks fine in both cases I am happy to remove the hack altogether.

Try the same comparison with the environment map from #33616.

Although, thinking about it, GLES2 may not use an HDR panorama, so the impact may not be so severe.

I think you're correct:

Edit:_ to be clear, in your above example, you tested once with #if 1 and once with if 0 right?

Well that settles it. Looks like our little hack isn't needed in GLES2.
I'll test tonight when I get home from work before approving.
In the meantime, you can remove the #if 0 block. We prefer to remove all dead code and just use the git history to keep things for posterity.

It's worth noting that this exact problem (no texture LOD support in GLES2) will cause issues elsewhere; notably, the wrong roughness will be used on planar or distant metallic surfaces (which should normally have a uniform roughness). This is visually very apparent.
As this issue probably isn't easily solved (given the strict GLES2/GLES3 separation), isn't immediately apparent as a visual defect, and with Godot moving to Vulkan in the future, I don't plan on opening an issue for that. But it is a problem on any device that doesn't support texture LOD extensions.

It's worth noting that this exact problem (no texture LOD support in GLES2) will cause issues elsewhere; notably, the wrong roughness will be used on planar or distant metallic surfaces (which should normally have a uniform roughness). This is visually very apparent.

Yep. Could be useful to document in https://docs.godotengine.org/en/stable/tutorials/misc/gles2_gles3_differences.html which is becoming a catch all for GLES2 specific limitations.

Could you squash the commits into one? See PR workflow for instructions.

Could you squash the commits into one? See PR workflow for instructions.

Done!

Thanks!


Add Flask

Codecov Report

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

@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage        ?   92.30%
=======================================
  Files           ?        3
  Lines           ?       13
  Branches        ?        0
=======================================
  Hits            ?       12
  Misses          ?        1
  Partials        ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4947fe3...53b4ead. Read the comment docs.


reorder args to avoid newline issues

Right now, some workflows are broken because they don't include a \ at the end of their input arguments when calling our gradle action. This shouldn't need to be required. This fixes the flow by reordering arguments so that they are all continuous.
Running dataframes precommit that has no slash at end - https://github.com/apache/beam/actions/runs/6512587812/job/17690530384
Running precommit java which does have a slash at the end - https://github.com/apache/beam/actions/runs/6512628719/job/17690656217

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @AnandInguva


Update protobuf-java to 3.19.4

Updates com.google.protobuf:protobuf-java from 3.11.4 to 3.19.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (3.11.4).
You might want to review and update them manually.
project/plugins.sbt

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.protobuf", artifactId = "protobuf-java" } ]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

I'm  not inclined to mess with this, personally.


ACIR test array_dynamic_blackbox_input fails to verify in BB

Aim
Passing checks in aztec-packages
Expected Behavior
All acir tests should verify
Bug
This test https://github.com/noir-lang/noir/blob/b2aaeab319a0c66c431a7db6852f743eccde8e98/test_programs/execution_success/array_dynamic_blackbox_input/src/main.nr fails to verify
https://app.circleci.com/pipelines/github/AztecProtocol/aztec-packages/24623/workflows/dbb07d38-8b8c-4334-89c0-db3510d9bc3f/jobs/1143720
Reproduced locally:
noirup: done
% nargo execute                                                                   1m 26s ~/aztec-packages/noir/test_programs/execution_success/array_dynamic_blackbox_input arv/pull_noir_2 mainframe
[array_dynamic_blackbox_input] Circuit witness successfully solved
% nargo prove                                                                            ~/aztec-packages/noir/test_programs/execution_success/array_dynamic_blackbox_input arv/pull_noir_2 mainframe
% nargo verify                                                                       12s ~/aztec-packages/noir/test_programs/execution_success/array_dynamic_blackbox_input arv/pull_noir_2 mainframe
Failed to verify proof /mnt/user-data/alvaro/aztec-packages/noir/test_programs/execution_success/array_dynamic_blackbox_input/proofs/array_dynamic_blackbox_input.proof

To Reproduce

go to array_dynamic_blackbox_input
nargo execute
nargo prove
nargo verify => fails

Project Impact
None
Impact Context
No response
Workaround
None
Workaround Description
No response
Additional Context
No response
Installation Method
None
Nargo Version
No response
NoirJS Version
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response

The issue is fixed with PR #4360, it seems that old sha256 was giving the wrong result.
if you add:
println(sha256(hash_input);
println(sha256([hash_input[0],..[hash_input[64]);
you will not get the same result!!!
Instead, with sha256::digest() you get the same result and this result is consistent with sha256([hash_input[0],..[hash_input[64]);


chore: update Makefile and hack/release.sh to accept TAG

The upstream release pipeline does not tag the source until the build and
tests have successfully completed. This should allow for our release builds
to pick up the knative infra TAG environment variable when building releases.
Signed-off-by: Lance Ball<EMAIL_ADDRESS>

When this lands on main, a backport PR should be created against release-0.21, and when that lands a (hopefully correctly) versioned release for v0.21.2 should land.

/approve
/lgtm

/cherry-pick release-0.21


Socket hang up error after 3 sec when calling https.get from within app.get

I have server simple server index.js. I upload the attached zip to lambda. When I run the test to request /allPrizeData I get the error noted above in 2 to 3 seconds. The call back in 'https.get' is never called as demonstrated with the console.log statement. This code executes quickly and correctly locally. The code tests fine on Lambda when I give it mock data to return instead of using the call to https.get in order to retrieve the real data. But as stated, there is no trouble when running locally.
The problem can be duplicated by uploading the attached archive file as the code for a new lambda function, changing the proxy test to get /allPrizeData, and running the test. Note: The url to the data will work for your test as well because it is readable by everyone.
archive.zip
`

What the timeout do you set on your Lambda function? You can try to increase it to see if it is resolved.

Set for 2min but no change. It fails after 200ms.

{ [Error: socket hang up] code: 'ECONNRESET' }

I went ahead and called the function from api gateway and I get the expected result, however the test fails. Perhaps, this is a problem of the test configuration. Here is the test code.
{   "body": "{\"test\":\"body\"}",   "resource": "/{proxy+}",   "requestContext": {     "resourceId": "123456",     "apiId": "1234567890",     "resourcePath": "/{proxy+}",     "httpMethod": "POST",     "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",     "accountId": "123456789012",     "identity": {       "apiKey": null,       "userArn": null,       "cognitoAuthenticationType": null,       "caller": null,       "userAgent": "Custom User Agent String",       "user": null,       "cognitoIdentityPoolId": null,       "cognitoIdentityId": null,       "cognitoAuthenticationProvider": null,       "sourceIp": "<IP_ADDRESS>",       "accountId": null     },     "stage": "prod"   },   "queryStringParameters": {     "foo": "bar"   },   "headers": {     "Via": "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)",     "Accept-Language": "en-US,en;q=0.8",     "CloudFront-Is-Desktop-Viewer": "true",     "CloudFront-Is-SmartTV-Viewer": "false",     "CloudFront-Is-Mobile-Viewer": "false",     "X-Forwarded-For": "<IP_ADDRESS>, <IP_ADDRESS>",     "CloudFront-Viewer-Country": "US",     "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",     "Upgrade-Insecure-Requests": "1",     "X-Forwarded-Port": "443",     "Host": "1234567890.execute-api.us-east-1.amazonaws.com",     "X-Forwarded-Proto": "https",     "X-Amz-Cf-Id": "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==",     "CloudFront-Is-Tablet-Viewer": "false",     "Cache-Control": "max-age=0",     "User-Agent": "Custom User Agent String",     "CloudFront-Forwarded-Proto": "https",     "Accept-Encoding": "gzip, deflate, sdch"   },   "pathParameters": {     "proxy": "path/to/resource"   },   "httpMethod": "GET",   "stageVariables": {     "baz": "qux"   },   "path": "/allPrizeData" }

The testing of the proxy calling the function from api gateway also fails. {get} {/allPrizeData}

but again, the actual call to the api gateway yields the expected result.
api gateway link

Can you turn on the logging for the outgoing request?

Where?

In your Lambda function code, you can attach a request logging for capture an outgoing request. If you can use the exact same parameter without this framework to connect your firebase endpoint, it will help us a lot on investigate the issue.

Ok, but it is only failing on the lambda test. The function is actually working. I will send the results later.

I checked into the logging, but I am a little unclear on how to put it in the function since it is generated with the archive file that I upload. If you can be more specific, I will do it.(you already have the code, if that is easier) In the mean time here is the log from the test.
START RequestId: 5eef6228-296d-11e7-a832-4d3ea16d9210 Version: $LATEST
2017-04-25T04:12:18.534Z	5eef6228-296d-11e7-a832-4d3ea16d9210	allPrizesCalled
2017-04-25T04:12:18.831Z	5eef6228-296d-11e7-a832-4d3ea16d9210	{ Error: socket hang up
at createHangUpError (_http_client.js:253:15)
at Socket.socketOnEnd (_http_client.js:345:23)
at emitNone (events.js:91:20)
at Socket.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9) code: 'ECONNRESET' }
END RequestId: 5eef6228-296d-11e7-a832-4d3ea16d9210
REPORT RequestId: 5eef6228-296d-11e7-a832-4d3ea16d9210	Duration: 629.67 ms	Billed Duration: 700 ms 	Memory Size: 128 MB	Max Memory Used: 25 MB

You can use this library to capture the request, then zip the code and upload to your Lambda function.

ok, will try this tomorrow.

Sorry, I can not help out on this any longer right now, I have some other pressing matters. I will come back to this later, but if you want to close it for now, I understand.

I have the same error here, does anybody know the solution? Connecting to a db throws all kind of problems but it's fine without db code...

If your using firebase, it is because firebase keeps the socket alive. You cane run firebase connections from a forked child process and terminate it with process.exit, this will then allow the parent process to to close normally.
On May 17, 2017, at 10:39, 1ststopgroup <notifications<EMAIL_ADDRESS>wrote:
I have the same error here, does anybody know the solution? Connecting to a db throws all kind of problems but it's fine without db code...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/awslabs/aws-serverless-express/issues/62#issuecomment-302169566, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGMlqWX0BpZ1bITkqL9Zrp4phF8Mp-UDks5r6zC1gaJpZM4NGnoL.


song stats cpu usage

when songstats extensions is installed my spotify uses around 20% of cpu wich is a lot more

That's unrelated to songstats @pikoslav666


HTTP_SM_MAGIC_ALIVE assert failure on callback with EVENT_INTERVAL

Looks like an HttpSM assert failure when delaying do_http_server_open() - rescheduled due to ProxyTransaction and netvc not being on the same thread (ProxyTransaction::adjust_thread() logic).
Weird thing is that when I check the magic for HttpSM in the Continuation's handleEvent dispatcher, it seems to be valid.
(gdb) bt
#0  0x00002ac802788207 in raise () from /lib64/libc.so.6
#1  0x00002ac8027898f8 in abort () from /lib64/libc.so.6
#2  0x00002ac7ffe4835b in ink_abort (message_format=message_format@entry=0x2ac7ffec52a7 "%s:%d: failed assertion `%s`") at ink_error.cc:99
#3  0x00002ac7ffe45045 in _ink_assert (expression=expression@entry=0x7de8f0 "magic == HTTP_SM_MAGIC_ALIVE", file=file@entry=0x7de2f6 "HttpSM.cc", line=line@entry=2701) at ink_assert.cc:37
#4  0x000000000055069a in HttpSM::main_handler (this=<optimized out>, event=<optimized out>, data=<optimized out>) at HttpSM.cc:2701
#5  0x00000000007bb7c0 in handleEvent (data=0x2ac846a9a7c0, event=2, this=0x2ac8926a4420) at I_Continuation.h:193
#6  EThread::process_event (this=this@entry=0x2ac806513000, e=e@entry=0x2ac846a9a7c0, calling_code=2) at UnixEThread.cc:127
#7  0x00000000007bc834 in EThread::execute_regular (this=this@entry=0x2ac806513000) at UnixEThread.cc:236
#8  0x00000000007bcc62 in EThread::execute (this=0x2ac806513000) at UnixEThread.cc:327
#9  0x00000000007bafe9 in spawn_thread_internal (a=0x2ac803d63c40) at Thread.cc:92
#10 0x00002ac801a9edd5 in start_thread () from /lib64/libpthread.so.0
#11 0x00002ac80284fead in clone () from /lib64/libc.so.6
(gdb) f 5
#5  0x00000000007bb7c0 in handleEvent (data=0x2ac846a9a7c0, event=2, this=0x2ac8926a4420) at I_Continuation.h:193
193	I_Continuation.h: No such file or directory.
(gdb) p event
$21 = 2
(gdb) p *this
$22 = {<force_VFPT_to_top> = {_vptr.force_VFPT_to_top = 0x7e0110 <vtable for HttpSM+24>}, handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x550670 <HttpSM::main_handler(int, void*)>, mutex = {
    m_ptr = 0x2ac8a11439b0}, link = {<SLink<Continuation>> = {next = 0x0}, prev = 0x0}, control_flags = {raw_flags = 0}, thread_affinity = 0x2ac805406000}
(gdb) p ((HttpSM*)0x2ac8926a4420)->magic
$23 = 65261
(gdb) p ((HttpSM*)0x2ac8926a4420)->default_handler
$24 = (int (HttpSM::*)(HttpSM * const, int, void *)) 0x555bd0 <HttpSM::state_http_server_open(int, void*)>
(gdb)
(gdb) p ((HttpSM*)0x2ac8926a4420)->t_state.m_magic
$26 = HttpTransact::HTTP_TRANSACT_MAGIC_ALIVE

Is the HttpSM in your core not reallocated, so there might be something interesting in the history member?

Below is the history and some other relevant context from SM:
(gdb) p ((HttpSM*)this)->default_handler
$8 = (int (HttpSM::*)(HttpSM * const, int, void *)) 0x555bd0 <HttpSM::state_http_server_open(int, void*)>
(gdb) p ((HttpSM*)this)->t_state.next_action
$9 = HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN
(gdb) p ((HttpSM*)this)->t_state.cdn_saved_next_action
$10 = HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN
(gdb) p ((HttpSM*)this)->t_state.cache_info.action
$11 = HttpTransact::CACHE_DO_NO_ACTION
(gdb) p ((HttpSM*)this)->server_entry
$12 = (HttpVCTableEntry *) 0x2ac8926a5868
(gdb) p *((HttpSM*)this)->server_entry
$13 = {vc = 0x2ac8e45837d0, read_buffer = 0x0, write_buffer = 0x0, read_vio = 0x2ac8b9a47660, write_vio = 0x2ac8b9a476d0, vc_handler = (int (HttpSM::*)(HttpSM * const, int, void *)) 0x555bd0 <HttpSM::state_http_server_open(int, void*)>, vc_type = HTTP_SERVER_VC, sm = 0xacb7a8 <httpSMAllocator+8>,
  eos = false, in_tunnel = false}
(gdb) p *((HttpSM*)this)->pending_action
Cannot access memory at address 0x0
(gdb) p ((HttpSM*)this)->pending_action
$14 = (Action *) 0x0

(gdb) p ((HttpSM*)this)->vc_table
$15 = {static vc_table_max_entries = 4, vc_table = {{vc = 0x2ac8c7c212c0, read_buffer = 0x0, write_buffer = 0x0, read_vio = 0x2ac849281d90, write_vio = 0x0, vc_handler = (int (HttpSM::*)(HttpSM * const, int, void *)) 0x53e5f0 <HttpSM::state_watch_for_client_abort(int, void*)>,
      vc_type = HTTP_UA_VC, sm = 0xacb7a8 <httpSMAllocator+8>, eos = false, in_tunnel = false}, {vc = 0x2ac8e45837d0, read_buffer = 0x0, write_buffer = 0x0, read_vio = 0x2ac8b9a47660, write_vio = 0x2ac8b9a476d0, vc_handler = (int (HttpSM::*)(HttpSM * const, int,
    void *)) 0x555bd0 <HttpSM::state_http_server_open(int, void*)>, vc_type = HTTP_SERVER_VC, sm = 0xacb7a8 <httpSMAllocator+8>, eos = false, in_tunnel = false}, {vc = 0x0, read_buffer = 0x0, write_buffer = 0x0, read_vio = 0x0, write_vio = 0x0, vc_handler = NULL, vc_type = HTTP_UNKNOWN, sm = 0x0,
      eos = false, in_tunnel = false}, {vc = 0x0, read_buffer = 0x0, write_buffer = 0x0, read_vio = 0x0, write_vio = 0x0, vc_handler = NULL, vc_type = HTTP_UNKNOWN, sm = 0x0, eos = false, in_tunnel = false}}, sm = 0xacb7a8 <httpSMAllocator+8>}
(gdb) set print pretty
(gdb) p ((HttpSM*)this)->vc_table
$16 = {
  static vc_table_max_entries = 4,
  vc_table = {{
      vc = 0x2ac8c7c212c0,
      read_buffer = 0x0,
      write_buffer = 0x0,
      read_vio = 0x2ac849281d90,
      write_vio = 0x0,
      vc_handler = (int (HttpSM::*)(HttpSM * const, int, void *)) 0x53e5f0 <HttpSM::state_watch_for_client_abort(int, void*)>,
      vc_type = HTTP_UA_VC,
      sm = 0xacb7a8 <httpSMAllocator+8>,
      eos = false,
      in_tunnel = false
    }, {
      vc = 0x2ac8e45837d0,
      read_buffer = 0x0,
      write_buffer = 0x0,
      read_vio = 0x2ac8b9a47660,
      write_vio = 0x2ac8b9a476d0,
      vc_handler = (int (HttpSM::*)(HttpSM * const, int, void *)) 0x555bd0 <HttpSM::state_http_server_open(int, void*)>,
      vc_type = HTTP_SERVER_VC,
      sm = 0xacb7a8 <httpSMAllocator+8>,
      eos = false,
      in_tunnel = false
    }, {
      vc = 0x0,
      read_buffer = 0x0,
      write_buffer = 0x0,
      read_vio = 0x0,
      write_vio = 0x0,
      vc_handler = NULL,
      vc_type = HTTP_UNKNOWN,
      sm = 0x0,
      eos = false,
      in_tunnel = false
    }, {
      vc = 0x0,
      read_buffer = 0x0,
      write_buffer = 0x0,
      read_vio = 0x0,
      write_vio = 0x0,
      vc_handler = NULL,
      vc_type = HTTP_UNKNOWN,
      sm = 0x0,
      eos = false,
      in_tunnel = false
    }},
  sm = 0xacb7a8 <httpSMAllocator+8>
}

(gdb) up
#5  0x00000000007bb7c0 in handleEvent (data=0x2ac846a9a7c0, event=2, this=0x2ac8926a4420) at I_Continuation.h:193
193	I_Continuation.h: No such file or directory.
(gdb) p ((HttpSM*)this)->history
$19 = {
  history = {{
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dff00 <HttpSM::state_add_to_list(int, void*)::__FUNCTION__> "state_add_to_list",
        line = 379
      },
      event = 0,
      reentrancy = 1
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfe80 <HttpSM::state_read_client_request_header(int, void*)::__FUNCTION__> "state_read_client_request_header",
        line = 635
      },
      event = 100,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfe80 <HttpSM::state_read_client_request_header(int, void*)::__FUNCTION__> "state_read_client_request_header",
        line = 635
      },
      event = 100,
      reentrancy = 1
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfe80 <HttpSM::state_read_client_request_header(int, void*)::__FUNCTION__> "state_read_client_request_header",
        line = 635
      },
      event = 100,
      reentrancy = 1
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
---Type <return> to continue, or q <return> to quit---
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 5
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 5
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 6
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 6
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
---Type <return> to continue, or q <return> to quit---
      },
      event = 60000,
      reentrancy = 7
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 7
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 1
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 1
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 1
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 1
---Type <return> to continue, or q <return> to quit---
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 5
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
---Type <return> to continue, or q <return> to quit---
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 5
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 6
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 6
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 7
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 7
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 8
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 8
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
---Type <return> to continue, or q <return> to quit---
      event = 60000,
      reentrancy = 9
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 9
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 10
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 10
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 11
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 11
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 12
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 12
    }, {
---Type <return> to continue, or q <return> to quit---
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 13
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 13
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 14
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 14
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 15
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 15
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 16
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
---Type <return> to continue, or q <return> to quit---
        line = 1404
      },
      event = 60000,
      reentrancy = 16
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 17
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 17
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 18
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 18
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
      reentrancy = 19
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 19
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfd10 <HttpSM::state_api_callback(int, void*)::__FUNCTION__> "state_api_callback",
        line = 1364
      },
      event = 60000,
---Type <return> to continue, or q <return> to quit---
      reentrancy = 20
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfcf0 <HttpSM::state_api_callout(int, void*)::__FUNCTION__> "state_api_callout",
        line = 1404
      },
      event = 60000,
      reentrancy = 20
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7df218 <HttpSM::set_next_state()::__FUNCTION__> "set_next_state",
        line = 7486
      },
      event = 34463,
      reentrancy = 20
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7df218 <HttpSM::set_next_state()::__FUNCTION__> "set_next_state",
        line = 7532
      },
      event = 34463,
      reentrancy = 20
    }, {
      location = {
        file = 0x7de2f6 "HttpSM.cc",
        func = 0x7dfc90 <HttpSM::state_http_server_open(int, void*)::__FUNCTION__> "state_http_server_open",
        line = 1755
      },
      event = 200,
      reentrancy = 21
    }, {
      location = {
        file = 0x0,
        func = 0x0,
        line = 0
      },
      event = 0,
      reentrancy = 0
    }, {
      location = {
        file = 0x0,
        func = 0x0,
        line = 0
      },
      event = 0,
      reentrancy = 0
    }},
  history_pos = 63
}

Reverted PR 4028 as that seems to be related. Running the reverted version now in prod. Will keep posted on how it goes.

Reverting PR 4028 does seem to have fixed this problem

https://github.com/apache/trafficserver/pull/6889 fixes this


[For Testing] Go faster stripes MkII - Collated changes

Updated  #305
Have now split into 10 PRs:
#310 MemoryPool2 Stack->Queue, Allocate returns newest
#311 Task.Run -> ThreadPool.QueueUserWorkItem
#312 Reduce GetString allocs and conversions
#315 Lockless socket output, lower allocs (4 inter dependent) commits
#316 Remove KestrelThread locks
#317 Connection - remove closure allocation
#318 Listener - remove closure allocation
#319 ListenerPrimary - remove closure allocation
#320 ListenerSecondary - reduce closure allocation
#321 Reduce delegate allocation
Can't currently performance test as the feeds aren't matching source

Splitting into multiple PRs. So far:
https://github.com/aspnet/KestrelHttpServer/pull/310
https://github.com/aspnet/KestrelHttpServer/pull/311

Baseline coreclr x64, third run v1.0.0-rc2-15944 77% CPU
~/wrk$ wrk -c 256 -d 30 -t 32 http://<IP_ADDRESS> -s ./scripts/pipeline.lua -- 16
Running 30s test @ http://<IP_ADDRESS>
32 threads and 256 connections
Thread Stats   Avg      Stdev     Max   +/- Stdev
Latency     4.54ms    8.18ms 135.70ms   96.37%
Req/Sec    21.44k     3.10k   55.99k    90.54%
20515710 requests in 30.10s, 2.52GB read
Requests/sec: 681589.56
Transfer/sec:     85.80MB

There is a bad PR in here; tracking down

Closing for now until have some numbers; still needs work

Broke 1M but still higher latency means its worse at 256
~/wrk$ wrk -c 1024 -d 30 -t 32 ... -s ./scripts/pipeline.lua -- 16
Running 30s test @ ...
32 threads and 1024 connections
Thread Stats   Avg      Stdev     Max   +/- Stdev
Latency    17.60ms   14.74ms 264.28ms   67.36%
Req/Sec    32.41k     4.61k   54.43k    70.76%
30130208 requests in 30.08s, 3.70GB read
Socket errors: connect 35, read 0, write 0, timeout 0
Requests/sec: 1001566.79
Transfer/sec:    126.08MB


u-boot: send hardening warning messages to stderr

Send most of the hardening warning/error messages to U-Boot's stderr to increase the chances they are seen.
Related-to: https://github.com/toradex/meta-toradex-security/issues/64

Guys, I'll go ahead and merge this since it's just the same as with kirkstone which was already merged.


mc_pos_control: switch to use bottom distance when stationary; when moving horizontally use local position

This is a consequence of https://github.com/PX4/Firmware/pull/9613

➤ Thomas Gubler commented:
@Paul Riseborough this is a subtask of https://www.wrike.com/open.htm?id=232565644 (but it was not assigned to you in wrike)

➤ Thomas Gubler commented:
As discussed with Paul: MC changes conflict with flight tasks. He will work on top of flight tasks branch ( https://github.com/PX4/Firmware/pull/9731 )

It sounds like this is already achieved with EKF2_RNG_AID? Or does this add other functionality?

I have raised a PR for this: https://github.com/PX4/Firmware/pull/9854

I still don't understand the difference, both EKF2_RNG_AID and this seem to use range data when not moving, and the primary height source otherwise.
I hope the documentation will make the difference between the two clear.

OK, I can see how that is confusing.
EKF2_RNG_AID was originally developed for an application where the ground effect interference from rotor wash was so severe that i t affected vertical velocity estimates and  safe takeoffs and landings were not possible. Range finders are accurate, but not reliable sensors (they can experience large random readings), the terrain under the vehicle cannot be relied on to be flat and although the EKF can handle slow drift and variation in height reference, anything more than that can cause estimation problems that go beyond the vertical position state. For these reasons, unless baro errors are severe, we should be meeting the requirement for accurate ground relative height control  in the position controller when possible.
The EKF2_RNG_AID parameter description has been updated in the PR to make this clearer.

Got it, thanks for the explanation and the updated description!

TEST bump for bot, disregard

Now in master


Button to switch to iOS documentation on "Running on device" page doesn't work

Description
I thought maybe this was just my browser or a one off problem, but everytime I've come back to the docs over the last month it's been exactly the same. I guess it's a minor issue but still very annoying.
By default, the docs start you off on android. When I click the ios button, nothing happens. The only way to see the docs for ios is to:

go to the docs for another version. Say 0.65
Either read the info on this older version or:
go back to 0.66 and miraculously the button can be clicked

I verified this on firefox, safari and chrome.

Documentation version
0.66

Duplicate of #2771.

Hi @1mike12 thanks for the issue.
Duplicate of #2771.

how did I not find that haha. I was really wondering how it could be possible I was the 1st reproter. closing as dupe


docs: drop sphinx-autorun dependency

This has been unused since 771160793ea1.

Good catch, thanks.


Trying to fix the bug to create more servers

Adding a server to the used server count before the is being created, in case there is a error just remove it.

useless cuz before this pr server was given once server gets created

and what will happen if it can't catch the error and the bot just crashes? it will remove you a server and you cannot recover it


connect doesn't work

I am currently unable to connect to Blender. I have registered and used plasticity for business purposes, and I have enabled the server. However, even when I press connect, it does not work. I also installed Blender and plasticity on two other computers in my house, but it does not work the same way as my computer.  I tried on different version such as 3.5, 3.6 and 4.0 with latest Plasticity. Can you help me? Thanks
.

I have the same problem
"Plasticit 600 ******* 41u IPv4 0x80c80171d03809c1 0t0 TCP localhost:9223 (LISTEN)"
No connection possible with Blender

I have same problem. In Console editor, that says
[WinError 1225] The remote computer refused the network connection

Under Windows you can Test in Powershell with this Command:
Test-NetConnection localhost -Port 8980
in the Result there is the Value TcpTestSucceeded must be true
if it failes check Firewall Settings or Antivirus.

i add rule in firewall, i add rule on my wifi router, i try turn on and turn off firewall. But this port don't work

The free version does not support Blender Bridge.


ci: add retry to the golangci-lint install step to prevent failure of network issue

There are many daily ci failure (e.g. here) because of the failure of golangci-lint install step. Add retry to resolve it.
Resolve https://github.com/Azure/azure-sdk-for-go/issues/18179

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

It'd be nice if we could cache the tools on something we have greater control on but I'm not sure if we do that with tools in general.

We do cache tools and packages in other places and if this continues to be an issue, we can add something like that here as well.


Use “Profile Discovery” to display basic information only in search results, available in open beta

Google Workspace admins can now turn on “Profile discovery” for their users. When turned on, users can customize how they appear across Google products to people who search for them by their phone number or email. Specifically, you can choose how you want your name to be displayed and how your profile picture will be displayed.
Publish Date: Tuesday, December 12, 2023
Update Blog Link
Triage Information:

Could be related to Common Controls or could possibly be No Impact (No SCB)
There is an Admin Console configuration item

@tmcomeau and @lrsmitre, can you review the update and confirm.

After discussing this update, there is no security implications for this update.


Update readme to point users to gitter

Resolve #534

Current coverage is 99.57%

Merging #538 into master will not affect coverage as of fd5541d

@@            master    #538   diff @@
======================================
  Files           12      12
  Stmts          468     468
  Branches         0       0
  Methods          0       0
======================================
  Hit            466     466
  Partial          0       0
  Missed           2       2

Review entire Coverage Diff as of fd5541d

Uncovered Suggestions

+0.43% via ...ookiecutter/utils.py#27...28

Powered by Codecov. Updated on successful CI builds.

Hi @audreyr @pydanny!
I think we should get this guy in asap. Is that okay with you?

Thank you, Sir :bow:

:)


2024a

Since the creation of new data products (most notably the "now" timekeeping variants), it seems that a new release for 2024a should be created after 2024-03-01 to account for the transition to a unified Kazakhstan timezone on that date. See the timezone database NEWS. There do not seem to be any other changes that would warrant a release prior to that date.

It seems that the 2023d release unfortunately did not have correct data in the "same since now" datasets for Kazakhstan due to a build error. This will be remedied in the 2024a release.
There are additional time changes in 2024 after the Kazakhstan changes. The most notable instance is for America/Scoresbysund which switches to align with Greenland on March 31. In order to minimize the amount of work, an additional release(s) will not be made for the 2024a timezone database release to account for the America/Scoresbysund or any other zones that would have timekeeping methods that would align with a new set of zones after a certain date. Such changes would only affect the "same since now" datasets which would result in some zones merging into others. The "same since now" datasets should still have correct data for times in the future.

2024a has been released.


Getting invalid_auth error on oauth.v2.access

Hello! First off, thank you for building this. I was banging my head against a wall trying to get their sdk to work with cloudflare.
I'm running into an issue trying to enable installation via a url. When I run the following I get an invalid_auth error. What's confusing me is that that's not an error code listed in slacks documentation.
All of the variables are defined (SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, code), and everything works right up until I try to call that oauth.v2.access endpoint. Do you have any insight?
app.get("/authorize", async (c) => {
  const botAccessToken = c.env.SLACK_BOT_ACCESS_TOKEN
  const SlackAPI = new SlackREST({ botAccessToken })
  return await authorize(c.req, c.env, SlackAPI)
})

....
// throws an error
const response = await SlackAPI.oauth.v2.access({
      client_id: env.SLACK_CLIENT_ID,
      client_secret: env.SLACK_CLIENT_SECRET,
      code: request.query("code")
    })

Taken from my production app (OpenSay).

  const url = new URL(request.url);
  const params = url.searchParams;
  const code = params.get('code');

  const oauthRes = await SlackAPI.oauth.v2.access({ client_id, client_secret, code, redirect_uri });

The invalid_auth error code is propagated from a response that is sent by Slack. It hints that the code param may be invalid. IIRC, the code param is generated per each oauth2 sign in, so make sure you use a fresh one. I added how we extract the code param at OpenSay.
Moreover, looks like you miss the redirect_uri param, it may also impact it..


Translate a Chinese document

Hello there! I am glad to see your project, I am also a video enthusiast, I want to keep up with the progress of your development, at the same time translate a Chinese document, Chinese video hobby developers to read, thank you!

Thank you so much! 👏 👏 👏  Since it's WIP I'll leave this PR open until it reaches more content.

@leandromoreira Thank you very much!

I checked the translated version,  it is a good start but @Tinywan need to improve  it very much.
Hi @Tinywan, did you translate the documents with tools such as Google Translate?
Just curious and no offence.
thanks anyway.

@johnking I'm afraid so. I think this PR can not be merged because there are still many problems with the translation. It looks like machine translation, the statement doesn‘t read smoothly and the proper noun is also incorrect.

@johnking Hi
Thank you for reminding, will be later.

I will stand with the @VincentSit. The translation is really confusing, especially these terminologies.