Incorrect encoding of characters in query parameters

Superagent runs encodeURIComponent on all query keys. However, RFC3986 defines a number of characters (sub-delims) which may be used unencoded in the query part of a url, including comma and a few more like +'!$()*;.
This means you can't use superagent to query a valid url like /id?key=val1,val2.
It also means superagent is incompatible with a lot of other url software like curl, chrome, python-requests and npm request.
This should be documented. Ideally, superagent should leave encoding to the user, although this would be a breaking change. Or, have an option to disable encoding.

I believe you can disable encoding by passing a full query string to .query instead of an object.

You're right, this works as expected:
request
  .get('http://localhost/id')
  .query('key=val1,val2')
  .end(function(err, res) {
    console.log(res.text);
});

Thanks for the workaround.


Airdrop hunter address, one person and one address created 40 multi-signatures,Here are 25 of them I reported

The airdrop hunter used the 0x7bdd6529fdfd78b1125aa4d4d152e37b58fe49c0 mainnet wallet to create 56 multi-signature addresses, and all of them received high token rewards,The query link is https://etherscan.io/address/0x7bdd6529fdfd78b1125aa4d4d152e37b58fe49c0?method=Create__Proxy__With__Nonce~0x1688f0b9
Querying an address through the Ethereum browser has created 56 multi-signature addresses, and all of them have transactions. The query link is https://etherscan.io/address/0x7bdd6529fdfd78b1125aa4d4d152e37b58fe49c0?method=Create__Proxy__With__Nonce~0x1688f0b9
0xBef0E77E3C2c3D07C02Ba8a419DaB3d95C74DEC9
0x5Dd2c4b7CEe0d63f59fbD40E345dc7FAD66550F6
0x27B838c2e151E45b82828630841dc58C75929540
0xfc60020375d6EAF86E299870448B88624cA0202f
0xc44b3e6889C08d0df9Ef494aD8a7cBe176896d11
0x7e704B7fA936e14bE948338fC9bec46B192bD101
0xdb251227116046f5076aE327BD2E8b8cfFc22479
0x3b0D3Ff250ba494DB67FEe61d7DB296e71a73884
0xCeC93b333d4140a7d53B6d72ccf4F5f9dFF951b6
0x5698a89AC10842e658804a9c36A8C5085Bfbe3C0
0x8e1E78354c240F28a01DA55611d1bbac2F17Fe39
0xb0C67d860158e0592b317488685fBCb3F836C8D6
0x53Ff9B7E00C601DcDFEb9D3Da5dB4252D72757D6
0x95905e9795c6242e1b70C7dca6Cb7Ff70AfE53Fb
0x2377420b05bB2df71a5B130ac0e472a46e3297F0
0x61e00016d26a700352E8e7ba3868426b000c8E79
0x7aF79F67Ab00a50B4a08390247Cc65B8A9512ab4
0x993D5ADCB4Bf8E848ba25a42C92934f59cff5f0A
0xEDf65B05908C75a447f3B0462C935429011B318E
0x344C416cc1e616223665c0618d123caDA1A948FD
0xBEABD76e274f9F56c2762e4a5991e3D52F730cfc
0xAB5C0F10Edd3972B5Cd3911c9a81eD2180c218D2
0xe36aaF75975720C0FA3D56087Bf910d2A53Cc959
0xa63d3836d37146a8B186C7B20258f988B5d74426
0xCC191076ef2337cCFA15ce7986e68d45A4144Ee8
Reasoning
The airdrop hunter used the 0x7bdd6529fdfd78b1125aa4d4d152e37b58fe49c0 mainnet wallet to create 56 multi-signature addresses, and all of them received high token rewards,The query link is https://etherscan.io/address/0x7bdd6529fdfd78b1125aa4d4d152e37b58fe49c0?method=Create__Proxy__With__Nonce~0x1688f0b9
Methodology
Querying an address through the Ethereum browser has created 56 multi-signature addresses, and all of them have transactions. The query link is https://etherscan.io/address/0x7bdd6529fdfd78b1125aa4d4d152e37b58fe49c0?method=Create__Proxy__With__Nonce~0x1688f0b9
My Safe Address
0x04b9f219331e4586Ae35cff9065eFc2A09F29751

Please elaborate on why these are safes created for airdrop farming. Just the fact that 1 addresses created all of them doesn't qualify.
If e.g. a wallet uses a relayer to create Safes, the relayer would be the account that created all user Safes which is not airdrop farming per se.

We haven't received any further information on this ticket and therefore deemed this submission invalid.
Unfortunately just the pure fact that Safes...

were created by the same address
have the same owner
conducted the same transactions
received assets from the same address

... is not enough reasoning for a valid submission, as there are legit user behaviour leading to such as well (relayer, scripts, power users, exchanges)
This submission didn't provide sufficient indicators to convince the team that there is some targeted airdrop farming behind the provided addresses. As per the rules, when in doubt we will default in favor of the airdrop recipients in order to not risk any false positives when sorting out airdrop hunters.


WIP : Embedding format

This pull request includes a new format and wrapper for encoding protein embeddings from protein language models. Many finetuning methods (i.e. classifiers) operate on the protein embeddings, so exposing this interface will lower barriers for downstream applications.
The underlying ProteinEmbedding object is simple, it only contains an embedding matrix and a string. The residues in the string correspond to the row vectors in the embedding matrix.  We are currently only implementing a light-weight wrapper to aid the standardization of a corresponding file format, while enabling the embeddings to be identified / indexed by the original sequence used to generate the embedding.
The implemented file format also simple, it takes in one big matrix embedding and an id string. In order to enable storing multiple embedding objects, we also store a idptr dataset that keeps track which portions of the embedding and id correspond to different sequences. This design will allow this file format to take in multiple ProteinEmbedding objects, which will help with mitigating the memory issues that are commonly encountered with encoding many embedding objects.

[x] Implement ProteinEmbedding class
[x] Implement ABC classes Embedding and SequenceEmbedding
[x] Add hdf5 format to the IO registry
[x] Include tests for pad_start and pad_end
[x] Add tests for assertion errors
[x] Add format error
[x] Ensure that doc tests are complete and passing

Please complete the following checklist:

[x] I have read the contribution guidelines.

[x] I have documented all public-facing changes in the changelog.

[ ] This pull request includes code, documentation, or other content derived from external source(s). If this is the case, ensure the external source's license is compatible with scikit-bio's license. Include the license in the licenses directory and add a comment in the code giving proper attribution. Ensure any other requirements set forth by the license and/or author are satisfied.

It is your responsibility to disclose code, documentation, or other content derived from external source(s). If you have questions about whether something can be included in the project or how to give proper attribution, include those questions in your pull request and a reviewer will assist you.

[x] This pull request does not include code, documentation, or other content derived from external source(s).

Note: This document may also be helpful to see some of the things code reviewers will be verifying when reviewing your pull request.

Not ready for review, having a really hard time adding documentation due to strict ruff requirements

This pull request is about 90% done, there are a few house keeping tasks that need to be done. But it is becoming sufficiently large where I think it warrants an intermediate review. @wasade @qiyunzhu

@mortonjt Great job! As we discussed, I will merge.


[grpc][upb] Update to newer versions

This PR rolls together the changes from #15078 and #17151 which each have issues on their own.

What does your PR fix?
Fixes #17140

TL;DR; there is code missing in upb that gRPC expects is found in its "vendored" version of upb.
AFAICT, the build problems on google-cloud-cpp are caused by missing symbols in the gRPC and upb libraries. It just happens that  google-cloud-cpp wants to link upb and that is what breaks.
To recap: this PR is trying to gRPC to 1.36.4 and upb to the corresponding version.  I say "corresponding" because gRPC has a copy of upb (not a submodule). This copy includes builds the upb library using more than just the coded included with upb, gRPC also compiles code generated by upb:
https://github.com/grpc/grpc/blob/3e53dbe8213137d2c731ecd4d88ebd2948941d75/CMakeLists.txt#L3798
The generator for these files cannot be compiled with upb's CMake files:
"However there is no support for building the upb compiler or for generating .upb.c/upb.h files. "
https://github.com/protocolbuffers/upb/blob/master/cmake/README.md
Meanwhile gRPC includes these generated files in its source, e.g.:
https://github.com/grpc/grpc/tree/master/src/core/ext/upb-generated/google/protobuf
https://github.com/grpc/grpc/tree/master/src/core/ext/upbdefs-generated/google/protobuf
That is, gRPC includes a copy of upb and a copy of files generated by upb.  I think we would be shaving a very large yak if we insist of using "unvendoring" upb from gRPC.
We may find more success if we used the upb that is bundled with gRPC.  This creates a problem, as now you cannot link both upb and gRPC in a vcpkg-based project.  That seems fraught with other dangers and I hesitate to send a patch to do so without some discussion.
I created an (incomplete) patch, it does not work, but has fewer missing symbols:
https://github.com/coryan/vcpkg/commit/c2ce02aee2fb9f344212f90eae2978975a8cf336
PS: I do not understand gRPC's rationale to adopt upb when upb is so immature with respect to packaging and stability (as compared to gRPC itself), but that is probably just my ignorance of the other issues facing the gRPC team.


Pull master into live

This makes Shared Runtime docs and IE11 docs live

Docs Build status updates of commit e6f7815:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/custom-functions-authentication.md
:warning:Warning

Details

docs/excel/custom-functions-debugging.md
:warning:Warning

Details

docs/excel/custom-functions-runtime.md
:warning:Warning

Details

docs/reference/manifest/runtimes.md
:warning:Warning

Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/develop/office-versions-and-requirement-sets.md
:white_check_mark:Succeeded

docs/excel/call-excel-apis-from-custom-function.md
:white_check_mark:Succeeded

docs/excel/configure-your-add-in-to-use-a-shared-runtime.md
:white_check_mark:Succeeded

docs/excel/custom-functions-architecture.md
:white_check_mark:Succeeded

docs/excel/custom-functions-dialog.md
:white_check_mark:Succeeded

docs/excel/custom-functions-dynamic-arrays.md
:white_check_mark:Succeeded

docs/excel/custom-functions-errors.md
:white_check_mark:Succeeded

docs/excel/custom-functions-json-autogeneration.md
:white_check_mark:Succeeded

docs/excel/custom-functions-json.md
:white_check_mark:Succeeded

docs/excel/custom-functions-localize.md
:white_check_mark:Succeeded

docs/excel/custom-functions-naming.md
:white_check_mark:Succeeded

docs/excel/custom-functions-overview.md
:white_check_mark:Succeeded

docs/excel/custom-functions-parameter-options.md
:white_check_mark:Succeeded

docs/excel/custom-functions-requirement-sets.md
:white_check_mark:Succeeded

docs/excel/custom-functions-save-state.md
:white_check_mark:Succeeded

