Available Gamepads aren't enumerated correctly

Hello
It looks like the GamepadInputCollection.AddGlobalDevices method has a bug in it when the player's gamepad is not the first device. It stops looking for devices after the first missing device, so if my gamepad is device 2 and nothing is plugged in on device one, I'll have no valid gamepads:(
Suggest something like the following instead, where the number of supported devices is either hard coded, or exposed as user or application data:
public void AddGlobalDevices()
{
    for (var i = 0; i < MaxSupportedDevices; i++)
    {
        GlobalGamepadInputSource gamepad = new GlobalGamepadInputSource(i);
        gamepad.UpdateState();
        if (!gamepad.IsAvailable) continue;

        this.AddSource(gamepad);
    }
}

I'm confused - how is it possible to have a device one, which isn't connected? Wouldn't device two become device one then?
What would I need to do to reproduce this?

In any case, I have committed a fix for this, similar to the one you suggested. :) I'm now checking a minimum of eight joysticks and gamepads, but more as long as they're reporting to be available.

Oops, sorry. Quite right, forgot steps to reproduce. Its quite easy, even with one gamepad.

Start Dualitor with your gamepad plugged in and registered as controller 1.
Unplug your controller while Dualitor is running then plug it back in. On my system at least, this causes the controller to be registered as controller two.
Restart Dualitor and see that it doesn't add controller two to the list of devices

Anyway, you've fixed it already, so its moot:) I've also seen some devices, Razor devices in particular, register themselves in Windows as gamepads but not pass the IsAvailable check in Dualitor, which answers how its possible to have a device one which isn't connected:)


Add configuration options

Update configuration per https://github.com/jeremylong/DependencyCheck/pull/635 to expose the additional settings.

would be possible to add an option to skip compile-only deps to?

I have validated that all file type analyzers are configurable within the gradle plugin.
@hypery2k in the HTML report you will find a line for each dependency that states:

Referenced In Project/Scope: compile, runtime

You can copy any of the scopes into the configuration:
dependencyCheck {
    skipConfigurations=['compile']
    format='ALL'
}

thanks, good to know


Update sbt to 1.4.4

Updates org.scala-sbt:sbt from 1.4.2 to 1.4.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!

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

labels: library-update, semver-patch

Codecov Report

Merging #728 (e2e8006) into master (1407759) will increase coverage by 0.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #728      +/-   ##
==========================================
+ Coverage   81.10%   81.40%   +0.30%
==========================================
  Files         114      114
  Lines        3986     3986
  Branches       93       93
==========================================
+ Hits         3233     3245      +12
+ Misses        753      741      -12

Impacted Files
Coverage Δ

...pes/src/main/scala/com/ing/baker/types/Value.scala
70.58% <0.00%> (+1.17%)
:arrow_up:

...e/akka/actor/process_index/ProcessIndexProto.scala
99.50% <0.00%> (+5.44%)
:arrow_up:

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 1407759...e2e8006. Read the comment docs.


Request: remaining fonts from George Douros

http://users.teilar.gr/~g1951d/Nilus.zip
http://users.teilar.gr/~g1951d/Gardiner.zip
http://users.teilar.gr/~g1951d/Anatolian.zip
http://users.teilar.gr/~g1951d/Maya.zip

Issue is N/A as per https://github.com/caskroom/homebrew-fonts/pull/373 - the fonts were taken down

Care to be the one to close it, @adityadalal924?


Incorporate pathing code for edge_type="line"

Right now, pathing codes are only given when edge_type="ortho". Though it is less important, it still might be useful to have a pathing code associated with straight lines. pathing.md will need to be updated alongside these changes.

Thinking about this now, I actually disagree. The pathing codes are generated when using either edge_type. It doesn't mean as much when edge_type="line" but they are still somewhat informative about the position of the nodes. The only instance I can see this for is "bubbles" (diamonds) but I don't think that it is worth changing things up just for that.


[fastlane] output contained in env

as proposed here: https://github.com/fastlane/fastlane/pull/6950#issuecomment-259813816

@milch feedback addressed.


Simple authentication doesn't work with MQTT 5

Environment

VerneMQ Version: 1.11.0-alpine (latest available for docker)
OS: Kubernetes / Linux
Erlang/OTP version (if building from source): N/A
VerneMQ configuration (vernemq.conf) or the changes from the default - Default
Cluster size/standalone: 1

Expected behaviour
Simple authentication using username and password must work using mqtt 5
Actual behaviour
I used MQTT version 5 to connect using username and password but when I use vmq-admin session show the --user column shows undefined, and it is affecting ACLs.
If I switch to Mqtt 3 it works.
I tested using nodejs mqtt client also java and python client to rule out client issues, all have the same result.
to reproduce
var mqtt = require("mqtt");

require('net').createServer().listen().addListener("listening", () => {
    var client = mqtt.connect("xxxxxxx", {
        protocolVersion: 5,
        username: "xxxxx",
        password: "xxxxx",
        clientId: "TESTCLIENTWEB"
      });

      client.on("connect", function () {
        client.subscribe("#", function (err) {
          if (!err) {
            client.publish("presence", "Hello mqtts");
            client.publish("presence", "Hello mqtts");
          }
        });
      });

      client.on("message", function (topic, message) {
        // message is Buffer
        console.log(message.toString());
      });
});

Execute in node
npm init
npm install mqtt
node index.js

@anaganisk Thanks, you either  found a pretty big bug or regression here, or I don't yet have the full picture.
But I can reproduce this, it seems:
➜  ~ mosquitto_sub -d -h <IP_ADDRESS> -p 1887 -u bla -P blu -t testing -i me -V 5

Client me sending CONNECT
Client me received CONNACK (0)
Client me sending SUBSCRIBE (Mid: 1, Topic: testing, QoS: 0, Options: 0x00)
Client me received SUBACK
Subscribed (mid: 1): 0

Get the session Pid: (we already see username is 'undefined')
➜  ~ sudo vmq-admin session show --client_id --user --session_pid
+-----------+-------------+-----------+
| client_id | session_pid | user      |
+-----------+-------------+-----------+
| me        | <0.745.0>   | undefined |
+-----------+-------------+-----------+

