ipv6 Support

Currently, Rancher doesn't support ipv6, but if enough users request it, we'll prioritize it. Currently, most people have asked out of curiosity.
Originally part of #1376.

It would be great for sure, but I think #544 is higher priority and would lesser the need to have ipv6 for now.

This is something I'd greatly like to see.  I know there are upstream considerations as well https://github.com/docker/docker/issues/13481  But this is pretty important in our hosting model because we'd much rather offer additional IPv6 to clients than additional IPv4.

I have an sql instance for rancher/server with ipv6.
If I replace (CATTLE_DB_CATTLE_MYSQL_HOST)  the currently working ipv4 with ipv6 it won't work.
Logs show:
[...]
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not connect to 2001:4860 : Invalid argument or cannot assign requested address)
[...]

It seems it does not recognize the whole address instead using only the first two blocks.
Do I have to tell it's an ipv6 or is it not supported?

At this time, ipv6 is not supported.

Is IPv6 support expected in the future and if yes by when?

I think it is safe to say, 'sometime after Docker supports ipv6.
https://github.com/docker/docker/issues/13481
https://github.com/docker/docker/issues/18297

Docker supports ipv6. It just starts with ipv4 by default. But easy to run it with ipv6 support.
https://docs.docker.com/v1.5/articles/networking/#ipv6
So I think it is about time to start working on this ;-).
Even better would be if one can use his own ipv6 subnet so that containers can be accessible from everywhere. Reason? So I can ssh in to a container (if ssh setup in the container) directly without having to go over the UI or the host system. Of course this would probably be off by default. So that only those who should be public are public.

+1
Having an ipv6 for each container accessible from    outside would be great for numerous usecases.

I need ipv6 support very much

Linking to the same issue I linked to above, @pboos. The documentation gives you a way to assign an ipv6 address, but that doesn't make IPv6 usable. IPv6 is not practically usable for production machines #13481

Having IPv6 support internally would be wonderful. However, I'd wager an easy way to setup IPv6 for just front end container(s) would be sufficient stopgap for most people.
While personally I love using IPv6 as much as possible, as long as my front end (HAproxy, Nginx, whatever) can handle the IPv6 connections... I don't care if it gets passed to the backend app servers over IPv4.

ipv6 is required for a asia based deployment soon. Is there anything on the roadmap. At least we need to provide IPv6 based external services and IPv6 based hosts. The overlay for know could remain as IPv4

+1 my whole Docker stack is fully IPv6 operational, only Rancher is not :) Looking forward into this!

+1 It would ease my job

Unfortunately, IPv6 is a hard requirement for us, otherwise Rancher was looking promising!

IPv6 is getting more and more important for us too. We really need IPv6 support in our rancher-environment.

+2

+1

Can some one from the "rancher" team tell us when this will be implemented? (time window)

what's the current status about IPv6 support?
I think supporting IPv6 is a basic requirement making professional business, today.

+1

+1

+1

+1

This ticket is open since Juli 2015!
Are there any news on this topic?

Hard requirement here as we build APIs for iOS apps.
https://developer.apple.com/news/?id=05042016a

I agree that this feature is mandatory. But as long as it isn't implemented, you could use CloudFlare in front of your main inbound. This was our solution to pass the app-store checks for IPv6.

This has almost been open for 2 years, yet it seems that no progress is being made. Any news?

what's the reason why this important issue is treated in an inadequate manner?
Without full support for IPv6 there is no future for Rancher. Never saddle a dead horse!

I'm just going to chime in here to say, every open source project has its priorities, and clearly Rancher's paid engineers are busy on other issues they've prioritized over this. I myself am an open-source user of Rancher and appreciate the support they do give non-paid users, but commenting in an increasingly impatient tone on a GitHub ticket isn't the way to get a feature completed. If this functionality is so business-critical, I would encourage you to reach out and ask about how you can either contribute the code and tests yourself, or become a paid customer and voice your preferences via that channel.

Every year for the last 10 years has been the year you "have to have IPv6", and  "everybody" "needs" it right now.  But in reality adoption is still heavily skewed towards cellular carriers, where it's largely invisible.  Cloud provider support is spotty, and almost universally dual-stack.  Amazon and Azure both just added support within the last few months.  Google (of all people) doesn't support it at all.
Few-to-no customers or serious prospects I'm aware of have even asked about it, let alone had a requirement for it.  Including many in IP-constrained countries.  And there are plenty of other things they are asking for.

@vincent99 that's only because hosts restrict IPv4 addresses now; this wasn't an issue years ago, it is now.
Search engines are starting to use IPv6 support for rankings, hosts are moving away from handing out more than one IPv4, and there are claims of it being an upcoming requirement in some countries.  There's a reason it's been pushed so hard, the message is being sent before it's a service-halting requirement.

+1

https://www.youtube.com/watch?v=v26BAlfWBm8

have just moved our environment over to v6, just rancher holding things up now.

Also looking forward to it. Here in germany you don't even get real IPv4 anymore at most ISPs if you don't explicitly ask for it.
Apart from that we definitely need to support IPv6 for customers! The current solution is an IPv6 terminator, that forwards everything as IPv4 traffic to rancher. It would be great if this wouldn't be necessary anymore, as this is just another unneeded hop.

"Native" docker has supported IPv6 for a while, on the default bridge: https://docs.docker.com/engine/userguide/networking/default_network/ipv6/

why is there no progress adding IPv6 support to Rancher?

As I've said before, because {people that want ipv6} ∩ {customers and potential customers} ≈ ∅ and companies don't run on thumbs-up emojis.
(and TIL you can react to your own comments... classy.)

Another note to everyone who pokes and prods this issue: If it's that important/critical to you, pay Rancher to implement this. Or, contribute the code yourself, I'm sure they'll entertain a PR. But in the meantime, vocal impatience and outright hostility to the maintainers is a clear path to frustration with the open-source user base and a poor way to show your appreciation for what is by all accounts a great product.

@vincent99

{people that want ipv6} ∩ {customers and potential customers} ≈ ∅

Hardy depends on the country though. http://ipv6-test.com/stats/. In countries like germany is a greater demand as ISPs stop providing real IPv4. But as stated above, take your time there is no need for heavy pressure on this. Everyone can just setup an IPv6 terminator as we do, yes it is a workaround, but it works.

The availability certainly varies per country, but (non-emoji) demand for it doesn't really.  The two major countries higher than the US on that list are Germany and Japan, and we have customers (and employees, even) in both.  At least one of which is a major telecom company that presumably gives out v6 addresses to their phones.

There may never be an urgent need for a particular product to support ipv6. They will just be left behind the times. Emoji support is very good for any brand, especialy the life of an open source project. It sends the message that you are ahead of the curve and up to the challenge of adapting to new technology. That translates to :moneybag: in the end.

Does the Rancher 2.x transition to using K8s change this dynamic?