docs/excel/custom-functions-shared-overview.md
:white_check_mark:Succeeded

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded

docs/excel/custom-functions-volatile.md
:white_check_mark:Succeeded

docs/excel/custom-functions-web-reqs.md
:white_check_mark:Succeeded

docs/excel/make-custom-functions-compatible-with-xll-udf.md
:white_check_mark:Succeeded

docs/excel/run-code-on-document-open.md
:white_check_mark:Succeeded

docs/excel/show-hide-add-in.md
:white_check_mark:Succeeded

docs/includes/excel-custom-functions-note.md
:white_check_mark:Succeeded

docs/includes/office-js-api-models.md
:white_check_mark:Succeeded

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded

docs/reference/manifest/event.md
:white_check_mark:Succeeded

docs/reference/manifest/extensionpoint.md
:white_check_mark:Succeeded

docs/reference/manifest/runtime.md
:white_check_mark:Succeeded

docs/testing/ie-11-testing.md
:white_check_mark:Succeeded

docs/testing/testing-and-troubleshooting.md
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded

docs/tutorials/excel-tutorial-create-custom-functions.md
:white_check_mark:Succeeded

docs/tutorials/outlook-tutorial.md
:white_check_mark:Succeeded

docs/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial.md
:white_check_mark:Succeeded

docs/word/search-option-guidance.md
:white_check_mark:Succeeded

docs/excel/custom-functions-authentication.md

[Warning] (Line: 2, Col: 76, Idx: 95) - (Line: 2, Col: 97, Idx: 116): While parsing a block mapping, did not find expected key.
[Warning] Missing attribute: title. Add a title string to show in search engine results.

docs/excel/custom-functions-debugging.md

[Warning] (Line: 2, Col: 71, Idx: 90) - (Line: 2, Col: 90, Idx: 109): While parsing a block mapping, did not find expected key.
[Warning] Missing attribute: title. Add a title string to show in search engine results.

docs/excel/custom-functions-runtime.md

[Warning] (Line: 2, Col: 58, Idx: 77) - (Line: 2, Col: 114, Idx: 133): While parsing a block mapping, did not find expected key.
[Warning] Missing attribute: title. Add a title string to show in search engine results.

docs/reference/manifest/runtimes.md

[Warning] (Line: 2, Col: 62, Idx: 99) - (Line: 2, Col: 73, Idx: 110): While parsing a block mapping, did not find expected key.
[Warning] Missing attribute: title. Add a title string to show in search engine results.

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.


ci: add misc check

We need an action to check if the title and commit log of each PR obey some rules.

Done, close.


Fix being unable to login when the discord user has no avatar

When logging in, inserting the Discord user would fail because :avatar was a required field.

Do we have a default avatar for users like that?


[Test Automation] Daily test automation to pull latest MVP demo branch

Daily test automation to pull latest MVP demo branch

Jenkins job to pull latest mvp_demo branch, build an image and run functional tests is in place. Have set this up only on minikube as a cron job that runs once every day, haven't set it up on openshift as these are shared for perf long runs.


Implement Secret Discovery Service

Implement Secret Discovery Service in Contour.
This enhancement request came out of the discussion on #862 for supporting rotating and invalidating certificates using SDS. More info about SDS is available here: https://www.envoyproxy.io/docs/envoy/latest/configuration/secret.

@vaamarnath we have a requirement to have SDS implementation in contour as well. Do you have a design that you can share with the details ?

@khgandhi The current requirement for SDS came in through #862. There is no design available for this issue at this point in time.
\cc @davecheney

@davecheney I have created an initial design draft for SDS support. Can you please take a look.

Due to the need to ship Contour 0.11 to address a security issue in Envoy 1.9.0 this has been bumped to the 0.12 milestone.

With #901 falling off the 0.12 milestone @vaamarnath and I have talked and the plan is to implement the basic SDS plumbing and we'll revisit the integration points with the rest of Contour later.
I was going to sit down and write down the steps to add SDS to internal/grpc but it turns out we already have 99% of the design from @bmadhavan in #960. I've polished that up and you can find here.
I'm not going to mark this issue as 0.12 as @vaamarnath nor I can commit to taking this one by the 0.12 deadline, but consider the design for adding SDS up for grabs.
Note to implementors: please work incrementally, one PR per high level design point.  You should also add some tests to internal/e2e which are really the func tests of internal/grpc.
Thanks
Dave

@vaamarnath @davecheney Thanks for the notes.  I've been building up the full solution over the last few days, adding tests, and verifying functionality.  I'll split up the change set into a few PRs, mirroring the suggestion to provide 1 per major design point.

I think this issue is now complete, at least wrt. the 0.12 milestone. Thank you to @vaamarnath @mattalberts and @stevesloka for pushing this forward.


Release 2.6.4

Recently new version (2.6.4) has been released. I've prepared suitable pull request: https://github.com/vromero/activemq-artemis-docker/pull/112

Merged


Vote for release of v0.2.0

At least 2 approvals are needed from the 3 owners for tagging 26b25ce as v0.2.0.

[x] Shiwei Zhang (@shizhMSFT)
[ ] Sylvia Lei (@Wwwsylvia)
[x] Terry Howe (@TerryHowe)

The code changes compared to v0.1.1 include:

#68
#73
#74
#75
#76
#77

See the change log for more details.
Please respond LGTM or REJECT (with reasoning).

LGTM

LGTM

Closing as v0.2.0 has been released.


Repeating first timestep

Check out pvdemo - it appears to do the first timestep twice. Maybe this is expected behaviour?

Fixed. Network was being manually changed after init(), causing contingent updates to force the first timestep to repeat.


[imgur] Support regular URL

Just one minor improvement to 3bf5705. It should support extracting a video from imgur's normal URL format: e.g. https://imgur.com/A61SaA1

Thanks, merged.


fogger doesn't support Postgres ENUM type

Hi everyone!
Thanks for your efforts!
It looks like fogger doesn't work with Postgres Enum type
worker_1  | In AbstractPlatform.php line 479:
worker_1  |
worker_1  |   Unknown database type enum_paymentdocuments_transactiontype requested, Doct
worker_1  |   rine\DBAL\Platforms\PostgreSQL94Platform may not support it.

All enums need to be mapped:
https://stackoverflow.com/questions/8750724/what-do-you-use-instead-of-enum-in-doctrine2/9057352#9057352
and/or avoided on the general db design: http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/


Convert infrastructure

Difficult because both railroads and infrastructure are analagous to vic3 infrastructure.

total hoi4 infra:
Hearts of Iron IV\history\states>
rg "infrastructure = .*" | %{$_.replace(":",",")} | convertfrom-csv -Header @("state","infra") | select-expandproperty infra | %{[int]::parse($_.substring("infrastructure = ".length,1))}| measure -sum
Count    : 899
Average  :
Sum      : 1997
So divide 1997 infrastructure by the total amount of vic3 infra to get # of infrastructure, then divvy that up among the states?

idk if 1+clamp(infra,0,4) is better or worse or the same as clamp(infra,1,5)


I can scroll past the content area on every page

This happens on Safari 11.1 on every page. To reproduce, go to https://design-system.service.gov.uk/styles/layout/ or any other page on design system, and scroll to the bottom. You should be able to scroll past the content when scrolling on the left column.
Seems to be something to do with height:100vh / using a flex container?

This bug is back on this page https://design-system.service.gov.uk/get-started/updating-your-code/
@36degrees @igloosi


Allowed the EXPLAIN query type and improved whitespace detection

@mmcev106 thanks so much! Interestingly, I literally had these things on my to-do list for today, plus a little more. This helps a lot.

Ha!  That is strangely serendipitous...


Python 3 support (and requests usage)

Hey, thanks for creating this. It's exactly what I was looking for!
For my use, I require Python 3 support, and I've got it working using 2to3 and using the requests library instead of urllib/urllib2.
I'd ultimately like to make a version of this compatible with Python 2.7 and 3+ and get it on PyPI. What are your thoughts regarding the use of external libraries? If it's installed using pip, it makes little difference but it may affect your use case?

Hi Ellis!
I have no problems with external libraries, especially if it's as common as requests. Also, given the ugliness of the current HTTP routines in pyupnpclient, and given that it's more of a proof-of-concept right now than an actual library, I'd welcome any work you might have done on it.
So feel free to add the Requests requirement, fork the project, or whatever. If you'd like commit rights to the repo, I'd also be more than willing to give it to you. It would be great to see Python 3 and pip support. I just don't have much time to work on it unfortunately, so any help would be awesome.
Regards,
Ferry

Hey again Ferry,
Well, I've gone a bit mad with it, it has to be said. I've pretty much rewritten the whole lot but kept the Server (now called Device)/Service/Action structure. I've used a lot of external dependencies too. You can have a look at the develop branch of my fork.
Here's a rough list off the top of my head:

Supports Python 2.7 and Python 3.4+ (at least)
Way more tests
Uses tox and py.test
Tests now work independently of an external uPnP device
Replaced xml.dom.minidom with lxml and used XPath
Replaced ssdp implementation with netdisco's one (it handles multiple network interfaces)
Handle various idiosyncrasies at the SOAP level with some devices
Can now access the services and actions as class properties, such as device.WANIPConn1.AddPortMapping(NewExternalPort=2222, NewProtocol='TCP', ...etc.)
Fully separated marshalling and validation of args and rewritten the functions (and implemented the todos!)

I think that's about it. The question is now what I do with it. I'll need to write some documentation, which I haven't got around to yet (surprise), but I'd like to discuss with you the following:

Which repository should the code live in, mine or yours? One the one hand, I've changed the project significantly, but on the other, it was your code in the first place! Do you have strong feelings either way?
Putting the library on PyPI (package name, whose account)

I think that's about it.
Cheers!

Nice work Ellis! Looks like you've made it into something actually ready for production use.
I have no strong feelings where the code should live. Making a project ready for real use is the hardest (and least fun ;-) task, so I believe you should take the most credit for it. I suggest you serve it under your own repo. A little attribution notice mentioning the original source would be nice, but it's not even required.
I can try to transfer the repo to you. I'm not sure if it works, since in some parts of the documentation it says I need write access to the target but in the other it says you should be able to accept the transfer.
If that doesn't work, I can either delete my repo or refer to yours in the README or something.
Sound good?

I wouldn't go that far just yet! The SOAP implementation needs work still - most of the existing Python SOAP implementations are decrepit and nowhere near Py3 ready. Some of the newer ones rely on having a WSDL, which we don't get with uPnP. Annoyingly, despite all of the verbose documentation for uPnP, half of the embedded devices have implemented it with slight variances, so this lib has to try to handle that as best I can!
OK. No need for you to do anything - I can ask GitHub support to remove the fork designation from my repo, and I'll update the readme/copyright notice and whatever else to reflect the change, adding attribution wherever I can, and a link to your blog, which I've enjoyed reading by the way!
Pleasure doing business with you :)
Ellis