Attach to Verne and get the session state, to make sure it's not just the query in session show: (that second 'undefined' should be the username)
(VerneMQ@<IP_ADDRESS>)8> rp(recon:get_state(<0.745.0>)).
{st,#Port<0.40>,<<>>,vmq_mqtt5_fsm,
    {connected,{state,1,
                      {[],<<"me">>},
                      undefined,#{},[],
                      {{127,0,0,1},51092},
                      undefined,60,undefined,true,0,5,<0.748.0>,
                      {1623,912405,441207},
                      {1623,911985,4468},
                      undefined,true,100,prefer_local,0,false,vmq_reg_trie,
                      {cap_settings,false,false,false,false},
                      0,0,#{},#{},20,65535,0,0,#{},undefined}},
    {tcp,tcp_closed,tcp_error},
    [],false,<0.436.0>}
ok

@anaganisk questions for you: you do authenticate username/password, right? or is it just happening with allow_anonymous? also, do you happen to have tested this for older releases?

https://github.com/sponsors/vernemq

@ioolkos
Use im trying auth with username and password
allow_anonymous is set to on, we need few acls that allow for anonymous users and few for authenticated users, also we're using file base authentication,
as expected all the anonymous connections show up as undefined.
But when I connect with username and password, username shows up only for MQTT 3 or 4 connections, MQTT5 just shows undefined.
I tested it on 1.10.1, didnt work then upgraded to 1.11.0, didn't work here either.

@anaganisk okay, thanks for confirming.

https://github.com/sponsors/vernemq

@anaganisk Ok, so then there's a difference in how we implemented anonymous case for v4 and v5. This makes the bug much less critical (authenticated clients should have correct username, also with v5).
What we probably should do is have a consistent approach. MQTT v5 auth is a little bit different, so I'll have to check whether this is possible and makes sense.
Just to be clear (also for v4): allow_anonymous will completely shortcut authentication (not authorization). It will not check whether the provided username/pw is correct.

@ioolkos seems like you're right. If I set allow_anonymous=off and use username password authentication it works.
May be its worthy of a mention on the file based authentication docs since it may paint a wrong picture due to ACL example, until the issue is may be fixed.

@anaganisk see PR #1870

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages (.deb/.rpm/Docker) requires a subscription.

Fixed in 1.12.2


Drill page - New presentation

Drill page should look like this :

Should include all the info about the drill : equipment needed, number of players, space...

We could add a theoretical part under Equipment.


Docs: Fixing constr argument regex -> pattern // Typo

Change Summary
Fixing docs for constr, argument regex -> pattern. Fixed typo.
Checklist

[x] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

We should likely remove the "### Arguments to constr" section, and link the API reference.


how about add favicon.ico ?

Do you mean like http://httpbin.org/favicon.ico ?  Any image you have in-mind?

@javabrett yes.
I'm not a designer, maybe someone else could help to get one~~

https://favicon.io/?text=%3A%2F%2F%3F&shape=circle&fontFamily=Marck+Script&fontSize=64&fontColor=%23ff00bc&backgroundColor=%23000000

cool~

Create a new httpbin/static folder and put the icons there then change it here: https://github.com/requests/httpbin/blob/master/httpbin/templates/flasgger/index.html#L8


Update http4s-blaze-server, http4s-dsl to 0.23.2

Updates

org.http4s:http4s-blaze-server
org.http4s:http4s-dsl

from 0.18.26 to 0.23.2.
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!

Applied Migrations

github:http4s/http4s/v0_22?sha=v0.22.0
dependency:v0_21@org.http4s:http4s-scalafix:0.21.5
github:http4s/http4s/v0_20?sha=v0.20.11

Documentation:

https://github.com/http4s/http4s/releases/tag/v0.21.5
https://github.com/http4s/http4s/blob/v0.20.0/docs/src/main/tut/upgrading.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-minor, scalafix-migrations

Superseded by #2191.


Access to pre-trained un-pruned and pruned models

Can you please share your pre-trained pruned and un-pruned models?
Can we use pre-trained un-pruned model from some other source such as: https://github.com/kuangliu/pytorch-cifar

Thanks and regards,
Nivedita

sorry somehow i failed to respond to this.

unfortunately, i do not have the checkpoints available --- they are at my previous workplace, and I think they have erased them
in principle, yes. but my memory is quite incomplete. let me know if you have any trouble.


Bug report - Spurious Spike when Plotting Nodal Loads in ElastoDyn.

Spurious Spike when Plotting Nodal Loads in ElastoDyn.

To Reproduce

Steps to reproduce the behavior:

Compile OpenFAST 3.1.0 or any previous version with gcc. However, I have used V3.0.0 and older versions and seen the same result
Run NREL 5MW reference turbine case (included in Zip folder) with ElastoDyn DOF all FALSE, uniform inflow, no WakeMod, Steady AFAeroMod, remove tower effects (all settings are set up in the Zip folder). However I have tried with other reference turbines and seen the same result as with the 5MW.
Plot average ElastoDyn Blade moment or force (Eg:MLx) as a function of span
Average ElastoDyn blade moment or force shows a spurious spike at approx. 0.7r/R

Expected behavior

Expect the load profile along the blade to follow the overall trend. Spurious spike completely deviates from overall trend.
Screenshots, if applicable

Plot shows spurious spike in ElastoDyn nodal Load output MLx at approx. 0.7r/R span location.

OpenFAST Version

OpenFAST Version 3.1.0 - test_case OpenFAST files have been included in Zip File.
test_case.zip
******************************************************************************
********************
 OpenFAST

 Copyright (C)  National Renewable Energy Laboratory
 Copyright (C)  Envision Energy USA LTD

 This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
 See the "LICENSE" file distributed with this software for details.
 **************************************************************************************************

 OpenFAST-v2.0.0
 Compile Info:
  - Architecture: 64 bit
  - Precision: double
  - Date: Nov 27 2018
  - Time: 17:19:38
 Execution Info:
  - Date: 11/29/2018
  - Time: 10:52:28-0700

System Information (please complete the following information):

OS: <e.g. Ubuntu 14.04 or macOS 10.12>
Compiler: <e.g. GFortran 4.4>
Compiler settings: <e.g. CMake flags or other settings>

Additional context

Dear @JarredK21,
I see that you are outputting many other radially distributed outputs from ElastoDyn and AeroDyn; do you notice any issues with these?  Please share the other radially distributed plots if you have them.
You mention gcc.  Are you suspecting the problem is isolated to gcc or is that the only version you've tried?
Thanks,

Dear @jjonkman
I don't have access to the other plots. But I can tell you all the Elastodyn averaged loads FLx, Fly, Flz, Mlx, Mly, Mlz as a function of span had the same spurious spike at the exact same location. Aerodyn results did not have this issue.
No I don't believe this was a compiling issue, as I compiled OpenFAST v3.1.0 on NREL's EAGLE and had the same results.
Thanks,
Jarred

Hi Jarred,
I tried your input files with the official windows release versions 3.1 and 3.2 and couldn't reproduce your results (see figure below).
It could be a platform or compiler issue. To rule out a postprocessing issue, you can try the following:

adapt this postprocessing script (using your mainFST and output file), and plot the quantity dfRad_ED['B1MLx_[kN-m]']

try to open your outfile in pyDatView, then use the menu data > FAST radial average.

Let me know if you still see this weird spike. Feel free to send me your output file internally as well.
Emmanuel

There is definitely an issue with AeroDyn which is revealed occasionally by using different compilers and platforms. If I recall correctly it's related to the high-thrust correction but I never got the time to dive into it. You might be hitting this issue here.
If you have time can you compile the aerodyn driver (make aerodyn_driver) the same way you compiled openfast (the executable ends up in build/modules/aerodyn, run the test case attached, and see how the AB1N002AxInd signal looks like (see the differences enclosed).
Thanks a lot!
AD_Sine_Bug.zip

Hi @ebranlard @jjonkman
I ran the post processing code you recommended and that removed the spike. I don't know why. The code I wrote was simple enough. I extracted the channels using data = FASTOutputFile('NREL_5MW_Main.out').toDataFrame() then averaged over the time series and plotted as a function of span.

And when I ran the aerodyn module with the zipped files the result matched the Windows result.

@JarredK21 Thank you for trying these postprocessing scripts and trying this test case.
It turns out the test case I sent reveals a single vs double precision issue, I'll post about it in another issue.
I guess we can close this issue if that's alright with you.

Hi,
Yes this issue can be closed.
Cheers,
Jarred

From: E. Branlard @.>
Sent: Monday, August 1, 2022 4:10 PM
To: OpenFAST/openfast @.>
Cc: Jarred Kenworthy @.>; Mention @.>
Subject: Re: [OpenFAST/openfast] Bug report - Spurious Spike when Plotting Nodal Loads in ElastoDyn. (Issue #1204)
CAUTION: This email originated outside the University. Check before clicking links or attachments.
@JarredK21https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FJarredK21&data=05|01|jarred.kenworthy%40strath.ac.uk|35a3e28452e64ddb321508da740aaf62|631e0763153347eba5cd0457bee5944e|0|0|637949886482926682|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DBpHLuaAkBZQ%2Bu9KENc87rX5zTJY5uok%2F6U5a23%2FJaQ%3D&reserved=0 Thank you for trying these postprocessing scripts and trying this test case.
It turns out the test case I sent reveals a single vs double precision issue, I'll post about it in another issue.
I guess we can close this issue if that's alright with you.
—
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenFAST%2Fopenfast%2Fissues%2F1204%23issuecomment-1201776616&data=05|01|jarred.kenworthy%40strath.ac.uk|35a3e28452e64ddb321508da740aaf62|631e0763153347eba5cd0457bee5944e|0|0|637949886482926682|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=BVELMGNcp94ryfZy0h3om9cQue3R6FUIwl2kZKPb8C4%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAYBVKOJFC3PU4TDBS3U3YODVXBDOLANCNFSM55CH3HPQ&data=05|01|jarred.kenworthy%40strath.ac.uk|35a3e28452e64ddb321508da740aaf62|631e0763153347eba5cd0457bee5944e|0|0|637949886482926682|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=epSDuu9344x8eKWohe0%2FfDLR5KnwcwioiItf6oiu1WA%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>


Fixes related to bsky.social migration

This PR points the firehose consumer to bsky.network until the SDK is updated to include it as the new default (closes #4), and includes a fix from the SDK repo to ignore messages with empty blocks that get consumed for whatever reason.
I'm sure these particular fixes will make their way into the SDK at some point, but this will get feeds going until then! 😊

Thank you for your effort! I have a plan also to bring cursor migration with URI changes. Could you bring it with this PR pls? Idk something like if there is a cursor already in DB and it wasn't dropped let's drop it first and save the new one

Something like this? Might be a bit overkill, but allows for further migrations if requred


A small bug fix: Convert coordinates into float in _lookUp function

Hi,
I guess there is a bug in the application while working in web-service mode
If you make a http://localhost:3000/geocode?latitude=55.749087&longitude=37.620116 request (which is the POI coordinates within Moscow) the nearest city returns as follows:
{
    "geoNameId": "745407",
    "name": "İğdir",
    "asciiName": "Igdir",
    "alternateNames": "Igdir,İğdir",
    "latitude": "40.26633",
    "longitude": "35.62645",

 ...

}

Looks like kdTree.nearest() cannot work with strings because once you convert the coordinates into float, geocoder starts sending the right data:
{
    geoNameId: '524901',
      name: 'Moscow',
      asciiName: 'Moscow',
      alternateNames: 'Gorad Maskva,MOW,Maeskuy,Maskav,Maskava ...',
      latitude: '55.75222',
      longitude: '37.61556',

   ...

}

Regards, Vlad.

Perfect, thanks for the PR and the fix. Could I just ask you to fix the indentation as outlined below?
point = {
  latitude: parseFloat(point.latitude),
  longitude: parseFloat(point.longitude)
};

Sure.
Sorry, it my frst pull request.

Merged :-D Thanks a ton!


Add Orgs sharding for Blunderbuss

Using a pointer lets sharding determine whether a config had been provided so they can be properly compared. If one is not provided, this also instantiates one in setDefaults(), which is called following the sharding logic.
Migrated from:

https://github.com/kubernetes/test-infra/pull/29405

/ok-to-test

/cc


fix(Package): do not upload wheel to Github

:tada: This PR is included in version 5.17.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Discard photos & videos edits / adjustments

Photos and videos can be edited within the Photos.app itself. In which case it keeps a copy of the original, on top of which non-destructive edits are applied.
I propose to add a feature that will render the non-destructive edits, and make them permanent. What we need is a way to scan and select edited photos and videos, then discards the originals to have them replaced by their edited version.
That would be powerful to save on space, especially for edited videos. The best example is a 20 minutes video edited in-place to reduce it to 30 seconds. In that case the local database and the iCloud sync will still have the copy of the big 20 min videos to make it editable after the fact.

This feature might be related to these:

https://github.com/RhetTbull/osxphotos/issues/588
https://github.com/RhetTbull/osxphotos/issues/560
https://github.com/RhetTbull/osxphotos/issues/336

See #909
This is possible and would be a good option to include in #909. I've been working on a separate project that reverse engineers the private Photos APIs to enable this sort of thing but it's slow going due to other priorities.


Rename DurationTimeFormatStyle and DurationUnitsFormatStyle to add Test suffix

While I was here, also cleaned up minor styling.
resolves rdar://125511901, rdar://125569243

@swift-ci please test


Feature/error resource

We're not checking in the generated resource content anymore, could you remove it?


Floating point numbers should be allowed for step

Floating point numbers should be allowed for step attribute

Thanks 🙌


Count Text: JavaScript Error

Script does not run when installed. See attached error screenshot.

My bad. Script downloaded as HTMl file! Sorry.


Verify contracts on Etherscan

Found a useful hardhat plugin for this: https://hardhat.org/plugins/nomiclabs-hardhat-etherscan.html
You could set it up as part of the deploy.js script to verify the script post deploy. You could probably throw the deployed addresses into a text file and run through them as well, but for now I just ran this command through manually from each of the deployed addresses (from the pin in the Discord dev channel):
npx hardhat verify --network mainnet DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
And here's the results!
Successfully verified contract Active7DaysFundingCycleBallot on Etherscan.
https://etherscan.io/address/0xEf7480b6E7CEd228fFB0854fe49A428F562a8982#code
Successfully verified contract FundingCycles on Etherscan.
https://etherscan.io/address/0xf507B2A1dD7439201eb07F11E1d62AfB29216e2E#code
Successfully verified contract Governance on Etherscan.
https://etherscan.io/address/0xAc43e14c018490D045a774008648c701cda8C6b3#code
Successfully verified contract ModStore on Etherscan.
https://etherscan.io/address/0xB9E4B658298C7A36BdF4C2832042A5D6700c3Ab8#code
Successfully verified contract OperatorStore on Etherscan.
https://etherscan.io/address/0xab47304D987390E27Ce3BC0fA4Fe31E3A98B0db2#code
Successfully verified contract Prices on Etherscan.
https://etherscan.io/address/0xa9537Cc42555564206D4E57c0eb6943d56E83A30#code
Successfully verified contract Projects on Etherscan.
https://etherscan.io/address/0x9b5a4053FfBB11cA9cd858AAEE43cc95ab435418#code
Successfully verified contract TerminalDirectory on Etherscan.
https://etherscan.io/address/0x46C9999A2EDCD5aA177ed7E8af90c68b7d75Ba46#code
Successfully verified contract TerminalV1 on Etherscan.
https://etherscan.io/address/0xd569D3CCE55b71a8a3f3C418c329A66e5f714431#code

sweet.


Confusion about generalization of NeRF

Thank your great work！
I have some confusion about NeRF generalizability.
Your paper title says that only need a single image to synthesize novel image, and And what is the function of the pre-training weights you provide? Pre-training weights how you get them？
Are the pre-training weights used to extract the global and local features of a single input image, and then use NeRF MLP to obtain target view?
The original NeRF needs to input dozens to hundreds of pictures of a scene, and after training, it can generate any new perspective of the scene. Although you only input a single image, you train a network on the image data set to extract global features and local features. What is the difference between input many images in this original nerf?
Sorry, I don't understand the generalizability of NeRF, I'd appreciate your reply, thanks!

Hi,
Thanks for the question.
Vanilla NeRF takes xyz and viewing directions as input to the MLP.
In our case, it is more similar to PixelNeRF, where the MLP takes per-pixel image features in addition to the xyz coordinates and viewing directions.
You can think of the image features as additional embeddings to tell the NeRF MLP what each 3D point should look like.
Please let me know if you still have other questions.


Integrate Microsoft Azure AD with SAP Cloud Platform Cloud Foundry

Tutorial URL: https://developers.sap.com/tutorials/cp-azure-ad-saml.html

Step 1: Download metadata file from Cloud Foundry subaccount

Instead of manually piecing together the url for the saml metadata download, you can also navigate to "Security > Trust Configuration" and press the "SAML Metadata" action in the page header.

Thanks Collin! Button wasn't there when I created the tutorial - will adjust it :-)

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


General codebase refactor. [5]

This PR performs lots of little refactorings. The only things of substance are:

Move anything that gets things about the project (e.g. next sub or ses number) or a getters.py module
Add the new local_path  to `get_next_sub_or_ses_number() which will only search local path for next sub / ses.
add tests for the above change.

The rest is just adding type hints, line length changes etc.
The utils module is too big now and needs splitting up, but I will leave fro a future PR.
Relevant tests added and no docs required.

Thanks Niko! Fixed here


Added Microsoft Edge Beta version 91.0.864.41.

[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] Does your manifest conform to the 1.0 schema?

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

Microsoft Reviewers: Open in CodeFlow

/azp run


Define Integration of OGC API Coverages and OGC API Maps into eoAPI

We are planning to extend eoAPI with OGC API Coverages and OGC API Maps services.
We need to define how that integration will look like, so we can design and document the target architecture.
Acceptance criteria

[x] Recorded details of integration
[ ] Documented the target architecture

Based on my understanding, the architecture of the building block will look somewhat like this:

i.e. each library, eoAPI and Stacture+Terravis, is included in its own right in the building block and, in default configuration, provide a complementary set of endpoints. Stacture+Terravis connects to eoAPI's STAC API.

@j08lue @Schpidi @jankovicgd
I think this is already completed?

Correct, and documented here: https://eoepca.readthedocs.io/projects/data-access/en/latest/design/overview/


Fix issue 1536 to upgrade protobuf

This PR is just upgrade the protobuf version from 1.31 to 1.33, to fix issue #1536
Hi @odacremolbap @tzununbekov @sebgoa @sameersbn @FranBarrera
I created this PR just want to upgrade the protobuf version to fix vulnerability in current version.
Could you please take 1 min help to review and approve it? Thanks and appreciate.
Not sure if this project is still active, I like the idea of this project a lot, i'm happy to contribute more to this project.

Hi @wangshu3000 indeed this project is now inactive. We will not maintain it any further. Thanks for your interest however.

So if its no longer maintained by triggermesh, its probably worthwhile updating the website to say that, finding a comment in a random PR is somewhat unfortunate :-( There are no alternatives AFAIK to what triggermesh does in knative, so it would seem a fork supported by the O/S community is in order?


Add closing slash/tag support for path tags in svgs

Added path to emptyTags array so the minifier knows it can be self closing
Added tests to ensure expected behaviour for path tag (note: this also refactored one of the tests to use a phpunit data provider)

Hi @zaininnari,
Just wondering if there's an ETA on when you can have a look at this PR. I've updated both the code and the tests to support the path element for SVGs.

:+1:

I have forked the project and fixed main issues at https://github.com/raivisdejus/html-minifier
If you see any new issues, please let me know


Bug - Damage not apply since today

Hi, this is a great module, but today i wanted to try the module one more time before starting a campaign with a thaumaturge player and everythings seems ok but when i apply the damage to a monster (with the macro or by the character sheet) no weakness damage is apply (Mortal weakness or Personal Anthithesis) . I try last week and it worked fine.
Today i check if IWR is enabled. I uninstalled and reinstalled pf2e-thaum-vuln and socketlib. I deleted the folders then reinstalled. I try to launch a new world with only socketlib & thaum-vuln enabled but no damage apply in eithers cases.
I have :
Foundry v10.291
Pf2e 4.12.9
EV 0.10.7
Socketlib 1.0.13

Can you send a screenshot of your chat card showing that it's not working and check the console for errors? 0.10.7 was pushed 2 days ago and several people confirmed that it's working for them (including myself, I had a game last night)

Those warnings don't hurt anything (yet) and they're from target damage, not Exploit Vulnerability.
I think I see what happened, I'll try to push a fix out shortly.

I just create a new world, new tokens, only pf2e-exploit vulnerability and socketlib. I use the macro, select Mortal weakness and no weakness damages applies. I send you the console, i see no error message.

0.10.8 fixed it for me

I update, now for me, after using the macro, when i made a strike with a player token (not only thaumaturge token) it creates a weakness to physical to the monster that applies correct damages but not apply the good weakness (i Hit a Fire Giant with a 10 cold weakness).
And now, the weakness to physical apply ton every physical hits.

Found the issue, pushing another fix now

I'm not sure what the problem you're trying to have me fix now is? They are two separate instances of damage... mortal weakness gives them a weakness to the damage of your attacks, and the creature is also weak to fire... it's two instances of damage which both trigger weaknesses.
It's also built into the system's IWR...


[core] Upgrade dev dependencies

I wanted to test the latest release of JSS. What's your point of interest? I haven't changed a single dependency scope. All the update are in range of what we already allow.

Should I close the pull request then? I don't understand the methodology. I don't understand what leverage we have. Is our option not to upgrade, to gain what? The bundle size fluctuation seems OK to me. We have seen noise on that in the past. I wouldn't be worried about range fluctuation below 1%.

If you want to investigate size changes for a JSS upgrade then we should focus that bump. But if we want to merge that bump then we need to bump it in the package.json as well.

There is quite some entropy here. This change replicates whar new users get.

Is our option not to upgrade, to gain what?

To understand what is happening with this repository. Nobody said we shouldn't upgrade.

This change replicates whar new users get.

But not what current users get. If you're all about "entropy" then your goal should be to bump the package.json version not just the lockfile in order to not create different bundles. Remember: lockfiles are not published. Library installs with versions not pinned to exact versions are non-deterministic. This is fine if all dependencies follow SemVer. Alpha versions don't have a contract which is why we need to be careful with the changes.

I don't understand the methodology.

To upgrade a single package in workspace you can run yarn workspace WORKSPACE_NAME add PACKAGE_NAME. In this case yarn workspace @material-ui/styles add jss@next. The bug that you can encounter with yarn v1 is that the lockfile in the root workspace gets messed up.
In addition react-jss correctly pins jss@alpha to an exact version (see above about alpha versions and SemVer). So yes bumping jss in this context is a bit tricky. I'll try to bump the version and document every single step.

OK that's fine. I'm not interested in understanding what's happening, but I respect that you are. No need to rush the update.
Do you think that we should force a specific version of JSS? This could be an edge for us in case it goes wrong un the future. That seems to be a smart approach, for our specific situation.

Do you think that we should force a specific version of JSS? This could be an edge for us in case it goes wrong un the future. That seems to be a smart approach, for our specific situation.

Yes I think that should've been the default. Basically everything 0.x and -alpha or -beta should be pinned to exact versions because the major,minor,fix terms don't apply.


TextField hintText overlap

(using v0.12.2 of material ui)
When user types their input in the hintText persists.
My code:
export default class Login extends Component {
    constructor(props, context) {
        super(props, context);
        this.state = {
            username: null,
            errorCopy: null
        };
    }
    componentDidMount() {
        this._input.focus();
    }
    handleSubmit(e) {
        e.preventDefault();
        return;
    }
    handleChange(e) {
        let userInput = e.target.value;
        if (userInput.length === 0)
            this.setState({errorCopy: 'This field is required.'});
        else
            this.setState({errorCopy: null});
    }
    render() {
        return(
                <TextField
                    ref={(c) => this._input = c}
                    hintText="Username"
                    hintStyle={{color: '#fff'}}
                    style={{color: '#fff'}}
                    tabIndex="1"
                    value={this.state.username}
                    underlineFocusStyle={{borderColor:'#0159e5'}}
                    onChange={this.handleChange.bind(this)}
                    errorText={this.state.errorCopy} />

        )
    }
}

Seems to function fine when I remove .bind(this) from the handleChange. Not sure why that would affect it but I need that binding for validation.

you are never updating the state man, you have to update the state each time an user write something, so do this:
handleChange(e) {
let userInput = e.target.value;
if (userInput.length === 0)
this.setState({ errorCopy: 'This field is required.',  username:userInput   });
else
this.setState({errorCopy: null});
}
hope this helps

@erick2014 Thanks but even with that update the overlap problem still shows.

Have you fixed the issue? You recognized that you have to return the username in the state in the else-case, too, right?
handleChange(e) {
        let userInput = e.target.value;
        if (userInput.length === 0)
            this.setState({ errorCopy: 'This field is required.',  username:userInput   });
        else
            this.setState({errorCopy: null,  username:userInput});
    }

But even in the uncontrolled case (value={this.state.username} not set) I can't reproduce your problem.


Missing command error when setting cookie

When I do
    cookieMaster.setCookieValue('http://example.com>', 'cookie', 'value',
      function(data) {
          console.log('A cookie has been set');
      },
      function(error) {
          console.log('Error setting cookie: '+error);
      });
    })
```

I get this error instead of cookie being set.

Api v. 22, android 5.1.0

Not sure if that might be causing the issue, but try removing the ">" at the end of the host URL. It might be causing an error on Java side when trying to set the host for the cookie.


Make #callbacks{} Dialyzer friendly

Properly typespeccing record fields is a prerequisite for Dialyzer to be able to discover incorrect usage of the fields. A previous error in the master branch (calling a fun stored inside the state record with incorrect number of parameters - see b4603f5f74d44c48726dc875bc7b1019fda2c102) could've been easily avoided if the record field typespecs had been in place.

Outdated as of f6bda49d86e47763cba322af4396232117ad24a5.


[sc-16771] Add YAML template for SCIM SoR

This PR adds the YAML template for the SCIM SoR.

I've created the path relationships based on the discussions we've had so far. Please review the relationships extra carefully.
cc: @rlenglet, @nholbrook

@shash-sgnl to review the display names and other user facing content in the template.

@r-rakshith could you elaborate on what was tested and what remains to be tested?
If I were to use this template as is, fill in the required credentials and assuming the datasource is configured correctly, will I be able to ingest?

@r-rakshith could you elaborate on what was tested and what remains to be tested? If I were to use this template as is, fill in the required credentials and assuming the datasource is configured correctly, will I be able to ingest?

@shash-sgnl, I have not been able to test live the Groups entity and the relationships involving Groups entity. This is because there's no instance test SoR which currently has Groups resource. The rest of the template should be good to go.

@r-rakshith could you elaborate on what was tested and what remains to be tested? If I were to use this template as is, fill in the required credentials and assuming the datasource is configured correctly, will I be able to ingest?

Also, the support for specifying child entities in the YAML template is available only on dev at the moment.
cc: @ivanfong

@r-rakshith could you elaborate on what was tested and what remains to be tested? If I were to use this template as is, fill in the required credentials and assuming the datasource is configured correctly, will I be able to ingest?

Also, the support for specifying child entities in the YAML template is available only on dev at the moment. cc: @ivanfong

Staging should also support it after the release earlier


Can not update default card details anymore

This might be a rare case but it happened today for me, so i just want to share here maybe it worth to check. When creating Stripe customer:
Auth::user()->createAsStripeCustomer($token);

It created Stripe customer, card and associated them on Stripe but failed to update card_brand and card_last_four columns at my database. So when i call Auth::user()->updateCard($token); for same user it never updates because of following control:
if ($token[$token->type]->id === $customer->default_source) {
  return;
}

In case of database connection problem or something else when card details could not be updated on database, is it possible to add a new check inside control as:
if ($token[$token->type]->id === $customer->default_source) {
  if (! $this->card_brand)
    $this->fillCardDetails($token[$token->type])->save();
  return;
}

I am using Laravel 5.5 with Cashier 7.0

I think this problem occur because you are adding same card.

Yes same card, but still there must be a way to update card_brand and card_last_four columns when calling updateCard.

@ahalimkara what is mean of update same card? updateCard method only update value if the card was different from the last one.

In my first post, the problem was to unable to update database (card created and associated with customer at Stripe successfully). So user might use same card for purchase etc. but i will never set default card for customer in my database if i fail to add to database in first purchase. Or i need to do it manually. I just thought it might be good to have an extra check in updateCard method.

@ahalimkara Cashier manage everything if you go with proper documentation, whenever you create new subscription with this method
$user->newSubscription('main', 'premium')->create($stripeToken);
it will automatically did entry on database and same in the case whenever you updateCard method it will automatically update your card and make new card as default card and next time user won't need to purchase the subscription after plan expired , its automatically renewed if user won't cancel their subscription and if user cancel subscription and want to resume again than you can resume it with resume method if user is still Grace period, in short there is everything available in cashier, for more details read document.
https://laravel.com/docs/5.5/billing

Thank you @sagar-mi for information. The problem was not about usage of Cashier, it was just a suggestion and I think contributors understood what it is.

The card brand and last four should always be filled. If not, it seems that there was a hiccup on your end. You can always use the updateCardFromStripe to sync the card details again from Stripe.


my conntroller isnt in

when i open it i didnt find my conntroller

Is your controller connected to your computer?


layout db: Entries created using the LTF interface are not always editable with the python interface

In the Layout DB, it is not always possible to edit certain fields using the python interface (peewee) if they were created using the LTF interface.
For example, see the entry with component name allenby_cylinder created by @mondana using the LTF text interface. It is not possible to add/sever connexions for this entry (and others created using LTF). This is just one example, but this issue is general.
If the components are added using python (peewee), then there is no issue.
Traceback (most recent call last):
  File "add_allenby_outrigger_components.py", line 45, in <module>
    if __name__ == main():
  File "add_allenby_outrigger_components.py", line 42, in main
    fix_allenby_cylinder_name() # Fix barcode name of allenby cylinder
  File "add_allenby_outrigger_components.py", line 36, in fix_allenby_cylinder_name
    layoutdb_utils.change_component_serial_num(serial_num, new_serial_num, user_name)
  File "../utilities/layoutdb_utils.py", line 86, in change_component_serial_num
    component_id.save()
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 6532, in save
    rows = self.update(**field_dict).where(self._pk_expr()).execute()
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 1898, in inner
    return method(self, database, *args, **kwargs)
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 1969, in execute
    return self._execute(database)
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 2465, in _execute
    cursor = database.execute(self)
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 3142, in execute
    return self.execute_sql(sql, params, commit=commit)
  File "/data/user-data/pearlman/.conda/envs/layoutdb/lib/python3.7/site-packages/chimedb/core/connectdb.py", line 253, in execute_sql
    cursor = super(RetryOperationalError, self).execute_sql(sql, params, commit)
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 3136, in execute_sql
    self.commit()
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 2902, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 185, in reraise
    raise value.with_traceback(tb)
  File "/home/pearlman/.local/lib/python3.7/site-packages/peewee.py", line 3129, in execute_sql
    cursor.execute(sql, params or ())
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/cursors.py", line 148, in execute
    result = self._query(query)
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/cursors.py", line 310, in _query
    conn.query(q)
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/connections.py", line 548, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/connections.py", line 775, in _read_query_result
    result.read()
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/connections.py", line 1156, in read
    first_packet = self.connection._read_packet()
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/connections.py", line 725, in _read_packet
    packet.raise_for_error()
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/home/pearlman/.local/lib/python3.7/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
peewee.IntegrityError: (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`ch_data`.`connexion`, CONSTRAINT `connexion_ibfk_2` FOREIGN KEY (`comp_sn1`) REFERENCES `component` (`sn`))')

Just to be precise, components are not "created" through that interface, but https://bao.chimenet.ca/layout/add_component.php . The error  is surprising because almost all (maybe most)
allenby parts have already been created through that interface similar to many of chime components.
What is fix_allenby_cylinder_name? why change it?

Confirmed, this is the bug in the code. why are you changing those names. You should not change your names. Just tried in python and can fetch component called "allenby_cyliner".

@mondana I am not changing any names. You asked for an example of the bug that I encountered in the past, and that's what I am showing here.
Please ignore the script name fix_allenby_cylinder_name. This is not something I am trying to do.

To summarize, if you try to add a connexion to the component allenby_cylinder using the python interface, then you receive the above error. Again, this is because the component was not created using the python (peewee).

I just added a connection from allenby_site to LNA2643C in ltf and then accessed them in peewee. Try this: connections = layout.connexion.select().where((layout.connexion.comp_sn1=="allenby_cylinder") | (layout.connexion.comp_sn2=="allenby_cylinder")).execute();

This gives you 32 FSA connecctions on one side and LNA connections on the other side. Maybe try severing the LNA connection.

It doesn't work - I am unable to sever the allenby_cylinder and LNA2643C connection using python (peewee). Here's the result:
(layoutdb) [pearlman@frb-analysis pipelines]$ python remove_lna_allenby_cylinder.py
INFO:chimedb:Read-only connection to MySQL database at bao.chimenet.ca port 3307 defined by chimedb.config established.
INFO:chimedb:Read-write connection to MySQL database at bao.chimenet.ca port 3307 defined by chimedb.config established.
INFO:_db_tables:Severed no connexion.

I never have a problem for components that are created using python (peewee), so the LTF interface must create entries differently in the SQL database, which makes it incompatible for modification using the python tools.
For the Outriggers, we're going to be creating a large number of components, making connections, adding properties, etc..., so this all needs to be scripted.

I just tried to break the connection from allenby_cylinder <-> LNA2643C in Python and it worked. Original connexion created in LTF, parts created in web interface. Here is what I used:
from ch_util import layout
layout.connect_database()
from ch_util import layout
import datetime

connections = layout.connexion.select().where((layout.connexion.comp_sn1=="a                                                                      llenby_cylinder") | (layout.connexion.comp_sn2=="allenby_cylinder")).execute();
conn = layout.connexion.select().where(layout.connexion.comp_sn1=="allenby_cylinder", layout.connexion.comp_sn2=="LNA2643C")
layout.set_user("Mandana Amiri")
layout.connect_database(read_write=True)
layout.sever_connexion(conn, time=datetime.datetime(2021, 12, 8, 23, 55), notes="example to sever connections in peewee for aaron"                )
for x in conn:
  print(x.id, x.comp_sn1, x.comp_sn2)

So can you try the code above and give an example that does not work for you along with the error and a particular line. Please do not use scripts like remove_lna_allenby_cylinder.py, just the line in python that fails along with the error code, and attach the script if you wish (e.g remove_lna_allenby_cylinder.py)

One obvious difference that I am noticing, based on the layout db web output, is that your code seems to add an end date for the connexion but doesn't remove it permanently from the SQL database.

aha! You should not remove connections. You always put an end date to a connection. The database is based on an event-driven design, so we can retrieve the history of a component. If you remove from the database the history of that component is lost and that is undesirable.


Configuration error reporting reports wrong search location for MARC bibs in BibTransformer

If there is an error that prevents the BibTransformer job from finding the configured file(s), the error reporting indicates that the files could not be found in /data/items, rather than …/data/instances:
eg. 2022-05-09 04:04:56,861 CRITICAL        Files 050322_Laf_all_unsuppressed_bibs.mrc,050322_Laf_bibs_supressed.mrc not found in /home/ssm-user/client_data/migration_lafayette_college/data/items  __main__.py:79

Fixed this. Will come in the next release


Tapping/Touching the suggestions list while it scrolls closes it

Describe the bug
Tapping/Touching the suggestions list while it scrolls (in order to select an item or to scroll further) closes it.
Tapping/Touching the suggestions list while onScroll events are fired calls onTapOutside.
[x] By clicking this checkbox, I confirm I am using the latest version of the package found on pub.dev/searchfield
Expected behavior
Tapping/Touching the suggestions list while it scrolls doesn't close it
Actual behavior
Tapping/Touching the suggestions list while it scrolls closes it

Hello @Groseuros, Thanks for filing the issue.
This looks like a duplicate of https://github.com/maheshmnj/searchfield/issues/137, I intend to fix that issue this week Please follow up on that issue for further updates.
Closing as duplicate, Feel free to reopen the issue if I am mistaken..


feat: support additional newline characters

fixes #11

This is so kind of you. Thank you very much!

Awesome! I incorporated your fix so this PR I think should be ready now.


Convert all print() statements to use logging

Logging is better than print statements for passing around information to be used by us/developers. And they have more features.

I think we don't have any print statements used in any meaningful places. So will close this for now.


Feature/utils escape

Adding type stubs for the utils.escape module.  Thanks for making this!

Here is the source code: https://foss.heptapod.net/openpyxl/openpyxl/-/blob/branch/3.0/openpyxl/utils/escape.py

Thank you very much for the PR :heart:


add custom class to hide duplicated docs notification

Summary
Summarize the changes briefly, including which issue/ticket this resolves. If it closes an existing Github issue, include "Closes #[issue number]"
What are the specific steps to test this change?
For example:

Run the website and log in as an admin
Open a piece manager modal and select several pieces
Click the "Archive" button on the top left of the manager and confirm that it should proceed
Check that all pieces have been archived properly

What kind of change does this PR introduce?
(Check at least one)

[ ] Bug fix
[ ] New feature
[ ] Refactor
[ ] Documentation
[ ] Build-related changes
[ ] Other

Make sure the PR fulfills these requirements:

[ ] It includes a) the existing issue ID being resolved, b) a convincing reason for adding this feature, or c) a clear description of the bug it resolves
[ ] The changelog is updated
[ ] Related documentation has been updated
[ ] Related tests have been updated

If adding a new feature without an already open issue, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

tests running https://github.com/apostrophecms/testbed/pull/208


🧹 Switch back to GeekyEggo/delete-artifact

In PR #258 we switched to a fix branch of a fork of GeekyEggo/delete-artifact to get around the following error:
Error: HttpError: Resource not accessible by integration

After the fix is merged we should switch back to the upstream action.

Closed in #261


Fix for comparisons of categorical and an scalar not in categories

Up to now, a comparison of categorical data and a scalar, which
is not in the categories would return False for all elements when
it should raise a TypeError, which it now does.
Also fix that != comparisons would return False for all elements
when the more logical choice would be True.
Fixes the raised issue in https://github.com/pydata/pandas/issues/9836#issuecomment-92123057

Still asking why equality doesn't raise when comparing with a non-existing category.

@kay1793 This is consistent with what Python does for non-comparable types:
# python 3
In [1]: 'foo' == 123
Out[1]: False

In [2]: 'foo' > 123
TypeError: unorderable types: str() > int()

thanks.

merged via https://github.com/pydata/pandas/commit/35b20d8aaee40f1b33a7e71c15f3fd88ece2e7ae
thank you!


Add topic: application on adversarial robustness

Using the data generated by diffusion models in adversarial training can largely improve adversarial robustness

Thanks for the contribution! Actually, can you place it under section 2 for images? These methods seems to be more "general" than the specific domain applications in section 3.

Sure no problem, I just submit another pull request and will close this one, thank you!


Convert pubchem_mass to float

When trying to call pubchem_metadata_lookup(), the following error is being raised:

            pubchem_mass = results_pubchem[0].exact_mass
>           match_mass = (np.abs(pubchem_mass - parent_mass) <= mass_tolerance)
E           TypeError: unsupported operand type(s) for -: 'str' and 'float'

/Users/user/anaconda3/envs/omigami/lib/python3.7/site-packages/matchmsextras/pubchem_lookup.py:328: TypeError

This is happening because results_pubchem[0].exact_mass is a string and not a float.

@dianacarvalho1 I merged your fix and will do a small new release (0.2.3).
Please feel free to add your name/orcid to the CITATION.cff file!


The algorithm for walking through folders to find images is flawed

e.g.1 The file hierarchy is as follows:

level 1

level 12

image 1
image 2

level 2

image 3

If "Banners Folder "is the default， according to the current algorithm, ”image 3“ cannot be queried.
e.g.2  The file hierarchy is as follows:

level 1

image 3

level 2

level 22

image 1
image 2

If "Banners Folder "is the default，it can look up all the images.

Yeah it has a bug or two as I discovered. I actually reworked the path parsing a lil' bit and am gonna make a release later today with that change. It should mimic internal links now and that should help with some of that, so hopefully this fixes that


No mention of DM_BUYER_FRONTEND_API_AUTH_TOKEN in the documentation

DM_BUYER_FRONTEND_API_AUTH_TOKEN needs to match the one set for the search API app but this is not mentioned in the README.

This is incorrect. It has been renamed from DM_API_BEARER which is mentioned in the README. Closing this issue.

I'm not sure what you mean?  The auth tokens can be different for the search API and for the data API.
So:
DM_BUYER_FRONTEND_API_AUTH_TOKEN needs to be a token accepted by the DATA API
DM_BUYER_FRONTEND_SEARCH_API_AUTH_TOKEN needs to be a token accepted by the Search API

I mentioned my misunderstanding but having something like your explanation in the README would be great.

Sorry, I hadn't seen your comment when I posted mine - think they went at the same time!


Breaking changes from v2.2.1 to v2.2.2

There are undocumented API breaking changes from v2.2.1 to v2.2.2:
https://github.com/kamilkisiela/graphql-config/compare/v2.2.1...v2.2.2
writeSchema is no longer exported, and I for one was depending on it.
For example:
https://gist.github.com/jaydenseric/dccd8719ee41741df6d221815a0b0394#file-update-schema-js
The v2.2.2 release description “Same as v2.2.1” is frustrating:

Please:

Consider adding the removed APIs back in a v2 patch release.
Update the changelog file to reflect the currently undocumented changes.
Update the GitHub release descriptions.
Refrain from publishing versions with invalid semver regarding breaking changes moving forwards.

@jaydenseric I took released code from v2.2.1 and published that. Don't look at the tag on GitHub. Are you sure v2.2.2 has breaking changes because you checked in code or just on github?

Don't look at the tag on GitHub.

Why would the tag be incorrect? Very confusing.

Are you sure v2.2.2 has breaking changes because you checked in code or just on github?

I thought I had tested it out with a full installation, but maybe I read the changelog for v3 and couldn't see anything about writeSchema so I tried it out, got an error, then started walking backwards in the versions tagged in GitHub to see when it was removed. Because the GitHub tag for v2.2.2 doesn't match what was actually published, I thought that was when it was removed.
Just now I created a quick test installation of<EMAIL_ADDRESS>and a writeSchema function is indeed exported (without testing the actually functionality, but let's assume it works):
const { writeSchema } = require('graphql-config')
console.log(typeof writeSchema)

Here are the actual files published to npm:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
In light of this, I apologise for my tone when I said:

Refrain from publishing versions with invalid semver regarding breaking changes moving forwards.

In my defense I was tired at 8.40 pm on a Friday night, the changelog did not document which version had the breaking change and the GitHub version tag was incorrect.
Actionable:

Update the changelog file to reflect the currently undocumented changes in v3 (e.g. removal of writeSchema).
Update the GitHub release descriptions to match the changelog updates.
Correct the GitHub version tags.

closing due time


Autofilled card number is invalid

General information

SDK version: 3.69.0 hosted fields
Environment: Sandbox and Production
Browser and OS: Tested in Chrome 87, Edge 87, Firefox 84, Windows 10

Issue description
If you try to autofill a credit card by clicking on "Cardholder Name", "Expiration" or "CVV", the "Credit card number" will show as invalid.
Issue exists on my 2 completely different websites. One built with angular and the other with vanilla js. Issue also exists on all of the braintree demos https://developers.braintreepayments.com/guides/hosted-fields/examples/javascript/v3
Steps to reproduce...

Go to first braintree demo.
Click the "Cardholder Name" input, then autofill the card.
Click "Pay With Card".
See error "Credit card number is required".
Focus the "Credit card number" input and hit the space key.
See that "Credit card number" field is now valid.

Thanks for pointing this out! We'll get this fixed up. My guess here is the particular listeners we have in place to update the validity state aren't firing on the autofill code for the number field.

This should be fixed now in v3.71.0.

This should be fixed now in v3.71.0.


Unable to reach .edu.tw domains due to the government security policy

It seems like the Taiwan government made a policy blocking all the internet connection to .edu.tw domain coming from outside of Taiwan.
We will shut down the scheduled news email sending function until the problem is solved.
(Note) Heroku Scheduler setting: $ python src/daily.py | Daily at 10:00 AM UTC

Update: According to our further research, this issue is caused by the ip blocking policy of ischool.com.tw. Most of the schools are working again while 台中高工 seems to be still having the same issue. We've put the mailing service back online, and keep monitoring the system.


runtime: Ensuring support of debug.asyncpreemptoff

This came up during a routinely scheduled meeting between the Delve team and folks from the Go team and it was suggested by @heschik to open an issue about this to ensure it stays on folks minds.
Delve leverages the debug.asyncpreemptoff in order to disable the functionality on Windows [0] (where it won't play well with debuggers) and may use it on other platforms as well to disable the functionality when run under Delve [1] [2].
This issue is mostly to get feedback and assurance that we can rely on this feature for the foreseeable future.

Crossreferencing #36494

/cc @aclements @randall77

Likewise https://github.com/golang/go/issues/37126. This affects gdb also.

Thanks for bringing this up. I don't think there's any particular reason why this would go away in the future. There are a lot of benefits to cooperative preemption (mostly it's much cheaper when it works), so that's not going away, and the two systems are relatively orthogonal, so it's quite easy to turn off the async part.
One thing we may have to watch out for is doing optimizations that assume async preemption works. For example, it would be nice to more aggressively eliminate function prologues where we can prove the stack check isn't necessary, but that creates more situations where cooperative preemption isn't sufficient. Maybe we still can't do optimizations like that because of their impact on debuggers.
There's an idea I've been kicking around for a while... What if the runtime provided more of a debugger agent? I think you would still break in to a process using ptrace/whatever, and use DWARF for symbolization of data and source code. But the runtime could provide a debug API to the scheduler in particular, which seems to be where most of the friction is. For example, the debugger would probably still inject INT3s for breakpoints, but may handle them by immediately reflecting them back to the runtime: ask the scheduler to suspend that goroutine (or all user goroutines) and immediately resume the OS process, even though the user is still sitting at a debug prompt.

For example, the debugger would probably still inject INT3s for breakpoints, but may handle them by immediately reflecting them back to the runtime: ask the scheduler to suspend that goroutine (or all user goroutines) and immediately resume the OS process, even though the user is still sitting at a debug prompt.

I don't think this helps with the current issues we are having. For macOS the problem is that we are receiving signals at all, bouncing everything back to the process wouldn't make this faster it would just make breakpoints twice as slow. For linux we don't have any problems (that we know of) and this would just make breakpoints twice as slow. In theory it could help with the windows problem, however the debugger knows where the breakpoints are, while the runtime doesn't.

I'm not sure I understand why this would make breakpoints twice as slow. It seems like the same total work. Admittedly, this is only a rough sketch of an idea; there could well be important details I'm overlooking.

In terms of context switches between the debugger and the process we are currently doing one when we get the breakpoint signal if we make the process do some of the work it would be two context switches.
On macOS the biggest source of latency is communication between debugserver and delve and we have to do it every time we have to route a signal so that would at minimum make it twice as slow, possibly N time slower (N = number of threads) if the runtime has to send a signal to stop each thread.


From ZInfoType to finer approach extracting fields

We are moving from ZInfoType to finer approach and now can select exact fields with full path
Before we had to use intermediate ZInfoType with non-trivial regexp to extract data
Now we can do :
./eden info -o ztype -o devId -o InfoContent.dinfo.machineArch -o InfoContent.dinfo.network.devName

Actually this PR is not about removing regex, it just simplifying the internal logic to extract data from log/info/metric.

Hey @sadov -- thanks for your comment -- it is still not quite clear to me whether this is pure refactoring or it introduces some additional APIs?

Hey @rvs. Additional functionality concentrated in "print" functions: LogItemPrint, ZInfoPrint and MetricItemPrint. We can use them to select path of fields in message to print.
So, from cli point of view:
./eden info InfoContent.dinfo.SwList[0].PartitionState:'inprogress|active' -o InfoContent.dinfo.SwList[0].ShortVersion
will print 5.7.1-kvm-amd64(not the whole info object) for every info, with inprogress or active PartitionState. This is useful in tests to compare specific values.


Cannot add metada after upgrading to v3

After upgrading to v3 I get the following exception when adding meta data to an event:

Indirect modification of overloaded property Spatie\EventProjector\Models\EloquentStoredEvent::$meta_data has no effect

I tried to recreate with a clean Laravel install and also got the problem :
Steps to reproduce

Create a new Laravel  App
Add the package and export config
Run migrations
Add the test code below to your routes/web.php
Access your project Home Page

<?php

use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Request;
use Spatie\EventProjector\ShouldBeStored;
use Spatie\EventProjector\Models\EloquentStoredEvent;

EloquentStoredEvent::creating(function ($event) {
    $event->meta_data['ip'] = Request::ip();
});

Route::get('/', function () {
    Event::dispatch(new TestEvent());

    return 'ok';
});

class TestEvent implements ShouldBeStored
{
}

As an workaround, replacing the whole meta data array works:
<?php

use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Request;
use Spatie\EventProjector\ShouldBeStored;
use Spatie\EventProjector\Models\EloquentStoredEvent;

EloquentStoredEvent::creating(function ($event) {
    // **** CHANGED HERE ****
    $event->meta_data = ['ip' => Request::ip()];
});

Route::get('/', function () {
    Event::dispatch(new TestEvent());

    return 'ok';
});

class TestEvent implements ShouldBeStored
{
}

I got the idea to test this workaround from this issue (in Laravel repo) description:
https://github.com/laravel/framework/issues/7672

It seems to be an issue with Laravel. I tried the following to double check:

added a meta_data column to the users table and casted it to array
Changed the test code as follow

<?php

use App\User;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Request;
use Spatie\EventProjector\ShouldBeStored;
use Spatie\EventProjector\Models\EloquentStoredEvent;

EloquentStoredEvent::creating(function ($event) {
    $event->meta_data['ip'] = Request::ip();
});

User::creating(function ($user) {
    $user->meta_data['ip'] = Request::ip();
});

Route::get('/', function () {
    User::create(['name' => 'dummy', 'email' =><EMAIL_ADDRESS>'password' => '123']);
    Event::dispatch(new TestEvent());

    return 'ok';
});

class TestEvent implements ShouldBeStored
{
}

Now it fails before getting to the EloquentStoredEvent event listener.
I will open an issue in the Laravel framework

Also the docs for storing metadata in v3 are not updated to use the EloquentStoredEvent:
https://docs.spatie.be/laravel-event-projector/v3/advanced-usage/storing-metadata/
I can send a PR fixing it, but I want to know how we can handle this issue.
I am ok with the workaround, just want to confirm if there is not a solution on using the old way.
Thanks.

Ok, promise it will be the last comment for now...
Testes with a clean Laravel 5.8 install and it works as in documentation.
Steps:

composer create-project --prefer-dist laravel/laravel laravel58 "5.8.*"
composer require spatie/laravel-event-projector:^2.0.0
publish migration, run migration
Add code below to routes/web.php
Navigate to home page

Seems that something changed with how the meta data is handled. Unfortunately I don't have the time now to dig in, also there are a lot of commits between the versions.
I am ok with the workaround of reassigning the meta data array. Just want to raise the issue as it was the only thing preventing me to migrate a project to Laravel 6.
If the solution is to reassign the metadata array, please let me know and I will send a PR to the docs.
If you read until here, thanks for the patience. :)
<?php

use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Request;
use Spatie\EventProjector\ShouldBeStored;
use Spatie\EventProjector\Models\StoredEvent;

StoredEvent::creating(function ($event) {
    $event->meta_data['ip'] = Request::ip();
});

Route::get('/', function () {
    Event::dispatch(new TestEvent());

    return 'ok';
});

class TestEvent implements ShouldBeStored
{
}

@riasvdv could you take a look at this one?

@rodrigopedra I forgot to update the docs for this, they should now be updated to reflect the StoredEvent changes. https://docs.spatie.be/laravel-event-projector/v3/advanced-usage/storing-metadata/
Since we're now using a repository to store the events, you'll need that in your projector to update the storedEvent, if you want to use model events, you'll need to create your own repository that extends the EloquentStoredEventRepository and changes the model there.

@rodrigopedra I've made a PR https://github.com/spatie/laravel-event-projector/pull/191 that would make the upgrade a lot easier if you just want to use a custom Eloquent model

Hi @riasvdv thanks for the response.
Maybe due to the fact English is not my native language I might have expressed myself in a confusing way. Or might be due to the numerous messages.
Note I never said that I am using a custom model. It is just out of the box with minimal configuration. I don't even publish the config, just the migration file. In my production app I also do not use a Custom Model.
I'll try to be more objective.

This works on Laravel Event Projector 2.x and Laravel 5.8:
This does not work on Laravel Event Projector 3.x and Laravel 6.0:

$event->meta_data['foo'] = 'bar';

Executing the code above with version 3 of this package raises the ErrorException described in this issue's opening message. I updated my sample app to version 3.1 and it fails as well.
As a workaround the code below works with version 3.
$event->meta_data = ['foo' => 'bar'];

Note that the difference is that in this code I am reassigning the whole array to the meta_data property.
It is different from what worked before and is different from the updated docs.
If you want to try just follow the steps in this opening post. Besides running the migrations you need onlyt to modify the routes/web.php file. No custom config or custom models are needed .
I am ok if there is no solution to get the old syntax, from my research this is a limitation of PHP as the meta_data array is returned from a magic property (__get on Eloquent Model). This blog post  has some related links that describes why it should not work: https://phpolyk.wordpress.com/2012/07/25/indirect-modification-of-overloaded-property/
I couldn't figure out why it worked in the previous version, if you read in one of my previous comments I tested using a plain Eloquent Model with an attributed casted to array, and the same exception is thrown in Laravel 5.8 and Laravel 6. But somehow it worked for the meta_data from the model on this package.
In my real app, where I use this package I also do not extend the StoredEvent model. I updated to reassigning the whole array and not to setting the property as the example in the docs.
My question is if we can revert to the old syntax or if not, if we should update the docs accordingly. It would also nice to have tests. I don't know how to write them as I don't know what caused the behavior change.

Hi @riasvdv ,
Indeed adding the laravel-schemaless-attributes dependency solved the issue.
I created PR #194 to revert on using that package.
I outlined the reasons in the PR description.

You're right, I've merged the PR, hope everything is fixed then!

Thanks @riasvdv ! And thanks for the patience.


Newlines should create paragraph breaks when pasting text into a content area

From Bernhard von Stengel:
this is a feature, not a bug, on the "rich text editor box"
(Another bug that I cannot reproduce is that sometimes that
box has no vertical space to enter text and only shows the
options; easily remedied by making the box full screen. I
will try to note it once it happens.)
The following confused me on my Linux system and is more a
bug than a feature, but should be documented (it may be a
bit obscure, but I am happy to type that up, in a
documentation section on how to use the rich text editor
which I have not located yet; perhaps for the
not-yet-existing "question authoring cheat sheet"):
I tend to type longer text involving LaTeX in my local
editor (vim) first because the Numbas editor can be slightly
slow, and also because I am used to this editor.
Now, when I cut and paste (on my X display, with highlight
and middle mouse button, but also CTRL-C CTRL-V from gedit,
for example), line breaks are copied as  which (I had
to try this out) correspond to a SHIFT-RETURN key on the
keyboard, whereas the RETURN key creates a new paragraph.
The newlines look like paragraph breaks, but are not which
shows e.g. when you center a paragraph.
In order to get paragraph breaks, you need to copy a blank
line from the ASCII text.
I wonder if this is Linux-specific (where new lines are
indeed a single linefeed ASCII character LF), whereas DOS
has CR-LF linebreaks. I do not have Windows to test this.

Not going to do this. Feels like a lot of work for something that might feel quite flaky.


Why apply SGD on input feature X

in Section 3.2, this paper applys Stochastic gradient descent on input feature X, can input features be optimized? Can't understand the purpose of it.

Although X cannot be optimized, its derivative should be calculated since it is required in the calculation of gradients of filters according to the chain rule.


Feature: Implement ServiceFactory and Service interfaces

Implementation for #48

please fix merge conflicts @MrKraboom

@felixwortmann
conflicts were fixed in last commit


Added Chrome Extensions Tutorial

Web development - Chrome Extensions Tutorial & Tutorials
Description
I have added a comprehensive tutorial playlist on How To Build Chrome Extensions using JavaScript.
Closes #842
Type of change

[x] Adding a new Resource
[ ] Adding a new Category
[ ] Documentation enhancement or fixes
[ ] Website enhancement or fixes

Checklist:

[x] I read carefully CONTRIBUTING.md
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation

Screenshots (if appropriate):

What is this resourrce about? You added it in the Tutorial Section. Maybe you can it to the Youtube Playlist or Projects instead of tutorial?

@jfmartinz Added it to the Youtube Playlist section, kindly review

@jfmartinz @sanjay-kv please review, it's already been 3 days


feat: load workbox window with dynamic import

closes #354

@userquin: This may be a bit on a tangent - but how can I use workbox-window, notably the messageSW method from inside the page/window? I import and invoke registerSW from virtual:pwa-register. But workbox is initialized in the generated code and not attached anyway (e.g. window), so I can use it.

@strarsis check this https://developer.chrome.com/docs/workbox/modules/workbox-window/#advanced-bundling-concepts
You can use static/dynamic import, isn't working for you?: import { messageSW } from 'workbox-window'


new chain_config param: action return value limit

Change Description

Consensus change.
Currently action return values are limited only by CPU and max wasm memory which is 20MB.
We need to provide node operators a way to prevent users from filling their SHiP logs with noise.
This change includes following changes:

adding max_action_return_value_size to chain_config. default value is 256 bytes.
this config value is used in set_action_return_value host function:
adding wql-max-action-return-value command line option to rodeos with default value of 20MB.
it is used in set_action_return_value from rodeos/callbacks/action.hpp

Change Type
Select ONE

[ ] Documentation

[ ] Stability bug fix

[ ] Other

[ ] Other - special case

Consensus Changes

[x] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

For the record, max wasm memory is 33 MiB, not 20.

discarded due to develop merge issues (for history clarity purpose)
new PR: https://github.com/EOSIO/eos/pull/9451


Are the anchors described like [center_x, center_y, w, h]?

Excese me, I am confused about the code in 'code/run_SiamRPN.py' at 32 line:
ori = - (score_size / 2) * total_stride
I have tested the 'EAO' on VOT2016 and get 0.33. But if changed the code to this:
ori = - (score_size / 2) * total_stride + total_stride/2
I have got 0.42 of 'EAO' on VOT2016. Could you explain these for me?

You should run our code with python 2.
Your problem is:
In Python 3: ori = - (score_size / 2) * total_stride =-(17/2)8=-8.58=-68                    (No)
In Python 2: ori = - (score_size / 2) * total_stride =-(17/2)8=-88=-64                       (Yes)
In Python 3: ori = - (score_size / 2) * total_stride + total_stride/2 = -(17/2)*8+4= -64 (Yes)


NettyClientWorkerThread cpu 100%

issue
It 's a strange issue.
Tomcat application run normally A few hours until 3 NettyClientWorkerThread use 100% cpu.
jstack is bellow. there is no memeory error, but PooledByteBuf.deallocate action seems not work correctly.
I reserve 1G memory for netty direct memory, keep watching whether there is improvement.
Any idea will be helpful, thankyou.
jstack
"NettyClientWorkerThread_2" #15648 prio=5 os_prio=0 tid=0x0000ffff78104000 nid=0x67ef runnable [0x0000fffe4d1fb000]
   java.lang.Thread.State: RUNNABLE
	at io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue.poll(BaseMpscLinkedArrayQueue.java:340)
	at io.netty.util.internal.shaded.org.jctools.queues.MpscChunkedArrayQueue.poll(MpscChunkedArrayQueue.java:43)
	at io.netty.util.Recycler$LocalPool.claim(Recycler.java:262)
	at io.netty.util.Recycler.get(Recycler.java:158)
	at io.netty.util.internal.ObjectPool$RecyclerObjectPool.get(ObjectPool.java:84)
	at io.netty.buffer.PoolThreadCache$MemoryRegionCache.newEntry(PoolThreadCache.java:454)
	at io.netty.buffer.PoolThreadCache$MemoryRegionCache.add(PoolThreadCache.java:358)
	at io.netty.buffer.PoolThreadCache.add(PoolThreadCache.java:187)
	at io.netty.buffer.PoolArena.free(PoolArena.java:227)
	at io.netty.buffer.PooledByteBuf.deallocate(PooledByteBuf.java:171)
	at io.netty.buffer.AbstractReferenceCountedByteBuf.handleRelease(AbstractReferenceCountedByteBuf.java:110)
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:100)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:285)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1371)
	at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1234)
	at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1283)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:61)
	at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:370)
	at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at java.lang.Thread.run(Thread.java:748)