AFAIK k8s 1.8 doesn't support ipv6, so it mostly gives you a new much larger open-source  community to direct indignance at...  There seems to be some work going on to add support now.
(Backed by again Google of all people, which still hasn't thought of it as a priority for years, despite having infinite resources, their own public cloud, and other departments talking about how important it is.)

Please suport IPv6

Ping. We are running IPv6 only networks and it would be nice to be able to run rancher on it, too.

K8s 1.9+ has alpha IPv6-only support, with various caveats and limitations.  Nobody I'm aware of has tried it, we don't do anything to intentionally break it but there are probably issues with linking in the UI or accepting v6 addresses in validators if someone wants to try it and make specific issues.
Dual-stack, which is what most people really want, is still far away.
Support in 1.x is not ever going to happen at this point, short of a customer sponsoring major development of it.  Which as I've said, there's never been any interest in.

@vincent99 Well basically people only need to be able to configure the loadbalancer, everything else is not important and wouldn't need to be able to accept ipv6. What kubernetes is doing here is shooting well beyond that. But I understand the problem you've got. For us, we setup on the dedicated loadbalancers we have in place a manually configured ipv6 one, that forwards basically everything to the rancher one, which is not ideal, but it works.

Does this mean ipv6 only setup are now fully supported?

No, I've closed this issue as this was for Rancher v1.6. With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.

Has Rancher 2.0 IPv6 Support? If not, why not map the issue to Rancher 2.0 or create a new issue for 2.0 and link it here?

@cdrfun We've already covered this.  Unless you have a Rancher-specific issue with it, which I asked for separate issues for, we're just deploying Kubernetes.  Development of support for ipv6 is up to the k8s community.

hello, every one, does rancher support IPv6 now？
thanks

@coderenwoxing 2.x kind of. It works for endpoints, but is not necessarily supported. If you only need ipv6 at your ingress it will work without worries. Metallb has ipv6 support as well should you work on premise.

But, what if you want to do egress IPv6? Is this possible or is it still a no-go area?
Dual stack is nice to have, but I wouldn't mind NAT-ing 6 to 4 if a container needs to connect to an IPv4 host somewhere om the internet.

Hello, is there any news on ipv6  for rancher ?  ipv4 is only on a DC wide SIIT-DC.

Hello,
we are running IPv6 only data centers in Switzerland and are quite interested in running rancher.
However we have been shocked to discover it does not natively support IPv6 at the moment. Is there any chance to add IPv6 support or may we ask what is the effort required to add IPv6 support?

seems rancher have made a new issue,  https://github.com/rancher/rancher/issues/27808 Probably of interest to everyone following this one.


feat : manual coverage implementation and tests : LCS

begun to implement manual branch coverage and have written one test.
but when running the LongestCommonSubsequenceTest.java the branchesReached variable does not get printed to the console. It also returns no errors.
Any ideas why this would be?
I can print a string from the @AfterAll call with System.out.println("test");.
But when printing the variable, nothing happens. Leading me to believe that the HashSet is not being filled at all, which is ... ahhhhh. The program is probably not even reaching the branches in the first place.
☝ leaving the above ramblings to give context that this PR is not ready for merging yet

am I right in thinking that because getLCS returns a function call to lcsString, that lcsString is in essence covered by the getLCS test?


Fix >| symbol

The >| symbol not renders correctly because it's inside of a table.

Notice table in markdown also use | symbol.

A similar escaping was removed by @Eriner at 4cee50c2d65fd8eb43bc42fd5db401cf7183676b. This escaping was removed by a contributor at 9529245cbb78c16d4a8bfc946b788c5e9101c53c.
I think a better solution is to avoid having pipes inside tables. In this case maybe we can just have the first sentence:
Disables overwrite existing files with `>`

In the utility/README.md file, maybe something like:
`l` with `${PAGER}`

I think use bulleted list is a good idea. We can view the >| correctly with/without markdown renderer.


NIO will not build when used in command-line generated .xcodeproj

Hey all - happened to run into this issue creating a fresh project depending on the MongoDB driver (which depends on NIO 2.0.0 up to the next major version).
Due to a SwiftPM bug which doesn't apply cSettings to Swift targets (see discussion here), the driver currently doesn't build via the Xcode SwiftPM integration, so we (and users) have to do things the old way with swift package generate-xcodeproj.
Note that we actually have a PR for the driver open right now which removes our need to use cSettings, so the need to generate .xcodeprojs in that way becomes a bit less important for us pretty soon, but I figured I would raise this issue nonetheless.
Expected behavior
NIO builds successfully when used in a command line-generated .xcodeproj.
Actual behavior
Errors:
/Users/km/MongoRepro/.build/checkouts/swift-nio/Sources/CNIODarwin/include/CNIODarwin.h:21:10: Include of non-modular header inside framework module 'CNIODarwin':
'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/netinet/ip.h'

/Users/km/MongoRepro/.build/checkouts/swift-nio/Sources/NIO/ControlMessage.swift:16:8: Could not build Objective-C module 'CNIODarwin'

Steps to reproduce

Create a new empty project using the Package.swift in this gist.
Run swift package generate-xcodeproj from the command line.
Open the resulting .xcodeproj in Xcode and attempt to build.

SwiftNIO version/commit hash
I believe this was introduced by f12803dbf1e535c6c7fb0a52a6240d0349451a9b since it added both of the lines which the errors above point to.
The error is present when pinned to that exact commit, but does not occur one commit prior (ee8acd9b3d0e2f00b852743f86075c35bea9e986).
Swift & OS version (output of swift --version && uname -a)
Apple Swift version 5.2.4 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin19.5.0
Darwin kaitlin.fios-router.home 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64

Also I'm using Xcode 11.6 in case that's helpful. Let me know if you need any more info.

Just a quick tip for others bitten by this problem, who come here through Google search: Until this is getting addressed in a new release, you can pin NIO to 2.19.0 as workaround in your main app's Package.swift, even if NIO actually gets pulled in through a dependency of your main app as a sub-dependency.
dependencies: [
    .package(
      url: "https://github.com/apple/swift-nio",
      .exact("2.19.0")
    ),
   // your other dependencies here
]

Run swift package resolve, and you can build it again.
Sorry for adding this comment here without adding anything to the issue itself, I was just thinking it might be helpful for some people, since NIO is a dependency in many packages where people might not even be aware that NIO is being used, so the build error might be confusing to some.

Good catch @kmahar, thanks. I think the fix is easy, one second.

thanks for the quick fix and release @Lukasa!


fix(deps): pin version of @octokit/webhooks

The new types introduced in<EMAIL_ADDRESS>are incompatible with the current codebase. This will prevent users from getting anything newer than the pinned version in order to avoid type errors for end-users

@wolfy1339 do you know what the follow up issue here is? What do we need to do to unpin the dependency on @octokit/webhooks?

The way the payload types are accessed are different. It would require breaking changes to the TS types.
We'd have to wrap around the Webhooks class, due to the removal of the * and 'error' events to avoid breaking changes


Update device-onboarding-overview.md

Updated the instructions to match the newer navigation in Microsoft Purview.

Learn Build status updates of commit d904686:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/device-onboarding-overview.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 588c8ac:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/device-onboarding-overview.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@chrfox Please merge this PR. Thanks

Learn Build status updates of commit ae785c2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/device-onboarding-overview.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Guzzle 6 multidimensional multipart form data

Is it possible to have Guzzle make a request such as below?
I've looked through the docs and there doesn't seem to be anything to point me in the right direction.
http://docs.guzzlephp.org/en/latest/request-options.html#multipart
Array
(
    [content] => Array
        (
            [0] => Zend\Diactoros\UploadedFile Object
                (
                    [clientFilename:Zend\Diactoros\UploadedFile:private] => Unbelievable_Tekkers_Jeff.jpg
                    [clientMediaType:Zend\Diactoros\UploadedFile:private] => image/jpeg
                    [error:Zend\Diactoros\UploadedFile:private] => 0
                    [file:Zend\Diactoros\UploadedFile:private] => /tmp/phpcEN4U4
                    [moved:Zend\Diactoros\UploadedFile:private] =>
                    [size:Zend\Diactoros\UploadedFile:private] => 15187796
                    [stream:Zend\Diactoros\UploadedFile:private] =>
                )

            [1] => Zend\Diactoros\UploadedFile Object
                (
                    [clientFilename:Zend\Diactoros\UploadedFile:private] => That_really_rustled_my_jimmies.jpg
                    [clientMediaType:Zend\Diactoros\UploadedFile:private] => image/jpeg
                    [error:Zend\Diactoros\UploadedFile:private] => 0
                    [file:Zend\Diactoros\UploadedFile:private] => /tmp/phpi8d8L7
                    [moved:Zend\Diactoros\UploadedFile:private] =>
                    [size:Zend\Diactoros\UploadedFile:private] => 59497
                    [stream:Zend\Diactoros\UploadedFile:private] =>
                )

        )
)

Do you mean a multipart upload containing multiple files? That's supported by the [multipart] (http://docs.guzzlephp.org/en/latest/request-options.html#multipart) request option.

Never mind, i shall restructure my API to accept 0, 1, 2.. as params instead of using contents[].
Closing as come to a solution.


NO_PROXY environment variable is not considered while installing the pack dependencies

SUMMARY
I have HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables set in my setup and also, I maintain an internal PyPI hosting most of the python dependencies. Now, I want the st2 pack install file:///path/to/pack/folder command to download python dependencies from this internal PyPI instead of the official PyPI and so, I added the internal PyPI URL to the NO_PROXY environment variable. But the st2 pack install always tries to fetch the dependencies via the HTTP(S)_PROXY only.
STACKSTORM VERSION
st2 3.1.0, on Python 3.6.9
Steps to reproduce the problem
Set HTTP_PROXY and HTTPS_PROXY environment variables and make sure NO_PROXY environment variable contain the internal PyPI URL. Now, install a pack using st2 pack install and it will still try to fetch the dependencies via the proxy instead of avoiding it.
Expected Results
Ideally during the pack installation, the dependencies should be pulled directly from the internal PyPI avoiding the HTTP(S)_PROXY as the internal PyPI URL is part of the NO_PROXY environment variable.
Actual Results
Downloads the dependencies using the HTTP(S)_PROXY or FAILS if the HTTP(s)_PROXY URL is not reachable.
What happened? What output did you get?
I made the proxies set via HTTP(s)_PROXY unreachable, and ran st2 pack install file:///path/to/pack/folder failed while installing the dependencies.
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden',))': /internal/blobs/six/
Ideally it should never check for the HTTP(S)_PROXY and pull the dependencies from the internal PyPI.
Possible bug:
I see that we always set --proxy flag on the pip install command if the HTTP(S)_PROXY env. variable is set or the http_proxy or https_proxy are set in the config file as described here: https://docs.stackstorm.com/packs.html#installing-packs-from-behind-a-proxy and NO_PROXY is not checked.
https://github.com/StackStorm/st2/blob/master/st2common/st2common/util/virtualenvs.py#L244

Are you setting the hostname instead of full URL for your pip registry? Like no_proxy=your-pip-repo,localhost,<IP_ADDRESS>/16?
Also make sure to use lower-case no_proxy.

I tried with the FQDN and also the regex matching the domain like .internal.example.com. But no luck.
no_proxy in the config file? Yes.

Which config file do you mean?
The envs needs to be placed for the respective services https://docs.stackstorm.com/packs.html#installing-packs-from-behind-a-proxy and then services should be restarted to pick that up.
st2actionrunner is the actual service which runs all the pack install/download commands under the hood.
I remember no_proxy worked before in general, but it might have an edge case for pip repos?

Yes @armab
My installation runs on a CentOS machine and the content of both the /etc/sysconfig/st2actionrunner and /etc/sysconfig/st2api file is as below:
http_proxy=http://http-proxy.example.com:1234
https_proxy=https://https-proxy.example.com:1234
no_proxy=<IP_ADDRESS>,localhost,.internal.example.com

Thanks for more info!
I looked deeper in the history and this might be helpful to have more context when trying to find the fix these days:
https://github.com/StackStorm/st2/pull/3556#discussion_r126786840 and https://github.com/pypa/pip/issues/2440

As pip doesn't have an explicit no_proxy setting and so we pass it via env variable, maybe try to debug further here:
https://github.com/StackStorm/st2/blob/ce31176556be506606b83f6854630f8e6c0fd5ea/st2common/st2common/util/virtualenvs.py#L262-L266
and check if env indeed has no_proxy passed or not.

I have also encountered this issue.  It is due to the way requests handles environment variables specifying proxies, and those that are directly given to the requests.Session constructor itself, via the pip install --proxy ...  argument.
In short, requests does the following in requests.Session.merge_environment_settings

uses the environment variables https_proxy and no_proxy to decide if https_proxy needs to be respected for the particular url (in requests.utils.get_environ_proxies); and
merges this proxy information over the explicit session proxies.

Unfortunately, StackStorm currently lifts the value of https_proxy and passes it to pip via pip --proxy ... when it does not need to.  This means the following will happen:
# suppose these are in the environment
https_proxy=some-internal-proxy
no_proxy=something-inside-network.com

# and this is either in PIP_INDEX_URL (or perhaps in `/etc/pip.conf`)
PIP_INDEX_URL=https://something-inside-network.com/pypi

# then StackStorm calls
pip install --proxy some-internal-proxy

And then requests decides that:

creates a "request specific" proxies = {}, indicating that no proxy is required (the url was blacklisted by no_proxy)
merges this on top of the explicit session proxies {"http": "some-internal-proxy", "https": "some-internal-proxy"}
merging an empty dictionary on top results in the final decision about proxies still being {"http": "some-internal-proxy", "https": "some-internal-proxy"}

And thus we are lift still trying to contact the proxy.
Solution
StackStorm should not be passing --proxy arguments to pip.  It should instead allow requests to pick them up from the environment only.

@donkopotamus Looks like you drilled down the problem really deep with the root-cause analysis. That's exactly the approach needed here.
If you could open a PR with a bugfix and test cases that would cover this issue, - we'd be happy to review the solution. Contributions are always welcome to StackStorm!


Option to not split albums by artist in album view

When adding an album that features tracks from more than one artist, koel splits it into different albums, which becomes annoying when, in example, you add a mix album that consist of 20 songs by 20 different artists. There should be at least option to merge certain albums or just disabling that behaviour.

I guess we need to specify: currently, the album view seems to be based on artist + album ID3-Tag. That means if there is
File 1: Artist=foo1, Album=bar
File 2: Artist=foo1 + foo2, Album=bar
This currently results in 2 albums in the album view where only one should be shown.
Needless to say: I second that.
Cheers
Thomas

I guess we need to specify: currently, the album view seems to be based on artist + album ID3-Tag

No, Koel uses a different approach: Organize media by Artists > Albums > Songs. That's why such a "mixed album" is currently not displayed/organized the way it should be. For a real example, this is mine:

Personally I'm totally fine with it though.

I see.
My question would then be: how do you - yourself - play a complete album - say a specific CD you ripped that is one album and you want to hear exactly that album and all tracks contained in it?
Cheers
Thomas

Filter by the album name perhaps?

Anyway I'm not saying this option will not be implemented. What I'm saying is, this isn't considered critical to me at the moment – there are other issues to solve first. If you guys can send a PR by, that would be great of course.

Mh... yeah right, that is indeed sufficient :)