Okay! I've updated my README to point to your version, in case people are looking for a more mature version.
I'm glad someone took the time to take my proof-of-concept code to the next level!


[HW]

Name:
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/justinrcrossprofile/
Attach the homework screenshots below for both step II and step III:

Great Job, thank you for your work.
Here is your badge:
<EMAIL_ADDRESS>


Refactor RealInternalStore to remove pmd godClass warning

https://github.com/NYTimes/Store/blob/develop/store/src/main/java/com/nytimes/android/external/store/base/impl/RealInternalStore.java#L40

Gave this a shot: https://github.com/NYTimes/Store/pull/179
Let me know you're thoughts


TF2 transform issue with turtlebot3_cartographer.launch

I'm trying to run google cartographer with Turtlebot3 simulation on gazebo (ros melodic and ubuntu 18). Coming across this warning on the terminal when i run turtlebot3_cartographer.launch:
Warning: Invalid argument "/map" passed to canTransform argument target_frame in tf2 frame_ids cannot start with a '/' like:           at line 134 in /tmp/binarydeb/ros-melodic-tf2-0.6.3/src/buffer_core.cpp
Also, the map topic does not publish anything. Any idea why this is happening? I gather from cartographer documentation that only TF2 is supported with ROS
Thanks in advance!

Hello :)
Sorry for late reply.
I didn't test your development environments but I assume you are supposed to modify below launch file related topic name from /map to map
https://github.com/ROBOTIS-GIT/turtlebot3/blob/master/turtlebot3_navigation/param/global_costmap_params.yaml

Solved the problem! thanks
However there seems to be a lot of other TF problems with cartographer library, and the instructions on the TB3 manual for using cartographer doesn't seem to be adequate. Will try to get it running. Cheers :)
-Sai

Great! If you have any further question, please open new issue :)

@ZhangLiangyu5411 you don't need to modifiy that in Kinetic distro.

@ZhangLiangyu5411 you don't need to modifiy that in Kinetic distro.

Thanks for your reply,and now it works well .thank you ~

Hello!
I have got an other problem when running google cartographer with Turtlebot3 simulation on gazebo (ros melodic and ubuntu 18)
when I'm launching cartographer with the command:
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=cartographer configuration_basename:=turtlebot3_lds_2d_gazebo.lua
[ WARN] [1551322996.038315946, 4964.699000000]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.
Any idea why this is happening?


Vm version file

Closes #50

great. thanks.
Please merge, and can you add it to the ReleaseCheckList?


Check for undefined globalObjectType in getPropertyOfObjectType

This can happen during symbol merging when initialising the checker, because global types aren't set until after symbols are merged.
May stop the crashes in #47179, #47181, #47180.
Does not address the underlying problem of needing to resolve aliases, and therefore names, during symbol merging when initialising the checker.
I created this PR so it would be easier for others to see if this is actually fixes their crashes.

@typescript-bot pack this