Netty version
netty-all 4.1.72.Final
JVM version (e.g. java -version)
openjdk 1.8.0_212
OS version
docker container 4C 4G
centos 7

hmm this might be a jctools bug. /cc @nitsanw .
@hxnan so can you confirm it basically is "busy spin" here and never return from the claim method ?

@hxnan also it seems the version you are using is not 4.1.47.Final. Beside this the JDK version you are using is super old. Please try to upgrade and see if it helps.

I suggest to:

upgrade latest Netty version
use a different method to collect stack traces eg java mission control or async profiler

I see that docker is used: how many cores and memory are dedicated to netty JVM?
Having 100% CPU cycle spent on that spin loop can happen if:

out of memory has happened while allocating a new chunk and the consumer think there's some more element to consume that's never been set
there's few cpu cycles available and producer and consumer compete for it

In both cases the previous question related memory/CPU dedicated to the JVM is key to determine the cause

Having 100% CPU cycle spent on that spin loop can happen if:

out of memory has happened while allocating a new chunk and the consumer think there's some more element to consume while the producer has failed to set it
there's few cpu cycles available and producer and consumer compete for it

@franz1981 I agree... I wonder if we maybe should also "limit" the number of loops we want to do in this case. Here we could just not return a recycled object.

I have taken another look at the queue code and