Just wanted to chime in here and mention that iTunes used to have a "[ ] Is Compilation?" checkbox in the album info dialog to get around this issue.

My $0.2 here
One solution could be to have a table for "Album artist" and if exits it should take priority over "Artist" or "Contributing artist".

This might be something unique to Windows I'm not sure.

Merging with #21.


Build failures with cmake 3.21.3

See https://github.com/spack/spack/issues/26459
CMake Error in CMakeLists.txt:
  HIP_ARCHITECTURES is empty for target
  "directed_tests.kernel.hipLaunchParm".

We apply a patch to disable the tests: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch
Can you make a proper fix for this here please?

#2364 should resolve this.

Ah okay, thank you @mangupta/@cjatin! That's part of 4.4.0?
Is there a way to disable building tests generally?

@haampie Apologies for the lack of response. Can you please test with latest ROCm 6.0.2 (HIP 6.0.32831)? If resolved, please close ticket. Thanks!


Add support to query sub resource

/{student}/1/{courses}

Wont do should be possible to get via select, join and filter


[5.1] JSON options support in Model

Currently JSON encoding options are only applied on converting model to JSON but not on JSON castable attributes.
This patch allows to set JSON casting options globally by calling Model::setJsonOptions(...)
Updated #8872 for master branch

No plans to add this. You can accomplish this by overriding some methods on your base model.

I hate rewriting large pieces of code, especially whole methods without referencing parent::method() (in this case - setAttribute method) - as it can possibly break compatibility even with minor updates of framework.
The problem is not only in JSON option themselves but in storing unicode JSON to database (which without unescaped unicode takes 4 times more space).
I know this solution is not elegant, but I can't see any other way to acomplish this.
IMO this MUST be done in order to fully support unicode language based applications.


Usb: USB Device Stack fixes and improvements

@loicpoulain

LGTM

Closing since PR #4999 incorporate those changes.


GROOVY-10593: fixes groovydoc sometimes links to incorrect classes

Fixes imports that were not rewritten to replace dots with slashes.

Merged, thanks!


Add API to (de)serialize parsed Node objects

Search Terms
Serialization, deserialization, dumping, dump source file, compiler cache
Related issues
#25658, https://github.com/TypeStrong/ts-loader/issues/825
Suggestion
I'd like to suggest to add an API to be able to (de-)serialize any parsed Node or make parsed AST be easy (de-)serializable by, for example, JSON.stringify().
Use Cases
It can be used to make cache of parsed source files, which can be used between compilations without parsing unchanged source files again.
For example, for our project at the moment we have the following times for compilation:
$ ./node_modules/.bin/tsc --diagnostics --skipLibCheck
Files:          1767
Lines:        226078
Nodes:       1036945
Identifiers:  315470
Symbols:      380158
Types:        137886
Memory used: 497393K
I/O read:      0.63s
I/O write:     2.09s
Parse time:   10.79s
Bind time:     2.10s
Check time:   12.47s
Emit time:    10.72s
Total time:   36.09s

$ ./node_modules/.bin/tsc --diagnostics --skipLibCheck --noEmit
Files:          1767
Lines:        226078
Nodes:       1036945
Identifiers:  315470
Symbols:      380158
Types:        137886
Memory used: 500125K
I/O read:      0.83s
I/O write:     0.00s
Parse time:   15.20s
Bind time:     3.13s
Check time:   17.59s
Emit time:     0.00s
Total time:   35.92s

(I have no idea why --noEmit does not reduce "Total time" by "Emit time" - it is strange)
I hope, if we'll have such API or even cache by tsc, it can reduce compilation time, especially Parse time.
Also, in this case, the TypeScript package can be published with already parsed lib files, what can reduce compilation time even without enabling --skipLibCheck option.
Examples
For example, we can override getSourceFile method in CompilerHost and provide files from cache if file is not changed since last compilation. It can be done via provided methods like ts.serializeNode(node: ts.Node): string | ByteArray / ts.deserializeNode(nodeData: string | ByteArray): ts.Node.
Also it can be added to tsc command as arg --use-cache (or something like that) to do it by default (but I believe in this case we also need to have new option like cacheDir or --force).
The similar cache can be found in bazel rules_typescript, but it is in-memory cache.
In our internal tool we have very similar in-memory cache too (it allows speedup multiple compilations the same files).
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript / JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. new expression-level syntax)

Canonical S-expressions could be a candidate format.

Not sure if I misunderstand this issue, but is the watch mode not an option? I'm using that in my project https://github.com/AlCalzone/virtual-tsc where compilation times drop from a few seconds on the first compilation to a few milliseconds when single files get changed.

Not sure if I misunderstand this issue, but is the watch mode not an option?

Not exactly. Watch mode by tsc is already fast (1-2 seconds delay is ok in watch mode for me) - this feature request is not about it.

Also it can be added to tsc command as arg --use-cache (or something like that) to do it by default (but I believe in this case we also need to have new option like cacheDir or --force).

For example, you work on your feature branch and now you need to switch to master/dev branch. You stop tsc --watch (to avoid conflicts with your vcs), switch to master/dev and then run tsc --watch again and now it takes some time (for me it is up to 1 minute).

Is this an XY problem? i.e. is the request here to make compilation faster in general, or do you specifically need a serialized parse tree for some other reason?
I will say that 10-15s to parse 226k lines seems quite high and may indicate a real bug somewhere. Our self-host compilation of compiler parses 83k lines in 0.71s; your parse time "should" only be 3-4s.

@RyanCavanaugh

Is this an XY problem? i.e. is the request here to make compilation faster in general

The thing inspires me to create this issue is the compilation performance.

or do you specifically need a serialized parse tree for some other reason?

It would be nice to have such API, but if compilation/parse time will be fast, I hope that nobody needs to store parsed tree to file (because parse time will be similar to reading and restoring that tree from other file).

your parse time "should" only be 3-4s.

Wow, it looks good. But anyway I'm not sure will it be faster than restoring ast tree from file, but we need to check anyway.

10-15s to parse 226k lines seems quite high and may indicate a real bug somewhere

Hm. I'm open to help indicate that problem. What I can provide you to help find the bug if it is?

(I have no idea why --noEmit does not reduce "Total time" by "Emit time" - it is strange)

Also it would be nice to understand what's happened here and find the cause. Please let me know if something can help to understand the problem.

(I have no idea why --noEmit does not reduce "Total time" by "Emit time" - it is strange)

Are you using declaration: true? In that case declaration emit will still happen under the hood to collect declaration diagnostics and therefore still needs quite some time.

Are you using declaration: true?