I manually patched it into node_modules/typescript/lib/*.js and it works!

Yes! This fixes the crash in https://github.com/SamVerschueren/tsd/issues/137. FYI @sandersn if you're looking for a repro. The name parameter there is ___esModule.

I switched to && and added a comment. We still need a repro though.

@JoshuaKGoldberg do you remember what you did to get that crash?

Oh sorry I wasn't clear @DanielRosenwasser -- the real issue report is https://github.com/SamVerschueren/tsd/issues/136.
git clone https://github.com/League-of-Foundry-Developers/foundry-vtt-types
cd foundry-vtt-types
git checkout 6cd18412b0ab71584951d4fb1f2a08482aba495d
npm i
npm run test

Note that it uses tsd's @tsd/typescript, which doesn't give a proper error stack. https://github.com/SamVerschueren/tsd/issues/137 suggests a fix: changing dist/cli.js to console.log(Error).

We're going with the fix at #47348

It might be worth sorting through the initialisation problems that this PR partly fixes, though.


Py3 compatibility for signature verification

This was what was minimally required to get signature verification to work under python 3.6.  Unit tests passed under 3.5, 3.6, and 2.7.

Released in version 1.0.1


ion-range with dualKnobs="true" is not validating properly

Bug Report
Ionic Info
Ionic:

   ionic (Ionic CLI)  : 4.2.1 (/usr/local/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.0

Cordova:

   cordova (Cordova CLI) : 8.0.0
   Cordova Platforms     : android 7.1.1, browser 5.0.4, ios 4.5.5
   Cordova Plugins       : cordova-plugin-ionic-webview 1.2.1, (and 12 other plugins)

System:

   Android SDK Tools : 26.1.1 (/Users/rattkin/Library/Android/sdk)
   ios-deploy        : 1.9.2
   NodeJS            : v10.6.0 (/usr/local/bin/node)
   npm               : 6.4.1
   OS                : macOS
   Xcode             : Xcode 10.0 Build version 10A255

Describe the Bug
When ion-range is used within <form> and has dualKnobs set to true, its validators doesn't seem to handle this situation properly. Even despite the fact that current upper and lower value is set and is within min/max bounds, control still reports as invalid with errors object :
{
actualValue: NaN
min: true,
max: true,
expectedValue: (random number)
}

I think that validators expect the value to be a single number, rather than being an object { upper: number, lower: number} tied to NgModel.
Steps to Reproduce
Create ion-range with dualKnobs and attempt to validate a form it is put in.
Related Code
<form #createForm="ngForm" novalidate>
<ion-range name="estimatedArrivalTime" #estimatedArrivalTime="ngModel" [(ngModel)]="arrivalTimeRangeMinutes" min="0" max="300" step="15" dualKnobs="true" snaps="true" required></ion-range>
</form>

 public arrivalTimeRangeMinutes: any = {
    lower: 30,
    upper: 90
  };

Expected Behavior
Control should be valid and not return any validation errors.
Additional Context

Thanks for your issue! Could you please check if this is still an issue in beta.17? That would be very nice :)

I'm sorry, I'm not using Ionic 4.

AHH, sry - i put this to Ionic 3 :)


invariant dependency missing from react-router in v4

Version
4.0.0-beta.3
Test Case
import { BrowserRouter } from 'react-router-dom';

Steps to reproduce
On fresh install of latest beta, add the test case code, look at console.
Expected Behavior
invariant is defined.
Actual Behavior
Can't resolve 'invariant' in 'project/node_modules/react-router-dom/node_modules/react-router'

Duplicate see PR #4388

@kwelch That was fixed in 4.0.0-beta.3, whereas this issue persists in that version. This appears to be due to invariant missing from the dependencies in the react-router package.

Thanks for the heads up, @kesne. I sometimes forget to --save when I npm install stuff.

This will be fixed in beta.4. In the meantime, please npm install invariant manually.


Common refactoring

Hi @dalemyers
I added an intermediate commit so you can see the step-by-step changes.

Also, I can help you to set up the CI (travis for example) if you want :)

CI is something we'll get done eventually, it's just not a priority for us. We'll almost definitely use Azure Pipelines for this though since it's what our experience is with and it integrates well with Github.
The intermediate commit is a start, but I'd still like to see each of these as a separate PR ideally. Adding type hints is separate from splitting out into modules, which is separate from other things, etc.
This still also has the lint violations which will need to be corrected before we can merge.


3s (16%) faster, still no unsafe

use Arena and MemorySegment to map entire file at once
handle station names < 8 and < 16 separately
attempt branchless temperature parsing
store first two longs of name for faster comparison
switch to normal threads and 1 task per thread

Hash collisions handled at lines 115, 137 and 159
Thanks for the pointer to https://openjdk.org/jeps/442 @gunnarmorling !
Check List:

[X] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[X] All formatting changes by the build are committed
[X] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[X] Output matches that of calculate_average_baseline.sh
[X] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number)

Execution time: 16s on 4core i7
Execution time of reference implementation: 288s

It's a tad faster now (00:13.071) on the eval machine, not quite the big difference you've observed locally.

Thanks for the pointer to https://openjdk.org/jeps/442 @gunnarmorling !

👍

I suspect you ran my original entry without the fast suffix? The previous run with fast was 8s.
So ./calculate_average_ianopolousfast.sh

Whoops, that's what I did indeed. Good catch. The "fast" entry comes in at 00:07.202 now. Still not 16%, but definitely a significant improvement. If you'd like to do more updates (definitely welcome to), I'd suggest we drop your non-fast one, as it's a bit in the way of how the eval tooling works, requiring some more manual adjustment to the leaderboard snippet.


Icon Request: Shopping Cart

If you'd like to request an icon, please provide the following information:

shopping, cart, or shopping cart
shopping cart button on an app or website
here's amazon's walmart's and barnes & noble's

Duplicate of #20 #79 ~#144~ ~#155~
@colebemis It seem like this one is heavily needed

I guess this just moved to the top of my list :)

Nice, thanks man. We really do appreciate the work you're doing here, @colebemis.


chore(package): update tap to version 13.1.2

Closes #54

Coverage remained the same at 100.0% when pulling d5c1908366a74d8bae8d7f5e0e78cbee59afa55f on greenkeeper/tap-13.1.2 into 35cdf0c97a1f024e8a47230677b1fbf96480fa94 on master.


how to get particular mobile number?

so i'm getting all information about that contact but not getting mobile number of that particular number

You need to get the contact list like this:
List<Contact> = (await ContactsService.getContacts()).toList()
Then you need to get the contact you want to use. In a listview for example like this:
Contact contact = _contactsList[index];
Now you have to get the 'phones' value from this contact as list with 'Item' as type:
List<Item> phonesList = (contact.phones).toList();
At the end you simply get the value of this item:
String number = phonesList[0].value;

You need to get the contact list like this:
List<Contact> = (await ContactsService.getContacts()).toList()
Then you need to get the contact you want to use. In a listview for example like this:
Contact contact = _contactsList[index];
Now you have to get the 'phones' value from this contact as list with 'Item' as type:
List<Item> phonesList = (contact.phones).toList();
At the end you simply get the value of this item:
String number = phonesList[0].value;


Functionality to persist events on client machine sent to GA

Look into adding functionality (can be disabled with flag) that logs all of the events that have been sent on user's computer incase they would like to see what events they are emitting. This will allow them to make an informed decision on whether or not they want to opt in/out of telemetry.
This feature can also enable other use cases – ie. surveying users about inactivity if logs show a decrease in activity over a period of time.

With the persisted data, we can also track how users are switching between branches/versions of Flutter/Dart


Feature - Update readme on tag

Closes #21

One of those things we have to test by tagging, right?
The command runs fine on my terminal though:

echo ::set-env name=RELEASE_VERSION::${GITHUB_REF:10}

This is from existing code but what does the :10 do here?

You could use act to run the action locally, but I guess that would still try to publish the release.

I tested it on a separate branch. I hardcoded the release variable and removed the npm step. Readme updated correctly

This is from existing code but what does the :10 do here?

@KevinBatdorf it gets the substring from the 10th character.
$GITHUB_REF contains the git reference of the branch or tag. In our case is something like refs/tags/v1.2.3
I've updated the PR to remove the v since we don't want it in the CDN link and it will get duplicated when you run it the second time

You could use act to run the action locally, but I guess that would still try to publish the release.

@ryangjchandler Have you set this up before? I was looking at it last night. Might try setting it up over the weekend.

You could use act to run the action locally, but I guess that would still try to publish the release.

@ryangjchandler Have you set this up before? I was looking at it last night. Might try setting it up over the weekend.

Yeah, we all use it at work for testing CI/CD stuff & manually running CI locally.


Offline content not stored correctly.

Repro on Master and 1.4.0:

Store clear "Car" clip.
Load "Car" clip.
Seek to the end of the video or wait... the video will run out of data around 2:15.

This bug affects all previous versions.

Correction: affects all previous versions with offline support, which means v1.3.0+.


pad.cpp "Tensor rank is not 4" assert in Forge tests after "adjust negative dims in reduce" Nov 8 commit

FYI @ayerofieiev-tt and @bbradelTT
Problem:
Open issue for tracking. We are seeing new fail/regression on previously passing tt-forge training test in "Reduce" op, when trying to uplift tt-metal to newer version in our project.  I bisected it to this tt-metal commit<PHONE_NUMBER> :
2024-11-08<PHONE_NUMBER>) by GitHub (Author<EMAIL_ADDRESS>: #13186: adjust negative dims in reduce (#14896)

I copied tt-forge-fe test to tt-mlir for easier bisect/repro, details following.
Repro instructions in tt-mlir using tt-metal commit<PHONE_NUMBER> follows...
Docker Image:  Use this docker image (with IRD if you want) to get mlir toolchain and python env prebuilt.
ird reserve --docker-image ghcr.io/tenstorrent/tt-mlir/tt-mlir-ird-ubuntu-22-04:latest --timeout 2-0 wormhole_b0

Get tt-mlir project and affected branch for repro (this includes tt-metal uplift)
% git clone git@github.com:tenstorrent/tt-mlir.git
% cd tt-mlir
% git checkout kmabee/tensor_rank_4_bug

Build tt-mlir + tt-metal projects:
% source env/activate
% cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DTTMLIR_ENABLE_RUNTIME=ON -DTTMLIR_ENABLE_RUNTIME_TESTS=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache |& tee cmake_cfg.log
% cmake --build build && cmake --build build -- ttrt |& tee cmake_build.log

Compile failing MLIR test and run it:
% ttrt query --save-artifacts
% ./build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline --ttir-load-system-desc="path=./ttrt-artifacts/system_desc.ttsys" fail_new.mlir | ./build/bin/ttmlir-translate  --ttnn-to-flatbuffer -o out.ttnn
% ttrt run out.ttnn |& tee run.log

Output + Stack Trace:
2024-11-16 21:17:16,668 - DEBUG - generating inputs/outputs for loop=1/1 for binary=out.ttnn
2024-11-16 21:17:16,668 - DEBUG - starting loop=1/1 for binary=out.ttnn
                 Always | FATAL    | Tensor rank is not 4
2024-11-16 21:17:16,669 - ERROR - ERROR: test=out.ttnn experienced an error with exception=TT_FATAL @ /localdev/kmabee/mlir1/third_party/tt-metal/src/tt-metal/ttnn/cpp/ttnn/operations/data_movement/pad/pad.cpp:41: rank == 4
info:
Tensor rank is not 4
backtrace:
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x97698) [0x7f92ae39b698]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x1c9ddcf) [0x7f92ada1ddcf]
 --- ttnn::operations::data_movement::ExecutePad::invoke(unsigned char, tt::tt_metal::Tensor const&, std::array<unsigned int, 4ul> const&, std::array<unsigned int, 4ul> const&, float, bool, std::optional<tt::tt_metal::MemoryConfig> const&)
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x13aaece) [0x7f92ad12aece]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x13ab98c) [0x7f92ad12b98c]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x13ac302) [0x7f92ad12c302]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x13a9f35) [0x7f92ad129f35]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x13a88e2) [0x7f92ad1288e2]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x13945f5) [0x7f92ad1145f5]
 --- ttnn::operations::experimental::auto_format::AutoFormat::format_input_tensor(tt::tt_metal::Tensor const&, tt::tt_metal::v0::Device*, tt::tt_metal::LegacyShape const&, float, tt::tt_metal::Layout, std::optional<tt::tt_metal::MemoryConfig>)
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_ttnn.so(+0x123a6a2) [0x7f92acfba6a2]
 --- ttnn::operations::reduction::Reduce<(ttnn::operations::reduction::ReduceType)0>::invoke(tt::tt_metal::Tensor const&, std::optional<std::variant<int, tt::tt_metal::SmallVector<int, 8ul> > > const&, bool, std::optional<tt::tt_metal::MemoryConfig> const&, std::optional
<std::variant<ttnn::GrayskullComputeKernelConfig, ttnn::WormholeComputeKernelConfig> > const&, float)
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b6341) [0x7f92ae4ba341]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b5921) [0x7f92ae4b9921]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b6f25) [0x7f92ae4baf25]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b78c7) [0x7f92ae4bb8c7]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b4e25) [0x7f92ae4b8e25]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b3645) [0x7f92ae4b7645]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b2f67) [0x7f92ae4b6f67]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b2e98) [0x7f92ae4b6e98]
 --- /opt/ttmlir-toolchain/venv/lib/python3.10/site-packages/ttrt/runtime/_C.cpython-310-x86_64-linux-gnu.so(+0x1b25be) [0x7f92ae4b65be]
 --- tt::runtime::ttnn::operations::reduction::run(tt::target::ttnn::ReductionOp const*, tt::runtime::ttnn::ProgramContext&)

Anything come to mind here?  I think tt-forge-fe might be using 5D tensors from slack thread:
https://tenstorrent.slack.com/archives/C065NUB85K3/p1731707816221959?thread_ts=1731707209.549169&cid=C065NUB85K3

@kmabeeTT could you please provide a simple pytest script to run on tt-metal?
Something like what's provided for #13621

Sorry I do not have good answers to either of these questions right now, not something I've done before, will have to ask around..

Follow up to previous question from @bbradelTT , I was able to spend few minutes and trim down (large training test) to very small single op (sum) test (by commenting out lines) from mlir-compiler POV and repro failure.  Here is the single ReductionOp that persists where problem is occuring under.  This is taken from our flatbuffer binary which should ~closely match TTNN interface...  hopefully this helps?
        {
          "type_type": "ReductionOp",
          "type": {
            "type": "Sum",
            "in": {
              "global_id": 12,
              "address": 0,
              "size": 0,
              "desc": {
                "shape": [
                  64,
                  10
                ],
                "layout": {
                  "stride": [
                    10,
                    1
                  ],
                  "oob_val": "Undef",
                  "core_range_set": [
                    {
                      "loc": {
                        "y": 0,
                        "x": 0
                      },
                      "size": {
                        "y": 1,
                        "x": 1
                      }
                    }
                  ],
                  "memory_desc": {
                    "shape": [
                      2,
                      1
                    ],
                    "tile_shape": {
                      "y": 32,
                      "x": 32
                    },
                    "data_type": "Float32",
                    "memory_space": "DeviceDRAM",
                    "memory_layout": "Interleaved",
                    "size": 8192
                  },
                  "strategy": {
                    "strategy_type": "NONE"
                  }
                }
              }
            },
            "out": {
              "global_id": 13,
              "address": 0,
              "size": 0,
              "desc": {
                "shape": [
                  1,
                  10
                ],
                "layout": {
                  "stride": [
                    10,
                    1
                  ],
                  "oob_val": "Undef",
                  "core_range_set": [
                    {
                      "loc": {
                        "y": 0,
                        "x": 0
                      },
                      "size": {
                        "y": 1,
                        "x": 1
                      }
                    }
                  ],
                  "memory_desc": {
                    "shape": [
                      1,
                      10
                    ],
                    "tile_shape": {
                      "y": 1,
                      "x": 1
                    },
                    "data_type": "Float32",
                    "memory_space": "DeviceDRAM",
                    "memory_layout": "Interleaved",
                    "size": 40
                  },
                  "strategy": {
                    "strategy_type": "NONE"
                  }
                }
              }
            },
            "dim_arg": [
              -2
            ],
            "keep_dim": true
          },
          "debug_info": "%3 = \"ttnn.sum\"(%2) <{dim_arg = [-2 : i32], keep_dim = true}> : (tensor<64x10xf32, #tt.layout<(d0, d1) -> (d0, d1), undef, <1x1>, memref<2x1x!tt.tile<32x32, f32>, #tt.memory_space<dram>>, interleaved>>) -> tensor<1x10xf32, #tt.layout<(d0, d1) -> (d0, d1), undef, <1x1>, memref<1x10xf32, #tt.memory_space<dram>>, interleaved>> loc(\"<stdin>\":19:10)"
        },

@kmabeeTT What is the 5D tensor for that op?
Also, two ways you might be able to get the inputs to reduce is to

Build a Debug build of tt-metal and then enable debug logging via

export TT_METAL_LOGGER_LEVEL=DEBUG
export TT_METAL_LOGGER_TYPES=Op
export TTNN_ENABLE_LOGGING=True

before running the test.

Do whatever process you use to collect ttnn traces. @ayerofieiev-tt would know how to approach that.

Also, a general question. How important is tensor support beyond 4D and do all other ops support 5+D tensors?

Another question, does the 4D version of the test (i.e. before https://github.com/tenstorrent/tt-forge-fe/commit/e9c0c525603cb9a2bee5e28f8dd874e43c02a5bf) work with the new tt-metal code?

@svuckovicTT, do you think emitC is ready for this? We could generate a standalone c++ unit test we could cut and paste here to make it easier for metal folks to repro.

I just tried it - sum op required manual intervention, and the input tensors aren't generated :/ I'll try to make this functional (tensor generation) in the next week or two.
This is the output, if anyone wants to use it, it'll require generating the tensors tho:
#include "common/bfloat16.hpp"
#include "core.hpp"
#include "device.hpp"
#include "operations/core/core.hpp"
#include "operations/creation.hpp"
#include "operations/eltwise/binary/binary.hpp"
#include "operations/reduction/generic/generic_reductions.hpp"
#include "tensor/tensor.hpp"
#include "tensor/types.hpp"
#include "types.hpp"

#include <cstddef>
#include <iostream>
#include <vector>

namespace ttnn {

// DeviceGetter class
//
// Singleton implementation for Device
//
class DeviceGetter {
public:
  static ttnn::Device *getInstance() {
    static ttnn::Device *instance = &ttnn::open_device(0);

    return instance;
  }

private:
  ~DeviceGetter() { ttnn::close_device(*device); }

public:
  DeviceGetter(DeviceGetter const &) = delete;
  void operator=(DeviceGetter const &) = delete;

  ttnn::Device *device;
};

} // namespace ttnn

ttnn::Tensor forward(ttnn::Tensor v1, ttnn::Tensor v2, ttnn::Tensor v3, ttnn::Tensor v4, ttnn::Tensor v5, ttnn::Tensor v6, ttnn::Tensor v7, ttnn::Tensor v8, ttnn::Tensor v9, ttnn::Tensor v10) {
  ttnn::Device* v11 = ttnn::DeviceGetter::getInstance();
  ttnn::Tensor v12 = ttnn::to_layout(v1, ttnn::Layout::TILE, std::nullopt, std::nullopt, static_cast<::ttnn::Device *>(nullptr));
  ttnn::MemoryConfig v13 = ttnn::MemoryConfig(ttnn::TensorMemoryLayout::INTERLEAVED, ttnn::BufferType::DRAM);
  ttnn::Tensor v14 = ttnn::to_device(v12, v11, v13);
  ttnn::deallocate(v12, false);
  ttnn::Tensor v15 = ttnn::sum(v14, -2, true);
  ttnn::deallocate(v14, false);
  ttnn::Tensor v16 = ttnn::from_device(v15);
  ttnn::deallocate(v15, false);
  ttnn::Tensor v17 = ttnn::to_layout(v16, ttnn::Layout::ROW_MAJOR, std::nullopt, std::nullopt, static_cast<::ttnn::Device *>(nullptr));
  ttnn::deallocate(v16, false);
  return v17;
}

int main() {
  // TODO: create tensors to feed the forward function
  // ttnn::Tensor result = forward(x, y);

  // Print result
  //
  result.print();
}

@bbradelTT, what could be cool is if we just make a gtest harness on tt-metal side where we could cut and paste the above code into some test harness template.  Then it's easy to repro on your end and also serve as a set of integration tests from tt-mlir.

@bbradelTT Incremental answer - So, actually there is no 5D tensors at play here in this failure, above code I pasted has 2D tensor, and I confirmed exact same behavior (compiler->mlir->flatbuffer) before the 5D change you mentioned (looked at older CI, grabbed compiler output and saw it matched the failing case).    I can't comment on importance of 5D+ tensors though, defer that to others if required.

If it's 2D tensors then that's straightforward. There was an assumption on the input rank for some if statements that were implicit. I'll need to make that assumption explicit. My fix will hopefully just be the following:
--- a/ttnn/cpp/ttnn/operations/reduction/generic/generic_reductions.cpp
+++ b/ttnn/cpp/ttnn/operations/reduction/generic/generic_reductions.cpp
@@ -57,7 +57,7 @@ static Tensor reduce_impl(
             rank);
     }

-    if (dim.size() == 1) {
+    if (dim.size() == 1 && rank == 4) {

Thanks @bbradelTT for looking partially blindly and fix - can confirm that fix works for trimmed single op test and original training test on our side!

Great. Thanks for checking @kmabeeTT
I'll get a PR out soon.
I was able to figure out the input by looking at the code in an earlier comment: https://github.com/tenstorrent/tt-metal/issues/15167#issuecomment-2483722674
The key lines were:
  ttnn::Tensor v15 = ttnn::sum(v14, -2, true);
  const size_t tensor_height = 64;
  const size_t tensor_width = 10;
  ttnn::Shape shape =
      ttnn::Shape(tt::tt_metal::LegacyShape{tensor_height, tensor_width});

  // Create tensors on cpu
  //
  auto x = ttnn::ones(shape, ttnn::DataType::BFLOAT16, ttnn::Layout::TILE);

I could figure out the input from that.
@svuckovicTT if it's too hard to create a proper tt-metal side test, the code that you emitted should be sufficient in many cases.


[ReutersBridge] Updated 'Top News' feed, some fix

Replace API endpoint for 'Top News' feed.
Add new function to get all related stories from 'Top News' feed.
Add new function to add item to RSS feed.
Function getArticle() and getAPIURL() now accept article ID from API
as long as setting is_article_uid in second parameter to true.

Temporary put this as Draft.

This PR is ready to review.

Pull request artifacts

file
last change

Reuters-current-context1
2022-03-28, 18:29:10

Reuters-pr-context1
2022-03-28, 18:29:10

LGTM, thanks a lot!


Fix list object versions encoding

This applies the same automatic encoding and decoding on ListObjects
to avoid parsing errors when there are problematic characters for our
XML parser.

Codecov Report

Merging #1794 into develop will increase coverage by 0.02%.
The diff coverage is 50%.

@@             Coverage Diff             @@
##           develop    #1794      +/-   ##
===========================================
+ Coverage    92.46%   92.48%   +0.02%
===========================================
  Files           53       53
  Lines         9873     9875       +2
===========================================
+ Hits          9129     9133       +4
+ Misses         744      742       -2

Impacted Files
Coverage Δ

botocore/handlers.py
96.92% <50%> (-0.23%)
:arrow_down:

botocore/credentials.py
98.74% <0%> (+0.37%)
: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 c53a380...d996281. Read the comment docs.


Unable to see WebView buttons when running Shiny app

Describe the bug
I wanted to try the new browser WebView command buttons that were recently added via PR #494 in a remote container session, but I do not see the buttons appear in the VS-Code UI when running a shiny application
To Reproduce
Steps to reproduce the behavior:

Create a development environment container for VS-Code using a custom .devcontainer/devcontainer.json and DockerFile such as the configuration in this GitHub repository
If not present, install the shiny package and run the example application in an R terminal via shiny::runExample("01_hello")
3  View the tab of the application which only shows two buttons (default to split to side view and the "...")

Do you want to fix by self? (I hope your help!)
I would be glad to help troubleshoot further but I don't have enough expertise to fix myself
Expected behavior
Ability to refresh webview and open in external browser with new buttons
Screenshots

Environment (please complete the following information):

OS:  Linux Ubuntu 20.04
VSCode Version: 1.52.1 (snap package)
R Version: 4.0.2 (running in development docker container)
vscode-R version: 1.6.2 (installed in remote session)

Additional context
It was not clear to me if I was supposed to set any new configuration options either in the extension or within the languageserver package itself.

Could you confirm that you installed the latest development build in the remote session?

That indeed was the issue.  I had assumed incorrectly that this was part of the latest version in the extension marketplace.  I had to look up how to install a development .vsix version of an extension but found this post on how to pull it off.  After rebuiliding the container I can see the buttons without a problem.  We can close this.  Just for my understanding, how do we tell if the version available on the marketplace is behind the current GitHub version?

Just for my understanding, how do we tell if the version available on the marketplace is behind the current GitHub version?

Ideally, the latest release in the releases section is identical to the marketplace release. There you can also view the commits to master since the release and check if something relevant changed.
Currently the GitHub release action is not happening (completely) automatically, so the last release wasn't released on github in time.
I'll open a separate Issue/PR to address this and hopefully the next releases will be mirrored on GitHub automatically.


Page doesn't respond in coding tasks?

So in Writing mode when it's prompted with coding tasks, it's unable to complete it, and page stops responding?


set block on white style for markdown block.

Features

为markdown block设置 block on white style ，效果如下：

示例代码为：
terminal是黑底时：
terminal是白底时：

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

Comparison is base (7f82628) 82.08% compared to head (711c5e6) 81.20%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@                 Coverage Diff                  @@
##           code_interpreter     #903      +/-   ##
====================================================
- Coverage             82.08%   81.20%   -0.89%
====================================================
  Files                   226      226
  Lines                 12478    12479       +1
====================================================
- Hits                  10243    10133     -110
- Misses                 2235     2346     +111

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


⚠ Bofrost.fr has degraded performance

In 4f7e564, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1725 ms

Resolved: Bofrost.fr performance has improved in f5a7da1 after 6 minutes.


CIV-10596 Mark judgement paid api test

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/CIV-10596
Change description
API test for Mark Judgement Full
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ X] No

This will be merged in https://github.com/hmcts/civil-ccd-definition/pull/3290


[Upload] Implement an Alert and body text to address SUBMISSION_ACCEPTED

Explanation

The user clicked on the Warnings accepted confirmation -- status is now SUBMISSION_ACCEPTED -- but if the user goes back to upload there isn't a message to notify the user of this

@shindigira
I see two instances for SUBMISSION_ACCEPTED
1) User DOES NOT have warnings, clicks Save and continue on the Review warnings step
If this user returns to Upload file after backend: SUBMISSION_ACCEPTED they would see the same screen that they saw when they initially upload this file --> backend: VALIDATION_SUCCESSFUL

2) User DOES have warnings, clicks on the checkbox to verify warnings on the Review warnings steps
If this user returns to Upload file after backend: SUBMISSION_ACCEPTED the field level status alert for the validation check will be something like: "Your file contains no errors and warnings have been successfully verified"...Running by Angel and will post a screenshot once he's reviewed.


[OSF-7354] Add staging preprint providers: SciELO + AgriXiv

Purpose
Add the SciELO, AgriXiv preprint provider and add environment options for preprint providers. Needs: https://github.com/CenterForOpenScience/ember-preprints/pull/251
Changes
Current states:

Ticket
https://openscience.atlassian.net/browse/OSF-7354

@sloria, good catches, have responded.

👍  Since this will need to be released before DjangoOSF, I'll squash-merge this and make it into a hotfix.


About experiment details

Can you share detail of convolution decoder block in/out dimension you used in LSUN bedroom generator? It is noted as dec_dim in your Generator class.

Sorry I found it


Trigger compilation when required files change

Closes #1788.
This PR changes how the foundry digest is computed. Every --requireed file is hashed and then these hashes are concatenated onto the contract digests previously used to compute the digest, and the digest is the hash of that string. This way, whenever the required lemmas files are changed recompilation is triggered automatically.
I tested to make sure that there is now recompilation when lemma files are changed, and that running the command to compile repeatedly with no changes results in recompilation being skipped subsequent times.

Maybe go for something simpler:
* If the `Foundry.digest` changes (because the solidity code changes), then regenerate the K files. This will retrigger kompilation because the requires digest will change.

* `foundry_kompile` hardcodes the logic of checking the K file digests directly. That digest should take into account: (i) the required files `contracts.k` and `foundry.k`. Ideally, it should also include all of KEVM's includes (eg. `evm.md`, `driver.md`, etc..., and `domains.md`, for example). If that digest changes, then we rekompile.

I have now:

kompilation_digest() - computes the digest including the contracts.k, foundry.k, and any --requires files
kompilation_up_to_date() - checks kompiled/digest against kompilation_digest()
update_kompilation_digest() - writes kompilation_digest() to kompiled/digest

@nwatson22 can you update the main comment body to reflect the new approach?
Also, I assume you tested this locally to make sure the appropriate rekompilations are (or are not) triggered?


Service Reference Tracking/Generation

Environment

Python version:  3.8.5
Peering Manager version:  1.3.3-dev

Proposed Functionality
Allow auto-generation of service references for every BGP session (definitely for BGP Groups, would also be nice for IXPs). I know it could currently be documented using a tag, however, a custom field would be much better suited for it and easier utilised in templates.  Even if auto-generation of service references is too much work, perhaps look at adding an optional field for it that can but doesn't have to be populated? It could be one of the below:

generated number, such as 0001, 0002.
allow prefix of free text before the generated number, such as: MYCOMPANYNAME-BGP-0001, MYCOMPANYNAME-BGP-0002.
allow prefix of free text, and allocation of a range of numbers, such as: MYCOMPANYNAME-BGP-1001, MYCOMPANYNAME-BGP-1002.

Use Case
Our existing system (AKA spreadsheets), generates service-id for every BGP session.  It's not too useful for IXP sessions, but definitely useful for PNIs.  For now, we will just migrate IXPs to peering-manager, with the hope that service-ids will make it to future releases for PNIs (bgp groups).

External Dependencies

I get the point of having such field. I was asking myself if it would worth it. The biggest thing to figure out is the algorithm to generate the service ID. Everyone has his own way to do so. That said we could just add a new free form field (optional) for now.


num_steps is a poor name for differentiating intervals vs points

Options:

num_steps and num_intervals (adding num_intervals and leaving the ambiguous name "steps" to mean "points")
num_points and num_intervals (an API break)
num_steps == num_points and num_intervals (a redundancy)

Taking the long view, coping with the disruption of an API break in the short term avoids off-by-one errors in the long term. On the other hand, removing num_steps from the documents will surely cause annoying errors at a couple beamlines that we will have to tediously resolve.

num_steps != num_points
num_steps == num_points -1

But,  if terms involving step seem unclear, num_intervals worksforme

Good. Yeah, the SPEC reference is what I was going for there. I want to avoid 'steps' because, unfortunately we've been using num_steps to mean 'number of points' on the floor, and changing the meaning of steps by 1 seems worse than removing it altogether.

right.  No one wants to specify steps (as in intervals-1).  Either intervals or stepsize are the natural choices.

To be clear, the changes proposed here and implemented in #673 only change the metadata recorded by the plan, not its inputs.The plan signatures still take 'number of points', intentionally following the numpy convention np.linspace over the SPEC one. We could accept num_intervals and/or stepsize as optional keyword-only arguments, but that would make the function signatures harder to interpret. Coupled or mutually exclusive kwargs are a bit of an anti-pattern in Python. So, our position has been that's easy enough for the user to do something like:
def my_scan(detectors, motor, start, stop, stepsize, **kwargs):
    num = (start - stop) // stepsize
    yield from scan(detectors, motor, start, stop, num, **kwargs)

Your point is well taken: specifying by step size is natural and popular. It might be worth considering pulling this up into core bluesky one way or another.

Yes, we should decide if what 'default' / base plans we ship and as you say @danielballan maybe include one for step size - then we just need to decide what to do about the last point.

I vociferously disagree, num_points == num_steps, however I seem to be outvoted.


Why use a Maybe?

In the simple app:
    address =
      Signal.forwardTo actions.address Just

    update maybeAction model =
      case maybeAction of
        Just action ->
            config.update action model

        Nothing ->
            Debug.crash "This should never happen."

What wrap it in a maybe?

Hmm. I see its because of a type signature issue. but when why doesnt the app crash immediately?
https://github.com/evancz/start-app/blob/master/src/StartApp/Simple.elm#L85
This seems pretty awkward/hacky to me

There are a couple of underlying issues here.
One is that the initial value of a Signal is a little special. For instance, Signal.foldp does not do anything with the initial value of a Signal. So, that is why the app doesn't crash -- the update method never sees the initial value. And StartApp.Simple arranges things so that, after the initial value, all updates get a Just.
However, every Signal does have to have an initial value. The difficulty StartApp.Simple faces here is that its model type is parameterized, and it doesn't ask the client to supply an initial value. So, it needs to wrap the parameterized type in a Maybe, so that it can have some sensible initial value to supply.
Note that the more advanced StartApp (without the simple) now does ask the client for an initial value, so it can avoid this technique.

I see. That just feels weird. I supposed you'd need an initial value for the compiler to do all the type checking, but it seems sensible to me that a signal wouldn't necessarily need an initial value. Perhaps its always wrapped in a maybe or something.
it looks like you you're just replacing the maybe with a list and mapping through the actions in the more advanced one.
https://github.com/evancz/start-app/blob/master/src/StartApp.elm#L100-L101
I'm new to elm so I dont exactly know what I'm doing, but I really like how this javascript library works -- I believe it was inspired by elm signals:
https://github.com/paldepind/flyd
But this library allows me to do the same exact thing in a more concise and intuitive way:
https://github.com/ccorcos/elmish/blob/master/tutorial/elmish.coffee#L15-L19
The elm way is just very confusing to me.

I see what you're saying about not worrying about the initial value of the signal...
https://github.com/elm-lang/core/blob/master/src/Native/Signal.js#L209-L231

At one time, there was some discussion about distinguishing between a Signal and a Stream, where one would represent something that always had a value (and thus an initial value), while the other would represent something more like events.
There is some code along those lines here:
http://package.elm-lang.org/packages/Apanatshka/elm-signal-extra/5.7.0/Signal-Stream

flyd looks very interesting ... it's amazing how many idioms Javascript can accommodate. And, amazing how much reach FRP is getting.
One difference between flyd streams and Elm signals is that flyd streams can begin and end, whereas Elm signals are infinite -- they have always existed, and will always exist.

Yeah. I never really end flyd streams, especially in my elmish example... I know what you're saying about JS though. You have more than enough rope to hang yourself, but you can bend the language to work however you want. This works for better and for worse, especially when you're forced to work with someone else's shitty code

Can this issue be closed?


Dokan install error

Hey, I am having an error with installing Dokan. I tried to install dokan seperately, ran as admin, redownloaded both keybase and dokan, tried to install KBFS. Didn't work. I got a permission denied, checked the path and it is fine.
Log file: http://pastebin.com/raw/hNtpQVXs

Being tracked at keybase/client#3398.


Timer rewrite phase 3: drivers

Just like the last (still active) PR #10303 this builds on top of the previous one and adds extra patches.
In this case, it takes advantage of the much simpler timer driver API to actually implement much simpler drivers for ARM SysTick and Intel HPET.  Seriously, these are like 4x smaller now.
They support all the features the old ones did, and now work with tickless pervasively (and enable tickless by default, as there's essentially no downside anymore).
Please review.  Also please test if you can, especially on SysTick hardware (I've only run tests on Qemu and the two boards I have on my desk).
I have similar rewrites in progress for Xtensa and RISC-V MTIME (which are very similar in structure to HPET) and will append those here as I finish them.
While this can be merged as a single unit, it's probably best to merge the older pull request first to smooth the transition.  I'll rebase this one as soon as the older one goes in.

Codecov Report

Merging #10556 into master will decrease coverage by 0.1%.
The diff coverage is 85.56%.

@@            Coverage Diff             @@
##           master   #10556      +/-   ##
==========================================
- Coverage   53.18%   53.08%   -0.11%
==========================================
  Files         210      213       +3
  Lines       25825    25824       -1
  Branches     5686     5693       +7
==========================================
- Hits        13735    13708      -27
- Misses       9781     9807      +26
  Partials     2309     2309

Impacted Files
Coverage Δ

kernel/include/kernel_structs.h
100% <ø> (ø)
:arrow_up:

kernel/include/kswap.h
100% <ø> (ø)
:arrow_up:

kernel/include/wait_q.h
100% <ø> (ø)
:arrow_up:

drivers/timer/sys_clock_init.c
0% <0%> (ø)

kernel/include/timeout_q.h
100% <100%> (+4.16%)
:arrow_up:

kernel/include/ksched.h
94.25% <100%> (ø)
:arrow_up:

include/kernel.h
98.48% <100%> (-0.05%)
:arrow_down:

kernel/idle.c
100% <100%> (+11.11%)
:arrow_up:

kernel/work_q.c
94.73% <100%> (ø)
:arrow_up:

kernel/thread.c
93.5% <100%> (+0.04%)
:arrow_up:

... and 15 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 9ae3ea4...8ce3ebd. Read the comment docs.

Update with some fixes to HPET...
...and a reworked nrf_rtc_timer driver that really wants review from Nordic folks.  It works for me on a nrf52_pca10056 at least, but needs validation on broader hardware.  The size should make review easy at least.

Rebased.  Fixed an issue on nrf where the driver and kernel don't care about the symbol name of the ISR, but one test does.

@andyross I ran the dining philosophers sample on HiFive 1 in both tickfull and tickless configurations and it appears to be running happily with the new driver.

Rebased.  Add an xtensa driver (tested so far only on qemu, my esp32 is acting funny at the moment).  Also adds a workaround for nrf52_bsim along the lines of the existing qemu one (i.e. disable tickless when the we're in a host emulation environment that uses host time as the reference).
At this point I think this whole path is complete.  I don't plan on doing rewrites of the Pulpino driver (for which I don't have hardware) or ARC (for which my only hardware is... cumbersome).  Nios II would be possible as it has a qemu variant, but looking at it the hardware seems to be a regular interrupt kind of thing and wouldn't support tickless anyway (rather: it's possible the hardware does, but the existing driver doesn't use those bits).

Rebased.  Fixed a nasty initialization bug on ARM that was exposed by the mps2 target.  Added @nategraff-sifive's suggested fix for the 64 bit rollover condition (that I still don't really see, looking at it -- though this version is still optimizable by the compiler to the 32 bit one we want, so there's not reason not to do it this way).
Should be good to merge at this point.  Please review.

APIC timer refactoring is coming as part of x86_64, FWIW.  In fact the need for that is sort of the initial germ that got me started on this whole timer saga.

Rebased and pushed a final version.  All code is present, all tests are passing.  All needed workaround (e.g. for nrf54_bsim's spin loops) are already in the tree.  I think all criticism is addressed.  Needs final review.


SMTP issues when not requiring auth

My SMTP server allows relaying by named IP address and does not use SMTP authentication.
I can't send emails by changing auth to none, and when I comment the line it causes the front end to crash on submit of forms/forgot password etc.
How can the system be set up to not require authentication?
Thanks

I removed the lines from smtp_mailer.rb relating to username, password and auth and it works. Would be good to consider this in future versions perhaps?


implemented bubblesort in coffeescript and added it to book.json

Sorry that took so long. I added it to the .editorconfig


"Please use remotev2 to control"

After updating to 2.4.1 and reconfiguring the password, I can connect again to BMW, but it only says "Please use remotev2 to control", and does not update the data.
bmw.0 | 2021-11-13 22:51:49.568 | warn | Please use remotev2 to control
bmw.0 | 2021-11-13 22:51:31.410 | info | starting. Version 2.4.1 in /opt/iobroker/node_modules/iobroker.bmw, node: v12.22.6, js-controller: 3.2.16
Any idea?

New instance created, now connecting


HDDS-4564. Prepare client should check every OM individually for the prepared check based on Txn ID.

What changes were proposed in this pull request?

After getting a successful response for the OMPrepareRequest, the prepare client should use the Txn ID from the response to check every OM's preparation completeness.
This JIRA is partially dependent on HDDS-4569 which plans to introduce a marker file at the end of preparation. In a follow up JIRA, this will be refined to take up that logic, along with an integration test.
A basic acceptance test for prepare has been added.
User facing message screenshot has been attached (om1, om2, om3 are actually hostnames in the screenshot).

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4564
How was this patch tested?
Manually tested.
Added acceptance test.

cc @errose28 for review.

Ran the test 20 times and verified that no failures are seen (https://github.com/avijayanhwx/hadoop-ozone/runs/1553559592)  Please ignore the overall test run. It has failed due to incomplete github workflow changes. The test itself successfully ran 20 times.
summary.txt

Thanks for the reviews @linyiqun, @errose28 & @swagle!


Add StrictDeadline option to packetio.Buffer

If StrictDeadline option is set to false (default), Read() may return data even if the deadline is exceeded or context is canceled. It may increases the performance.
Set true to make Buffer behaves more like net.Conn.
This also restore improved test reverted by ac22c334.
Related #116

@Sean-Der @OrlandoCo  this is what https://github.com/pion/transport/pull/116 suggested. It is unrelated to the context introduction.

@Sean-Der @OrlandoCo please take a look.
In webrtc usage, strict deadline handling is not required. This should improve the performance.
This also restores the update of the test reverted by ac22c334b84c0c73ad1806eaf30606bb15aead46

nice! that makes sense to me, better to not leave the perf on the table :)

sorry that I missed this in all the tagging/pushing

What's the performance gain?  It's difficult to judge without seeing benchmarks if the change is useful.

Can you give a usage scenario where setting this to false would be useful? Also, why is the default false?

Hi @jech,
@at-wat motivated the change in this comment:

In webrtc usage, strict deadline handling is not required. This should improve the performance.

And sorry for not CCing you. I did not knew that you wrote this code.
If you strongly disagree with this change, I will revert it.

@at-wat motivated the change in this comment:
In webrtc usage, strict deadline handling is not required. This should
improve the performance.

I don't understand how this can possibly improve performance.  The code
used to drop obsolete packets straight away.  The new default keeps the
obsolete packets around, which means we spend extra time sending obsolete
packets.  Furthermore, it causes extra bufferbloat.
Thus, I would intuitively expect it to decrease performance.
@at-wat, could you please provide benchmarks that show that this change
improves performance?

If you strongly disagree with this change, I will revert it.

I think it should be reverted.  At the very least, the default should be
the opposite of what it is now.

Agreed. I will revert the change.
@at-wat Please feel free to reopen if we have some benchmarks :)


Hard limits for CPU and memory

Per confirmation with the capacity team, it seems that the limits of 4 CPU and 16 GB memory are hard limits that can't be increased. Can this please be added to the hard limits section? Those limits are listed in the doc, but it's not clear if they are hard limits or ones that can be increased.

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

ID: 4813692b-08ad-2d67-1900-e8f813d23d58
Version Independent ID: 00c85e76-ca12-2514-8267-bfee50ce6df0
Content: Resource availability & quota limits for ACI - Azure Container Instances
Content Source: articles/container-instances/container-instances-resource-and-quota-limits.md
Service: container-instances
GitHub Login: @tomvcassidy
Microsoft Alias: tomcassidy

@dcbrown16
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@tomvcassidy
Can you please check and add your comments on this doc update request as applicable.

Hi @dcbrown16 ! Thanks for bringing this up. I've added clarification for the hard limits to each appropriate section, and those changes are merge as of this PR: https://github.com/MicrosoftDocs/azure-docs-pr/pull/271613 . These changes will be published later today.
If you find any other problems in the docs, please let us know!
#please-close


Is ember-route-action-helper really necessary in the integration docs

I think the docs could be updated to better help someone starting with the addon.
If you copy/paste the snippets from the readme, you'll miss ember-concurrency and ember-route-action-helper if you don't already have them in your project.
I'll address ember-concurrency in another issue.
As for ember-route-action-helper, do we really need to have a route action for the upload to work? If not, why not move the action from the route to a controller or component? That would remove one possible dependency error when copy/pasting the example code.

We don't, and yes, it would be good for this to work without that ember-route-action-helper. I'm not sure how much controllers are recommended for ember apps..

In my opinion there is no problem using controllers. When the day comes there will be an upgrade path.

https://github.com/tim-evans/ember-file-upload/issues/122

The route-action helper was removed from the docs in #281 .


Unmatched ' ) ' in functions.py

Extra ' ) ' in line 95 in functions.py

Fix it @vamsikrishnarh7

@nikhil25803 made PR #62


Updates from rspec-dev (2016-12-27)

These are some updates, generated from rspec-dev's rake tasks.

Superseeded by #1765


CyberArk: Removed tokenize value from the event samples

CyberArl: Removed tokenize value from the event samples

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


Wapoints have cide examles alreafy solved

Challenge Waypoint: Divide one Decimal by Another with JavaScript has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
This wapoint and the prior two all three have example code that already has the correct answer, not matching the chanhe instructions that seem to describe another code block that starts out as incorrect.
My code:
var quotient = 4.4 / 2.0;

// Only change code above this line.

(function(y){return 'quotient='+y;})(quotient);

This is code from a previous version of the waypoint, meaning to must have visited and worked on this waypoint before. Please press the reset button if you would like to start over.
Thanks and happy coding!


Complete Docs intro page

Finish the work that the team started on this page in Austin

Is this done? Link to commit if so and close?

Closing for Phase 2, new enhancements go to new issues.


Support programmatic AWS SSO authentication in botocore v1 without AWS CLI v2

~I'm looking forward to the AWS CLI v2 allowing aws login to connect with AWS SSO. I'm also excited that the auth token retrieved by the CLI is managed by botocore, because it means scripts using the boto3 SDK can be run with the identity from aws login. However, it would be great if scripts could manage their auth directly without involving the CLI.~
With botocore 1.17, support for loading credentials cached by aws sso login has been added. This still means that Python applications cannot initiate AWS SSO auth, requiring their users to also install and understand the AWS CLI.
I'm asking for three things:

Make the SSOTokenFetcher.on_pending_auth hook a provider-based system like the one for credentials.
Move the browser provider from the CLI into botocore, so a script using boto3 can use browser-based authentication (I guess I would also want a provider that only ever did the "print url+code instructions" too)
Add a process provider like credentials have, so that users can implement alternative auth schemes against their IdP (for example, a browserless flow on headless systems like EC2 instances).

Moving the SSO provider into botocore is definitely on our radar, specifically the first note about being able to use the identity from an aws login. The latter suggestions in 1/2 are also definitely considerations we're thinking about as well. Right now we're letting things bake in CLI v2 for a bit to see how they go as we have the flexibility of a non-GA product in v2. Once we're comfortable that the interfaces we put into CLI v2 feel right putting them in the SDK is definitely our intention. We don't have a concrete timeline for when this will be done though.
As for point 3, could you expand on what you mean by a process provider for alternative auth schemes? Pending what you mean this may require additional support from the SSO API.

I'm slightly confused—the CLI v2 is not yet GA, but the support it requires from botocore is also in a v2 branch; don't they go hand-in-hand in terms of maturity/GA timeline?
As an example for a process provider, people implement screen-scraping against ADFS to be able to prompt people for passwords inside the terminal. The AWS security blog has even featured such solutions. This would still be possible given device flow for SSO.

To clarify, I meant that we have the intention of bringing the SSO credential provider into the current major version of botocore (v1). At the very least the ability to read the cached credentials from the v1 of botocore, and potentially more like some of the features you're mentioning (hooks/providers for managing/logging into an sso session).

Checking back in on this as the CLI has gone GA.

I'm glad the ability to read cached AWS SSO credentials has been brought in to botocore 1.17, but I'd still like to see this support grow to the original scope of this issue, which is that an SDK-using application could trigger dispatch to browser for authentication, so that the user doesn't have to also use the AWS CLI. At the very least, bringing SSOTokenFetcher in would be useful

I would like to voice support for this as well. We're exploring AWS SSO and it would be fantastic if botocore could kick off the SSO auth flow so we don't have to either redirect users to aws sso login or re-implement a lot of botocore's existing credential-handling functionality.

Following up on this now that the provider has been back ported into botocore v1.
For now, we have no immediate plans to expose the interfaces to programmatically resolve SSO credentials and store them in the shared caching location beyond the credential provider. There's a few reasons we've decided to keep these private and here are some of the highlights:

Given the asynchronous nature of resolving / using the SSO credentials it's potentially problematic to have multiple processes attempting to perform the login flow at once. Theoretically, this is possible even with a single tool (i.e. CLI V2) just a lot less likely given that the login flow is explicitly invoked rather than some implicit attempt to refresh.
Currently, SSO login attempts need to be explicitly requested by the user (via CLI V2) and not implicitly invoked as part of an attempt to use those credentials. This has the benefit of vastly simplifying the credential provider, as the process of performing an SSO login is not an implicit part of being a compliant provider. Additionally, this falls more inline with the guidance in the device authorization RFC:

To avoid unneeded requests on the token endpoint, the client SHOULD only
commence a device authorization request when prompted by the user and not
automatically, such as when the app starts or when the previous authorization
session expires or fails.

Individual tools concerned with using a profile configured to use SSO credentials all ensuring the underlying login token is up to date and prompting for login flows seems like an anti-pattern. As the credentials are shared, any process using said credentials will all attempt to initiate the login flow without the knowledge of any other tool attempting to do so. The end result is the user being prompted by multiple tools to complete the login, which seems annoying at best, and hostile/broken at worst. By adding and supporting public interfaces for this in the SDK we're promoting scenarios where multiple tools think they're responsible for refreshing the login session. Ultimately, we want to limit the number of tools concerned with performing this logic.

Realistically, only one process needs to refresh the underlying SSO login session to ensure the credential provider can exchange for credentials using the shared cached session token. That being said, I definitely agree that there improvements to be made on the current workflow. Ideally, in my mind this would be some kind of daemon that monitors login sessions and can notify the user when their credentials may be close to expiration to refresh the login session (e.g. via notifications, the task/menu bar, etc).
As a question, is there anything specifically about using the CLI v2 to perform the SSO login that's a hard blocker?

All of these concerns make sense.
The problem with relying on the CLI v2 to perform SSO login is that a program a developer creates may not have CLI users as its audience (e.g., a GUI application), and even if it does, the AWS CLI v2 has an idiosyncratic install process that will be a completely divergent step in the program setup process.
I'd be happy with an AWS SSO daemon, especially if its installer was more friendly for users less familiar with the CLI. I'd be happy to help build such a thing, in fact.

Thanks for your response, @joguSD, it makes a lot of sense.
I would also be curious to at least follow along with development of a daemon (if not contribute a PR or two).

@joguSD I made a prototype of a GUI application that refreshes AWS SSO tokens. https://github.com/benkehoe/aws-sso-login-gui

@joguSD  @benkehoe just in case this helps, here is my method for solving this kind of issue. i include expiration timestamp in the storage with the token, could check that timestamp to alert for expiration:
https://github.com/0xW1sKy/PowerShellTools/blob/master/Reference/Get-AWSSSORoleCredential.py

@joguSD  @benkehoe just in case this helps, here is my method for solving this kind of issue. i include expiration timestamp in the storage with the token, could check that timestamp to alert for expiration:
https://github.com/0xW1sKy/PowerShellTools/blob/master/Reference/Get-AWSSSORoleCredential.py

@0xW1sKy I have written aws-sso-lib for programmatic AWS SSO functionality, and aws-sso-util for things like generating profiles for all AWS SSO account+roles. Your script looks like it writes to ~/.aws/credentials as well, which I have aws-export-credentials for (that works with all kinds of AWS credentials)

@0xW1sKy I have written aws-sso-lib for programmatic AWS SSO functionality, and aws-sso-util for things like generating profiles for all AWS SSO account+roles. Your script looks like it writes to ~/.aws/credentials as well, which I have aws-export-credentials for (that works with all kinds of AWS credentials)

@benkehoe I had been looking for ways to bring up our local development stacks with our SSO users. aws-sso-lib looks very useful. I wonder how legit is this package if we install it with pip since this package will access to a very critical files with the tokens under the sso/cache

@benkehoe that's exactly how simple it is to compromise the token. Package Provenance sounds promising to increase trust in npm packages.
Public repositories have become a handy instrument for malware distribution like token grabbers and env variable stealers. My question is here again if we can trust in aws-sso-lib


Requirements to use AppLocker

The table has a number of issues in regards to Windows 8/8.1 family:

Windows 8 Pro can be used to configure policies, but not to enforce. First column must be set to YES.
Only Windows 8.1 Pro and Enterprise editions can be used to configure policies.
Only Windows 8.1 Enterprise can be used to enforce policies

2-3 -- Windows 8.1 and Windows 10 family must be split in two separate rows:
Windows 8.1 Pro        -- YES -- NO
Windows 8.1 Enterprise -- YES -- YES

And there should be a note in regards to Windows 10 Enterprise and Windows Server 2016. It appears that on workgroup machines Applocker cannot be enforced anymore, it works on domain members only.

@Justinha Can you take a look?

@Crypt32 Thanks for the corrections. We confirmed with our engineering team and the table has been updated. They indicated AppLocker can be enforced on workgroup machines; there has been no change in that respect.

They indicated AppLocker can be enforced on workgroup machines

unfortunately, it is incorrect statement, or additional information is missing. Reference: https://docs.microsoft.com/en-us/windows/device-security/applocker/configure-the-application-identity-service

Starting with Windows 10, the Application Identity service is now a protected process. Because of this, you can no longer manually set the service Startup type to Automatic.

Applocker relies on Application Identity service and you can't change its start type via services.msc on a standalone machine. If you start the service, Applocker rules won't apply until the server reboots. Since service start type is Manual (by default) and cannot be changed via services.msc, after reboot the service is stopped. The configuration process described in the referenced doc is applicable for domain members only. GPMC is not available in workgroup environments. I made several tests on Windows Server 2016 and all failed to apply Applocker rules. Therefore, I concluded that it is not possible and should be mentioned in requirements unless there will be a note on how to enable Applocker in workgroup environments.

@Crypt32 Thanks for explaining. I shared with engineering again and will follow up.


Update Cilium in CAPVCD

We run a fairly old version of Cilium that causes issues for promtail so we need to update to 0.18.0
Context https://github.com/giantswarm/giantswarm/issues/29385
Slack https://gigantic.slack.com/archives/C01BYMF6RN0/p1704898601837499

activate renovate

https://github.com/giantswarm/cluster-cloud-director/pull/243


Expand search scope to the rest of the PowerShell gallery.

It would be great to be able to have a version of this tool that could search the PowerShell gallery and include those cmdlets in the result set. This way, if someone wanted to know if a cmdlet existed to do a task, they might be pointed in the direction of a community authored module if Microsoft doesn't offer one of their own.
Ideally the module author could offer their own documentation based on a standard file and folder layout that could be crawled by an analyzer, or if the agreed upon files and folders are not found, regular Get-Help style code analysis could at least be used to stub out things like the cmdlet names and parameter names.

⚠ Idea migrated from UserVoice
Created By: Bill
Created On: 2017/08/08 19:11:21 +0000
Votes at Migration: 1
Supporters at Migration: 1

Thanks for your feedback at this time we don't plan to includes any packages which are not distributed by Microsoft.


feature: Enhanced error message for unknown errors (not in prod mode)

Closing in favor of PR against dev branch


Support adding Wireguard option to all applications

Description
WireGuard Option Across All Applications

Added the ability to configure WireGuard access for machines.
Integrated the WireGuard option into all applications within the Dashboard, enhancing security and connectivity options.

Changes

Enable Wireguard access to the machine.

Include the option in all Dashboard applications.

Enabled the Public IPv4 and displayed it as a 'read-only' field

Send the value of the 'Wireguard' option to the deployment

Updated the return of the 'createWorker' function to be ready to accept all networks

Updated the worker interface to accept all networks

Infrared the type of the name in the validator to avoid typescript errors

Send the value of the 'Wireguard' to the deployment

Enable Mycelium option by default

Added the Wireguard option to the K8S deployment

Added a watcher into all solutions that require a domain to be deployed to watch on the custom domain value then updated the Wireguard option

Added a new attr 'read-only' in the 'Networks' component to set the 'Wireguard' option as 'read-only'

Update the opacity of the 'Wireguard Switch' in the 'Networks' component

Updated all applications with the new requirement and tested the full workflow

Related Issues

https://github.com/threefoldtech/tfgrid-sdk-ts/issues/3185

Screenshots

Checklist

[ ] Tests included
[x] Build pass
[ ] Documentation
[x] Code format and docstrings
[x] Screenshots/Video attached (needed for UI changes)

Let's use Squash Merge when merging this PR

I have a concern about switching off the wg access on enabling custom domain; I mean, I checked the network section and found that the wg is enabled, then scroll down and found gateways section and enabled the custom domain... then i will figure out later that my machine doesn't have wg access what do you think.
Also, I will open an issue for adding tooltips for each disabled option to clarify why it is readonly

I have a concern about switching off the wg access on enabling custom domain; I mean, I checked the network section and found that the wg is enabled, then scroll down and found gateways section and enabled the custom domain... then i will figure out later that my machine doesn't have wg access what do you think.
Also, I will open an issue for adding tooltips for each disabled option to clarify why it is readonly

I understand that the gw deployment will fail if we disable the wireguard but my point is to notify the user somehow that we disabled the wireguard

I deployed a wordpress inctance with custom domain and switched the wg option off, but i got wg configuration on my deployment!
I think this is because the wireguard is required as long as we have gw field,
the only case we should have wg is optional is when we have ipv4 and custom domain:

I have a concern about switching off the wg access on enabling custom domain; I mean, I checked the network section and found that the wg is enabled, then scroll down and found gateways section and enabled the custom domain... then i will figure out later that my machine doesn't have wg access what do you think.
Also, I will open an issue for adding tooltips for each disabled option to clarify why it is readonly

please do

I have a concern about switching off the wg access on enabling custom domain; I mean, I checked the network section and found that the wg is enabled, then scroll down and found gateways section and enabled the custom domain... then i will figure out later that my machine doesn't have wg access what do you think.

both parts ?

I have a concern about switching off the wg access on enabling custom domain; I mean, I checked the network section and found that the wg is enabled, then scroll down and found gateways section and enabled the custom domain... then i will figure out later that my machine doesn't have wg access what do you think.
Also, I will open an issue for adding tooltips for each disabled option to clarify why it is readonly

please do
@Mahmoud-Emad  both parts ?


Test For Delayed Job Execution

Created test to replicate bug in issue #842.
Does not pass in version:
COMPONENT           VERSION
pachctl             1.2.1-ecc202e465c72e62c54c99023c121dd783ac342b
pachd               1.2.1-ecc202e465c72e62c54c99023c121dd783ac342b

@alexsbromberg wow, awesome pull request thanks so much. Failing tests are incredibly helpful for our development. Merging this is a slightly different process from other PRs because CI isn't going to pass, which is ofc the point of this PR :). Still we can't break CI in master without disrupting development so I think the best thing to do would be to add t.Skip("this test fails") and then merge it in. One of our devs will pick this up and remove that line and then use the test to fix the bug. Seem reasonable?

@jdoliner sounds good to me. Thanks for adding it.

Looks good to me.
Last step is I need you to sign our CLA and I'll merge this in.
https://pachyderm.wufoo.com/forms/pachyderm-contributor-license-agreement/

Signed it.


[Inquiry] Can I create a custom install location?

I have been trying to move both Discord and BetterDiscord to my secondary drive (D:). This has come with numerous issues, like having to change Discord's "app-1.0.1016\resources\app\index.js" to require a new location of the betterdiscord.asar file.
Currently I'm facing two issues:
1: I'm unable to change the Themes and Plugins folders to the actual BetterDiscord Plugins and Themes paths.
2: There are too many hoops to jump through just to change the directory of my BD install.
If I may, could I request one or two things to make this easier down the line?
1: Add a custom directory to BD's install path, instead of going straight into "C:\Users\XXXX\AppData\Local\Roaming"
and 2: Some assistance helping me change the directory of BD.
Thank you very much. This isn't an inquiry and more like a half bug report and half feature request, but so be it. Any help would be greatly appreciated.

Look into SymLinks.

Yeah. Symlinks are the best option. I hope that BD will make it easier to change the directory over time though.


remove some of python::acquire_gil usage

This addresses every use of acquire_gil other than tests.

Woops, fixed.