Having 100% CPU cycle spent on that spin loop can happen if:

out of memory has happened while allocating a new chunk and the consumer think there's some more element to consume while the producer has failed to set it

Is not correct, given that I have been the one fixing that bug on JCTools :P so out of memory is not an issue, but lack of CPU time to the docker container, yep

@normanmaurer
We can use relaxed poll instead of poll if the available cores are just 1 but sadly with docker you risk to have N cores with very few real available CPU cycles

@chrisvest and probably this loop can change as well
https://github.com/netty/netty/blob/d5faba2fbeb7da65daa0a10f41560f47443c1026/common/src/main/java/io/netty/util/Recycler.java#L263
If we cannot find any in the queue and no available we can just move on, making it wait free?
To make it a but more container-friendly wdyt?

Having 100% CPU cycle spent on that spin loop can happen if:

out of memory has happened while allocating a new chunk and the consumer think there's some more element to consume while the producer has failed to set it
there's few cpu cycles available and producer and consumer compete for it

@franz1981 I agree... I wonder if we maybe should also "limit" the number of loops we want to do in this case. Here we could just not return a recycled object.

UPDATE
I corrceting the netty verion (netty-4.1.72) and jdk(1.8.0_212) version.
It is an enterprise application, difficult to upgrade the jdk version.
There are 4 cores in container.
Three thead(NettyClientWorkerThread) keeping use (98% ~ 100%) cpu, all send data action is fail.
One thread do other things.
I did not reproduce the issue in test environment with stress testing,
I have no idea about the cause, but one thing can be sure,  out of memory is not the cause, PlatformDependent.usedDirectMemory() show the direct memeory usage is stable，a few increase only, and there is no memory exception log.