No, at that moment I specially disable this flag to avoid extra checking/emitting. With enabled declaration: true flag total time is about 45-60s (but I haven't diagnostics for this runs - if you need this I can provide they tomorrow).

@ajafff it seems that it was some lag on my side - I just run compilations again and noEmit flag makes a sense on total time now. But parse/total time is still slow.
noEmit: true:
$ ./node_modules/.bin/tsc --diagnostics --skipLibCheck --noEmit
Files:          1767
Lines:        226078
Nodes:       1036945
Identifiers:  315470
Symbols:      380158
Types:        137886
Memory used: 495875K
I/O read:      0.70s
I/O write:     0.00s
Parse time:   12.41s
Bind time:     2.14s
Check time:   13.04s
Emit time:     0.00s
Total time:   27.59s

$ ./node_modules/.bin/tsc --diagnostics --skipLibCheck --noEmit --declaration true
Files:          1767
Lines:        226078
Nodes:       1036945
Identifiers:  315470
Symbols:      380158
Types:        137886
Memory used: 491434K
I/O read:      0.67s
I/O write:     0.00s
Parse time:   11.59s
Bind time:     2.19s
Check time:   13.24s
Emit time:     0.00s
Total time:   27.03s

noEmit: false:
$ ./node_modules/.bin/tsc --diagnostics --skipLibCheck
Files:          1767
Lines:        226078
Nodes:       1036945
Identifiers:  315470
Symbols:      380158
Types:        137886
Memory used: 498003K
I/O read:      0.62s
I/O write:     4.53s
Parse time:   12.21s
Bind time:     2.10s
Check time:   12.84s
Emit time:    14.89s
Total time:   42.03s

$ ./node_modules/.bin/tsc --diagnostics --skipLibCheck --declaration true
Files:          1767
Lines:        226078
Nodes:       1036945
Identifiers:  315470
Symbols:      380158
Types:        137886
Memory used: 543786K
I/O read:      0.65s
I/O write:     8.64s
Parse time:   11.57s
Bind time:     2.05s
Check time:   12.84s
Emit time:    26.95s
Total time:   53.40s

Okay, I just ran with --extendedDiagnostics and now we have Parse time along with Program time:
Parse time:      2.25s
Program time:   10.83s

It seems that parse time is ok now.


AttributeError: module 'keras.backend' has no attribute 'image_dim_ordering'

While running the jupyter notebooks, I come up with this issue:
AttributeError: module 'keras.backend' has no attribute 'image_dim_ordering'
My TensorFlow version is 1.13.0, and keras version is 2.2.5.
I see that this issue is because of the modification in keras library: https://github.com/keras-team/keras/issues/12649
Do you think it is a good idea to modify the functions accordingly? Or if we should use the previous (1.x) version of keras?
Also, it would be great if you have a requirements.txt file for the project.

Update: the code works fine with keras version 2.1.0, with 1.x versions, there are other issues.


Can Ocelot support SSO and JWT authentication both at same time

Hello,
I have added a JWT authentication to my Ocelot gateway to verify JWT token issued by Azure Active Directory and it works fine.
But I want to do even more to add an OpenID Connect integration with Azure Active Directory, so that Ocelot can redirect to login for unauthenticated users and automatically acquire access token on custom scope and maintain this token in user's session and refresh it when needed, so that we can completely off load authentication code out of our applications to Ocelot gateway.
I don't know if this is supported on Ocelot.
Would you give us some suggestion?

I think this approach should solve your problem:
https://stackoverflow.com/questions/61020375/using-multiple-authorization-providers-cookie-auth-and-open-id-connect/61029461#61029461
You should use "AuthenticationProviderKey" : "dynamic" in ocelot.json


Creating Engaging Mobile Apps with NativeScript and Vue

Title / Título
Creating Engaging Mobile Apps with NativeScript and Vue
Description / Descripción
NativeScript is already an amazing tool to build truly Native mobile apps with the Javascript you know and love.  Now that integration with Vue has arrived, you can take advantage of the speed and ease of Vue, Vuex and the whole ecosystem to create all those apps that have been sitting in the back of your head for years!
In this talk, we'll see how to get started with NativeScript + Vue, and touch on some of the ways you can expand your development workflow by sharing code between web and native apps.
Speaker Bio / Bio del Ponente
Evan Payne is a Senior Front-end Engineer at Netcentric with a focus on Mobile Apps built with NativeScript.  Globe-trotter, born in Los Angeles, tempered in Ireland, thriving in Spain.
Level / Nivel
Intermediate
Duration / Duración
40 min

Done: https://www.meetup.com/es-ES/madridjs/events/248498701/.


Update zio-interop-cats to 23.0.03

About this PR
📦 Updates dev.zio:zio-interop-cats from 3.3.0 to 23.0.03
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio", artifactId = "zio-interop-cats" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio", artifactId = "zio-interop-cats" }
}]

labels: library-update, commit-count:1

Superseded by #231.


Add option in SVG export to select active state colors (for Qt)

Feature Request
In SVG export for the Qt debugger...
It would be nice if I could select the highlight colors for all active states in a parallel container.  The current black highlight is difficult to see.

I now realize that the highlight color in SVG in Qt is controlled entirely by scxmlsvgitem.h (in case ItemState::Entered) and not SVG export... so I'd like to modify this request...
The request is to allow changing the highlight color when running inside ScxmlEditor.   IMHO... I found that magenta looks good for the other entered states.


Update rearrangement support for scirpy

Since v0.7, scirpy can write AIRR data back to the rearrangement format. It can therefore also serve as converter from 10x VDJ, Tracer, and Bracer to AIRR format.

thanks for the PR @grst !


⚠ Bofrost.at has degraded performance

In 5305583, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1381 ms

Resolved: Bofrost.at performance has improved in dea1b62 after 304 days, 22 hours, 37 minutes.


Fix #1407 by adding type hints to the library

This pull request resolves #1407 by adding type hints to this library! Sorry for sending a large PR 🙇

I will resolve the CI builds shortly!
Also, I know this is a very large PR. If the project maintainers would like to start with a small potion of changes, please feel free to close this and take only some parts of this PR step by step.

👋 This pull request is now ready for reviews!

As the team is not planning to merge this in the short term, let me switch this PR to draft mode. If the maintainers would like to close this in the future, please feel free to do so. See also:  https://github.com/tweepy/tweepy/issues/1407#issuecomment-1020665376

Closing this PR as the team prefers smaller PRs. For context: https://github.com/tweepy/tweepy/issues/1407#issuecomment-1051359887


chore(deps): update renovatebot/github-action action to 36.0.1

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
major
v34.159.2 -> v36.0.1

Release Notes

renovatebot/github-action
v36.0.1
Compare Source
Miscellaneous Chores

