Updates for net9.0

Context: https://github.com/dotnet/android/commit/dbdc5fadca60b79518739fea49bdfee58a748bf0
Context: https://github.com/xamarin/xamarin-macios/commit/448999982c0ded46f4d7d13a99ddb118b6a5404c
Updates samples and template to target net9.0, using the new
@(AndroidGradleProject) and @(XcodeProject) build
actions added to the .NET MAUI SDKs.
The  CommunityToolkit.Maui.NativeLibraryInterop.BuildTasks project
has been removed as it is no longer relevant for net9.0.

Aside from some CI changes here this is pretty much ready to go when GA is out, going to add some folks for review

Curious: does this PR require objective sharpie still? Or is that transmogrified part of dotnet9?

This PR is useful - but I will use the issue thread to get the correct sharpie bind magic command instead to not conflate this PR thread any more.
Thank you @pjcollins .

LGTM!!!
question: sharpie generates the macios API as "GetStringWithString" - previously, it would just generate it as "GetString" though (so there was no need to manually change what was generated to match). just curious if you have any idea why we didn't have to before?

I don't think anything here with respect to sharpie output should have changed, but we have manually touched up most of the ApiDefinition files that are included in this repo


Turn the anisotropic filtering setting into an enum

Since it only accepts power-of-two values, exposing it as an enum makes more sense. This also allows for adding property hints to indicate the performance cost of each value.
This also improves property hints for MSAA and FXAA.
Note: Not eligible for cherry-picking, as the way anisotropic filtering is handled was changed. Moreover, this change would break existing settings if they were changed from the default value.

Thanks!


Writing ~ in SQL editor

In future releases perhaps you would consider that in the SQL editor you can write the very common regex symbol ~ by pressing Alt 126 keys

thanks for suggestion

seems it is already implemented


Accessibility changes in file-input

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

Why is there a change in fileinput runtime spec ? This PR should only include v2 and v3 runtime spec
Any code removal in file input runtime spec would mean there is a backward compatibility impact

As of now, we are running these tests against V3 file-input so we have to check for span or button in test case to prevent it from fail(As we have replaced span with button in V3). Ideally we should have 3 collaterals for v1, V2, V3. While I will be picking this incrementally, can we get this pr merged for now as it is backward compatible

Why is there a change in fileinput runtime spec ? This PR should only include v2 and v3 runtime spec
Any code removal in file input runtime spec would mean there is a backward compatibility impact

As of now, we are running these tests against V3 file-input so we have to check for span or button in test case to prevent it from fail(As we have replaced span with button in V3). Ideally we should have 3 collaterals for v1, V2, V3. While I will be picking this incrementally, can we get this pr merged for now as it is backward compatible

The current test suite shouldn't undergo any alterations; otherwise, it might disrupt the existing use-case. The current PR should solely incorporate the test suite changes specific to v2 and v3, as the v2 specification is currently missing.

fileinput.runtime.spec.js should not have any change apart from the page URL. Please fix this
@rismehta only the page url has been changed in fileinput.runtime.spec.js, only .cmp-adaptiveform-fileinput__filedelete' has been removed because it was not implemented in v1.


MM-16442: finish deprecating has_reactions

Summary
This bit is no longer emitted via a websocket event on a post edit, making it inaccurate to use when the first reaction is added (or the last reaction removed).
Ticket Link
https://mattermost.atlassian.net/browse/MM-16442

I'm introducing a helper method in redux to compute whether a post has reactions or not and seamlessly taking into account servers without post metadata. Technically, we could keep this change for the webapp since they are typically both deployed together, but for consistency, I'll reopen a new PR to leverage the helper method. This would also improve the experience for customers hosting the webapp on a CDN and upgrading each independently.


Fail if doesn't check

Checklist:

[ ] Tests were added for the new behavior
[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

oops, sorry, didn't see this one before I made mine.

No worries, yours was much better! 😀


Resource Owner/Password Credential for OAuth2

Implement the Resource Owner Password Credentials Grant.

+1

May I ask how the authentication flow of this grant will be?
What I have in mind based from reading the updated code and reviewing the Authorization Code grant is as follows:

The client will connect to http://your.app.com/oauth2/token
Kong redirects this request to an upstream server that will check if the client id, username and password fields are valid.
This upstream server would send a post to Kong's your.api.com/oauth2/authorize to authorize the client.
Kong then sends a response back to the client with the generated access token, refresh token, and expiry time.

Is this correct or am I missing out something? Thank you!

@givmefive5 it works in a similar way, just slightly in reverse order:

The client will connect to an endpoint on your side, sending a bunch of OAuth2 parameters including username and password.

You validate the username and password, and if they are correct, your make a POST request to Kong on the /oauth2/token endpoint sending all the parameters that the original client has sent, plus the provision_key (a secret that identifies it's you making the request) and authenticated_userid (a custom ID that identifies the user whose username and password belong to.

Kong will generate a JSON output

That you will just send back to the client as it is.

Thank you for that explanation.
Regarding the authenticated_userid, can it be just the same as the user's username?
Also, can one API be an endpoint for all user authentication? What I am thinking is that I want to have an Accounts API that manages the users for all my other APIs (Let's call one API in this as API 1) since they basically have the same users.
As the client, can I call the oauth2/authorize of the Accounts API but the Accounts API would send a POST request to API 1's oauth2/token to generate an access token for the client to use the API 1?
Thank you very much!

Thanks @thefosk !
Another thing, just for clarification, provision_key only checks if the request for an access token came from a valid API right? We can still use the generated access token across all APIs under Kong and not just for the API that owns the provision key right?

authenticated_userid can be any value that will allow you to identify the user later by reading the X-Authenticated-Userid header. In the docs we recommend using an ID because sometimes the username can change, while the ID should always be the same.

The provision_key is not part of the OAuth 2.0 flow per-se. During the provisioning process your backend will talk with Kong, and the provision_key is just a secret key that makes sure it's really you talking to Kong and not a malicious user.
The final client/application will never have anything to do with the provision_key.

Thanks @thefosk !
This is just what we need for our project. Looking forward to your next release with this grant type in it!

Thanks @thefosk ! This is exactly what we need. Looking forward to your next version release with this!

:hand: hive five!

how are we creating username and password for Resource Owner/Password Credential for OAuth2 in KongApi?


Update toolchain and std4

A bit longer of an upddate. There were a few naming conflicts and redundent functions provided by other sources. I am a novice with Lean, so changing the names of shiftLeft and shiftRight was the only way I knew to get around the namespace conflict from Int.shiftRight.

Are those conflicting with std4 or core Lean?
In either case:

Can we use the definitions we're conflicting with? Are they compatible?
If not, let's just pick a different name altogether. What would you propose?

Updated for that. We will have to update the LSpec repo for pathing changes too so we can fix this build error. There is a pull request for that. https://github.com/lurk-lab/LSpec/pull/43

Thanks!!


request help: how to allow APISIX config more Nginx-built-in directives?

Issue description
recently I am transfer some of my old Application from pure nginx into
APISIX, but I meet a some issue about Directives configuration,
for exmaple: in nginx.conf we have a config
underscores_in_headers on
which allow nginx take underscore in head , while some of our old
application count on that feature.
but after  we transfer it into APISIX in docker, we are not allowed to
edit nginx.conf mannuly
Environment

apisix version: master
OS: Centos

I think again and feel that supporting nginx instructions does more harm than good.
This will bring a lot of flexibility, but it will also affect the plug-in running effect of Apache APISIX, which will cause a lot of trouble for debugging.

I think again and feel that supporting nginx directives does more harm than good.
This will bring a lot of flexibility, but it will also affect the plug-in running effect of Apache APISIX, which will cause a lot of trouble for debugging.

Agree with the above mentioned.


Need to be able to change ACL on the fly through slack

Currently I don't know any other way to edit acl than config.py.
This won't work for a large scale automated deployment and is really klunky for users.

All permissions are handled by Planning Center now so I'm closing this.


Update README.md to account for new makefile setup

@allanwind The make install stuff wasn't merged afaik, but i've made the other changes you suggested including mentioning the clean up stuff. I also added firmware install instructions linking to the kinesis QSG

That's a good idea, i'll do that, documentation isn't really my strong suit so i appreciate the advice :)

I find it hard, too :-)

Thanks for the advice. I wanted to give enough information to make it easier, although I can see how it can look quite complicated, it's a hard balance to walk. I think I'll leave it as is


 For now, it will have the "Heat Pulverizer" mode and the "Light Eater" modes. Heat pulverizer is a very powerful vacuum freezer to keep up with #1 . Light eater just adds new ways to process some items for new chains.
Technical
Heat Pulverizer
Idea isn't fully polished but basic idea is it has virtually infinite processing speed capabilities. The twist it will use a Non consumed singularity item (extremely expensive), and if you do everything right and balance the inputs and outputs, everything will be fine. BUT, if you feed it too many items, it will explode the whole multi (not anything around, base griefing isn't fun). And if you don't feed it enough, the singularity will evaporate into nothing.
The idea between how it works is to base it off a micro black hole, it will weigh one solar mass and you will need to feed it one solar mass of items every tick, even when it's not running any recipe (with a margin of error, like 10%). Not more, not less. Cooling items with it will also send "mass" to the black hole following e=mc2 and another formula I've yet to establish linking temperature and mass to energy. Basically, the hotter and heavier the item, the more it will increase the mass value of the black hole, and therefore the less items you should send to it
Light eater
This mode will be much easier, it will require one solar mass every tick, and that's all the technicality of it. Other than that it's just a normal machine that process items with normal overclock and no parallel. It will for example make dark sunnarium, sunnarium that lost its light.
Other machines needed for this

ME redstone hatch/bus : A redstone ME i/o hatch/bus that responds to redstone inputs to limit input or that emit redstone based on some characteristics of the items/flow of the items going in. MAYBE try and have this same idea compatible with OC. Will make a PR on GTCEu if this does happen.
Set the mass of neutronium to an insane value and not 1000 times heavier than water. (why? the sun weighs 10e30kg, inputting 10e30L of water per tick would be a tad insane)

WIP SHAPE

WIP SHAPE FOR HEAT PULVERIZER MODE


Add a note about installing the gem into the test group

I experienced problems in production after using bundle add evil_systems to install the gem. Specifically, I experienced this error on application load:
lib/evil_systems/register_cuprite.rb:40:in `<main>': uninitialized constant Capybara (NameError)
    Capybara.default_driver = Capybara.javascript_driver = :evil_cuprite

This was because the evil_systems gem was declared at the root of my Gemfile (at the bottom), while capybara was declared in the test group. I needed to manually move the gem declaration in the test group.

@fractaledmind sorry for breaking prod! Thanks for the adds! I'll also add a note to the bundle add command!


Support fetch

Would it be a good idea to use fetch under the hood instead of axios?

fetch is a better networking API being worked on by the standards committee and is already available in Chrome. It is available in React Native by default.

https://fetch.spec.whatwg.org/
https://facebook.github.io/react-native/docs/network.html
Here's a polyfill that can be used until native runtime support for fetch is widespread, which comes in at 11kb of unminified code instead of 32kb for axios, with the upside that the dependency disappears completely at some point in the future:
https://github.com/github/fetch

This would not work in Node would it?

Hmm, true. There's a node-fetch library for that environment instead.
https://github.com/bitinn/node-fetch


fix: Only use path when determining equality of implicit modules

Fixes #203

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.72%. Comparing base (af4fb07) to head (798fea0).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #216      +/-   ##
==========================================
+ Coverage   90.70%   90.72%   +0.01%
==========================================
  Files          46       46
  Lines        4789     4785       -4
==========================================
- Hits         4344     4341       -3
+ Misses        445      444       -1

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


Conflicting Behavior Between RUN_WITH_BROWSING and Instruction

Could you clarify why the instruction states, "You SHOULD NEVER attempt to browse the web," when RUN_WITH_BROWSING is set to True?
This seems conflict to the variable's name.
https://github.com/All-Hands-AI/OpenHands/blob/088e895a3d281f0be2cabd3b9270b3faa50fd952/evaluation/swe_bench/run_infer.py#L94-L100

In my understanding, SWE-bench has some rules about that: they state that the agent must not have web browsing at all, or if it does, the agent developer must have made sure it won't use it to look up solutions. 😅
You may want to see their checklist and discussion here: https://github.com/swe-bench/experiments/blob/main/checklist.md

Thanks for your clarification! May I confirm whether your solution for SWE-bench avoids web browsing entirely, or does it use web browsing while ensuring it does not look up provided solutions?  😃

Xingyao knows better. @xingyaoww could you please take a look at this question?
What I can say is, if it's enabled at all, it really is up to the LLM: a few weeks ago, during some random debugging session (not our official evals), I literally happened to be staring at the logs almost in real time when Deepseek said something like "well this isn't working, let me browse on the web..." and I'm like wait, what. 😅
Gotta love LLMs. Hey, probabilistic behavior we wanted, probabilistic behavior we got! 😂

May I confirm whether your solution for SWE-bench avoids web browsing entirely, or does it use web browsing while ensuring it does not look up provided solutions? 😃

Yep - we did not enable browsing tool for our eval & benchmark.
The reason why RUN_WITH_BROWSING is there is just to make sure our (very long) browsing prompt doesn't degrade the SWE-Bench performance.

Thanks @enyst and @xingyaoww for your confirmation.


Download dosen't work

Trying to download the esp and ba2 file results in Page not found error (404)

If you're trying to download Auto Loot from GitHub, it has been moved to Bethesda.net.

Do you by chance have a link to your mod over there?  I will have to down load it while at work because my on computer the forced requirement of java without prompting is impossible for me to actually get to.  I haven't uninstalled java yet but am damned close to doing so. I have already uninstalled flash due to all the vulnerabilities it has.

Here is the mod page: https://mods.bethesda.net/#en/workshop/fallout4/mod-detail/758870

I will have to try it from work.  I guess to get mods from there bethesda you are required to have an account, which I cannot even create from home.
At some point, hopefully you will get your mods on Nexus or Steam.  Thanks for the link though.  It should be quick once I get in tomorrow.

Found out the mods can't actually be downloaded.  The only way to use them is if you have an active internet connection.  One of the security setting somewhere on my firewall prevents me from using the new Bethesda DRM feature.  Hopefully someone will release a similar mod on Nexus or steam.  Bethesda, it seems, is requiring some connection that my security just won't play with.  Thanks anyway.

I am having the same issue as phuhque with Bethesda's new DRM feature, I think it may be my routers firewall, not sure. Do you have any plans to upload this to the nexus with an NMM installer?

Update: I was able to get it work, it was my router firewall, phuhque try adding an exception if you have access. It worked for me. I would still love to see this mod on nexus though.

Actually, found it it had nothing at all to do with my firewall.  SweetFX launching was blocking it AND causing CTD's.  What I have done is download his mod in Bethesda.  Exit the game.  Zip up anything that changed that instant, then load it into NMM and activate.There are a couple of mods I have done that with for Authors who aren't uploading to Nexus.  Will do the same to any steam mods that come up.  Thanks though.  I knew it wasn't my firewall as there were never any DNS lookups at all being generated.

I'm glad you were able to fix it, leave it NMM to make it work for you.

I don't support the Nexus. None of my mods will ever be uploaded there again.

To all, you can download all mods from GitHub once again, and this time, you can use a more accessible website:
http://fireundubh.github.io/fallout4/


commaneo fails to build due to android_vendor_oneplus_oneplus3

I tried to build commaneos today and it failed because it could not access a private repo at: https://github.com/commaneos/android_vendor_oneplus_oneplus3/
Note: I filed the issue here because there is no issue tracker on commaneos/android

I've enabled the issue tracked on commaneos/android
Cyanogenmod-based roms typically don't redistribute that repository. You can populate it yourself, see https://wiki.lineageos.org/devices/oneplus3/build#extract-proprietary-blobs

Hi,
can you share "extract-files.sh"


handle snowflake and pyarrow updates

This also bumps the version of poetry used to 1.7.1

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (dbc916d) 80.83% compared to head (d08dd8b) 80.83%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #131   +/-   ##
=======================================
  Coverage   80.83%   80.83%
=======================================
  Files          47       47
  Lines        5626     5626
  Branches     1380     1380
=======================================
  Hits         4548     4548
  Misses        830      830
  Partials      248      248

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


Document for s2i to devfile conversion

What type of PR is this?
/kind documentation
[skip ci]
What does does this PR do / why we need it:
Document to convert s2i to devfile components.
Which issue(s) this PR fixes:
Fixes #3749
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[x] Documentation

[ ] I have read the test guidelines

How to test changes / Special notes to the reviewer:

@cdrage Thanks for the review, all comments addressed PTAL

/approve. @cdrage can lgtm this 🙂

/approve

/lgtm


Anti windup p pd

Solves #4
I added a test to check that the integral component of the P controller with saturation remains zero. You will notice that this test fails at commit 9ac4d039a591c273a3dd6bc8ed67fa6da78a1077.
The subsequent commit 211ac8ba328475ef61e8148b140940f0db686d7b fixes the problem and passes all other tests.

Hello, thanks for the fix!

Codecov Report

Merging #5 (211ac8b) into main (88db5cd) will increase coverage by 0.09%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #5      +/-   ##
==========================================
+ Coverage   97.82%   97.91%   +0.09%
==========================================
  Files           1        1
  Lines          46       48       +2
==========================================
+ Hits           45       47       +2
  Misses          1        1

Impacted Files
Coverage Δ

src/DiscretePIDs.jl
97.91% <100.00%> (+0.09%)
:arrow_up:


Adds volume control and move some fields outside of Update()

This PR is just a basic commit, it enables opportunity to keep some values like VP and audio settings that can be saved or loaded when implemented properly and also can be worked with a GUI that help user setting the INI files. Those proposals can also be applied to levels and more dynamic fields in not only PlayerData struct but also other custom configuration structs.

Actually without configuration, when you load the game, it is set to be default with act_vol=100 and hp_vol=0. It would be convenience when you don't want to hear such loud buttons sound and don't need to turn the knob down or click the button every time you start the game.
And talk about the dynamic settings, by moving them outside of the Update() function, it can keeps the attributes of those values. In my opinion, constantly forcing a constant vocaloid_point in your current code is not a good idea since it is dynamic and can be increased when player keeps playing on.
Removing additional fields is okay and reasonable as it deemed to be not good for average users.
Btw it's sad to hear about dw_gui patch not yet be suitable for this project since you have spent a lot of hours with that crap. And somehow I like that function very much anyway...

no, is aids


Add a second pagination at the bottom of the search page

Description
As a curator, I want to have a second pagination at the bottom of the search page so I don't need to scroll all the way up after finishing mapping one page
Acceptance criteria

[x] Pagination added.

@zperova done. Applied on dev (http://hh-rke-wp-webadmin-20-worker-1.caas.ebi.ac.uk:31294/search)


imsprog: init at 1.3.2; nixos/programs/imsprog: init

Description of changes
IMSProg - I2C, MicroWire and SPI EEPROM/Flash chip Programmer - is a program to read, write EEPROM chips use the CH341A programmer device.
fixes https://github.com/NixOS/nixpkgs/issues/295050

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@dotlambda @AndersonTorres

@AndersonTorres

I removed strictDeps = true flag because it breaks IMSProg_database_update script (shebangs will not be patched)).

@dotlambda @AndersonTorres

I removed strictDeps = true flag because it breaks IMSProg_database_update script (shebangs will not be patched)

It should be worked around - or at least documented.

@AndersonTorres check this

I can't maintain this anymore because now I use nix on darwin.


Fix codecov build

Fixing the code coverage build (first commit) and enabling code coverage for the Trusted Services provider. Successful run can be seen here.

Discussed the CI check failure with @ionut-arm and verified that it is a separate issue and unrelated to this PR, hence approving.

I've raised #574 to deal with that failure.


Update Get-AzureServiceDiagnosticsExtension

Change title and wording of example to match the Get-AzureServiceDiagnosticsExtension command

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureps-cmdlets-docs/ServiceManagement/Azure/v4.0.0/Get-AzureServiceDiagnosticsExtension.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[BACKLOG-8719] Updated laf.properties so that the add/edit/delete ico…

…ns are always 16x16 pixels for active/disabled states.
@hudak / @mkambol / @ddiroma

Build Skipped
:white_check_mark: There was nothing to build. The changes are probably excluded by the build rules. If this is an error, please contact your system administrator.


Develop a format-preserving encryption

Given a String, return a new String with the same format, but hashed.
This feature could be used to anonymize data.
This would be a good fit for the utils.

Low priority as of now

Don't think is relevant any more.


Change Version 2.4.4.SNAPSHOT to 2.4.4 for release

Describe
Current SOFABoot version is 2.4.4.SNAPSHOT
Expected
SOFABoot version 2.4.4 for release
Result
Fixes #171

Pull Request Test Coverage Report for Build 406

0 of 0   changed or added relevant lines in 0 files are covered.
64 unchanged lines in 15 files lost coverage.
Overall coverage decreased (-0.5%) to 65.114%

Files with Coverage Reduction
New Missed Lines
%

infra-sofa-boot-starter/src/main/java/com/alipay/sofa/infra/endpoint/SofaBootVersionEndpoint.java
1
86.11%

healthcheck-sofa-boot-starter/src/main/java/com/alipay/sofa/healthcheck/core/HealthIndicatorCheckProcessor.java
1
81.82%

healthcheck-sofa-boot-starter/src/main/java/com/alipay/sofa/healthcheck/startup/ReadinessCheckProcessor.java
1
82.76%

runtime-sofa-boot-starter/src/main/java/com/alipay/sofa/runtime/service/helper/ReferenceRegisterHelper.java
2
76.19%

runtime-sofa-boot-starter/src/main/java/com/alipay/sofa/runtime/spring/factory/ServiceFactoryBean.java
2
69.44%

infra-sofa-boot-starter/src/main/java/com/alipay/sofa/infra/config/spring/namespace/handler/SofaBootNamespaceHandler.java
3
0.0%

test-sofa-boot-starter/src/main/java/com/alipay/sofa/test/runner/SofaJUnit4Runner.java
3
56.67%

runtime-sofa-boot-starter/src/main/java/com/alipay/sofa/runtime/spring/factory/AbstractContractFactoryBean.java
4
52.38%

healthcheck-sofa-boot-starter/src/main/java/com/alipay/sofa/healthcheck/configuration/HealthCheckConfiguration.java
4
46.0%

healthcheck-sofa-boot-starter/src/main/java/com/alipay/sofa/healthcheck/core/AfterHealthCheckCallbackProcessor.java
4
81.16%

Totals

Change from base Build 403:
-0.5%

Covered Lines:
1454

Relevant Lines:
2233

💛  - Coveralls

@guanchao-yang   check whether  there exists version not to be update. like in sofa-boot/sofaboot-samples/sofaboot-sample-with-rpc/README.md


nix-bundle: 0.4.0 -> 0.4.1

Motivation for this change
updates nix-bundle to avoid using stdenv.lib since that's been removed.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Please push branches for PRs if possible to your own fork that the main repo gets not to cluttered.


Add homepage item counter

In this milestone i completed:
1.Added homepage item counter

Hi @Xghayor ,
Your project is complete! There is nothing else to say other than... it's time to merge it :
Congratulations! 🎉
Highlights
Added homepage item counter ✔
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.


Support migrations and recoveries in IBC contracts

Description
solidity-ibc-eureka is built under the assumption that each Cosmos chain will have their own deployment, as such, the contracts should be migrated the governance of these chains. (Note that this means that in theory ICS02Client.sol can be removed.) There are two types of migrations we need to think about:

Adding new features to IBC while IBC is functioning normally. (We call these upgrades.)
Recovering from a broken state such as a frozen/expired light client, or any other issue that shuts down IBC.

These two cases should be handled separately because in the first case, we don't need to introduce any additional trust assumptions.
Upgrades
Since IBC is still functioning in this case, we can use IBC to upgrade the contracts. We can give the authority to upgrade IBC contracts to the validator set of the counterparty tendermint chain. This can be done via an interchain accounts or contract call IBC application.
Recovering
In this case, we cannot use an on-chain light client or any other type of trustless mechanism as we are working under the assumption that IBC itself is unusable. This means that we can no longer trust the light client representing the cosmos chain (for example, it may be frozen or expired). Then we propose that in this case, a security council (multisig) takeover the admin privileges. However, we don't want the security council to have the ability to steal any funds while IBC is functioning properly, this is why we propose:

Security council only has admin rights if light client is frozen/expired or there hasn't been any successful transfers in 2 weeks.
While IBC is active (i.e. light client is active and there are successful transfers), the Cosmos chain's governance module has the right to change the security council.

Proposal
We should study the docs and tools here to add migrations to our contracts. We should also probably move IBCStore to it's own contract

Reposting here for persistency:
This PoC PR introduces a possible design of a governance framework to address https://github.com/cosmos/solidity-ibc-eureka/issues/12  for the solidity-ibc-eureka contracts using a multisig approach based on Safe. The key features implemented include:

Multisig (Safe): Critical administrative actions (e.g., upgrades, ownership transfers, pause) require approval from a quorum of pre-defined signers.

Upgradeable: The contracts use OpenZeppelin's Transparent Proxy for upgradeability, enabling secure and controlled updates to the system's logic without disrupting its state.

Pausable: Leveraging OpenZeppelin's Pausable module, this feature allows authorized actors to temporarily halt IBC operations during emergencies for quick mitigation of potential exploits or failures.

These components together enhance the security, flexibility, and decentralization of the IBC Solidity contracts, laying the groundwork for a robust governance model.
PoC Architecture:

Notes

the core of the PoC  is the  MultisigIBCUpgradeTest.t.sol. This test files shows how to wire all the new additions during deployment.
original safe contracts have been modified to be compiled at the current repo version 0.8.28 by introducing the clause assembly ("memory-safe") before assembly code.
IBC contracts changes:

add Openzeppelin Pausable contract and whenNotPaused modifier for external functions.
change the constructor and define an initialization functions for proxy functionalities.

TimeLock
The Timelock mechanism is not currently implemented in this PoC but could be introduced in the future to enhance transparency specifically for upgrades. By delaying the execution of administrative actions, it would allow stakeholders to review proposed changes and raise objections if necessary. This would work well for upgrades but should not be applied to emergency operations, such as pausing, to avoid delays in critical scenarios. Balancing the delay duration would be key to maintaining flexibility while ensuring community trust
Security Consideration
Using proxy contracts requires careful security consideration. The aspect to be considered includes but are not limited to:

Access Control
Storage Collision among proxy and implementatinos
Initialization (possible frontrunning and manipulation)

For an initial review of potential security concern we refer to 1,2,3,4.

Some thoughts on the storage collision topic.
Storage Considerations in Upgradeable Proxy Contracts
In transparent upgradeable proxy contracts, the proxy and implementation contracts have distinct roles: the proxy manages persistent state and upgrade functionalities, while the implementation provides the logic. This separation enables contract upgrades while maintaining the existing state. However, the design introduces specific storage considerations to ensure compatibility and prevent collisions during upgrades.
The proxy contract does not explicitly declare state variables for the implementation's data. Instead, when a function is executed via delegatecall, the implementation contract’s logic operates on the proxy contract's storage which is defined in the implementation contract. This works because delegatecall executes the called function in the context of the proxy, meaning:

The proxy’s storage is used for all state variables.
The implementation’s storage layout defines how the proxy’s storage slots are accessed.

For example, if the implementation declares a uint256 variable x as its first state variable, the proxy’s storage slot 0 is used to store x. When the proxy delegates a call to the implementation, any reads or writes to x affect slot 0 in the proxy’s storage.
Layout Consistency and Storage Collisions
Since the proxy contract persists the state, maintaining a consistent storage layout across upgrades is crucial. When upgrading to a new implementation, the new contract must follow the existing storage layout. Any mismatch can cause storage collisions, potentially overwriting critical data.
Storage collisions occur when variables in the proxy or implementation contracts conflict over the same storage slot. This can lead to corrupted or overwritten data, undermining contract functionality. To Avoid Storage Collisions:

Reserve storage slots in the initial implementation contract using gap variables.
Follow standards like EIP-1967, for storage slots management.

To safely introduce new state variables in future upgrades, you can reserve unused storage slots in the initial implementation. This approach ensures that new variables in upgraded implementations will not overwrite existing data.
Example: Reserved Storage Slots
LogicV1 (Initial Implementation):
contract LogicV1 {
    uint256 public x;  // Stored at slot 0
    uint256 public y;  // Stored at slot 1
    uint256[50] private __gap;  // Reserved slots 2-51
}

In LogicV1, the __gap variable reserves 50 storage slots for future use. This reservation ensures that new variables in future implementations will occupy these slots without affecting existing variables.
LogicV2 (Upgraded Implementation):
contract LogicV2 is LogicV1 {
    uint256 public z;  // Uses slot 2 from the reserved __gap
}

When upgrading to LogicV2, the proxy retains its existing storage:

Slot 0: x
Slot 1: y
Slot 2: z (new variable added in LogicV2)


Default download not working and file not found.

It looks like the download of the default data is not returning any results.
Singularity> train.sh 1 /home/awilke/IMPROVE/Singularity/data/ --epochs 1 | head
--epochs is not a file
CMD = python /usr/local/Paccmann_MCA/train.py --epochs 1
using CUDA_VISIBLE_DEVICES 1
using CANDLE_DATA_DIR /home/awilke/IMPROVE/Singularity/data/
using CANDLE_CONFIG
running command python /usr/local/Paccmann_MCA/train.py --epochs 1
/usr/local/conda_envs/Paccmann_MCA/lib/python3.7/site-packages/candle/file_utils.py:217: RuntimeWarning: Path: /home/awilke/IMPROVE/Singularity/data/Paccmann_MCA/Output/EXP000/RUN000 already exists... overwriting.
warnings.warn(message, RuntimeWarning)
Importing candle utils for pytorch
model name:  Paccmann_MCA
Params:
{'activation': 'relu',
Traceback (most recent call last):
File "/usr/local/Paccmann_MCA/train.py", line 164, in
candle_main()
File "/usr/local/Paccmann_MCA/train.py", line 161, in candle_main
run(params)
File "/usr/local/Paccmann_MCA/train.py", line 152, in run
scores = main(params)
File "/usr/local/Paccmann_MCA/paccmannmca_baseline_pytorch.py", line 47, in main
smiles_language = SMILESLanguage.load(smiles_language_filepath)
File "/usr/local/conda_envs/Paccmann_MCA/lib/python3.7/site-packages/pytoda/smiles/smiles_language.py", line 96, in load
with open(filepath, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/awilke/IMPROVE/Singularity/data//common/Data/smiles_language_chembl_gdsc_ccle.pkl'

Any progress?

no, i did not - @adpartin This is breaking the default behavior. We need to fix this as soon as possible. Either documentation or in code.

Please let me know if I should move the data download steps within train.py.

From: Andreas Wilke @.>
Sent: Thursday, September 7, 2023 11:20 AM
To: JDACS4C-IMPROVE/Paccmann_MCA @.>
Cc: Vasanthakumari, Priyanka @.>; Assign @.>
Subject: Re: [JDACS4C-IMPROVE/Paccmann_MCA] Default download not working and file not found. (Issue #1)
no, i did not - @adpartinhttps://github.com/adpartin This is breaking the default behavior. We need to fix this as soon as possible. Either documentation or in code.
—
Reply to this email directly, view it on GitHubhttps://github.com/JDACS4C-IMPROVE/Paccmann_MCA/issues/1#issuecomment-1710443220, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUVPV3LFXRBGD2OQ2EUAA3LXZHX3VANCNFSM6AAAAAAYZMG6XI.
You are receiving this because you were assigned.Message ID: @.***>

train.py should download its default data if no other data is present. You can keep the same functionality in the prepocess script as well. Right now we are just testing on train.sh with its defaults and it will fail if no data is downloaded.

I just pushed my changes to the default branch after adding the data download functionality to train.

From: Andreas Wilke @.>
Sent: Thursday, September 7, 2023 11:46 AM
To: JDACS4C-IMPROVE/Paccmann_MCA @.>
Cc: Vasanthakumari, Priyanka @.>; Assign @.>
Subject: Re: [JDACS4C-IMPROVE/Paccmann_MCA] Default download not working and file not found. (Issue #1)
train.py should download its default data if no other data is present. You can keep the same functionality in the prepocess script as well. Right now we are just testing on train.sh with its defaults and it will fail if no data is downloaded.
—
Reply to this email directly, view it on GitHubhttps://github.com/JDACS4C-IMPROVE/Paccmann_MCA/issues/1#issuecomment-1710479627, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUVPV3PEPTPSZV33AWDLN6TXZH25ZANCNFSM6AAAAAAYZMG6XI.
You are receiving this because you were assigned.Message ID: @.***>

Originally, preprocess downloads raw data from ftp and generates ml data. If we decide to put automatic download into train.py, then it should download the preprocess-generated ml data from ftp. Alternatively, we can add a conditional if statement in train.py that checks whether ml data exists. If it does not, then it calls preprocess.py which generates ml data.

It seems to work now.


Add resource in free-media-5.md

Hi! @hulyak I added a new resource, N°55:  "Iconscout" in the category "Free Images/Videos" with an image of the resource.
You can find it in: docs/free-media-4.md

Category title: Free Images/Videos
N° resource: 55
line of code: 227

Greetings from Chile and Happy Hacktoberfest! 🙌

Thanks for contributing @patodm, Happy Hactoberfest! 🎉


iOS implementation limited to height of device with scrollview

Do you know if the iOS implementation is limited to where if you have a scroll view as part of your view you are limited to the height of the device?  IE. scroll view won't work in iOS?   I have it working on android on emulator and device and scroll but iOS appears to be limited to the height of the screen.

That is the problem of .NET MAUI ScrollView control. The scrolling doesn't work correctly on iOS.

It should be fixed with the latest .NET MAUI 7 release

Nice thanks for the insight. I updated last night and got distracted working on [RelayCommand] stuff.   I have the weirdest situations.   The [RelayCommand] only appears to work when I delete my bin and obj directories and rebuild.  It works once and then the 2nd build it's like that generator gets removed... [RelayCommand] is still in the code as it should be, be it appears the code generation stops work.....   So much fun.....   Thanks again for bottomsheet really like the component.

There were changes in Source Generation code. You can create an issue in CommunityToolkit/dotnet repository


Crash when running XGBoost via PySpark (socket.cc - Check failed)

I'm running PySpark on macOS on an M3 Pro.
I have a consistent crash when calling fit on SparkXGBRegressor:
xgboost.core.XGBoostError: [15:45:17] /Users/runner/work/xgboost/xgboost/src/collective/socket.cc:133: Check failed: static_cast<std::int32_t>(conn.Domain()) == static_cast<std::int32_t>(addr.Domain()) (2 vs. 30) :
Stack trace:
  [bt] (0) 1   libxgboost.dylib                    0x0000000118c20428 dmlc::LogMessageFatal::~LogMessageFatal() + 124
  [bt] (1) 2   libxgboost.dylib                    0x0000000118ce2814 xgboost::collective::Connect(xgboost::StringView, int, int, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1l>>, xgboost::collective::TCPSocket*) + 360
  [bt] (2) 3   libxgboost.dylib                    0x0000000118ccb90c xgboost::collective::ConnectTrackerImpl(xgboost::collective::proto::PeerInfo, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1l>>, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, xgboost::collective::TCPSocket*, int, int) + 144
  [bt] (3) 4   libxgboost.dylib                    0x0000000118cd0454 xgboost::collective::RabitComm::Bootstrap(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1l>>, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) + 228
  [bt] (4) 5   libxgboost.dylib                    0x0000000118ccfe24 xgboost::collective::RabitComm::RabitComm(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1l>>, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, xgboost::StringView) + 924
  [bt] (5) 6   libxgboost.dylib                    0x0000000118cd5ae4 xgboost::collective::CommGroup::Create(xgboost::Json) + 1320
  [bt] (6) 7   libxgboost.dylib                    0x0000000118cd6b30 xgboost::collective::GlobalCommGroupInit(xgboost::Json) + 96
  [bt] (7) 8   libxgboost.dylib                    0x0000000118caf2c8 XGCommunicatorInit + 84
  [bt] (8) 9   libffi.dylib                        0x00000001a31eb050 ffi_call_SYSV + 80

It seems like maybe it's some IPv4 vs IPv6 mismatch? That being said, I'm not at all clear what to do about it!

cc @WeichenXu123 Do you recall why pyspark XGB isn't tested on macos? Also, is pyspark itself tested on apple silicon?

cc @WeichenXu123 Do you recall why pyspark XGB isn't tested on macos? Also, is pyspark itself tested on apple silicon?

Need to check CI setup. For databricks use-cases, they only run on ubuntu OS, macOS is not the case we care for

Thank you for sharing, I will put a warning that macos and windows is not supported.

Out of curiosity, when do you encounter such errors ? Do you also experience them when spawning a local Spark session ?
What type of cluster are your executors running on ? Is the driver your local machine, and have you tried launching it in a setup where the driver is a machine within the cluster instead of your local machine ?


Merge branch csp-metadata to main

This PR does a simple cherry pick of the changes merged to csp-metadata to main.

redoing correctly


BLD: version-script handling in setup.py

(apparently) Fixes #8680

@rc What do you think about the (stochastic?)lobpcg Windows Python 3.5 failure here?

@rc What do you think about the (stochastic?)lobpcg Windows Python 3.5 failure here?

looks like just a missing random seed, I'll send a PR now.

LGTM, merged. Thanks @tylerjereddy and @zerothi

Wow, you are fast! :)


Use a logging library

Currently, all status messages, etc., are written to stdout using printf. This is very restrictive, and a logging library should be integrated into urlearning. Since we already use Boost, its logging library seems like a reasonable choice.

I've done this only with the old "make file based" project structure, but I don't in principle see any reason why it shouldn't work also with bazel.
Basically it was just vagrant with a vanilla ubuntu box that I used so I don't think there is anything that should be included for OSX specifically.


feat support outer join and aggregate bitmap rewrite by mv

Proposed changes

Support left outer join rewrite by materialized view
Support bitmap_union roll up to imp count(distinct)
Support partition materialized view rewrite

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run clickbench

run buildall


CN crash due to dropping non-empty stream chunk builder

Describe the bug
The issue was found when I was running a test that continuously adds new MVs (nexmark_q7) to a cluster.
When there are 50+ MVs,

Firstly compute node 1 encounters timeout when trying to read object store, subsequently causes actor exits.
Then compute node 1 crashes due to dropping non-empty stream chunk builder.
Thus meta cannot finish recovery.

To Reproduce
Deploy a 3 compute node cluster and bash run_tasks.sh here. (make sure meta:5690 and frontend:4566 are reachable specified in run.sh).
MVs will be continuously created. It will take minutes to trigger the issue (console running bash run_tasks.sh will receive error message).
Expected behavior

Transient object store error better not fail actor.
CN shouldn't crash. Recovery should succeed.

Additional context
cn-1-panic.log
meta.log
cn-2.log
cn-0.log
compactor.log
source.log

😱

I have encountered this before. I think the assertion of "dropping non-empty stream chunk builder" is a little bit too strict, especially for some exceptional path. How about just remove it?

Check this logs of a failure of longevity test: 175_logs.txt (CI Run)
The panic happened during HashJoinExecutor::eq_join_oneside.
  24:     0x55735e23b67b - core::ptr::drop_in_place<risingwave_stream::executor::hash_join::HashJoinExecutor<risingwave_common::hash::key::FixedSizeKey<4_usize>,risingwave_storage::monitor::monitored_store::MonitoredStateStore<risingwave_storage::hummock::HummockStorage>,0_u8>::eq_join_oneside<0_u8>::{{closure}}>::h34d87e375cee7a2a

Check the code of eq_join_oneside and you will find lots of ? are there. In theory, any one among them could cause the assertion failure dropping non-empty stream chunk builder.
@yuhao-su Do you have any better ideas than my proposal?

I have encountered this before. I think the assertion of "dropping non-empty stream chunk builder" is a little bit too strict, especially for some exceptional path. How about just remove it?

cc. @BugenZhao @TennyZhuang

How about just remove it?
Yes, I think we can remove it.

@yuhao-su Do you have any better ideas than my proposal?

I mean, in theory, a better solution should be eliminating the ?s and handling the failures carefully (e.g. at least cleaning the ChunkBuilder), is it possible?

I mean, in theory, a better solution should be eliminating the ?s and handling the failures carefully (e.g. at least cleaning the ChunkBuilder), is it possible?

I guess this is hard. Almost all errors that occur at ? in streaming executors cannot be handled, and it's meant to throw directly. 🤔 Actually there are only a few "bomb"s in our system, like heap::PeekMut and DataChunkBuilder, I think ad-hoc fixes on them should be enough. For DataChunkBuilder, logging a warn, debug_assertion or simply remove the Drop all LGTM.

at least cleaning the ChunkBuilder.

It is possible to do this. But still, it is hard to handle other errors like bugen mentioned.


Enhancement: Filter properties to send - MVD for Speckle

What package are you referring to?
Requested for Revit, but implementation pattern to replicable.
Is your feature request related to a problem? Please describe.
All connectors aside from Grasshopper/Dynamo and custom SDK implementations send all converted object property data. There is an expressed need for some control over this is needed for various reasons:

Data Security
Agreed Level of Information in Exchange agreements

Describe the solution you'd like
Somehow applying a filter/mask to object properties and not send to server.
Describe alternatives you've considered
How the ability to mask properties from serialisation and sending could be a standardised contract transmitted by file or stream properties.
Filter on receive - by contract
If the contract is applied at the server layer, this could decouple implementation from all connectors development. For example, a shared stream endpoint could be a nominated contract (combination of streamId and filter), and therefore the object data is all present in the DB, but the data is filtered on receive; controlled by the contract.
Additional context
The closest equivalent is the MVD for IFC.
https://technical.buildingsmart.org/standards/ifc/mvd/
https://www.youtube.com/watch?v=SwNak6RkQKM
Related issues or community discussions
How to set the data of each component of a stream?

Could be considered with https://github.com/specklesystems/speckle-sharp/issues/1777 for a common pattern/implementation/protocol

Closing this ticket as we are moving to Jira to reduce noise. You can access it there.


🐛 Bug: Migration removes necessary chalk dependency

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Expected
If an existing repo has a dependency on the chalk package, running npx create-typescript-app --mode migrate shouldn't uninstall that dependency.
Actual
Looks like it does 😞.
Additional Info
Discovered in https://github.com/JoshuaKGoldberg/tidelift-me-up/issues/94

Hmm, no longer repros when I try it out locally. Great!


CUDA_HOME environment variable is not set.

python .\submodules\depth-diff-gaussian-rasterization\setup.py install
Traceback (most recent call last):
File ".\submodules\depth-diff-gaussian-rasterization\setup.py", line 21, in
CUDAExtension(
File "C:\Users\muham\anaconda3\envs\ghead\lib\site-packages\torch\utils\cpp_extension.py", line 1048, in CUDAExtension
library_dirs += library_paths(cuda=True)
File "C:\Users\muham\anaconda3\envs\ghead\lib\site-packages\torch\utils\cpp_extension.py", line 1186, in library_paths
paths.append(_join_cuda_home(lib_dir))
File "C:\Users\muham\anaconda3\envs\ghead\lib\site-packages\torch\utils\cpp_extension.py", line 2223, in _join_cuda_home
raise EnvironmentError('CUDA_HOME environment variable is not set. '
OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

I guess it‘s just a CUDA environment issue, this may help you.

RuntimeError:
The detected CUDA version (12.3) mismatches the version that was used to compile
PyTorch (11.8). Please make sure to use the same CUDA versions.
can you please tell which CUDA version to install?


X-Forwarded-Proto can be comma-delimited, but router doesn't account for that

This issue supersedes #4504
TL;DR: I'm pretty sure we should account for the possibility of multi-valued X-Forwarded-Proto headers.
#4504 could not be reproduced for the longest time.  @gerred and I have finally managed to do so, and in the course of doing so, uncovered the root cause.
First a sordid little tale of service discovery:  In Deis v1.x, there is no mechanism for applications (in a micro-service architecture, perhaps) deployed to Deis to discover one another and interact directly.  So in rare cases, some users have deployed apps that talk to one another by routing traffic from one, out to the internet and back into the cluster through the load balancer and the router.  It's not ideal, but it's a workaround real users have used.
Back to our regularly scheduled bug report... Consider the following (actual) scenario: a service proxy deployed to Deis is a facade over numerous other back-end services.  It's implemented using hapi.  In this example, hapi is configured to set X-Forwarded-For and other, related headers on the outbound HTTPS request.  These headers were already set by the Deis router on the request that was inbound to the service proxy.  hapi copies these headers over from the inbound request to the outbound request, but also amends them.  Where the incoming X-Forwarded-Proto header may have read https, the outbound X-Forwarded-Proto header will read https,https.
The X-Forwarded-Proto header, like it's better known brother X-Forwarded-For, is a de-facto header and is not formally described anywhere.  A brief google search has revealed however, that apart from hapi, numerous other frameworks accept or rely on the possibility that the X-Forwarded-Proto header might contain a comma-delimited list.  The Deis router is not one of these...
The Deis router, internally, derives a variable named $access_scheme from the X-Forwarded-Proto header, as depicted here:
# trust http_x_forwarded_proto headers correctly indicate ssl offloading
map $http_x_forwarded_proto $access_scheme {
    default $http_x_forwarded_proto;
    ''      $scheme;
}

The ultimate intention of this code is to allow the $access_scheme variable to assume the value https, even if the protocol used for the inbound request was HTTP, as long as it appears that SSL offloading has already been performed (e.g. by the load balancer).
If it is possible for X-Forwarded-Proto to bear comma-delimited values, it is also possible for the $access_scheme variable to obtain a value such as https,https.
When Deis router's enforceHTTPS feature is enabled, the $access_scheme variable is evaluated in determining if/when a redirect to an insecure URL's secure equivalent should be performed:
if ($access_scheme != "https") {
    return 301 https://$host$request_uri;
}

In a case such as this, the value https,https != https, and as a result a redirect is issued... but this will potentially initiate a series of infinite redirects.  In the specific example given, hapi was configured to follow no more than five redirects, so after the sixth, hapi quit and returned a 502 response to the router, which propagated that response back to the client.
Correcting this bug may call for some careful thought.  Some questions:

Should SSL offloading be considered to have occurred (the $access_scheme variable thereby receiving a value of https) if https occurs anywhere in the comma-delimited value of the X-Forwarded-Proto header?  Or only if the proximate forwarded protocol was https?

Is the Deis router also guilty of setting this header incorrectly on outbound requests to back-end services?  For instance, if SSL were offloaded by the load balancer, and the request inbound to the router therefore already had the X-Forwarded-Proto header with a value of https, should the router merely copy that header to the outbound request as it does today?  Or should it amend it as hapi does?  i.e. Should the outbound request have the X-Forwarded-Proto header set to https,https.  (fwiw, I believe https,http would be incorrect since the request was treated by the router as if it were secure.  This seems to be how hapi deals with this as well.)  If we fix this, do we need to / should we also change how we write other X-Forwarded-* headers?  X-Forwarded-For, for instance, can be comma-delimited as well.

Is there an edge case where a request arrives via HTTPS, with an X-Forwarded-Proto header of http?  Such a case is possible if a client (proxy of some sort) has different opinions than us on how X-Forwarded-Proto should be used.  This will trip up our existing logic, because such a request will be treated as insecure, despite having arrived over a secure channel... and that will also trigger the infinite loop described by this issue.

Are there technical constraints to correcting this?  Nginx configuration isn't an imperative language, so short of resorting to the Lua module, there are limited options for tackling this.

Whatever is done, the change should also be ported forward to the Deis v2 Router.

Some responses to your questions:

I don't have an answer here. This is tough. I lean toward the latter, because it's hard to know what the trust levels of the whole chain looks like from that picture alone.

I'd continue setting the header as is. As of now, we've only found two frameworks that do this, and I wouldn't want to break the functionality others might be expecting / assuming, even if it's the wrong assumption. Or it's configurable. We're in Lua plugin territory then, however.

No idea. Can't think of a case offhand, so I'll refrain from answering here.

Lua is built into nginx, so I think it's fairly reasonable to add plugins if we need them. Kong is a great example of an entirely self-contained API Gateway with nginx + lua.

@gerred a few responses:

In offline discussion with you and @helgi, it seems the favored approach is to only consider the proximate protocol.  So we can try to match a regex that looks something like this: ^(?:.*,)?https$

As of now, we've only found two frameworks that do this

I've found more mentions of comma delimited X-Forwarded-Proto since our initial discussion.  Having said that, I think amending these headers is one of the harder aspects of this problem.  I think I should attempt this, but not burn too much time on it.

If the actual protocol on an inbound request is HTTPS, I think that should trump whatever the X-Forwarded-Proto header says when it comes to determining a value of the $access_scheme variable-- which ultimately dictates whether the current request is treated as secure or not.  This sounds reasonable, but it's not what happens today.  Technically, this may be a separate bug, but if the logic that determines the value of $access_scheme is about to be re-written, it just makes sense to squash these two bugs together.

I want to try and avoid Lua.  If it's unavoidable, so be it, but it's possible we can achieve "good enough" without it.  No. 2 above is the bit that was most likely to have needed it, and that's the bit I'm most likely to not mess with if it gives me too much grief.

Having now put a little more thought into this, I think no. 2 (appending to the end of the header on the outbound request) is more important than I realized initially-- not as much on account of the X-Forwarded-Proto header as on the account of the complementary X-Forwarded-For header.  The reason for this is that in the use case I described above, the router overwriting that header instead of appending to it results in the back-end service having no notion whatsoever of the end-client IP.  Usually that information would be captured in the X-Forwarded-For header, but if it's overwritten outright on the second trip through the router, the IP found in that header will be the IP of the service proxy-- which is less useful information than the end-client IP.
Long story short... we do / should figure out the proper way (even if it involves Lua) of amending X-Forwarded-* headers instead of overwriting them.

As it turns out, the proxy_pass module has a $proxy_add_x_forwarded_for variable built in that is the contents of the incoming X-Forwarded-For header + the IP of the current remote client.  Unfortunately, no such convenience exists for the X-Forwarded-Proto header.

Ok... so we were actually already using $proxy_add_x_forwarded_for...
So I think that addressing nos. 1 and 3 in the list above will be sufficient.


StandardDeviation Implementation & More Efficient BollingerBands

There were few problems with the BollingerBands source code.

The document says it uses EMA, but the actual implementation uses SMA.
The helper function mean_sd, which is used to calculate SMA and standard deviation, is very inefficient. It calculates the sum and the quadratic sum of n values each time next is called.
Time complexity: O(n)

The first problem was easily solved by fixing the document.
To fix the second problem, I searched for an efficient algorithm and found these:
Time complexity: O(1)

https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford's_online_algorithm
https://stackoverflow.com/a/14638138

So I implemented the StandardDeviation indicator based on the above algorithm, and modified BollingerBands to use the StandardDeviation indicator.
The new implementation passes all the tests, including the existing BollingerBands tests and the new StandardDeviation tests.
Benchmark results
Previous implementation using mean_sd
test BollingerBands                     ... bench:     198,020 ns/iter (+/- 21,924)

Current implementation
test BollingerBands                     ... bench:      77,149 ns/iter (+/- 11,341)

The benchmark shows that the new algorithm is approx. 2.5 times faster than the previous one.
Since the time complexity changed from O(n) to O(1), the difference will be even greater for bigger ns.

@edwardycl  Thank you for the great pull request! I was not aware that it's possible to achieve O(1) for SD (I have to admit, I did not even try to google it).
Great work!

@edwardycl  The improvement is released in v0.1.5


🐛 Omada update check fails

Which addon?

Addon name : Omada
Addon version : 5.9-chromium-amd64-2023-05-26

Describe the bug
Check for updates is not working.
To Reproduce
Steps to reproduce the behavior:

Go to Omada webpage
Click on Devices
Click on Check for updates
See error

Error log
05-28-2023 10:41:18.109 INFO [comm-pool-14] [] c.t.s.o.m.c.b(): Checking Device Last Firmware...
05-28-2023 10:41:18.121 INFO [https-jsse-nio-8043-exec-9] [] c.t.s.c.l.a.AbstractReadWriteLockService(): [readWriteLockService]businessId:omadac.id:2c895d304ec02a2f7080b9c5cc413f45 get writeLock module:manager:upgrade.online.check fail, execute onFail.

System

Home Assistant version: 2023.5.4
Supervisor version: 2023.04.01
Host system version: HassOS 10.1

Not stale - just didn't had time yet to look

There was a big issue with port incompatibility that I corrected in the latest build, did it change something?

It seems, instead of an update, I got a downgrade of the controller to 20230518.
Now I have a serious issue, I can't even access the GUI any more...
Stange is the mobile app is still working and shows everything is connected, I suppose it uses another port ?

I've just found out, the button in HA goes to port 8888, while the web gui runs on 8088 (or 8043).
Still got the update issue, but like said I got a roll-back to 20230518.

I'm now on 2023-06-05. WebGUI is OK.
Update check still failing.
06-05-2023 18:49:26.211 INFO [https-jsse-nio-8043-exec-8] [] c.t.s.c.l.a.AbstractReadWriteLockService(): [readWriteLockService]businessId:omadac.id:2c895d304ec02a2f7080b9c5cc413f45 get writeLock module:manager:upgrade.online.check fail, execute onFail.

Thanks, actually I really don't have enough time to look closely. Therefore, I'll just revert to 5.9-chromium-amd64-2023-05-12 and pause updates until I have time

Any updates ?


transaction.cpp check_authority() recursion end issue

In transaction.cpp, this line should not return false, but continue.
Test case (see testnet http://testnet.bitshares.eu/#/account/level00/permissions/):

Global max_authority_depth is 2
Create some accounts and set active permissions as: level00 -> level0 -> level1 -> level2-1/level2-3
Propose a proposal to transfer 1 TEST from level00 to level0
Approve the proposal by level2-3, the proposal doesn't execute
Approve the proposal by level2-1, the proposal executes

This is a hardforking change.

Yes, it is. Will add hard fork logic (and probably rebase).

great catch abit.

After some discussion we've decided that the hardfork patch above is rather complex and needs a ton of testing to validate, and it's actually better to just port abit's one-liner.

It would be OK if nobody tried that in live network. However testnet will be broken anyway.. @xeroc any idea?

testnet's purpose is to break things .. finally a success ..
it's probably less work to just patch this hard fork in the testnet and continue as usual :)


Issue to start 2 stepper motors at the same time

Hello,
I'm using the following commands that are available in the X_NUCLEO_IHM02A1_HelloWorld.ino:
motors[0]->PrepareRun(StepperMotor::BWD, 200);
motors[1]->PrepareRun(StepperMotor::FWD, 200);
x_nucleo_ihm02a1->PerformPreparedActions(); }
I see the stepper motor connected on motors[0] starting immediatly and at full speed. The stepper motor connected on motors[1] starts with a visible delay and takes more time to reach the full speed.
Inverting the 2 stepper motors swap the problem.
I have exactly the same behavior when using the HelloWorld_IHM02A1 in mbed.
I'm using a NucleoL476RG.
So, the IHM02A1 doesn't seem to be capable to start 2 stepper motors at the same time despite the dedicated set of commands.
Do you confirm this wrong behavior ?
regards,
Gilles Alcocer
STM32 ODE MKT

Hi Gilles,
could you post the entire sketch that you are using?
Thank you and Best Regards,
Carlo

Hi Carlo,
sketch attached.
Regards,
Gilles
X_NUCLEO_IHM02A1_HelloWorld.zip

Hello Gilles,
thank you for signaling. We have verified the issue at our side too. Please let us better debug in the coming days.
Cheers,
Davide


operator tesseract-cube (1.2.1)

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline


python311Packages.pyeconet: 0.1.20 -> 0.1.21

Diff: https://github.com/w1ll1am23/pyeconet/compare/refs/tags/v0.1.20...v0.1.21
Changelog: https://github.com/w1ll1am23/pyeconet/releases/tag/v0.1.21
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 263411 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.econet
python310Packages.pyeconet
python310Packages.pyeconet.dist
python311Packages.pyeconet
python311Packages.pyeconet.dist


Fix Redesigned hero section to be mobile responsive

We recently made some changes to update the website hero section to surface builder locations and also move the language family logos to the bottom of the hero section (see https://github.com/paketo-buildpacks/paketo-website/issues/28). These changes do a great job communicating what the Paketo project produces and which languages are supported in each builder, but doesn't render too well on mobile resolutions.

To make this mobile responsive, we could either:

Get rid of the tabs (for Full, Base, Tiny), simply display all of the logos in a grid, and get rid of the builder locations
Make the tabs a little smaller (fixed to a single row), display logos in each builder as a grid, and get rid of just the copy to clipboard button

Shoulf be resolved by https://github.com/paketo-buildpacks/paketo-website/commit/6d0730d0fbd3152b66ebae627f1d0008ec3df1ce

This looks great! Confirmed that the tabs for full, base, tiny are restricted to a single row, the logos are in a grid instead of row on mobile, and that the copy to clipboard button is removed.

Actually.  Now that I look at it a little closer, I think the logos could use a little more padding. For example, the node.js and PHP logos are really close to each other.

Scratch that. We just discussed getting rid of the tab layout because it's difficult for new project users to understand, and will be moving back to the old logo view that we had before.


Implement security code component UI

Issue
JIRA-2167
Proposed changes
Add Security Code Component UI.
Test Steps

Go to the main screen
Tap on CVV Component button
Verify the screen is visible and the validation works

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] Reviewers assigned
[x] I have performed a self-review of my code and manual testing
[x] Lint and unit tests pass locally with my changes
[NOT YET] I have added tests that prove my fix is effective or that my feature works
[NOT YET FULLY ] I have added necessary documentation (if applicable)

Further comments
This is a pre-review code. It'll be improved but it mainly serves to share the ideation with the team.

@okhan-okbay-cko LGTM. one question, what happens if merchant add same cvv component in parent view? containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) In Android we managed if they do so, it will load only one component instance.

In this case, they'll be able to add it many times. What's the benefit of preventing it? @chintan-soni-cko

@okhan-okbay-cko LGTM. one question, what happens if merchant add same cvv component in parent view? containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) In Android we managed if they do so, it will load only one component instance.

In this case, they'll be able to add it many times. What's the benefit of preventing it? They can do the same for Frames and can open many view controllers on top of each other and that should be their responsibility and a misusage IMO @chintan-soni-cko

Definitely, it is the merchant responsibility. However, it would be nice to manage from the SDK side and this concern was raised by @deepesh-vasthimal-cko. IMO, if we are not managing this case, then we need to document this behaviour for the merchant. So, they are aware.

@okhan-okbay-cko LGTM. one question, what happens if merchant add same cvv component in parent view? containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) In Android we managed if they do so, it will load only one component instance.

In this case, they'll be able to add it many times. What's the benefit of preventing it? They can do the same for Frames and can open many view controllers on top of each other and that should be their responsibility and a misusage IMO @chintan-soni-cko

Definitely, it is the merchant responsibility. However, it would be nice to manage from the SDK side and this concern was raised by @deepesh-vasthimal-cko. IMO, if we are not managing this case, then we need to document this behaviour for the merchant. So, they are aware.

If I understood correctly, it's a very explicit behaviour that they must have an intent to do it otherwise they can't do it by mistake. If we can define the risk or the issue created by it, then we can take a precaution @deepesh-vasthimal-cko can you elaborate on this one please?

@okhan-okbay-cko LGTM. one question, what happens if merchant add same cvv component in parent view? containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) In Android we managed if they do so, it will load only one component instance.

In this case, they'll be able to add it many times. What's the benefit of preventing it? They can do the same for Frames and can open many view controllers on top of each other and that should be their responsibility and a misusage IMO @chintan-soni-cko

Definitely, it is the merchant responsibility. However, it would be nice to manage from the SDK side and this concern was raised by @deepesh-vasthimal-cko. IMO, if we are not managing this case, then we need to document this behaviour for the merchant. So, they are aware.

If I understood correctly, it's a very explicit behaviour that they must have an intent to do it otherwise they can't do it by mistake. If we can define the risk or the issue created by it, then we can take a precaution @deepesh-vasthimal-cko can you elaborate on this one please?

I believe we don't need to handle this as merchants should add this view once and if they were to accidentally add many subvew on each other only the one on top will be accessible/touchable,. However, how does the SDK then handle CVV token creation if there are multiple CVV components created? Would be nice to understand how SDK behaves when calling the CVV token method if there are multiple CVV components added to UI.

@okhan-okbay-cko LGTM. one question, what happens if merchant add same cvv component in parent view? containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) containerView.addSubview(visaSecCode) In Android we managed if they do so, it will load only one component instance.

In this case, they'll be able to add it many times. What's the benefit of preventing it? They can do the same for Frames and can open many view controllers on top of each other and that should be their responsibility and a misusage IMO @chintan-soni-cko

Definitely, it is the merchant responsibility. However, it would be nice to manage from the SDK side and this concern was raised by @deepesh-vasthimal-cko. IMO, if we are not managing this case, then we need to document this behaviour for the merchant. So, they are aware.

If I understood correctly, it's a very explicit behaviour that they must have an intent to do it otherwise they can't do it by mistake. If we can define the risk or the issue created by it, then we can take a precaution @deepesh-vasthimal-cko can you elaborate on this one please?

I believe we don't need to handle this as merchants should add this view once and if they were to accidentally add many subvew on each other only the one on top will be accessible/touchable,. However, how does the SDK then handle CVV token creation if there are multiple CVV components created? Would be nice to understand how SDK behaves when calling the CVV token method if there are multiple CVV components added to UI.

I believe in any case it's a malpractice. It's like the car factory hardens the steering wheels of the cars that they produce because someone can hit them with an axe and they don't want the steering wheel to be destroyed in that case. Which might not be the same thing but feels the same to me at the moment. I'm afraid these cases never end. @deepesh-vasthimal-cko

Comments are addresses. Please have another look @deepesh-vasthimal-cko


ViewableData::defineMethods() wasting memory?

https://github.com/silverstripe/silverstripe-framework/blob/1db08bac88f9330dc4e6dda1ae08628f245a5212/view/ViewableData.php#L177-L183
This is run for every subclass of ViewableData that’s called during a request, fetching and then iterating over every single method of every class! I can’t find this caching behaviour documented anywhere, looks like it’s probably a pre-open-source relic? Either way, given that it’s using around 1mb of memory, I think it should probably be removed...
Before and after XHProf

That's a nice performance increase. :)
This is one reason I'd love to have dynamically assigned traits instead of extension methods. _call no longer has to do all the hard work. But, 4.0 land. :)
Does viewable data even have the chance to call defineMethods from the failover? During construction of the object that variable isn't even assigned is it?
How many methods match the second part of the function, which are prefixed with a single underscore? Is this a template pattern that SSViewer relies on?

Does viewable data even have the chance to call defineMethods from the failover? During construction of the object that variable isn't even assigned is it?

defineMethods() is called right at the end of Object::__construct(), and subclasses seem to set the failover before calling parent::__construct(), so I think the failover object is available at this point. Using ?debugfailover=1 seems to indicate that too

How many methods match the second part of the function, which are prefixed with a single underscore? Is this a template pattern that SSViewer relies on?

I can’t find any in core that it’s even possible to use from a template. _t() matches the convention, but that’s a special case that wouldn’t hit this method.
If there’s a BC risk, we could always change the method to something other than cachedCall that triggers a deprecation notice before calling cachedCall and remove this in 4.0?

Closed in https://github.com/silverstripe/silverstripe-framework/pull/5232


Allow creation of first collection exercise for survey

If you try to create a collection exercise for a survey that does not already have collection exercises this errors and gives misleading errors to the user. This PR addresses this by removing the dependencies on previous collection exercises for the survey.

 When creating a collection exercise another collection exercise is expected to be there otherwise this fails.

Codecov Report

Merging #153 into master will increase coverage by 0.37%.
The diff coverage is 93.33%.

@@            Coverage Diff             @@
##           master     #153      +/-   ##
==========================================
+ Coverage   95.15%   95.53%   +0.37%
==========================================
  Files          35       35
  Lines        1651     1656       +5
==========================================
+ Hits         1571     1582      +11
+ Misses         80       74       -6

Impacted Files
Coverage Δ

response_operations_ui/forms.py
99.13% <ø> (-0.04%)
:arrow_down:

...esponse_operations_ui/views/collection_exercise.py
97.23% <100%> (+0.12%)
:arrow_up:

..._ui/controllers/collection_exercise_controllers.py
87.75% <66.66%> (+6.5%)
: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 52bacda...e0a8165. Read the comment docs.


Update index.md

Requirements state python version 2.7 or 3.5, I believe it should be 3.5+

Updated in V2, thanks for reporting!


DCG translation is incorrect for actions, cuts, etc...

DCG translation should be more pessimistically work from
left to right, and not adopt an output parameter in front of
an action, cut, etc... Here is a test case that fails for Tau Prolog:

Here is the expected translation and behaviour:


fix: fixed styling bugs in profile editor view

Fixes: https://github.com/near/near-discovery/issues/843
The issue here was with using display: grid with wrong media breakpoints. It was still rendering the desktop version of main section when it was too small. Since the breakpoint was set to 1024px and the section was rendered on half of the screen it didn't have room to display correctly.
Solution:
Instead of using display: grid I used display: flex and set it to wrap automatically when there is no more room for the content to display correctly.
Regarding the fourth point in the issue ("'Most recent' dropdown looks buggy and 'Sort by' has incorrect font - bug"):
It looks like the layout is different now and there is no sorting feature anymore.

Before
After

@amirsaran3 @AmmarHumackicSQA After these changes the regular profile view stacks the tabs beneath the user info instead of having them side by side.

See comment here: https://github.com/near/near-discovery-components/issues/609#issuecomment-1885224452

@amirsaran3 @AmmarHumackicSQA After these changes the regular profile view stacks the tabs beneath the user info instead of having them side by side.

The tabs will stack when there is no more space in the right column to fit the content. Here is a video of how it looks like when resizeing.
https://github.com/near/near-discovery-components/assets/95852708/0730809a-a6e1-4886-a1ff-2e2a2cac7163


Your Ruby version is 2.1.0, but your Gemfile specified 2.1

on bundle install
my understanding is that Gemfile ruby method is not intended for specifying the patch level, at least not necessarily

+1

Your Ruby version is 2.1.2, but your Gemfile specified 2.2.0????

@OneDivZero yes, something like that seems reasonable. I think the requirement "2.1" should accept "2.1.x" versions without warning, and the requirement "2.1.3" should raise on 2.1.2 or 2.1.4, for example.

^ This! Please!

There's a ticket for this. We're going to do it as soon as we have time. Pull requests are welcome, if you have time before we do.

#!/bin/bash
mkdir -p /tmp/repro-2778
cd /tmp/repro-2778
cat > Gemfile <<EOF
ruby '2.2.2'
EOF
bundle install
i use this and it works fine thanks https://avatars3.githubusercontent.com/u/895588?v=3&s=400

Your Ruby version is 2.2.2, but your Gemfile specified 2.2.0
how i could fix this

@ABdalaa change your Gemfile to ruby 2.2.2 or install ruby 2.2.0.

@indirect Would just being able to specify 2.1 be shorter to implement than being able to specify ">= 2.0.0"? It'd be nice to have. Because the current situation is akin to require pre-2.0 Gemfiles to specify patchlevel; pretty much overkill. (And tbh, it enourages some users to stick with previous versions instead of upgrading the bugfix increment and having to reinstall all of their gems)

You only have to reinstall your gems when the Ruby Application Binary Interface changes. That will stay exactly the same regardless of whether that is implemented or not.
On Thu, Jul 2, 2015 at 10:55 AM, Jonathan Allard<EMAIL_ADDRESS>wrote:

@indirect Would just being able to specify 2.1 be shorter to implement than being able to specify ">= 2.0.0"? It'd be nice to have. Because the current situation is akin to require pre-2.0 Gemfiles to specify patchlevel; pretty much overkill. (And tbh, it enourages some users to stick with previous versions instead of upgrading the bugfix increment and having to reinstall all of their gems)
Reply to this email directly or view it on GitHub:
https://github.com/bundler/bundler/issues/2778#issuecomment-118110129

My question was "is it less complicated to just implement the same functionality that was there before, ie specify Ruby without patchlevel/bugfix than implement a full version specifier?" Because if it is, I'd gladly take that instead of waiting for the full functionality to be implemented

Your reasoning for the "simpler" solution was based on something that isn't true--changing the Gemfile from 2.2.1 to 2.2.2 doesn't require reinstalling gems unless your ruby version manager makes you do it.
As for whether the implementation is less hard, yes, you could implement something like the existing patch-level floating, simply using any Z version of that X.Y.Z Ruby version. I'm open to a pull request for that, sure.

(Please limit the Z-version float to Ruby 2.1 or greater, since that is when the Z version started tracking patch levels.)

I think the Z-version float would be a great stop-gap until semver support is created :) I can work on it this weekend.

@parabuzzle Any progress?

@joallard work got in the way :disappointed:  so no

@parabuzzle
Just forget about this problem :)
# top of Gemfile:
fail "Ruby 2.2.x required" unless RUBY_VERSION =~ /^2\.2/

which produce nice error if you run bundle:
[!] There was an error parsing `Gemfile`: Ruby 2.2.x required. Bundler cannot continue.

 #  from /Users/vanburg/src/rails_bare_app/Gemfile:5
 #  -------------------------------------------
 #  # see: https://github.com/bundler/bundler/issues/2845
 >  fail "Ruby 2.2.x required" unless RUBY_VERSION =~ /^2\.2/
 #
 #  -------------------------------------------

thanks, @vanburg! The error is as ugly as they come, but code fulfils its objective.

@vanburg saves the day.


Fix value_counts() to work properly when dropna is True

This PR Resolves comment https://github.com/databricks/koalas/pull/949#discussion_r356364770
>>> kdf
   a    b
0  1  NaN
1  2  1.0
2  3  NaN

>>> kdf.a
0    1
1    2
2    3
Name: a, dtype: int64

>>> kdf.a.value_counts()
2    1
3    1
1    1
Name: a, dtype: int64

Codecov Report

Merging #1116 into master will decrease coverage by 2.55%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1116      +/-   ##
==========================================
- Coverage   95.14%   92.58%   -2.56%
==========================================
  Files          35       35
  Lines        7003     7004       +1
==========================================
- Hits         6663     6485     -178
- Misses        340      519     +179

Impacted Files
Coverage Δ

databricks/koalas/base.py
96.07% <100%> (+0.01%)
:arrow_up:

databricks/koalas/usage_logging/__init__.py
24.32% <0%> (-72.98%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
50% <0%> (-50%)
:arrow_down:

databricks/koalas/__init__.py
78.72% <0%> (-6.39%)
:arrow_down:

databricks/conftest.py
92% <0%> (-6%)
:arrow_down:

databricks/koalas/frame.py
93.55% <0%> (-3.26%)
:arrow_down:

databricks/koalas/groupby.py
89.34% <0%> (-2.05%)
:arrow_down:

databricks/koalas/namespace.py
85.97% <0%> (-1.53%)
:arrow_down:

databricks/koalas/plot.py
93.33% <0%> (-0.96%)
:arrow_down:

databricks/koalas/testing/utils.py
78.51% <0%> (-0.75%)
:arrow_down:

... and 2 more

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 63d42c3...a895436. Read the comment docs.

Let me make a followup.

@HyukjinKwon ah, thanks! can you cc me after finished??


[stable/traefik] ACME wildcard certificate support

Is this a request for help?:
Yes
FEATURE REQUEST:
I want support of wildcard certificates as described in traefik documentation here : https://docs.traefik.io/v1.6/configuration/acme/#wildcard-certificates
I think the modifications are not that complicated (bump traefik version + add optional values in configmap template).
Version of Helm and Kubernetes:
Helm v2.9.0
Kubernetes v1.9.6
On-premise install
Which chart:
stable/traefik
What you expected to happen:
Be able to set the acme.domains.main option as detailled in traefik 1.6 documentation for wildcard certificate generation.
Anything else we need to know:
I have done a fork : https://github.com/farfeduc/charts with some modification that might resolve the issue but as I created a new pull request I became overwhelmed with the requirements.
So instead I thought it would be better to fill an issue with some work already done to ask if my modifications are correct.
@krancour If you have some time I would really appreciate some pointers on what I might have done wrong 😄  Thanks in advance.

@farfeduc I made a few comments on the last commit to your fork.


TO Go:  ignore param key(s) (e.g. "id") in JSON for PUT

This fixes #2496 .
If any of the keys provided from u.GetKeys() from any endpoint (usually it's only "id") is provided in JSON,  overwrite with the value from params (normally provided in path), e.g. api/1.3/tenants/2.   It needn't be required in the update JSON and, if provided, should be ignored.

@DylanVolz please review

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2055/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2058/
Test PASSed.

Just pulled this one down, tested it out on a cachegroup, and got this error:
{
  "alerts": [
    {
      "text": "unable to parse required keys from request body",
      "level": "error"
    }
  ]
}

example request:
{
  "parentCachegroupId": null,
  "latitude": 1,
  "longitude": 2,
  "name": "rawl-cg",
  "secondaryParentCachegroupId": null,
  "typeId": 6,
  "shortName": "rawl-cg"
}

Note how the "id" field is completely missing from the PUT request. I tried the request with the wrong ID in the JSON, and it was ignored/overwritten by the path param as expected, but the "id" field should not be required in the JSON at all when the ID is in the path param.
This also underlines the need to redo the go TO client/API tests so that we can properly test null values in nullable fields. Today we can't integration test this because the client uses the non-nullable structs generally, which is bad.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2089/
Test PASSed.

@rawlinp @DylanVolz please try this again

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2090/
Test PASSed.

I'm seeing an issue with the update delivery service endpoint, trying to determine if it is related...
{     "alerts": [         {             "text": "no delivery service found with this id",             "level": "error"         }     ] }

issue with the update delivery service endpoint is isolated and unrelated to this PR


Can't use run_segment with apex.amp

I use code like this
run_segment = optimal_grad_checkpointing(model, inp)
run_segment, optimizer = apex.amp.initialize(run_segment, optimizer, opt_level="02", verbosity=0)
...
output = run_segment(images)

and get the error
output = run_segment(images)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "/opt/conda/lib/python3.6/site-packages/apex/amp/_initialize.py", line 197, in new_fwd
    **applier(kwargs, input_caster))
  File "/working_dir/OptimalGradCheckpointing/graph.py", line 911, in forward
    return graph_forward(x, **self.info_dict)
  File "/working_dir/OptimalGradCheckpointing/graph.py", line 838, in graph_forward
    output = checkpoint(segment_checkpoint_forward(op), input)
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/checkpoint.py", line 155, in checkpoint
    return CheckpointFunction.apply(function, preserve, *args)
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/checkpoint.py", line 74, in forward
    outputs = run_function(*args)
  File "/working_dir/OptimalGradCheckpointing/graph.py", line 807, in custom_forward
    outputs = segment(*inputs)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "/working_dir/OptimalGradCheckpointing/graph.py", line 911, in forward
    return graph_forward(x, **self.info_dict)
  File "/working_dir/OptimalGradCheckpointing/graph.py", line 840, in graph_forward
    output = op(input)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 349, in forward
    return self._conv_forward(input, self.weight)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 346, in _conv_forward
    self.padding, self.dilation, self.groups)
RuntimeError: Input type (torch.cuda.HalfTensor) and weight type (torch.cuda.FloatTensor) should be the same

It would be effective to combine Optimal Gradient Checkpointing with apex.amp or torch.cuda.amp

Hi,
It could be that the pytorch checkpointing function is not supporting apex. Did you try torch.cuda.amp?

I would like to try torch.cuda.amp, but torch.cuda.amp.autocast appears only in PyTorch 1.6 and OptimalGradCheckpointing works only with PyTorch 1.5

Our implementation of auto parsing graph is depending on torch.jit and quite volatile with pytorch version. If you have manual parse_graph function it can definitely work with 1.6.
For auto parse, I haven't tested on 1.6 but I think it is likely working because I don't expect too many changes from pytorch 1.5->1.6.
Let me know if you are able to use it under pytorch 1.6. I will also test the compatibility of different versions when I get time.
Thanks

Yes, it works with torch.cuda.amp with PyTorch 1.10 after I fixed the line https://github.com/lordfjw/OptimalGradCheckpointing/issues/3#issuecomment-966102707
Thanks!


Bad Request 502 only on certain phones when using mobile carrier connection

When sending post requests I receive a Bad Request 502 response only when using mobile carrier connection. When on wifi the post works fine. This issue only happens on certain phones for exampple works fine regardless of connection on galaxy nexus, but doesnt work when only on mobile connection on a note 4/nexus 5.

Can you add more info? How large request, against which backend, any more debug info from LogCat, used version of library, etc...
If it's only certain phones and certain use-cases, we'll have to be able to reproduce the issue in our dev environment, or there is no way for us to fix it.

so the problem was that ipv6 was not properly configured on my server.
it appears that the newers phones use ipv6 when connecting to my server when on mobile connection, but used ipv4 over wifi. the older phones used ipv4 on both types of connections.
once i configured ipv6 on my server properly, the mobile connection would work on the newer phones.

Ok, thank you for follow up.
Can you please share what was wrong with IPv6 configuration on backend for others to know?
Closing this issue, as resolved on your side.


Hide "Climate Setting Schedules"

Climate Setting Schedules is deprecated. We should hide mention from the Seam Component:

hide defaultClimateSetting
hide climateSetting Schedules

Can you be more specific? Are we hiding this from the docs or changing the behavior of the library in some way?


Allow one method chain

The current method chaining rule is weird and causes some unwanted side effects.
For example, this should be valid, but isn't:

And when formatting, it becomes this, which is way worse:

Should validate only after the second chain