@hxnan is this x86 or arm machine ?

Hi :-)
@franz1981 :

use a different method to collect stack traces eg java mission control or async profiler

If the application is indeed stuck at the stack described, jstack should be OK. The line in question is in poll :
        final long offset = modifiedCalcCircularRefElementOffset(index, mask);
        Object e = lvRefElement(buffer, offset);
        if (e == null)
        {
            if (index != lvProducerIndex())
            {
                // poll() == null iff queue is empty, null element is not strong enough indicator, so we must
                // check the producer index. If the queue is indeed not empty we spin until element is
                // visible.
                do
                {
                    e = lvRefElement(buffer, offset);
                }
                while (e == null); // <---- We're stuck here, line 340.
            }
            else
            {
                return null;
            }
        }

This would imply a fault in producer code where the pIndex has moved and no element was made visible in the queue. We have tests covering these paths, and this is a very well used part of JCTools. But concurrent code is hard to reason about, so there might be a bug in here somewhere. I've re-read the code, but can't see anything. I've also re-run the tests for longer concurrency periods and with a queue setup matching the Netty defaults for the pool, but can't reproduce the issue so far.
Alternatively, there might be an issue here with JDK. JCTools has been known to trigger JDK concurrency bugs in older versions, and you are on a 2 year old JDK here. I will run our tests with the version above and see if I can reproduce.