deps: update dependency lint-staged to v13.1.4 (8bd8232)
deps: update dependency rimraf to v4.3.1 (94ca5a1)
deps: update dependency rimraf to v4.4.0 (1b93897)
deps: update linters to v5.54.1 (634aa04)
deps: update renovate docker tag to v35.6.0 (c65e90f)
reconfigure renovate (#708) (4f9981c)

Continuous Integration

deps: update actions/checkout action to v3.4.0 (d222b70)
deps: update renovate docker tag to v35.8.3 (a1313ca)
simplify (#705) (78e2234)

Documentation

update references to renovatebot/github-action to v36 (189eb78)
update toc (#706) (9caf6e5)

Build System

deps: update dependency semantic-release to v20 (#709) (5948ea8)

v36.0.0
Compare Source
⚠ BREAKING CHANGES

use semantic release (#704)
This action no longer follows renovate versions, use renovate-version to pin the renovate version.

Features

use semantic release (#704) (94faa7d)

Miscellaneous Chores

deps: update dependency eslint-config-prettier to v8.7.0 (8463758)

v35.2.0
Compare Source
See the the changelog for changes in all releases.
35.2.0 (2023-03-12)%0A%0A%0A### Bug Fixes%0A%0A* deps: update renovate/renovate docker tag to v35.2.0 (a5b3387)%0A%0A
v35.1.2
Compare Source
See the the changelog for changes in all releases.
35.1.2 (2023-03-12)%0A%0A%0A### Bug Fixes%0A%0A* deps: update renovate/renovate docker tag to v35.1.2 (1d090c3)%0A%0A
v35.1.1
Compare Source
See the the changelog for changes in all releases.
35.1.1 (2023-03-11)%0A%0A%0A### Bug Fixes%0A%0A* deps: update renovate/renovate docker tag to v35.1.1 (1124b56)%0A%0A
v35.0.0
Compare Source
See the the changelog for changes in all releases.
35.0.0 (2023-03-10)
⚠ BREAKING CHANGES

deps: update renovate/renovate docker tag to v35 (#702)
remove docker socket and change to current user (#700)

Features

remove docker socket and change to current user (#700) (827e518)

Bug Fixes

deps: update renovate/renovate docker tag to v35 (#702) (fedfacb)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

lgtm


AndroidSigningV3 doesn't use latest available version of apksigner

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: AndroidSigningV3
list here (V# not needed):
https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AndroidSigningV3
Environment

Server - Azure Pipelines?

If using TFS on-premises, provide the version:

If using Azure Pipelines, provide the account name, team project name, build definition name/build number: Corporate account

Agent - Hosted or Private:

If using Hosted agent, provide agent queue name: windows-latest

If using private agent, provide the OS of the machine running the agent and the agent version:

Issue Description
AndroidSigningV3 task doesnt use latest available android build-tools.
In my case it used apksigner from 24.0.3 folder, however version 29.0.2 also available on same machine.
As a result it was not possible to use some apksigner capabilities, for example --v3-signing-enabled option, which is not supported by older versions of apksigner.
With hardcoded apksigner path
"apksignerLocation: 'C:/Program Files (x86)/Android/android-sdk/build-tools/29.0.2/apksigner.bat'",
provided to AndroidSigningV3 task, it was possible to sign apk by using same commandline.
Most probably problem is that "findAndroidTool" function in androidsigning.ts returns first found subfolder in "build-tools" folder, but should return last found.
[Include task name(s), screenshots and any other relevant details]
https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/AndroidSigningV3/androidsigning.ts

SignerTaskLog.txt
Task logs
[Enable debug logging and please provide the zip file containing all the logs for a speedy resolution]
Troubleshooting
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Error logs

.................
2020-09-30T11:38:15.8488100Z 48628070 META-INF/proguard/androidx-annotations.pro (OK - compressed)
2020-09-30T11:38:15.8489280Z 48628294 META-INF/maven/com.google.guava/listenablefuture/pom.xml (OK - compressed)
2020-09-30T11:38:15.8490160Z 48629287 META-INF/maven/com.google.guava/listenablefuture/pom.properties (OK - compressed)
2020-09-30T11:38:15.8490530Z Verification succesful
2020-09-30T11:38:16.3047420Z [command]/Users/runner/Library/Android/sdk/build-tools/24.0.3/apksigner sign --ks /Users/runner/work/_temp/mobile-apk-sign-stag.keystore --ks-pass pass:*** --ks-key-alias corp dev --key-pass pass:*** --verbose --v3-signing-enabled true /Users/runner/work/1/a/droid/1601465616/com.myapp.apk
2020-09-30T11:38:16.5614680Z Unsupported option: --v3-signing-enabled. See --help for supported options.
2020-09-30T11:38:16.5730720Z ##[error]Error: The process '/Users/runner/Library/Android/sdk/build-tools/24.0.3/apksigner' failed with exit code 1
2020-09-30T11:38:16.5747800Z ##[section]Finishing: AndroidSigning

Hello there, @egor-bryzgalov can you please give us an eta on when this is released? I'm not seeing it atm. Thanks in advance!

Hi, @carstenhag
It usually takes up to 3 weeks for sprint changes to be deployed. I'll keep you posted on the deployment status. Thank you!

Hi @carstenhag @Lubans
The fix has been deployed. Please feel free to reopen this ticket if you have any issues.


javascript checker not working

Hi, I've been trying for a while to have eslint working as the checker but no luck. I already tried other issues but its not exactly the same.
Debug output:
"client/src/App.js" 30L, 651C written
syntastic: 9.694507: g:syntastic_version = '3.8.0-26 (Vim 704, Darwin, GUI)'
syntastic: 9.694673: &shell = '/bin/bash', &shellcmdflag = '-c', &shellpipe = '2>&1| tee', &shellquote = '', &shellredir = '>%s 2>&1', &shelltemp = 1, &shellxquote = '', &autochdir = 0, &shellxescape = ''
syntastic: 9.695213: UpdateErrors (auto): default checkers
syntastic: 9.695678: CacheErrors: default checkers
syntastic: 9.696351: g:syntastic_aggregate_errors = 0
syntastic: 9.696550: getcwd() = '/Users/manuelmiranda/Projects/hotelsconnect'
Error detected while processing function <SNR>31_BufWritePostHook[4]..<SNR>31_UpdateErrors[15]..<SNR>31_CacheErrors[31]..23[7]..SyntaxCheckers_javascript_eslint_IsAvailable:
line    5:
E117: Unknown function: syntastic#util#getVersion
E15: Invalid expression: syntastic#util#getVersion(self.getExecEscaped() . ' --version')
line    6:
E121: Undefined variable: ver
E116: Invalid arguments for function 21
line    8:
E121: Undefined variable: ver
E116: Invalid arguments for function syntastic#util#versionIsAtLeast(ver, [0, 1])
E15: Invalid expression: syntastic#util#versionIsAtLeast(ver, [0, 1])
syntastic: 9.719251: CacheErrors: Checker javascript/eslint is not available
syntastic: 9.719535: CacheErrors: no checkers available for javascript
syntastic: 9.719681: aggregated: {'_sorted': 0, '_name': '', '_owner': 1, '_columns': 1, '_rawLoclist': []}

variable set: let g:syntastic_javascript_checkers = ['eslint',]
eslint is in my path and I can execute it in the terminal. Same happens with jshint... any ideas?

This looks like a broken installation of syntastic and / or a misconfigured plugin manager.  What version of Vim are you using, what plugin manager, and how did you install syntastic?

It works fine with python checkers that's why I would discard broken installation... I'm up to date with the repo.
vim version is 7.4 and I installed syntastic with Vundle

Well, your error message says line 5 in function SyntaxCheckers_javascript_eslint_IsAvailable() calls syntastic#util#getVersion:

Error detected while processing function <SNR>31_BufWritePostHook[4]..<SNR>31_UpdateErrors> [15]..<SNR>31_CacheErrors[31]..23[7]..SyntaxCheckers_javascript_eslint_IsAvailable:
line    5:
E117: Unknown function: syntastic#util#getVersion

As you can see however, line 5 in said function makes no reference to syntastic#util#getVersion.  In fact syntastic#util#getVersion() has been removed a long time ago.
For some reasons syntastic finds an older version of a file syntax_checkers/javascript/eslint.vim before the current one.  That isn't a correct installation of syntastic. shrug
Run :scriptnames to find out what files are currently loaded.

Appart from the normal installation with Vundle, I had a folder syntax_checkers under .vim folder and that was the one being used 😓. Removed and reinstalled syntastic just in case and works. Sorry for the noise


Fix scrollbar of SidebarNav to make it tappable

Fixes #3171
Fixes #5727
Fixes #6469

fixed scrollbar of SidebarNav to make it tappable by assigning z-10
it was under the main content layer so that you could not drag it

https://github.com/reactjs/react.dev/assets/27883373/7c027fa6-e991-4a1a-ac8c-cb1e9801e9ef

Hello @tamonmon0417, thanks for the PR! ❤
Similar issues and PRs have already been opened. Can you please explain why your fix is different/better than #5898, #6244, #6329, #6479, and #6485?
Thanks! 😄

Hi @pwbriggs , thank you for your comment!
The best thing about this commit is to keep the current layout.
It just corrects the layer order to the ideal one.
Any suggestion is welcome!
ref. https://github.com/reactjs/react.dev/pull/5750#pullrequestreview-1349588494

Hi @pwbriggs, do you know who I should ask to review?


entrypoints vs entryPoints mismatch

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

[ ] Yes
[ ] No

What did you do?

What did you expect to see?
I'm using IngressRoute in kubernetes.
When I use "entrypoints"
spec:
  entrypoints:
    - websecure

I cannot see entrypoints in /api/rawdata but when I use "entryPoints" instead, I can see it in /api/rawdata but I get 404 not found.
Output of traefik version: (What version of Traefik are you using?)

(paste your output here)

What is your environment & configuration (arguments, toml, provider, platform, ...)?
# (paste your configuration here)

If applicable, please paste the log output in DEBUG level (--logLevel=DEBUG switch)
(paste your output here)

Hello, it's already fixed in #4764

OK, thanks.


add support for conf.d folder

please change folder of configuration files to conf.d (each program its own file).

Hi! Could you clarify your proposal? Thanks!

well, i know it works, but default instructions say that you should put all of the items in conf.d folder. i think that's a good enough reason - to follow some general guidelines. Dont you agree?


I found that cause by other dependency problems.

Originally posted by @changbenny in https://github.com/lynckia/licode/issues/395#issuecomment-170442462

Still met this issue on Mac.


MRG, BUG: Fix warning

Closes #8004
@susamerz can you see if this fixes your problem? Thanks for the nice reproducible case BTW, it made fixing and adding a test for this much easier!

Confirmed, this does fix the error. Thanks


.NET 6 dotnet new updates

Summary
Updates for .NET 6 for dotnet new.
https://github.com/dotnet/templating/issues/3203

dotnet new: new --no-update-check option
--uninstall now allows relative path - removed notes
--list and --search now allow more natural argument order: dotnet new --list me
various updates to tutorials and articles

Hey @tdykstra,
Was this good to merge or should we have kept it for release day?
Should we revert?

If the functionality documented is in RC2, no need to revert.


FIX: correct highWaterMark default issue for large sftp downloads.

High level, this fix addresses an issue where when downloading a large file
(greater than 65535 bytes), the 65536th byte is dropped on each buffer)
Meaning zips - etc cannot be opened.
The highest number should be 65535 not 65536.
The reason is that we are dealing with unsigned digits
and 65535 in binary is 0b1111111111111111
(this is the full integer with all 1s)
65536 in binary is just one more 0b10000000000000000
When downloading large files, what happens is that the buffer
THINKs it stores 65536 bytes, but actually only stores 65535
(and the 65536th byte is lost for each buffer)
Correcting the issue to 64*1024-1 (65535) makes sure that the
highest number of bytes actually meets what it can store.

I'm skeptical. Can you provide a way to reproduce the problem?

thanks @mscdex - I'm afraid I'm not sure what would be the simplest way to give a clear cut way to reproduce the issue.  Although I've tried my best below unless you have any better suggestions.
The way we've been reproducing the issue, and verifying the fix:

find / generate a zip file that is more than 2 Mb
Place the zip up on a server accessible through ssh/sftp to download.
convert the generated zip file to hex (to help verify the bytes)

in linux: xxd -p test_bytes.zip | tr -d '\n' > orig_bytes_hex.zip

download the zip file through the stream with a highWaterMark of 64 * 1024.
convert the retrieved zip file to hex

in linux: xxd -p test_bytes.zip | tr -d '\n' > orig_bytes_hex.zip
perform a text compare / diff compare between the two files.

See this guy for example results - http://imgur.com/a/UGisA
(If you'd like to compare the first parts of either of the files, just use:
head -c NumBytes FileToCheck.zip)
Here is an example text for line 2184 - 2187 of the correct text
17372b1443db27bfb4a6ebb6c5d016036d8ba14d76d8a232cd7d372957d3
9fdbdef49081b6e4d0a61cda9e5fd4d643fb0740c6178166c1b6d326076d
b68cb65b469b1cb4a588b614d11e2da036e73629689382b603b484d29adb
Here is the same lines for a file retrieved from the download
17372b1443db27bfb4a6ebb6c5d016036d8ba14d76d8a232cd7d372957d3
9fdbdef49081b6e4d0a61cda9e5fd443fb0740c6178166c1b6d326076db6
8cb65b469b1cb4a588b614d11e2da036e73629689382b603b484d29adbe6
The simplest way to test this, without putting in a large set of code is through the
https://www.npmjs.com/package/scp2
which references
https://www.npmjs.com/package/ssh2
which in turn references this module
https://www.npmjs.com/package/ssh2-streams
Let me know if you need a more specific set of code
and I'll try to provide it (but it might take a bit without any help)
"use strict";
var Q = require('q');
var config = require('config');
var client = require('scp2');

var credentials = { host: 'ftp.example.com', username: 'lordDarkHelmet', password: '1234' };
fileFrom = '/path/to/file.zip';
fileTo = './file.zip';

function downloadFile(credentials, fileFrom, fileTo) {
    var deferred = Q.defer();
    var request = credentials;
    request.path = fileFrom;
    client.scp(request, fileTo, function (err) {
        if (err) {
            deferred.reject(err);
        }
        else {
            //-- always succeeds, but the file is bad.
            deferred.resolve();
        }
    });
    return deferred.promise;
}
downloadFile( credentials, fileFrom, fileTo );

comparison on file:
See this guy for example results - http://imgur.com/a/UGisA
The default used for the highWaterMark from 65536 to 65535 resolves the issue
because once the buffer doesn't overflow.

Can you give an exact file size that is causing you issues? Does this happen every time?

Yes this was happening every time.
The test file we were having the issue with was
27,103,645 bytes (27.1 MB on disk)

I just tested with a randomly generated file with exactly that size. Transferring the file directly with ssh2 and using sftp.createReadStream() resulted in matching files every time that I tried. I even tried forcing the internal buffer to fill up to the high water mark and simulating a slow link, but the files still match.

It'd also be interesting to see if you have the same problem when using something like sftp.fastGet() instead of sftp.createReadStream().

As mentioned in the issue related to this PR I experienced the same. Here is code that I used and some logs of behaviour before and after applying the highWaterMark "fix".
To produce logs I added a cheeky console.log at this location.

I'm still not able to reproduce the problem, here is what I get with the same log statement placement (and same sized file):
Ready!
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 65536 thisPool.length: 65536
bytesRead: 58831 thisPool.length: 65536
bytesRead: 0 thisPool.length: 65536

@BorePlusPlus If you set debug: console.log in your connection config, what server ident is reported near the beginning of the output?

This is the reported ident:
DEBUG: Remote ident: 'SSH-2.0-1.82_sshlib GlobalSCAPE'

@BorePlusPlus Looks like some commercial SFTP server that does not have a readily downloadable trial/demo version. Am I correct in assuming that 32 * 1024 also doesn't work for highWaterMark?

It all works tip-top as long as highWaterMark is lower than 64 * 1024

Yeah I'm not sure there's much that can be done by this module to avoid that since it's ultimately a server-side issue. We could check the server ident, but I don't really feel comfortable magically changing the highWaterMark out from under the end user if they end up specifying 64 * 1024.
If we default to 64 * 1024 - 1 instead, then who's to say some other server implementation somewhere else would have a problem with that kind of value? Compatibility is tricky and I think at some point a line has to be drawn.

I also ran into this issue while downloading large XML files.  The dropped bytes meant that the downloaded file could no longer be parsed as valid XML.  Changing the highWaterMark value fixed the issue.

@evansnicholas Out of curiosity, what is the remote server's ident if you enable logging?

This is the remote ident:
DEBUG: Remote ident: 'SSH-2.0-billsSSH_3.6.3q3<CR><LF> COMPANY_NAME'

@evansnicholas Well that's interesting .... that's the example ident used in the SSH Transport RFC :-)

Any updates on it?  We had an issues loading big files and correction proposed by @paulroth3d fixed the problem.

@cherchyk Are you using ssh2-streams v0.1.16? If so, what server is this?

I use 0.0.23
but problem exists in current version too.  Please review paulroth3d's explanation.

Unfortunately until I can reproduce the issue myself, there's not much I can do to pinpoint the actual problem.

Will it help if I show you solution I have?  I can show code and we can organize video call so I can explain.
What time zone are you in?  I'm in EST (+5h)
Bohdan Cherchyk

On Dec 26, 2016, at 1:12 PM, Brian White<EMAIL_ADDRESS>wrote:
Unfortunately until I can reproduce the issue myself, there's not much I can do to pinpoint the actual problem.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@cherchyk Workaround for servers having issue with 64k high watermark is to just use a different (lower value) e.g.:
var stream = sftp.createReadStream('directory/file.zip', { highWaterMark: 32 * 1024 });

as per
https://gist.github.com/BorePlusPlus/c9186c8feb9902f84da3e35f313a43a8#file-sftp-download-js-L18

Thanks,
why this is not default setting?
in most cases we don't know how big is the file.  5 or 500mb

@cherchyk Wel,l from conversation above, you can read that this is not the default setting as it is a bit arbitrary. There may as well be servers out there where 32k high water mark wouldn't be a right setting. Essentially it is a server side issue.
On the other hand, it does seem like lowering the high water mark usually solves the issue, so it just might be pragmatic to have lower default, but this is not my call.

Closing this for now. If someone is able to create a setup that I can use to easily reproduce the problem locally (e.g. docker setup or otherwise), then I am willing to give that a shot. Otherwise there is not much that I can do at this point. The highWaterMark is already configurable if you want to override the default.

@mscdex i am having the same issue.
@BorePlusPlus i tried to set highWaterMark to 32 * 1024, still the same. last bit is always dropped.. I am really stuck. Do you have any suggestion?


[package] flutter_markdown support for math and chemistry equations

Does the markdown package support maths and/or chemistry equations. I tried using MathJax but it shows the equation as text.
Thanks

@rrrepos
There's a similar open issue describing your case, https://github.com/flutter/flutter/issues/81785
Please follow-up there for updates.
Closing this as duplicate.


return row on update

When updating a cartItem it should be returned since updating it might
change it’s ID

As discussed in https://github.com/Crinsane/LaravelShoppingcart/issues/214

Thanks!

hi .  i have problem with ajax for add to cart , how cartcontroller and route and ajax code ;
please help ; thanks


Paser error when receive <params />

XmlRpc.net will send <params /> when there is no parameters.
But AnyRPC can't parse it and return parse error.
For example:
<!-- Request -->
<?xml version="1.0"?>
<methodCall>
  <methodName>
    MethodName
  </methodName>
  <params/>
</methodCall>

<!-- Response -->
<?xml version="1.0" encoding="utf-8"?>
    <methodResponse>
        <fault>
            <value>
                <struct>
                    <member>
                        <name>
                            faultCode
                            </name>
                        <value>
                            <i4>
                                -32700
                                </i4>
                            </value>
                        </member>
                    <member>
                        <name>
                            faultString
                            </name>
                        <value>
                            Parse error
                            </value>
                        </member>
                    </struct>
                </value>
            </fault>
        </methodResponse>

I haven't seen a client that used the  before.
If you want something immediate, the following change should work:
void XmlReader::ParseParams(bool paramsParsed)
{
    if (!paramsParsed)
    {
        int nextTag = GetNextTag();
        if (nextTag == paramsETag)
        {
            handler_->Null();
            return;
        }
        if (nextTag != paramsTag)
            anyrpc_throw(AnyRpcErrorTagInvalid, "Parse error with xml tag");
    }

    handler_->StartArray();

    for (size_t elementCount = 0; ;elementCount++)
    {
        switch (GetNextTag())
        {
            case paramTag :
            {
                if (GetNextTag() != valueTag)
                    anyrpc_throw(AnyRpcErrorTagInvalid, "Parse error with xml tag");
                if (elementCount != 0)
                    handler_->ArraySeparator();
                ParseValue(true);
                if (GetNextTag() != paramETag)
                    anyrpc_throw(AnyRpcErrorTagInvalid, "Parse error with xml tag");
                break;
            }
            case paramsETag :
            {
                handler_->EndArray(elementCount);
                return;
            }
            default :
                anyrpc_throw(AnyRpcErrorTagInvalid, "Parse error with xml tag");
        }
    }
}

I don't totally like this because the current GetNextTag() function returns an end tag indication for both  and .  There really should be a third state for an empty element tag but this will require a bit more work to verify operation over the rest of the class.

Thanks for your response. But empty element is the standard of XML. Maybe you should consider to support it.  And I will also try to modify my client to not send any empty tag. It's really not necessary.

I'll probably check in a fix for this in the next day or two.  It seem like a lot of xmlrpc clients just send  instead of  so it hasn't come up before.  Thanks for indicating the problem when using XmlRpc.net.

I checked in a change to support various forms of empty tags.  I haven't tested this against XmlRpc.net so let me know if there are still any problems.

OK, I will test it. Actually, I found another bug. Even I remove params tag. AnyRPC still return parse error. So you also need to consider about no params tag situation.

I'll look at that.  Are their xmlrpc client that are actually generating calls without a params tag?  Looking at the xmlrpc specification, it does have the following:
If the procedure call has parameters, the <methodCall> must contain a <params> sub-item. The <params> sub-item can contain any number of <param>s, each of which has a <value>.

A lot of xml-rpc implementation do their own xml parsing instead of using a standard xml parser like XmlRpc.net does.  Because of that, they don't do a lot of shortcuts.  It's also not clear from the actual xml-rpc specification if empty tags are officially allowed since they are not mentioned.
From the lines that I mentioned in from the specification, it does suggest that the params section could be eliminated entirely which I agree is currently not support by the code.  It should be an easy fix.  I'd rather be more tolerant on the reading side and more strict on the writing side to allow better interoperability.


Use gzip compression for static assets

I noticed that the static JS/CSS assets weren't gzipped. Adding Express compression middleware fixes this (while intelligently skipping the HTML since that's chunked and needs to be streamed).
Here's the "before" on a Nexus 5 throttled to 3G; notice the large JS download time:

And here's the "after":

Great work on Vue! Really love the balance between DX and UX; I wrote a bit about it on Twitter. :smiley:

Thanks for both the PR and the kind words on Twitter :)

Thanks for making Vue. :)


use CancelledError from asyncio instead of concurrent.futures

As of Python 3.8 the asyncio CancelledError is not the same as the one from concurrent.futures anymore.
I think this addresses the same problem as #245 for the subprocess modules but also the same issue in the executor module.

Codecov Report

Merging #284 into master will decrease coverage by <.01%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #284      +/-   ##
==========================================
- Coverage   79.94%   79.93%   -0.01%
==========================================
  Files          54       54
  Lines        3141     3140       -1
  Branches      521      521
==========================================
- Hits         2511     2510       -1
  Misses        589      589
  Partials       41       41

Impacted Files
Coverage Δ

colcon_core/subprocess.py
65% <0%> (-0.29%)
:arrow_down:

colcon_core/executor/__init__.py
95.23% <100%> (ø)
:arrow_up:

colcon_core/shell/__init__.py
98.42% <100%> (ø)
: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 a2f0f8b...65caff2. Read the comment docs.


(Lua 5.3) lua_tounsigned available with LUA_COMPAT_5_2 definition only.

In Lua 5.3 lua_tounsigned (and others unsigned) has been marked as deprecated.
They are available with LUA_COMPAT_5_2 compiler definition.
After adding
add_definitions(-DLUA_COMPAT_5_2)

to the CMakeLists.txt tests compile, but one test failed:

test_call_undefined_function2

Arch Linux 4.0.6-1 gcc 5.1.0-4 cmake 3.2.3-1 lua 5.3.1-1

Do you have any failure output?

Compilation output without LUA_COMPAT_5_2 flag
[100%] Building CXX object CMakeFiles/test_runner.dir/test/Test.cpp.o
In file included from /home/arlen/Selene/include/selene/function.h:6:0,
                 from /home/arlen/Selene/include/selene/exotics.h:3,
                 from /home/arlen/Selene/include/selene/BaseFun.h:3,
                 from /home/arlen/Selene/include/selene/ClassFun.h:3,
                 from /home/arlen/Selene/include/selene/Class.h:3,
                 from /home/arlen/Selene/include/selene/Registry.h:3,
                 from /home/arlen/Selene/include/selene/State.h:6,
                 from /home/arlen/Selene/include/selene.h:3,
                 from /home/arlen/Selene/test/class_tests.h:3,
                 from /home/arlen/Selene/test/Test.cpp:2:
/home/arlen/Selene/include/selene/primitives.h: In function 'unsigned int sel::detail::_get(sel::detail::_id<unsigned int>, lua_State*, int)':
/home/arlen/Selene/include/selene/primitives.h:62:35: error: 'lua_tounsigned' was not declared in this scope
     return lua_tounsigned(l, index);
                                   ^
/home/arlen/Selene/include/selene/primitives.h: In function 'int sel::detail::_check_get(sel::detail::_id<int>, lua_State*, int)':
/home/arlen/Selene/include/selene/primitives.h:97:34: error: 'luaL_checkint' was not declared in this scope
     return luaL_checkint(l, index);
                                  ^
/home/arlen/Selene/include/selene/primitives.h: In function 'unsigned int sel::detail::_check_get(sel::detail::_id<unsigned int>, lua_State*, int)':
/home/arlen/Selene/include/selene/primitives.h:102:39: error: 'luaL_checkunsigned' was not declared in this scope
     return luaL_checkunsigned(l, index);
                                       ^
/home/arlen/Selene/include/selene/primitives.h: In function 'void sel::detail::_push(lua_State*, sel::MetatableRegistry&, unsigned int)':
/home/arlen/Selene/include/selene/primitives.h:250:26: error: 'lua_pushunsigned' was not declared in this scope
     lua_pushunsigned(l, u);
                          ^
/home/arlen/Selene/include/selene/primitives.h: In function 'void sel::detail::_push(lua_State*, unsigned int)':
/home/arlen/Selene/include/selene/primitives.h:293:26: error: 'lua_pushunsigned' was not declared in this scope
     lua_pushunsigned(l, u);
                          ^
CMakeFiles/test_runner.dir/build.make:54: recipe for target 'CMakeFiles/test_runner.dir/test/Test.cpp.o' failed
make[2]: *** [CMakeFiles/test_runner.dir/test/Test.cpp.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/test_runner.dir/all' failed
make[1]: *** [CMakeFiles/test_runner.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

Test output
Executing 71 tests...
...x...................................................................
70 out of 71 tests finished successfully.

Test "test_call_undefined_function2" failed.

Forget about unit test error. I have compiled Selene (Test.cpp) with Lua 5.2 and there is still this error, so I think there is no relation beetwen them.
But there is still problem with Lua 5.3. Will you re-write (part of) Selene or stay in compatibile (Lua 5.2) mode ?

I will probably provide a build time preprocessor define that lets you choose the Lua version and make Selene compatible with both.
I'm curious about the undefined function fail.

I've opened https://github.com/jeremyong/Selene/issues/76 which is actually a duplicate of this.Sorry for the lack is proper prior googling.


templated sigh mixin with registry type

closes https://github.com/skypjack/entt/issues/1078
This a proposed approach for the linked issue

Sorry for the inconvenience but you'll have to wait a few days. I got a flu and I'm not exactly in the mood to work on PRs. 🙂


mega target group v2.7.2

This effectively passes down the CIDR blocks as a flag and filters the list of targets that are returned from aws.
parse cidrs at main func
filter out epAddr in endpoint resolver

closing cuz i messed up


[TIR] Remove unused iters from the result of reindex

The existence of unused block iters make it difficult for block layout transformation. Previous it relies the flag simplify_trivial_iter=true in affine analysis, which is unsafe because simplifying trivial iterators during scheduling stage lose the information of iterators.
cc @spectrometerHBH @junrushao @Hzfengsy

I’m not sure though if it’s going to affect tuning or not, because MetaSchedule relies on the structural stability of TIR so that its analysis outcome doesn’t change much. Would you like to elaborate? Thanks a lot!

it doesn't because the result is consistent. it only affects im2col results, which is one of the preprocessing step before MultiLevelTiling


Roll Engine from 84d353906299 to baece8460e95 (1 revision)

https://github.com/flutter/engine/compare/84d353906299...baece8460e95
2022-05-04<EMAIL_ADDRESS>Make armv7 arg to iOS framework script optional (flutter/engine#33090)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


GetMappedSymbol is returning empty causing an invalid file source

Expected Behavior

GetMappedSymbol should return the same symbol if we don't have a map file for it
Actual Behavior

GetMappedSymbol called at https://github.com/QuantConnect/Lean/blob/master/Engine/DataFeeds/Enumerators/Factories/BaseDataSubscriptionEnumeratorFactory.cs#L79 is returning an empty string due to public string GetMappedSymbol(DateTime searchDate) at MapFile.cs returning empty string due to _data.Keys being empty.
Potential Solution

If public string GetMappedSymbol(DateTime searchDate) at MapFile.cs, returns an empty string, use the same symbol.
Reproducing the Problem

Options algorithm using symbol 'SVXY'
System Information

N/A
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

SubscriptionDataSourceReader.cs L565
                // check to see if the symbol was remapped
                var newSymbol = _mapFile.GetMappedSymbol(date);
                if (newSymbol != _mappedSymbol)
                {
                    if (_mappedSymbol != "")
                    {
                        var changed = new SymbolChangedEvent(_config.Symbol, date, _mappedSymbol, newSymbol);
                        _auxiliaryData.Enqueue(changed);
                    }
                    _config.MappedSymbol = _mappedSymbol = newSymbol;
                }

Here's how it was handled at the other call site -- recommend pushing this down into the GetMappsSymbol implementation so callers don't need to worry about it -- so the method should return the mapped symbol or the input symbol if no mappings found.


Disable tracking of performance of class instantiation

For #8280

Codecov Report

Merging #8330 into master will decrease coverage by 0.77%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #8330      +/-   ##
==========================================
- Coverage   59.32%   58.54%   -0.78%
==========================================
  Files         505      506       +1
  Lines       23147    22821     -326
  Branches     3745     3740       -5
==========================================
- Hits        13731    13360     -371
- Misses       8521     8566      +45
  Partials      895      895

Impacted Files
Coverage Δ

src/client/datascience/serviceRegistry.ts
0% <0%> (ø)

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-75%)
:arrow_down:

.../client/datascience/jupyter/jupyterConnectError.ts
0% <0%> (-66.67%)
:arrow_down:

...science/jupyter/jupyterKernelPromiseFailedError.ts
0% <0%> (-50%)
:arrow_down:

...ent/datascience/jupyter/jupyterWaitForIdleError.ts
0% <0%> (-50%)
:arrow_down:

...cience/jupyter/jupyterDebuggerNotInstalledError.ts
50% <0%> (-30%)
:arrow_down:

src/client/language/characters.ts
12% <0%> (-21.34%)
:arrow_down:

src/client/testing/codeLenses/main.ts
60% <0%> (-17.78%)
:arrow_down:

src/client/datascience/cellFactory.ts
72.34% <0%> (-17.32%)
:arrow_down:

src/client/constants.ts
75% <0%> (-5%)
:arrow_down:

... and 30 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 9e7bce4...18d6302. Read the comment docs.


How to map credential subject data into proper string?

Opened in : https://github.com/iden3/claim-schema-vocab/issues/25

@bibash28 I think what you need is this, right?
String conditionTitle = "";       String conditionMsg = "";       String credentialValue = claimModel?.credentialValues               .firstWhere((element) => element.name == reqKey)               .value ??           reqKey;       if (conditionKey == "\$eq") {         type = ProofRequestType.private_proof_with_equal_operator;         conditionTitle = reqKey;         conditionMsg = "is";       } else if (conditionKey == "\$lt") {         conditionTitle = reqKey;         conditionMsg = "is smaller than";       } else if (conditionKey == "\$gt") {         conditionTitle = reqKey;         conditionMsg = "is bigger than";       } else if (conditionKey == "\$in") {         conditionTitle = reqKey;         conditionMsg = "is one of the following values:\n";       } else if (conditionKey == "\$nin") {         conditionTitle = reqKey;         conditionMsg = "is not one of the following values:\n";       } else if (conditionKey == "\$ne") {         conditionTitle = reqKey;         conditionMsg = "is not";       }       if (conditionValue is List) {         conditionMsg = "$conditionMsg\n";         for (var val in conditionValue) {           conditionMsg = "$conditionMsg - $val";           conditionMsg = "$conditionMsg\n";         }         conditionMsg = conditionMsg.substring(0, conditionMsg.length - 1);       } else {         conditionMsg = "$conditionMsg $conditionValue";       }

Need more code. Yes, this is what I want.  @rauljareno

If this stuff will be added in example app, then it will be great help to developers...

We are having it in mind and will improve further with the feedback the example app, but as of now, this is an UI translation of the iden3message and it depends on the integrator's choice of how to show the information.


SDFormat10 package not available on Ubuntu

Environment

OS Version: 20.04
Binary build for SDFormat10.

Description

Expected behavior: As per the README, running apt-get install libsdformat10 should install the SDFormat package from Ubuntu's repositories.
Actual behavior: apt-get cannot find the package.

Steps to reproduce

Take a fresh version of Ubuntu 20.04 (I used a docker image to verify this).
Follow the README and run sudo apt-get -y install libsdformat10.
See the failure.

Output
root@447c4bd99237:/# apt -y install sdformat10
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package sdformat10

My guess is that we need to run these extra commands before trying to install:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2486D2DD83DB69272AFE98867170598AF249743
sudo apt-get update

sudo apt-get -y install libsdformat10  # This should work now

If so, this should be added to the README.

Yes, we currently only have libsdformat6 on Ubuntu 20.04, so if other versions are needed, it's necessary to add the packages.osrfoundation.org repo. Do you mind creating a PR with your suggestion?


Console Alpha Feedback

Below a general, unsorted feedback to #2763

[ ] Structure Hierarchy

It is not immediately clear to me that this should represent a hierarchy within projects.

There is also a back arrow, which does not make sense with the top navigation IMO and led to futher confusion for me

[ ] Top Ribbon

I find it a bit annoying that the ribbon appears/disappears

IMO makes it hard to orient within the UI and brings some "glitchiness" to the UI

[ ] No consistency in button

What is a button? (red borders?)

Not clear to me which elements are clickable in general (marked with ?)

Primary / next best action not clear

Makes it exceptionally hard to navigate around

[ ] Overlapping tooltips

[ ] Draggable shortcuts

left column is not draggable

click event should be disabled during edit mode

[ ] Navigation within personal profile

I don't get the navigation on the left side... this is different to other parts in the UI (top navigation). Why not consistent?

How is this better than before? IMO it makes it harder to get quickly to the desired settings, because you need to click around in the side navigation

[ ] Personal profile should be aligned to register/login

This is just a hypothesis that we should clarify with users...

There are two cases for profiles: personal profile vs. user profile

The current design is ok for user profile (admin accesses users) but not ok for self-service (personal profile)

IMO the personal profile should be in the identical design as login / register (as it's a drop in UI for a customer app)

For example the footer should not be displayed as in console but as in login / register

Also in the personal profile the context of the org should always be given, as such the org-switch is not required

Carrying over the comments from @fforootd
@peintnermax did you already checkin with @juergrinaldi I think a lot of things are just consistency topics 😁

Carrying over the comments from @fforootd

The current design is ok for user profile (admin accesses users) but not ok for self-service (personal profile)

I think we should seperate the personal from the admin perspective.
This could be achieved by creating a toggle to switch between a personal and admin view. IMO the personal view is the current personal information view. Also when the personal view is active we could hide the org selector.

Carrying over the comments from @fforootd
Btw. what I find most confusing, is that sometimes there is a sidenav on both sides, sometimes only on one and other times none. How can we bring more consistency to this?

Carrying over the comments from @fgerschwiler
In my opinion we have three different views, system, admin and personal. also in the system view, I don't need an org selector
Carrying over the comments from @mffap

In my opinion we have three different views, system, admin and personal. also in the system view, I don't need an org selector

Yes. This would also give the option so selectively show "Metadata". I'm not sure, if the user should always have this visible (or maybe behind some extra clicks at least).


Add HelloWorld for any other language not covered here

I want to work on this issue

Please see PR #93

Skip is another language to add:
http://skiplang.com/docs/hello_world.html
Also, emojicode:
https://gist.github.com/ed55f9a6f2f738634f74

I want to add hello world in Reactjs

// This is Verilog Program
//-----------------------------------------------------
module hello_world ;
initial begin
$display ("Hello World!");
#10 $finish;
end
endmodule

I would like to add Hello world in VBScript.


bigquery: should Load truncate or append?

When reading rows into a []Value, the current behavior appends to the slice:
vals := []Value{1}
... it.Next(&vals) ... // assume one column with value 2
fmt.Println(vals) // output: [1 2]

Reading into a map has the same property: new keys will be added or overwritten, but existing keys will remain.
I'd argue that we should be consistent with encoding/json.Unmarshal:

To unmarshal a JSON array into a slice, Unmarshal resets the slice length to zero and then appends each element to the slice.

That would be a change to our current behavior.

To unmarshal a JSON object into a map, Unmarshal first establishes a map to use. If the map is nil, Unmarshal allocates a new map. Otherwise Unmarshal reuses the existing map, keeping existing entries.

That is our current behavior.
So I'd vote for changing client's behavior on slices. Are there compelling reasons for the append semantics?
/cc @mcgreevy @nightlyone @zombiezen @broady @pongad

@jba I agree with your reasoning here and would support the changes regarding slices. The current behaviour leads to errors while iterating.

I support this change. +1 for making it consistent with json!


Add Text on Image Module

What's Included

A single HTML file (text_on_image_NUM_by_YourName.html) that encapsulates HTML, CSS.
The module includes an image background with overlaying text.
The CSS is integrated within the HTML file for simplicity and ease of use.

Design and Interaction

The text and image are styled to be responsive, ensuring a seamless appearance on different devices.
Uses Google Fonts for typography (Oswald for headings and Roboto for body text).
The CSS is carefully crafted to ensure that it does not conflict with global styles.
The module is interactive, with the potential for adding animations

Heartfelt Thanks for Your Contribution to Our Open Source Project!
            Dear @Teja-11,

            I trust this message finds you in good health and high spirits. I am reaching out with a heart full of gratitude for your recent contribution to our open source project. Your dedication has not only elevated the functionality of our project but has also exemplified the collaborative spirit that lies at the core of thriving open source communities.

            A heartfelt congratulations are in order for your exceptional work! Your commitment and expertise have played a pivotal role in the success of our project, and we consider ourselves truly fortunate to count you among our community members.

            I must extend my sincere apologies for the delay in responding to your pull request. Your patience and understanding during this time are immensely appreciated. As our project continues to grow, we acknowledge the imperative need to enhance the quality and response time for contributions. To address this, we've kickstarted a call for maintainers and reviewers who can help us uphold the high standards of our project and ensure swift responses to pull requests.

            Your involvement and insights would be invaluable in this initiative. If you, or someone you know, is interested in taking on a more active role in the project, please don't hesitate to reach out. We firmly believe that with a robust team of maintainers and reviewers, we can elevate both the quality of the project and the speed of our responses.

            On an exciting note, I am thrilled to share that we have activated the sponsorship button for our project. This development allows supporters like yourself to contribute to the sustainability and growth of the project. Your ongoing support, whether through code contributions or sponsorship, is genuinely appreciated.

            Once again, congratulations on your outstanding contribution, and thank you for being an indispensable part of our open source community. We eagerly anticipate your continued collaboration and shared success.

            Best regards,

            Ntem Kenyor K.
            Lead
            Kwickerhub


Doesn't work with conda anymore

Describe the bug
Ditto to title. Before that there is no issue, but since idk which update now whenever I started a terminal session a small black screen pops up and that didn't print anything, so it's obvious why the Invoke-Expression command was failing. This means kubectl and helm aren't loaded either due to early termination making it unusable.
Expected behavior
It just works.
Screenshots

Environment (please complete the following information):

Am having same issue after Lens upgraded to newest version today when calling kubectl command . Powershell terminal alone itself stills able call the kubectl command properly, but not in Lens

Duplicate of #6401 fix is in progress


Batch of fixes for WorkerThreadPool and ResourceLoader (safe set)

Extracted from #94169. See discussion there for details.

Re-add resource thread-safety measures
These deferring measures were added to aid threaded resource loading in being safe.
They were removed as seemingly unneeded, but it seems they are needed so resources involved in threaded loading interact with others only after "sync points".

WorkerThreadPool: Fix wrong sync logic breaking task map integrity

Fixup recent changes to threading concerns
ResourceLoader:

Fix invalid tokens being returned.
Remove no longer written ThreadLoadTask::dependent_path and the code reading from it.
Clear deadlock hazard by keeping the mutex unlocked during userland polling.

WorkerThreadPool:

Include thread call queue override in the thread state reset set, which allows to simplify the code that handled that (imperfectly) in the ResourceLoader.
Handle the mutex type correctly on entering an allowance zone.

CommandQueueMT:

Handle the additional possibility of command buffer reallocation that mutex unlock allowance introduces.

ResourceLoader: Fix sync issues with error reporting
This is about not letting the resource format loader set the error code directly on the task anymore. Instead, it's stored locally and assigned only when it is right to do so.
Otherwise, other tasks may see an error code in the current one before it's state having transitioned to errored. While this, besides the technically true data race, may not be a problem in practice, it causes surprising situations during debugging as it breaks assumptions.

Thanks!


Editor context menu actions feedback

Hi VS Code dev here :wave:
Open a python file, invoke a context menu in the editor and notice the following:

Run Current Test File command is there. When I execute it it says that I do not have testing enabled. I suggest to add this command only if testing is enabled in my workspace
Sort Imports -> shouldn't this be a part of the format document. I do not see why this command needs to be so promiment to take space in the context menu. Also there is already Source Action... command which shows the Sort Imports so this feels like duplication.
"Run python file in terminal" and "Run selection line in python terminal". I do not understand why one command says "in terminal" and the other "in python terminal". When I exectute them they just go to the terminal for me. Can we have some consistency in titles, or is it possible to drop one of those actions. Reason being, user can select the whole file and do Run selection, to cover the python file case
Run in Interactive window: I suggest to show this only if I have Jupter or whatever needed setup
Most of these actions do not make sense while you are debugging. I would also consider to hide them while the user is debugging (since the menu grows then additonally with vscode debug commands)

I believe VS Code plans to introduce context sub menus and then python could add all the actions to the submenu potentially.
fyi @qubitron @DonJayamanne

Oh my, you aslo show these actions in the Explorer. I really dislike this appraoch.
Explorer should be used for FS operations, not for marketing new features.
IMHO you could put only one of those actions in the Explorer.

Thank you for the suggestion! We have marked this issue as "needs decision" to make sure we have a conversation about your idea. We plan to leave this feature request open for at least a month to see how many 👍 votes the opening comment gets to help us make our decision.

@isidorn Yeah, the python/jupyter team has absolutely no regard for these issues.
In particular, the context menu bloat is even worse these days, and all the items are contributed by the jupyter extension.
The summary of microsoft's view is what @claudiaregio said:

Just like any other VS Code menu item, users do not have to use or click on any options/features made available to them if they do not wish to use them.

As I said, it's like saying:
If you don't want candy crush, just don't click in the candy crush icon.

@isidorn Yeah, the python/jupyter team has absolutely no regard for these issues.
In particular, the context menu bloat is even worse these days, and all the items are contributed by the jupyter extension.
The summary of microsoft's view is what @claudiaregio said:

Just like any other VS Code menu item, users do not have to use or click on any options/features made available to them if they do not wish to use them.

As I said, it's like saying:
If you don't want candy crush, just don't click in the candy crush icon.

It's "disruptive" because it's true.

We no longer show testing related commands or the selection command in the menu:


EKS: Validate node group min/max/desired values

Internal Reference: SURE-5957
When creating an EKS cluster, it's possible to define an invalid amount of min/desired, this creates the cluster, but fails due with validation from the AWS API.{}
This will be done as part of the port of EKS to Vue.

Validation for nodegroup ASG size is missing on build v2.9-81337b95660cba868629d6fe769bd7e8242b5aee-head, Dashboard - master 3da1205
Hence cluster provisioning is allowed with invalid values and it eventually fails:

Test report
Validated on rancher v2.9-637346f76ea2bb71a82ea6e00a2779f61610a2a4-head
The problem seems to be fixed for EKS provisioning.
Before the change on dashboard v2.9.0-alpha7 there is no import field validation involved:

After the change on dashboard master ddd2dee the validation seems to be in place and it won't let user create a cluster with wrong values.