I'm testing on Zulu 8u212, macOS, running with 60 producer threads and hitting the tests for 100 seconds. I can't reproduce the issue. @hxnan It would be good if you could provide a reproducer for us to debug.

@nitsanw I see a case where it could happen, but tbh it involves and out of memory to happen while adding a new chunk, due to the fix I have added to handle OOM some time ago:

producer detect a new chunk is needed and set parity bit
consumer check producer index != consumer index
OOM on producer while resizing (before setting JUMP) makes the producer to rollback the parity bit change
consumer is stucked forever awaiting the JUMP element to be set

The user reported no OOM but tbh, beside JDK bugs on concurrency primitives I don't see how cases that can make it happens

@franz1981 good catch! This is worth considering a fix for

Thanks @nitsanw, so considered they got 3/4 cores 100% busy on application code, having just a single core left for both compiler and GC threads sounds a recipe for OOM...
I think they should better check if oom is happening, because I see they regularly check for Netty pool used Memory that's more related to direct memory exhaustion not heap one

@hxnan can you please check if out of memory isn't happening? You can easily check by adding a JVM option to exit on oom. If you have an option to restart the container it shouldn't be a problem.
https://github.com/netty/netty/blob/d5faba2fbeb7da65daa0a10f41560f47443c1026/common/src/main/java/io/netty/util/Recycler.java#L65 has introduced a system property  to

@hxnan can you please check if out of memory isn't happening? You can easily check by adding a JVM option to exit on oom. If you have an option to restart the container it shouldn't be a problem.
https://github.com/netty/netty/blob/d5faba2fbeb7da65daa0a10f41560f47443c1026/common/src/main/java/io/netty/util/Recycler.java#L65
has introduced a system property to set the chunk size of the JCtools queue used on the recycler and if it's changed to be high enough, the recycler won't allocate new chunks, but reuse the existing one over and over, making the issue on OOM I have mentioned less likely to happen; this can be a potential workaround while awaiting a fix to land (although I strongly discourage keep running any Java application after a OOM).

It is  arm machine.
I will set -Dio.netty.recycler.chunkSize=73400320  and try.
70MB should be enough.

I would try with something much smaller (eg 1024128 or 10241024) because that's the capacity of a single chunk used a the linked list made of arrays, hence the memory footprint is way higher then 70MB.
Anyway, this change become relevant just if the issue was caused by a OutOfMemory: did you find any?

@nitsanw

It is arm machine

So maybe it is a JDK bug on concurrency primitives or in our code.
Maybe in putOrdered/lazySet? I don't have any arm to try it sadly

You can use Oracle Cloud. They provide Linux ARM64 VMs for free!
You can use my article as a guide, just skip the Github Actions related stuff.

I'll have a go at reproducing on an ARM setup with the tests we have.

Awesome!
So set -Dio.netty.recycler.chunkSize to a bigger value is a valid workaround？
Or upgrade to a  specified version ？

@hxnan

Anyway, this change become relevant just if the issue was caused by a OutOfMemory: did you find any?

Depends by this: did you see an OutOfMemoryError in your application?

The issue does not reproduce in tests AFAICT.
Tested with Zulu build for macOS/arm 8u302, and on Ubuntu with Zulu build for Linux/arm 8u212.

We work around this issue by set the netty version to 4.1.69.Final.
The issue not happned until now.

@chrisvest maybe the issue is on the new recycler code? Or...the issue is triggered by the interaction between the new recycler and JCTools queue; the easier way to find it out would be:

reproduce it
opt-out JCTools queue in the recycler code with some sys prop (probably running with no unsafe will work the same) and see that happen

@franz1981 sounds like only @hxnan has been able to observe the problem, so the opt-out will have to be included in a release, unless @hxnan is fine with deploying a snapshot version.

@franz1981 @hxnan See https://github.com/netty/netty/pull/11972

I have re-read the whole issue and the phrase that ring some bell on my brain is

run normally A few hours

So, assuming JIT get hot much before that it doesn't seems something related the JVM itself really
@hxnan you said jstack report
https://github.com/netty/netty/blob/d5faba2fbeb7da65daa0a10f41560f47443c1026/common/src/main/java/io/netty/util/Recycler.java#L262 but maybe the issue is that the loop on
https://github.com/netty/netty/blob/d5faba2fbeb7da65daa0a10f41560f47443c1026/common/src/main/java/io/netty/util/Recycler.java#L263 has accumulated a long backlog of not available to claim handles, causing many polls in a row to happen, is it possible @chrisvest ?
This would cause jstack to report poll and specifically the element consumption on the queue as the most relevant/costy method called, because it causes a cache miss while reading the next element to be consumed.

The availableToClaim() and toAvailable() methods are sanity checks that guards for the same handle somehow ending up in the queue multiple times, and from being claimed multiple times. So availableToClaim() should always return true for any non-null handle.
The queues are also bounded by a max capacity, which is 4096 by default, and it should be possible to loop through that quite quickly, and not look like a persistent busy-spin except on very small time scales.

A workaround was merged via https://github.com/netty/netty/pull/11972. That said I still suspect its a JDK bug which would be fixed by upgrading your JDK @hxnan

@normanmaurer  #11972  not resovle this problem。 and netty 4.1.69 is ok

@johnyannj What does the debug logging say about io.netty.recycler.blocking?

Sorry， I cant get it now。
It is recommended to reopen the current issue because the issue has not been resolved.

Awesome! So set -Dio.netty.recycler.chunkSize to a bigger value is a valid workaround？ Or upgrade to a specified version ？

Set this env ： -Dio.netty.recycler.blocking=true ， it‘s work for me  when use the netty version >  4.1.68


proposal: runtime: use MADV_REMOVE on Linux

Starting with Go 1.12, the default configuration utilizes MADV_DONTNEED, but this doesn't guarantee that the operating system will immediately reclaim the memory. In containerized environments where resources are scarce and limits are set relatively low, there's still a high likelihood of running into an Out Of Memory (OOM) situation.
To address this issue, an option can be added to support MADV_REMOVE, allowing the reclaimed memory to be promptly returned to the operating system. This solution is particularly suited to scenarios that are sensitive to memory usage but not as concerned with efficiency.
For more detailed information on this subject, you can refer to the Linux man-pages: Linux man-pages.

cc @golang/runtime

cc @golang/runtime

thank you

There is no API change here so taking out of the proposal process.

I don't think MADV_REMOVE applies in this circumstance. From the man pages you linked (emphasis is mine):

The specified address range must be mapped shared and writable.

All the Go runtime's mappings for the heap are private anonymous mappings. This madvise flag seems geared specifically toward memory-mapped files.
I'm not sure if this does exactly what you want, but on Linux platforms that don't support MADV_DONTNEED or MADV_FREE, the runtime will remap the pages (not unmap, just map over them again). In any case, I think it's unlikely that we'll add a new knob to select which madvise to use. The existing GODEBUG is already kind of an accident: it was only added because switching to MADV_FREE specifically caused problems.

In triage now, I don't think this is actionable, unless I'm misunderstanding the requirements of MADV_REMOVE. Closing for now.


Added method to do root checks but ignoring the busybux binary and up…

…dated readme / javadoc to match

Dang those .iml files


Test fixes

This PR fixes a couple of annoying issues that were preventing the tests from passing. All appears well now on both Python 2 and Python 3. I also got sidetracked and made a few other minor changes/tweaks, but nothing important.

Was adding the --upgrade to pip install in the Travis build the root of the problem?

Yes--travis was caching pip packages from previous builds, so IndicoIO wasn't upgrading, and its older version broke on Python 3. (There was also a separate bug having to do with MultiIndexing that I introduced in one of my last PRs, but I fixed that one too.)

Changes Unknown when pulling ebd00b1b7db7fa0715757669b0135ab24d26de32 on test-fixes into ** on master**.

Just fixed the minor merge conflicts introduced by the last PR, so feel free to merge this whenever you have a chance to review it (or request changes).

Coverage decreased (-0.2%) to 77.328% when pulling 6355d69e03252f0802d49d6b16d59d41499ec5c7 on test-fixes into efc33e7b281eeacbcfb9e35f799d4f7ac08648dd on master.


Upgrade to Boot 2.3.2 and Spring Cloud Hoxton SR7

Coverage decreased (-0.06%) to 93.125% when pulling d86abe9113b5d2c15e00340792aa249eb8bcf4fd on tgianos:boot23 into 18407b75e62909f2b8c986fd1eb4ca747c1f2bf9 on Netflix:master.

See #1034


wasm: cmd/asm test has been flaky on wasm builder

cmd/asm test has been flaky on wasm builder for a while. For example,
https://build.golang.org/log/e9777631c449354459ab95a76f8c6e3e0110c468
https://build.golang.org/log/35784fb64c82e732ef2c02b4596679f8eea429d3
It's mostly assembling for ARM or ARM64. Sometimes it just failed to assemble, and sometimes  it got a lot of wrong output or even junk data.
It doesn't look like a problem of cmd/asm, as it works fine on all the other platforms.
It seems like memory corruption that is Wasm specific, but it looks weird to me that it always happens on cmd/asm, which is by no means special, and is not a very intensive stress test. (For example, it never fails at cmd/compile, which shares a lot of code with cmd/asm.) Maybe something related to the file system, or reading output from child process?
I have not looked into it.

Thank you for this report @cherrymui! Kindly paging @neelance


If coercion fails, replace value with null and don't raise error

What version of Ajv you are you using?
v8.12.0
What problem do you want to solve?
I rarely want validation to fail, as I am using ajv more as a schema-driven transformation tool, and some errors occurring in parts of the tree of data are okay. e.g. Failing required should raise an error, but if a type coercion (eg. 'abc' -> number) doesn't work then in that specific case I'd rather just replace the value with null
The original plan was to use allErrors and then in the output, find type errors and use the path to update the data (replace 'abc' with null)... however I do make use of allOf, and when there is a failed type validation in an object property, the whole object is coming back as an empty object.
What do you think is the correct solution to problem?
Make the codegen component configurable. Specifically here, I'd like to replace the value with null instead of reporting the type error:
https://github.com/ajv-validator/ajv/blob/325ac9a6396baed3eaf588ee80aed3b1f23d12dd/lib/compile/validate/dataType.ts#L81
Will you be able to implement it?
I could try, for now I might try to monkey patch the library at runtime or use the patch-package library. Thought I would raise an issue first to see if you had any other suggestions

A simpler overall solution is to use a custom keyword that does the transformation you want and control the order of it with allOf. The solution I would generally use is two-tier validation - first do structural validation using JTD, and then semantic validation in code, changing the type of both steps (in case you use typescript).