Unable to test navigation

Hi authors, I have tried closely following the readme, I was able to create and index the map. Now while trying to test navigation, in the vlmaps_dataset folder I have folders for each scene ID but nothing related to results dir there. I am getting no such path issue. Kindly help me resolve.
FileNotFoundError: [Errno 2] No such file or directory: '/home/athira/vlmaps_dataset/5LpN3gDmAk7_1/vlmap_obj_nav_results'
I tried adding a line os.mkdir() but as the contents is None I am getting a divide by zero error .

Hi authors Thanks for the support offered in my previous issues,
In the snippet of evaluation/compute_object_navigation... file we can see os.listdir(metric_save_dir), but for me the folder is empty. so n_tot_tasks=0 and it raise an issue. Kindly help

Hi @Athirakr94 thank you for your interest in our project. You need to run evaluate_object_goal_navigation.py or evaluate_spatial_goal_navigation.py before calling compute_object_goal_navigation_metrics.py or compute_spatial_goal_navigation_metrics.py.

Hi @Tom-Huang, Thanks for your reply. I have tried that, in both cases while running I can see a window with new obstacle id cropped.  I tried keeping the code to run over night, still its not getting completed. May I know how to ensure the code is working. Anything more to be done. Pls help.

Hi Author,
May I know the compute you had to test this navigation. Actually I trying from my laptop with RTX 3060. I doubt whether this is a compute issue. Pls respond.

The hardware should not be a problem.

I can see a window with new obstacle id cropped

what do you mean by that? Is it a window showing the obstacle map where black areas indicate obstacles and white areas are free spaces? Did you try to press some keys when you saw the obstacle map show up? You might have turned on the visualization. You can change this line in the config file to False and try again.

Thanks for that. I am able to run the script without error.  But the subgoal success rates are coming as zero for object navigation and for spatial navigation getting an error that self.subgoal_success_rate is  not an attribute. It seems to be not defined in the script. I am trying to obtain the metrics reported in the paper. But need help here.


Fix issues related to version 5.0.0 and grafana team. Added support f…

…or Grafana version 11

@elwills  this is ready to merge to main. Thank you.


LND fails to start when bitcoin RPC credentials have a "!" in them

Tested with:
Bitcoind 0.16
LND       0.4
Ubuntu  16.04
Issue: If the Bitcoin rpcuser or rpcpassword  contain the ' ! ' character, LND will exit with a 401 status code after the wallet has been unlocked. The issue exits if the ' ! ' is present at the end, or in the middle of the string, i.e.
rcpuser=iamcool!!
or
rpcuser=iamcool!!yes

The relevant log section:
2018-03-22 13:55:55.982 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create wallet, or `lncli unlock` to unlock already created wallet.
2018-03-22 13:56:09.260 [INF] LNWL: Opened wallet
2018-03-22 13:56:09.340 [INF] LTND: Primary chain is set to: bitcoin
2018-03-22 13:56:09.340 [INF] LTND: Initializing bitcoind backed fee estimator
2018-03-22 13:56:10.495 [INF] LNWL: Opened wallet
unable to start wallet: status code: 401, response: ""
unable to create chain control: status code: 401, response: ""
status code: 401, response: ""

I had this with the "@" character, but it worked fine with just letters and numbers

I’ll take this on as my first issue-ish

Ok, I looked into this a little further.
I am unable to connect to bitcoind in regtest mode via curl when my rpc username or password contains a "#", but I am able to connect if my username or password contains a "!".
I wonder if we should simply add a precondition or warning to lnd that lets you know that "!" or "#" is not suitable for a password? I need to figure out why for @CubicEarth it was "!", while for me it's "#".
Maybe we should move this issue to the bitcoind repo, since it is an issue with rpcuser and rpcpass in bitcoind.
bitcoin.conf
rpcuser=kek#kek
rpcpassword=kek#
regtest=1
txindex=1
server=1
daemon=1
zmqpubrawblock=tcp://<IP_ADDRESS>:28332
zmqpubrawtx=tcp://<IP_ADDRESS>:28332
~/netrc
machine localhost
login kek#kek
password kek#

$ curl --netrc-file ~/netrc --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnetworkinfo", "params": [] }' localhost:18443

(no response, simply times out with nothing returned)
if I change the rpcuser to kek!kek and rpcpass to kek! in bitcoin.conf, and update my ~/netrc file, I get the following:
$ curl --netrc-file ~/netrc --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnetworkinfo", "params": [] }' localhost:18443
{"result":{"version":160000,"subversion":"/Satoshi:0.16.0/","protocolversion":70015,"localservices":"000000000000040d","localrelay":true,"timeoffset":0,"networkactive":true,"connections":0,"networks":[{"name":"ipv4","limited":false,"reachable":true,"proxy":"","proxy_randomize_credentials":false},{"name":"ipv6","limited":false,"reachable":true,"proxy":"","proxy_randomize_credentials":false},{"name":"onion","limited":true,"reachable":false,"proxy":"","proxy_randomize_credentials":false}],"relayfee":0.00001000,"incrementalfee":0.00001000,"localaddresses":[],"warnings":""},"error":null,"id":"curltest"}

I've run through the following tests, however I'm not getting the error I had before, only an error on (#) which I think is treated as a comment modifier, and (") when it occurred twice as this seems to mess up bash.
baseline
Result: works
bitcoin.conf
rpcuser=test
rpcpassword=test

lnd.conf
[Bitcoind]
bitcoind.rpcuser=test
bitcoind.rpcpass=test

exclamation point variant 1
Result: works
bitcoin.conf
rpcuser=test
rpcpassword=te!st

lnd.conf
[Bitcoind]
bitcoind.rpcuser=test
bitcoind.rpcpass=te!st

exclamation point variant 2
Result: works
bitcoin.conf
rpcuser=te!st
rpcpassword=te!st

lnd.conf
[Bitcoind]
bitcoind.rpcuser=te!st
bitcoind.rpcpass=te!st

exclamation point variant 3
Result: works
bitcoin.conf
rpcuser=!test
rpcpassword=!test

lnd.conf
[Bitcoind]
bitcoind.rpcuser=!test
bitcoind.rpcpass=!test

hash mark
Result: does NOT work, can't unlock wallet, and bitcoin logs show
ThreadRPCServer incorrect password attempt from [::1]:60734

bitcoin.conf
rpcuser=test
rpcpassword=te#st

lnd.conf
[Bitcoind]
bitcoind.rpcuser=test
bitcoind.rpcpass=te#st

atsign variant 1
Result: works
bitcoin.conf
rpcuser=test
rpcpassword=te@st

lnd.conf
[Bitcoind]
bitcoind.rpcuser=test
bitcoind.rpcpass=te@st

atsign variant 2
Result: works
bitcoin.conf
rpcuser=@test
rpcpassword=@test

lnd.conf
[Bitcoind]
bitcoind.rpcuser=@test
bitcoind.rpcpass=@test

quotes variant 1
Result: works
bitcoin.conf
rpcuser=test
rpcpassword=te"st

lnd.conf
[Bitcoind]
bitcoind.rpcuser=test
bitcoind.rpcpass=te"st

quotes variant 2
Result: fails, lnd won't start
bitcoin.conf
rpcuser="test
rpcpassword="test

lnd.conf
[Bitcoind]
bitcoind.rpcuser="test
bitcoind.rpcpass="test

what’s interesting is that it’s an issue for bitcoind. You cannot connect to bitcoind via rpc if you have a “#” in either rpcpass or rpcuser.

I discovered the error when testing with credentials that contained double '!!'.

@CubicEarth I copy psted your exact credentials and it works on my computer, no issue!
I only have issues with # and “

I am able to use "!!" for user/pass, lnd starts fine, no rpc errors

@bretton: The issue is with bitcoind, not lnd. Check my comment regarding curl commands to bitcoind in regtest modes and please try out on your side. You should not be able to connect to bitcoind via rpc (curl) if your rpcuser has a # in it. Same for rpcpass

@Lldenaurois yep I've already confirmed a problem with # in credentials :)
that probably is bitcoind, the problem with " twice over seems to be something in bash

Today I am not getting the error with the !! . I tested it several times before posting, so that is strange.
Makes sense that the underlying issue is in bitcoind, although also surprising it hasn't been caught and fixed by now.

@CubicEarth: I think you just mixed up the credentials. If you pass the wrong rocuser or rpcpass you get the same 401 in lnd

@Lldenaurois - I was able to recreate it with rpcuser=test!!test and rpcpassword=test!!test , although it seems like the issue is that when my terminal encounters the '!!', it recalls the previous command. So not and LND problem.

@CubicEarth: Just add the password with double exclamation points to your lnd.conf and it shpuld work!
You can’t pass it in bash via cli call

So the problems discovered have either been related to my unrealistic expectations of what bash can do, or to underlying problems with how Bitcoin handles certain characters, such as # or " . Should we close this issue?

I would move this issue to bitcoin repo

I am not familiar with github etiquette and protocol.
Are you suggesting this whole thread be 'reassigned' to the bitcoin repo  as-is?
Or should it be closed here, and then a new issue raised over there?


The training effect is poor using official data and code

Hi, I using the dataset the same as Ovis-data, training with gemma2-9b, the loss drop but i find the model can't follow instructions. Is it because the vision encoder was unfreeze in the S3 stage, caused the visual module to crash?
What is your training configuration like? How many cards are used? What is the batch_size of each card? Are the optimizer parameters the same as the script settings?

The training configurations for each stage can be found at: https://github.com/AIDC-AI/Ovis/tree/main/scripts/v1_5.
The parameters in the scripts are configured for an 8-GPU setting. During actual training, we utilize an internal distributed system that typically employs 64 or more GPUs. Nevertheless, the overall batch size remains consistent with that defined in the scripts. The code, data, and hyperparameters we used for training are consistent with the open-source version.


helm create doesn't work with nested template directories

Output of helm version:
Client: v2.9.1+g20adb27
Tiller isn't involved with this issue
Output of kubectl version:
kubectl isn't involved in this issue.
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
No cloud provider involved in this issue.
Description:
If you create a starter chart that has a templates/tests directory containing some test templates, move that starter chart to helm home/starters/ and then invoke via helm create test -p <name>, you will get an error similar to this:
➜  ~/code  helm create test -p bcs
Creating test
Error: open test/templates/tests/test-integration.yaml: no such file or directory

In order to make sure that my starter chart was correctly set up:
➜  ~/code  rm -rf `helm home`/starters/bcs
➜  ~/code  mkdir -p `helm home`/starters
➜  ~/code  cp -r k8s/charts/bcs-starter-chart `helm home`/starters/bcs
➜  ~/code  ls `helm home`/starters/bcs
Chart.yaml               global.food.values.yaml  templates/
README.md                skaffold.starter.yaml    values.yaml
➜  ~/code  ls /Users/shimmerjs/.helm/starters/bcs/te
ls: /Users/shimmerjs/.helm/starters/bcs/te: No such file or directory
➜  ~/code  ls /Users/shimmerjs/.helm/starters/bcs/templates
NOTES.txt        configmap.yaml   secrets.yaml     tests/
_helpers.tpl     deployment.yaml  service.yaml
➜  ~/code  ls /Users/shimmerjs/.helm/starters/bcs/templates/tests
test-integration.yaml
➜  ~/code  helm create test2 -p bcs
Creating test2
Error: open test2/templates/tests/test-integration.yaml: no such file or directory

Potentially related https://github.com/kubernetes/helm/pull/3567

I believe this is more a bug than a feature.
Is there any workaround this issue cause this really makes the helm create pretty useless.

if it was related to #3567 would'nt it be fixed by it, cause it is not in the latest version.

If it wasn't supported in the first place then we consider it a feature as it was not considered during the initial design of the command. :)

I did clone the master and realized that this is partly fixed here https://github.com/helm/helm/pull/4524.
If you folder is called tests then it will be created and this shall be available on the next release.
I wish this implementation was more flexible and could cope with any subfolder.

closing as inactive.


Added Beerware.

Added Beerware license: https://en.wikipedia.org/wiki/Beerware

I don't think there's much chance this will ever meet our adoption criteria for cataloging here: https://github.com/search?q=filename%3ALICENSE+"THE+BEER-WARE+LICENSE"&type=code gets 0 hits.
It's also not reusable as-is, with an email address hardcoded. If you really want to promote it I'd suggest first taking getting replaceable bits annotated in https://github.com/spdx/license-list-XML/blob/master/src/Beerware.xml


Add instructions for Gardener

@billimek: Yes, correct. For SAP Cloud Platform, we need a K8s as a Service solution that provides Kubernetes clusters that exhibit uniform qualities across all infrastructures we support (and that also provides a uniform API to create them).
@vlerenc: Anything to add?

GKE is certainly the best Kubernetes clusters as a service offering among the hyper-scalers out there. Gardener however, is an Open Source project on GitHub bringing Kubernetes clusters as a service (not single clusters, but hundreds/thousands) homogenously to all hyper-scalers (AWS, Azure, GCP, soon Alibaba), but also to OpenStack/on-premise. It too comes with minimal TCO and full day-2 operations (automated backup & recovery, auto-scaling, self-healing, automated cluster updates in individual maintenance time windows in regards to Gardener, worker OS, Kubernetes versions). The team is closely working together with Google on the cluster/machine API and just a few weeks ago it became the first official project to adopt the machine API with the Gardener machine controller manager (automates/deals with the cluster nodes, so that the user doesn't have to bother), see https://github.com/kubernetes-sigs/cluster-api#api-adoption.
In addition, it brings a few advantages that a closed service can't. So in Gardener you can e.g. configure the control plane extensively (OIDC, feature gates, runtime configuration for all control plane components and the kubelet, something a hyper-scaler can't/won't allow as this would endanger the SLOs). You can also plug in different operating systems for the cluster nodes and are not limited to CoreOS (currently used), so e.g. we know SLES is also possible, which is again something a hyper-scaler won't allow, but this or another OS may fit a specific company policy better.
So, it's about either specific services for specific infrastructures or an Open Source offering working across all these infrastructures.


Autogenerate docs to Github Pages (take 2)

Don't merge yet, I messed up the pull request slightly.

There we go, now the diff is just for changing the secret.

OMG! It works! Thanks again :-)


Update DbManager.php

For extendes and override DbManager methods like getAssignments method.

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
yes

Tests pass?
yes

Fixed issues

This PR break a BC, because people can define this method in their own realizations.

Closing because of no use case description for a week.


Jupyter toolbar

Jupyter has a toolbar (Run, Save, Export, Show Variable Table). However, it disappears in the recent version of VSCode Insider. Please bring back that toolbar and the button to display variable table. Thanks.

Most of those functions are available in the insiders. They've just moved to the 'toolbar' location for editors now:

The variable table isn't currently supported however. That's being worked on here:
https://github.com/microsoft/vscode-jupyter/issues/250

Thanks


Docstrings for dataset related classes

Missing docstrings in many classes for dataset part of the library, e.g. basedataset, cifar.

finished the template for cifar10/cifar100. This wll be the docstring template for the rest of the dataset for now.


Flag inference is too agressive in determining generator

await generates YIELD_FROM instruction and the function should not be tagged as a generator in that case (overall the flag inference need to be reworked).

Closed by #56


Python 3.9's builtin collections type hints do not work in pydantic types

Python 3.9's builtin collections type hints do not work in pydantic types.
Tested with list.
Describe the Bug
Here's the test to reproduce.
Just changed line 219 in tests/experimental/pydantic/test_basic.py
List -> list.
def test_list():
    class User(pydantic.BaseModel):
        friend_names: list[str]  # <- List from typings works, but list - does not

    @strawberry.experimental.pydantic.type(User)
    class UserType:
        friend_names: strawberry.auto

    definition: TypeDefinition = UserType._type_definition
    assert definition.name == "UserType"

    [field] = definition.fields

    assert field.python_name == "friend_names"
    assert isinstance(field.type, StrawberryList)
    assert field.type.of_type is str

Got:
E       TypeError: issubclass() arg 1 must be a class

System Information

Operating system: mac oc
Strawberry version (if applicable): 0.124.0

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

@na86421 that exact error occurs after that patch indeed, good catch!
Though I've tried to checkout on 2495d0994b25e1e7462e59713bc7ba8b02e3a2f0 (commit before that patch) and it still fails but with another error:
E           AttributeError: type object 'list' has no attribute 'copy_with'

Looks like this has been resolved in #2152 :)


Homebrew Caddy 1.0.0 upgrade issue

Currently, I am trying to upgrade Caddy to 1.0.0. I did manage to fix the install step. But did not quite get test part working.
Post the issue in here for some visibility in case some folks are interested.
Relates to https://github.com/Homebrew/homebrew-core/pull/39795

Hello @chenrui333  thank you for the issue.  Feel free to add further detail but I am going to close this now until there is better clarity on the issue.


Document minimal required Electron version needed to use the service

As a user trying to set up tests on my project that is using Electron v18 I am getting confused when I get the following error message:

Failed downloading chromedriver v100: Download failed: server returned code 404. URL:

Can we:

document in the readme what the minimum required version needs to be?
can we maybe add a check in the code to provide a better error message?

We've got this in the Chromedriver configuration:
https://github.com/webdriverio-community/wdio-electron-service/blob/main/docs/configuration/chromedriver-configuration.md#user-managed
I think we can mention the minimum required Electron version to avoid having to self-configure chromedriver on the main README, and also update the error message.


Re-enable images and links in the signature.

A lot of people have useful links in their signature, which I had until today. I edited a certain part of my profile and these bbc tags were stripped.
You have the option in the profile settings for users to disable viewing peoples signatures, so if someone doesn't like them, they can get rid of them.
No need to make the wider community suffer because of a few grumpy people.
At least allow images and links that reside on the forum.arduino.cc domain.

@00alis
And what makes matters worse, the profile setting I changed has reverted back, similar to what is causing the issues here: https://github.com/arduino/forum-issues/issues/205#issuecomment-219583548

This was not a design decision, but a technical issue, please refer to @mastrolinux for these kind of problems, thanks!

Any word on this?
I'll re-iterate: users can disable forum signatures if they please. A majority of people do not care about links, images or even verbose over-the-top sigs. It is common place on public communities.
For sure there needs to be guidelines, however, please be encouraged to do what the community wants, not what a minority of moderators expect. And it is clear the community wanted customizable signatures, because we were using them before an odd few decided it was bad.

hi @Chris--A that feature was abused by some users and a lot of spammers, we disabled it for security reasons.

Hi @Luca so this can be closed too ?

Signatures are intentionally not supported natively by the Discourse software now used by the Arduino Forum:
https://meta.discourse.org/t/automated-signatures/1127
Since the forum now has no capacity for signatures, I'll close this as obsolete.


Changing your email address causes you to lose your avatar

Reproducer:

Upload avatar
Change email address
Reload settings page -- your avatar will be a broken link.

I believe this is because our avatar URLs are (unwisely) based on a hash of the user's email address, and when that changes, one loses it.  I think probably the right strategy for fixing this is actually to change the avatar URL scheme to be based on user IDs, and just do a migration to mass-reload the avatars.  Since we did the "medium avatar size" migration a while ago, I think this may be able to use a similar approach to the 0032_verify_all_medium_avatar_images.py migration.
If we do that, we should also plan to move the avatars to be in directories containing the realm ID, e.g. within the bucket/directory /%(realm_id)s/%(user_id)s/avatar.png, with the original stored at /realm_id/user_id/avatar.png.original
Some relevant discussion is on #3740.
https://github.com/zulip/zulip/pull/2116 may have some useful work for this project.

@zulipbot claim

Hmm, I don't think this experimental new Zulipbot feature should have posted on this issue, since you have an open PR...

@adnrs96 please ignore zulipbot's warning. Do comment to keep this task as zulipbot has made an error. Sorry for the inconvenience.

No problem @lonerz . I believe zulipbot could be updated to have check the last update on All PR's present on issue from the assignee. I guess the github api provides that info.

@adnrs96 for a specific issue, github api does not provide referenced PRs sadly. We'd have to iterate over all open PRs and match them to their issues.


Update android build tools

Update Gradle and Android build tools to take advantage of the latest improvements also I was not able to build the project before, updating the build tools solve that 🙏

@amugofjava  Yes, works perfectly 👍

I have pushed a new branch which contains an update to the build tools. Once tested I'll merge into master. Closing PR.


Bring Multi-Tenancy capabilities from the deprecated Management Console to the new Console

Is your feature request related to a problem? Please describe.

During the IS 7.0 release it was decided to deprecate/not promote  Muti-Tenancy.
But later. it was decided to reverse that decision and bring  Muti-TenancyUI into the console.
Describe the solution you would prefer

Bring the Muti-Tenancy capability to the Console with a refreshed UX.
Additional context

N/A

An intermittent pagination issue could be observed. This can be due to cache.
Tracked for future reference:

https://github.com/wso2/product-is/issues/21459


Add support for properly interpreting context.selectedCompletionInfo

I opened an https://github.com/huggingface/llm-ls/issues/66 as I expect that project will need make some changes to fix this, but I was instructed to open an issue here.
When vscode shows a popup Completion item (i.e. what they used to call intellisense: a regular language syntax or function that vscode knows about), any inline completion is supposed to start with the Completion item. That is to say, the completion item should be added to the end of the prefix. Take the following python example:
file_path = '/tmp/my-file'
with open(file_path, "r") as handle:
   # imagine the developer is in the middle of typing the period below
   obj = json.
   if obj.myField:
       print('my field is present')

So imagine the developer is typing the . in the line obj = json., vscode will pop up possible completions for json, and likely the method loads will be the top completion. The prefix that is sent to the LLM should use a value of obj = json.loads for that line. The suffix that comes after should also be included as normal.
The range that should be returned for the vscode.InlineCompletionItem should be properly adjusted for this as well.

@McPatate I opened this issue here -- however, I think llm-ls will have to change something to properly support this as my understand is that llm-ls selects the code from the document that will be sent to TGI (the inference backend).


how to use the docker to install Matlab?

Issues and Contributing
Please note that only issues related to this Docker image will be addressed here.

If you have Docker related issues, please ask in the Docker user mailing list.
If you have Jenkins related issues, please ask in the Jenkins mailing lists.
If you are not sure, then this is probably not the place to create an issue and you should use any of the previously mentioned mailing lists.

If after going through the previous checklist you still think you should create an issue here please provide:
Docker commands that you execute
Actual result
Expected outcome
Have you tried a non-dockerized Jenkins and get the expected outcome?
Output of docker version
Other relevant information

If you are not sure, then this is probably not the place to create an issue and you should use any of the previously mentioned mailing lists.

If you are not sure, then this is probably not the place to create an issue and you should use any of the previously mentioned mailing lists.


Repository search

This is actually unrelated to codetabs, but is an idea I've had and I wanted to write it somewhere.
It would be nice to have a search website for github, gitlab, etc that let's you find repositories to practice with, based on number of lines and some quality of code metric. Because from following a tutorial to contributing to a big project there is quite a leap, and I think working on small projects that are already done to check your progress would be a nice middle ground. Right now I can find projects like this in Project Based Learning, but it would be better to be able to filter projects by language, below 1k words for example and get a list of projects with a brief description and sorted by stars or code quality. The closest thing that I know off is Awesome Open Source.

Although it is a great idea, at this time it is out of the scope of the project.


Can't get Chef Provisioner to run with ChefDK 0.4.0

trying to use the example recipe simple.rb with Vagrant
[2015-04-18T18:17:14-07:00] ERROR: Unable to activate cheffish-1.1.2, because chef-zero-3.2.1 conflicts with chef-zero (~> 4.0)
[2015-04-18T18:17:14-07:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

You need to use ChefDK 0.5.0 to get past this problem.

@bscott - This is related to https://github.com/chef/chef-provisioning/issues/322 and some of the other issues people have seen in gitter.
chef-provisioning is pegged to the chef version, which in turn is pegged to the chefdk version.  So as @jefflaplante said, the solution that's working for people is to upgrade to the release candidate of Chef DK 5.   If you're on mac, you can find the DMG here.

@bscott ChefDK just released 0.7.0; can you give that a shot?


Fix product check

Fixes a race condition in the product check.
Closes #8268

The tests are not fully updated after the breaking 8.13 release. Have to spend some time on that soon, to have reliable CI builds again.


Client doesn't allow to perform client_credentials flow

Hi,
I've got a problem with the client library, because I don't see the option to perform client_credentials flow:
/oauth2/token POST
payload
grant_type:client_credentials
client_id:micro-service-client
client_secret:micro-service-secre

Could you tell me is it possible somehow to do this with the current client version?
If not I am happy to contribute to this project and provide the implementation.

Thank you for opening this issue. Unfortunately, the auto-generated client doesn't work well with OAuth2 so please use another library to perform OAuth2 flows - we have documented this also here: https://www.ory.sh/docs/hydra/sdk/go#configuration

Be aware that endpoints /oauth2/auth and /oauth2/token MUST NOT be consumed using this SDK. Use golang.org/x/oauth2 instead.

Hope this helps

Thank you so much for the clarification.
I am closing ticket


Add example to tutorial: longest path in cycle-free directed graph

Based on topological sorting

Example added:
https://nographs.readthedocs.io/en/latest/concept_and_examples.html#example-longest-path-acyclic-graph


Is it possible to override request URL?

I have an idea to create a static builder for a site which uses Turbolinks.
I figured that the simplest way would be to override URLs without extensions to lead them on *.html pages.
Is it possible to override URLs before Turbolinks makes a visit?

Hi @nesterow. I'm not sure I understand the use case, but if you need to change the request URLs, you could either: query the DOM and change every the link hrefs on turbolinks:load, or alternatively do something like the following:
document.addEventListener('turbolinks:click', function (event) {
  event.preventDefault()
  Turbolinks.visit(event.data.url + '.html')
})

I hope that gives you some ideas.

@domchristie Thank you. Not exactly what I am looking for. Turbolinks.visit will change url in the address bar. I want to make Turbolinks load markup from modified location, but save original location to the browser history


Changed README

I dunno I was bored lol

some of this sounds like it was written by AI lol but sure thanks lmao


Add artifacts to TRavis for us to download

Hello @VioletGiraffe !
We would like you add artifacts to Travis for us to download. I refer: https://docs.travis-ci.com/user/uploading-artifacts/
I am a Linux user and want to try @probonopd's AppImage's a canary/nightly version.

@gusbemacbe: I was very excited about linuxdeployqt when I found out about it, and gave it a thorough try. It works for the main executable, but there was no way to bundle the plugins as well. See #187. I didn't see it fit to provide a half-made artifact, Linux user experience is sufficiently full of misery already.

Do you know of any alternative way to package / distribute a Qt application for Linux?

and gave it a thorough try. It works for the main executable, but there was no way to bundle the plugins as well.

Strange, Geary has an AppImage version and works well with plugins. Maybe @b4n, @ecmu, @elextr, @Enrix835, @fusion809 and @codebrainz can explain how. Principally @ecmu built successfully an AppImage-built Geany working with plugins, maybe he/she know better than others and can explain.

Do you know of any alternative way to package / distribute a Qt application for Linux?

Flatpak and Snapcraft. Both are OS-agnostic, build an embed or packaged QT-built application, isolating any non-KDE/non-QT OS, for working on any non-KDE/QT-based OS.
@brunob, who built a Snapcraft package for Geany, can explain how to make an Snapcraft-built app working with plugins.

@gusbemacbe i haven't done it for Geany, just posted some comments about it, but i'm doing it for Timeline here : https://github.com/thetimelineproj/timeline_snap

A great answer, thank you, I'll look into and hopefully will come up with some distributable package.

@brunob
Do you know some Snapcraft yaml which builds a embed or packaged QT-based application with plugins?

To clarify: plugins in File Commander are .so libraries that are loaded dynamically at runtime.

To clarify: plugins in File Commander are .so libraries that are enumerated and loaded dynamically at runtime.

Inkscape has Flatpak and Snacraft versions, ships with Python plugins. GIMP has also has Flatpak and Snapcraft and ships with DLL, SO and Python plugins.
https://snapcraft.io/inkscape
https://snapcraft.io/gimp
https://www.flathub.org/apps/details/org.inkscape.Inkscape
https://www.flathub.org/apps/details/org.gimp.GIMP
As for SO and DLL files, Notepad++ has a Flatpak version and is totally Windows-based and works on any Linux OS. You can check; https://github.com/winepak/applications.

As for SO and DLL files, Notepad++ has a Flatpak version and is totally Windows-based and works on any Linux OS
Interesting, but since I can provide a native Linux application using native APIs, I don't think there's any reason for me to go that way?

Interesting, but since I can provide a native Linux application using native APIs, I don't think there's any reason for me to go that way?

It is up to you. If your application for Linux is still in development, ship your Windows-built application for Flatpak with Winepak until you release a working version for Flatpak and Snapcraft.

I found the article about the Snacraft KDE/QT-based apps: https://apachelog.wordpress.com/2016/12/02/snapping-kde-applications/
But is old. Check the link at the end.

Kate, which comes with plugins: https://snapcraft.io/kate
Krita, which comes with plugins: https://snapcraft.io/krita

@bashfulrobot used to build a Krita for Snapcraft, but discontinued. Let me see if he has still an old Krita's yaml file.
If you want to build quickly your application for Snapcraft since it is QT-based, check the small tutorial which is the most recent:
https://forum.snapcraft.io/t/qt5-and-kde-frameworks-applications/13753

@VioletGiraffe
It seems that there is a ready built app via AUR:
https://aur.archlinux.org/packages/file-commander-git
It opens marvelously here on Arch Linux with KDE.
But there is an issue, for example, see the comment.
I backed a .tar.gz up and uninstalled your applications. I extracted to Applications/Sources. It worked marvelously. But it does not recognise other drives. At sometimes, there is a bug – I can not click twice the directory and am stuck in the root directory.

Probably a bug of the application itself, need a way to reproduce it. I used to have a virtual machine for Linux development but it doesn't work right now due to my Windows settings. I'll give it a few hours this evening, will see if I can get back to Linux development. I know there's one serious outstanding bug that often makes File Commander unusable on Linux (complains about exhausting file handles).

Probably a bug of the application itself, need a way to reproduce it.

I understood what happened.
I could not click the folder /home/my_username, because this folder is mounted by another drive not recognised by your application. And I could click twice any of root directories, except the folder home and opt which are mounted by drives. It also does not recognise my Windows partitions of an SSD m.2 228 with USB enclosure.

I used to have a virtual machine for Linux development but it doesn't work right now due to my Windows settings.

If you do not want to install natively Linux on your only drive, you can run Arch Linux or Ubuntu with KDE on WSL. Check two @Biswa96's tutorials:

Arch Linux on WSL
Installing KDE

If you have 32 or 64GB USB drive stick, you can install natively Arch Linux or ArcoLinux, KaOS or Kubuntu on it.

I know there's one serious outstanding bug that often makes File Commander unusable on Linux (complains about exhausting file handles).

It happened with me hours ago. I was compiling, running and building your application with QT Creator, and it froze the whole OS.

I'm the current maintainer for the Krita snap. We're in the process of switching to the kde-neon snapcraft extension, which I expect to be released this or next week.
You can find the latest version of the Krita snap here: https://invent.kde.org/merlijnsebrechts/krita/tree/neon-extension This will be merged into Krita master when snapcraft 3.9 releases.
I recommend using the extension, since it greatly improves startup time, snap size and desktop integration. Let me know if you have any issues, I'm happy to help.

I was very excited about linuxdeployqt when I found out about it, and gave it a thorough try. It works for the main executable, but there was no way to bundle the plugins as well. See #187,

As written there, can you point me to the build script, build log, and AppImage for test?

@galgalesh, thanks for the guidance! I'll look into it shortly.
@probonopd : I did that already, you asked me to mail those assets to you and I have done so. I no longer have the build script or the appimage file, I'd need to start from scratch. Also, this issue discusses the same problem/question I have but no solution on how to actually achieve the desired result.

@VioletGiraffe I am trying to do it from scratch, it may be easier. However, it seems like this requires a compiler newer than the compiler in the oldest still-supported LTS release of Ubuntu. This complicates things.

@probonopd: does the compiler version itself matter? A newer compiler doesn't automatically require that you use newer glibc, I would think, or am I wrong?
Looks like GCC 7 is the oldest one that would work, GCC 5 and 6 are missing a couple important C++17 features.

Flatpak and Snapcraft are ideal for packaging an isolated application with something newer for working on any older versions of Linux distributions dated to 2014 or 2015.
For an AppImage to work on any distribution dated to 2014, you have to use any old files. Create and separate two AppImages, one with something older and another with something newer. He willtke one older, but as you are independent, you can release both them in your repository release.

But nobody will use any distribution which reached the end of life. It is not a good idea that somebody still uses Ubuntu 14.04 whose end of life happened on April 2019 because it will no longer receive security updates.

@probonopd: does the compiler version itself matter? A newer compiler doesn't automatically require that you use newer glibc, I would think, or am I wrong?

A newer C++ compiler usually draws in a newer libstdc++.

But nobody will use any distribution which reached the end of life. It is not a good idea that somebody still uses Ubuntu 14.04

The oldest still-supported LTS release at the moment is 16.04 (xenial), which is only a bit over three years old, and is in wide use (including by myself).

Even when using c++-7, getting errors:
https://travis-ci.com/probonopd/file-commander/builds/135835131
Do you know why?

Even when using c++-7, getting errors:
travis-ci.com/probonopd/file-commander/builds/135835131
Do you know why?

Did you git-pull-upstream his repo before? He has just updated.

Argh, no, getting dreaded merge conflicts... https://github.com/probonopd/file-commander/compare/patch-1...VioletGiraffe:master?expand=1

@probonopd : Sorry, I didn't realize my push will mess with your work. As long as you weren't editing the source code itself, your work should be easy to rebase on top of the new revision, I hope?
Either way, I don't think that particular error is solved in the latest revision. It looks like the compiler doesn't support "Template argument deduction for class templates", but GCC 7 supports at least some revision of it: https://gcc.gnu.org/projects/cxx-status.html
What are you supplying for -std? I have -std=c++17 specified in the .pro files, but GCC may not yet support c++17. Try -std=c++1z and -std=gnu++1z.

OK, made a new branch, but still getting compile errors:
https://travis-ci.com/probonopd/file-commander/builds/135838648

@probonopd : I see -std=c++11 in the compiler flags, that's definitely not right. The feature it needs in order to compile is from C++ 17.

Not sure where it's coming from. This is what I am doing:
https://github.com/probonopd/file-commander/blob/patch-2/.travis.yml

You're using an older Qt version that doesn't understand "CONFIG += c++17". You need to manually specify in each .pro file: "QMAKE_CXXFLAGS += -std=c++1z".

"Older"? 5.10.1 is pretty recent. Which version of Qt is the first that can handle this without fiddling around? (How do I pass in QMAKE_CXXFLAGS without touching any files but .travis.yml?)

I have now upgraded the script to use bleeding edge Qt 5.12.3.

@probonopd: I think your commit should work. According to StackOverflow, CONFIG += c++17 can be used with Qt 5.12.

I am giving up. I can't even get this software to compile, so not even an AppImage related issue. Due to too many bleeding edge dependencies.
Does not work with "QMAKE_CXXFLAGS += -std=c++1z", also does not work with Qt 5.12.3.
or are you saying that I need to use both?
This software seems not to be developed with backward compatibility in mind.

I'm sorry, don't know why it didn't work with Qt 5.12. No, you shouldn't need both, Qt 5.12 recognizes CONFIG+=c++17 which is what is already specified in the .pro files. I constantly watch that my projects can be built from repository with a single click, but no, I'm definitely not consciously targeting outdated libraries and compilers.

I constantly watch that my projects can be built from repository with a single click, but no, I'm definitely not consciously targeting outdated libraries and compilers.

It is why Flatpak and Snapcraft are ideal for packaging an application with something newer and isolating it from the older OSes.

It is why Flatpak and Snapcraft are ideal for packaging an application with something newer and isolating it from the older OSes.

They do not use the libraries that come with the system. They are working around the problem by adding bloat. The real solution is to develop on the oldest system that you still want to support.

@probonopd: except on Windows you don't need to actually build on an old version to support this old version.
As for the issue at hand: I installed gcc-7 and g++-7, which resulted in 7.4.0, and successfully used it built file-commander from repository with no edits (with Qt 5.15.5). I don't understand why it didn't work for you. Perhaps, your GCC 7 is older than 7.4.0?


flutter Geofencing

How can I make use of geofencing in flutter, I have already created my map, but I would like it to execute an event when the user passes through that area, since it is a trackers app.
If this is already open, you can close it and pass me the link of that you use
Thank you so much :)

Please look into
https://medium.com/flutter/executing-dart-in-the-background-with-flutter-plugins-and-geofencing-2b3e40a1a124
https://pub.dev/packages/flutter_geofence
https://pub.dev/packages/easy_geofencing


Support include and exclude option?

Have plan supporting like terser-webpack-plugin include and  exclude option?

Currently no plan on this. I haven't seen any usage of include/exclude option in anywhere.


Release of v21.0.1

[!NOTE]
This release is scheduled for Thu 20 Jun 2024.
The release of vitess-operator v2.14.1 is also planned.
Release team: @vitessio/release

[!IMPORTANT]
Please do not edit the content of the Issue's body manually.
The vitess-releaser tool is managing and handling this issue.
You can however click on the check boxes to mark them as done/not done, and write comments.

Prerequisites (~2 weeks before)

[x] General prerequisites.

[x] Be part of the Release team in the vitessio GitHub organization, here.
[x] Be an admin of the planetscale/vitess-operator repository.
[x] Have access to Vitess' Java repository and have it working locally, guide here.
[x] Have vitessio/vitess and planetscale/vitess-operator cloned in the same parent directory.

[x] Notify the community on Slack.
[x] Make sure the release notes summary is prepared and clean.
Make sure important Pull Requests are merged, list below.

[ ] #372

Make sure release blocker items are closed, list below.

Code Freeze (~1-3 days before)

[x] Code Freeze.

https://github.com/frouioui/vitess/pull/369

[x] Create new GitHub Milestone.

https://github.com/frouioui/vitess/milestone/14

Pre-Release (~1-3 days before)

[x] Create Release PR. (We do this earlier to catch any issues in the tool and let CI run.)

https://github.com/frouioui/vitess/pull/370

[x] Update vitess-operator Golang version.
[x] Update Cobra Docs.

Release (Thu 20 Jun)

[x] Merge the Release PR.

https://github.com/frouioui/vitess/pull/370

[x] Tag the release.

https://github.com/frouioui/vitess/releases/tag/v21.0.1

[x] Create vitess-operator Release PR.

https://github.com/frouioui/vitess-operator/pull/27

[x] Update release notes on main.

https://github.com/frouioui/vitess/pull/371

[x] Go back to dev mode on the release branch.

https://github.com/frouioui/vitess/pull/372

[x] Update the website documentation.
[x] Make sure the release is benchmarked by arewefastyet.
[x] Docker Images available on DockerHub.
[x] Close current GitHub Milestone.

https://github.com/frouioui/vitess/milestone/15

[x] Check that release artifacts were generated.
[x] Merge the vitess-operator Release PR.

https://github.com/frouioui/vitess-operator/pull/27

[x] Tag the vitess-operator release.

https://github.com/frouioui/vitess-operator/releases/tag/v2.14.1

[x] Go back to dev mode on vitess-operator.

https://github.com/frouioui/vitess-operator/pull/28

[x] Manual update of vitess-operator test code.

Post-Release (Thu 20 Jun)

[x] Notify the community on Slack for the new release.
[x] Twitter announcement.
[x] Remove bypass branch protection rules, if required.
[ ] Close this Issue.

Release completed.


Add support for graceful shutdown of processor/exporter

Is your feature request related to a problem? Please describe.
Implementing shutdown() synchronous is mostly impossible in javascript. The current API doesn't allow to shutdown a SpanProcessor or SpanExporter and ensure that all spans are sent out. Therefore spans may get lost.
Describe the solution you'd like
Add an optional callback as argument to shutdown() which signals that all data is processed.
Describe alternatives you've considered

Only document that some data may be lost during shutdown.
Add a flush() API on SpanProcessor. This is a more general approach and needs to be discussed in Spec as this is an API change effecting other techs also. Created an separate issue regarding this: https://github.com/open-telemetry/opentelemetry-specification/issues/351)

Additional Context
In special for short-lived processes the lost data may be actually everything.

Looks like the spec allows for this as long as the timeout is configurable:
https://github.com/open-telemetry/opentelemetry-specification/blob/27b3a18647ee451263c74cfada39340a100da62f/specification/sdk-tracing.md#shutdown

Shutdown()
Shuts down the processor. Called when SDK is shut down. This is an opportunity for processor to do any cleanup required.
Shutdown should be called only once for each Processor instance. After the call to shutdown subsequent calls to onStart or onEnd are not allowed.
Shutdown should not block indefinitely. Language library authors can decide if they want to make the shutdown timeout to be configurable.

https://github.com/open-telemetry/opentelemetry-specification/blob/a131ae1ccabee8cc8f3b8cf109b81be378006fea/specification/performance.md#shutdown-and-explicit-flushing-could-block

Shutdown and explicit flushing could block
The language library could block the end-user application when it shut down. On shutdown, it has to flush data to prevent information loss. The language library should support user-configurable timeout if it blocks on shut down.
If the language library supports an explicit flush operation, it could block also. But should support a configurable timeout.

My understanding is that a configureable timeout is only needed for blocking operations but this is anyway not applicable.
But it's for sure more convenient for users to just specify a timeout instead of starting their own timer.

@Flarna it depends how you define "blocking" I suppose. Not necessarily blocking the thread but maybe blocking the shutdown process? After a certain point we have to give up and let the shutdown process continue.

Well, a process.exit() ends the process clean, in other techs a blocked thread may result in hangs during shutdown.
At least the zipkin exporter has not timeout configuration currently. There may be several http requests open when shutdown is called and they are not aborted.

Yes but if a script implicitly ends because there is no work left on the callback queue, a process.on('beforeExit', () => {}) callback could do some async flushing/cleanup.
I am not aware of any way to do the same thing when process.exit() is called;

@mayurkale22 please add the waiting-on-spec label to this
https://github.com/open-telemetry/opentelemetry-specification/issues/351

this seems to be supported meanwhile


2021-10-22 recommend

https://github.com/appwrite/appwrite
https://github.com/jdtcn/HybridBlazor
https://github.com/Badgerati/Monocle
https://github.com/pyodide/pyodide
https://github.com/rahul-thakoor/air-pi-play
https://github.com/kiedtl/winfetch

45d94117ca4270858fb82a3a83f6551b7300f81f


log errors from onUserError itself

See: https://github.com/crossbario/crossbar/issues/632

Current coverage is 58.57%

Merging #591 into master will not affect coverage as of 78dde59

@@            master    #591   diff @@
======================================
  Files           61      61
  Stmts        10297   10297
  Branches      1733    1733
  Methods          0       0
======================================
  Hit           6031    6031
  Partial        583     583
  Missed        3683    3683

Review entire Coverage Diff as of 78dde59

Powered by Codecov. Updated on successful CI builds.


Add service configurations for the components

What this PR does / why we need it:
Add service section in the following CRs: FluentBit Collector, FluentD.
The section can be used to configure name, labels and annotations for the Service of the Component.
Also this PRs changes Make* functions to return pointers which will not copy the Kubernetes structs on every reconciliation and will reduce the memory of the operator
Which issue(s) this PR fixes:

Fixes # https://github.com/fluent/fluent-operator/issues/654
Does this PR introduced a user-facing change?

`service` section is added in `FluentBit`, `Collector` and `FluentD` CRs. It can be used to configure the service of the component.

/cc @benjaminhuo

Thank you @Kristian-ZH

oh, one more thing, you might need to run the following to generate docs:
make docs-update


shellcheck runs on type even if it should run on save

Using vscode 1.74.3 with vscode-shellcheck 0.29.3, I set shellcheck to run on save:

However, it keeps running on type. For example, right after typing "if", it complains of errors, but the file was not saved:

Are you sure this setting isn't being overwritten by machine/language/workspace settings?

In my user settings (/home/user/.config/Code/User/settings.json), I have:
"shellcheck.run": "onSave",

My workspace settings (opened with workbench.action.openWorkspaceSettingsFile) are empty:
{
    "folders": [
        {
            "path": "/path/to/workspace"
        }
    ],
    "settings": {}
}

About language settings (opened with workbench.action.configureLanguageBasedSettings), there are no settings about shellcheck (the search @lang:shellscript shellcheck returns no results).
Are there other settings to check?

Awesome. I'll close this issue then.

bash-language-server / Bash IDE maintainer chipping in: setting bashIde.shellcheckPath to an empty string disables the ShellCheck linting.
But I would love our two projects to join forces that all editors (Atom, Eclipse, Emacs, Helix, JupyterLab, Neovim, Sublime Text, Vim, Visual Studio Code, Oni, and editors that I forgot) can get the same great shellcheck linting experience as provided by vscode-shellcheck. ;)


no Float::to_bits()

Primitive floats types have a to_bits method that is however not implemented by the Float trait.
The one difficulty is that, in the standard implementations, the number of bits of the output differs from one type to another (32 for f32 and 64 for f64).

I am doing NaN boxing stuff and I also need this


High(er) level objects?

For http://run.dblock.org I am doing things like this:
client.list_athlete_activities.each do |activity|
      start_date_local = DateTime.parse(activity['start_date_local'])
      distance_in_miles = '%.2fmi' % (activity['distance'] * 0.00062137)
      time_in_hours = '%dh%02dm%02ds' % [activity['moving_time']/3600%24, activity['moving_time']/60%60, activity['moving_time']%60]
      average_speed = '%.2fmph' % (activity['average_speed'] * 2.23694)
      pace_per_mile = Time.at((60*60)/(activity['average_speed'] * 2.23694)).utc.strftime("%M:%S")
      polyline = activity['map']['summary_polyline']

I think client.list_athlete_activities could return an object that implements methods like average_speed. I'd contribute if this is of interest?
https://github.com/dblock/run.dblock.org/blob/gh-pages/Rakefile for details.

If anyone is interested, I decided to write a new client that implements first class objects, see https://github.com/dblock/strava-ruby-client


Request: Redirect STDERR/STDOUT to DMs

Not everything I have to test is ran on commands, some of it runs on events instead.
It would be useful for jishaku to have a command to temporarily enable sending the contents of anything send to stderr and stdout to the owners DMs.
A similar feature already exists in Discord-Selfbot which could be used as a base for this.

Just use _ctx.author.send in your event

Uhh that's not what I mean.
Basically, let's say I have something in a cog that runs on the on_message() event.
If that prints to stdout or stderr, I want to receive the output in DMs.
_ctx.author.send is for jsk py as far as I am aware.

Oh anything, including outside of jsk py? Any reason you can't check the logs on your VPS for that?

The way I manage my processes unfortunately splits off stdout and stderr, meaning it's not really feasible for me to check VPS logs and sometimes I don't notice an exception because it silently appears because I don't watch my VPS logs all the time.

Jishaku intentionally doesn't redirect stdout or stderr automatically because it is not async safe - these interfaces were designed "as is" close to 40 years ago with no inherent consideration of the complexity that we get out of modern systems. To have any hope of regulating it "safely" - I would have to take over the entire control flow of your script.
Since that is unreasonable within the design specifications of Jishaku, here are a number of reasons why I will not/can not capture stdout or stderr in good conscience:
Unix streams have no concept of 'context'
When text is written to stdout, the only information that comes with it is the text itself. There are no categories, labels, or denominators under which a program can definitively determine what a given text buffer was for.
This therefore makes it impossible for a capturer to distinguish "text intended for capture" and "unrelated other stdout content". Consider for example that during your REPL session, your logger pushes a critical error related to your bot's functionality to stderr. Not only will this wash up as unintended noise in your REPL session - but as redirection is non-forwarding, it will prevent this error from turning up in your actual logs - giving you no record that it happened.
There is only one stdout/stderr
Due to the simplicity of basic Unix streams as described above - there can be only one stdout in a program, and one handler of it.
This primarily has significance in non-forwarding capture due to its potential to make a capture meaningless - even if I redirect_stdout, if something else does it immediately after me, then just like how I am intercepting text from reaching the real stdout, the new acquirer will stop any text from reaching my capturer, and I will receive nothing.
Asynchronous environments do not guarantee reverse disengagement of context managers
Global-bound synchronous context managers are often built on the assumption that context managers will be exited in the reverse order that they are entered, due to the limitations of the with syntax and therefore the assumed flow in a fully synchronous context.
Let's first consider the simplest situation:
with A() as a:
    ...

In this code, the context manager flow looks like this:
>> A  (enter)
<< A  (exit)

This flow is very simple, and there's very little that can go wrong here.
Now, let's consider a more complicated structure:
with A() as a:
    with B() as b:
        ...

    with C() as c:
        with D() as d:
            ...

For this code, the context manager flow looks like this:
>> A  (enter)
    >> B  (enter)
    << B  (exit)
    >> C  (enter)
        >> D  (enter)
        << D  (exit)
    << C  (exit)
<< A  (exit)

From this, we can begin to notice a pattern. Whenever any context manager is exited, it is always the last-entered non-exited context manager, or more broadly:
In a fully synchronous environment, for any given context manager, that context manager cannot exit until all contained context managers have exited first.
Now, let's discuss the behavior of redirect_stdout. In plain English, redirect_stdout:

Stores the current value of sys.stdout for later restoration
Overwrites sys.stdout with a string buffer to serve as the fake stdout for the duration of the context manager.
Overwrites sys.stdout once the context manager exits with the version stored at the beginning.

We can see how this system preserves a sensible stack, even in a nested case:
with redirect_stdout(...) as A:
    with redirect_stdout(...) as B:
        ...
    ...

Even if we were to create a complicated nest of context managers as before, due to context manager exit always occuring in the reverse order of enter, we will always end like we started.
That is, if we are in a synchronous context.
When we bring asyncio into the equation, things get complicated. Coroutines can suspend and resume during execution, and other coroutines can operate in the interim. While context manager order is guaranteed on a local scale, it is no longer guaranteed on a global scale.
Let's now consider a pair of coroutines that look like this:
# These coroutines are functionally the same, but have different symbol names for illustrative purposes.
async def foo():
    with redirect_stdout(...) as A:
        await asyncio.sleep(5)
        ...

async def bar():
    with redirect_stdout(...) as B:
        await asyncio.sleep(5)
        ...

Thanks to asyncio, we can run both of these coroutines at the same time. Let's give that a try.

>> A  (enter)
    >> B  (enter)
    << A  (exit)
<< B  (exit)

As we can see, when we break the exit guarantee, things stop working as intended. In this case, even though both coroutines have now returned, sys.stdout is left as a dead text buffer. From now on, not only will nothing make it to the regular stdout, but the remaining text buffer will sit there as a memory sink, slowly increasing memory usage every time anything writes to stdout.
While this seems like a manufactured scenario, such a thing could easily happen by accident if one runs multiple REPLs at the same time, as suspension is allowed every time a coroutine awaits.
As the maintainer of a package I wish to preserve as "production-safe", it's pretty clear why I can't let things like this happen automatically and silently just through basic use.
If you really want to redirect stdout, if such a specific case where it is necessary arises, implicit imports allow you to do so in one block:
with io!.StringIO() as f, contextlib!.redirect_stdout(f):
    print("hi")

    await _author.send(f.getvalue())  # send stdout contents to author


helm braking frequently with  pipe errors  on jittery connection

Since I can work normally with  kubectl, but observe a highly increased error rate with helm commands, in particular helm uninstall I am posting this issue.
error copying from remote stream to local connection: read from tcp4 <IP_ADDRESS>:20001-><IP_ADDRESS>:58244: write tcp4 <IP_ADDRESS>:20001-><IP_ADDRESS>:58244: write: broken pipe
Since I dont see such problems with kubectl itself. I would presume it is a timing issue in the local helm controller. Its a proper challenge to handle jittery connections well enough to maintain the connection.
And I am sure this has to do with my current particular network situation.
However, since the interaction issues are not evenly distributed between the different CRUD operations, there must be some variance in the code handling the connection delays.
Jittery connections are more common than we would like. ( I just noticed moving out of the city)
So I am happy to have a look myself, Since I have currently the right test setup, I could examine the behaviour more closely. There should be some form of CRUD controller processing the objects read from the chart somewhere. That's where i would start looking.
**But would need some pointers into the code to know where to start looking. **
Output of helm version:
Version.BuildInfo{Version:"v3.5.2", GitCommit:"167aac70832d3a384f65f9745335e9fb40169dc2", GitTreeState:"dirty", GoVersion:"go1.15.7"}
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:04:18Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):    Gardener on OTC

currently none of the helm commands are working.
I get a ping repsonse to the kube api server from 100-200 m.  that's not so bad.
The kubectl commands are still working.
is there any good way  to debug helm connections?

I'm sorry to hear about the issues you are having.
Helm is built using the same packages as kubectl to interact with the cluster. That includes packages like client-go and kubectl (the package that is used by the console app). Helm 3.5.2 is using the version of those packages from Kubernetes 1.20.2. It is also built against Go 1.15.7 (the latest security release version of Go).
It looks like you are using kubectl 1.19.2.
There are a couple things you can do to try to help narrow down the problem.

Use the --debug -v 10 flags. These flags will tell helm to share debug output (that is the --debug flag) and for the underlying Kubernetes packages to share their debug output (-v 10 is the most verbose level for them).
Try using Helm 3.4 which is based on Kubernetes 1.19 and try using kubectl 1.20. See if the issues go away in Helm for 3.4 and if there are kubectl issues present in 1.20. This will help narrow down if there was a version change.

!Thanks!
helm --debug -v 10 list
But also with  helm v3.4.2, k8s client v1.19.2, k8s server v1.18.8
E0216 22:48:02.236626  257897 request.go:1001] Unexpected error when reading response body: read tcp <IP_ADDRESS>:50262-><IP_ADDRESS>:443: read: connection reset by peer
Well now I know its the go request.go code around line 1000 :D
I compared this to the output of
kubectl --v=8 get pods
What I can see is that during the response for a  helm request often breaks into
E0216  connection reset
my first Glimps into the logs show massively bigger http reponses for the helm commands, a possible explanation for less tolerance regarding a bad connection quality.
But not that bad! Except for some sluggishness everything else works!
LTE line -  ping 100ms  / jitter 8ms Down14MB/s UP 10MB/s
Browser, streaming, terminal interaction....
However, this still feels like a bug since, I was told previously  that TCP does error checking and resends packets  in case of error. So why a full RESET of the tcp connection?
At this stage i would like to look into  the server side logs.
k logs -f kube-apiserver-c88fd7779-hwxgh -c kube-apiserver
and found lots of TLS handshake errors:   https://github.com/kubernetes/kubernetes/issues/70411
and even a fix might come up  https://github.com/kinvolk/lokomotive/pull/297
One explanation I found there is that the TLS error comes from how the load balancer are dealing with the TLS connections  in front of the clusters.
I have to follow up on that. But it sounds like a possible explanation. Not a satisfying one though.
So this is still a bug until further confirmation of the causes. fairly enough not so much a helm bug.
When I find a better suited place I move it there.
**The repeatedly breaking connections are severely limiting my work with the cluster using helm. Its not really an issue with kubectl commands! **
Maybe because they are shorter and fit better into  transport  buffers on the way (e.g. LB)?!?
In that case its either an "unsupported" use of the API and the helm client should break down the command into smaller requests.
Or we have to wait for the kube-api code to solve the TLS issues ( which are cloud provider dependent)

Thanks for such detailed notes on your investigation, @uvwild
Helm does sometimes use large k8s resources and lists but they are all within the bounds and spec of Kubernetes API. If there is something we can do in helm to help fix this please let us know.

To shed even more light on the failures:
When the network is more busy its impossible here  to use helm.
When the network is not overloaded I can repeat the command N times to finally arrive at the server. and get the tcp connection reading my command.
git operations and kubectl operations are not limited locally - only helm.
One Exception - long log outputs from kubectl logs  - are  disconnected after a few pages.
kubectl exec -ti $pod -- bash  is also doomed.
The workaround:
Opening a terminal using SSH on a VM in the cluster and run it from there.
That connection will also not fast. But  its good enough to work.
I am surprised that nobody ever noticed that before.
It's a systematic failure.
Or are all helm users working in places with fast cables????

Or are all helm users working in places with fast cables????

Quite likely. Helm's been in production for over 4 years. This is the first ask I've seen where the client is on a consistently slow connection.
If you can determine what might be causing the difference in behaviour, please do let us know.

I am pretty convinced its about the  request size.
This size is the most significant difference to all the other remote  commands I am using.
(including simple kubectl against the same api server)
And related to the TLS error I mentioned before

I found those errors on many loadbalancer on my cluster. so its an provider/installation issue.
however, I could imagine a more robust implementation but this is not in this scope.


routing: fix memory corruption in MC store

Potential fix for https://github.com/lightningnetwork/lnd/issues/6061
The crash in the linked issue may have happened due our local references of bbolt's internal data.

Can confirm that string(byteSlice) internally calls runtime.slicebytetostring(byteSlice) which creates a copy of the slice.
Some reproduction test code would be great but I understand that's not easy to produce. I attempted myself with a unit test and was unsuccessful. This is the most plausible explanation for a crash thus far, so LGTM :100:

I think this is the fix but I wish we had a reproducible test case.  The cursor is just a byte slice that is returned and not copied so it's only safe for the life of the tx.  Put will copy the key but not the value so you could technically use the key again, but why bother.  Delete doesn't copy the key so I think that when the dereference occurs with a byte compare, and the key is pointing to memory that is no longer mmaped, we get this.
See: https://github.com/boltdb/bolt/issues/576#issuecomment-233793226

I did not reproduce the panic, but I can confirm this fixes the issue I encountered:

Modified bbolt to print out its mmap start and end addresses
Start mission control and put 2 key/value pairs into the database via storeResults
Store 500 k/v pairs via storeResults (max during test was 1000 before deletion). Not doing this would result in the issue not occurring and the 2 keys would all have heap addresses rather than being in the mmap range.
Restart mission control to trigger the cursor putting values into mc's keys list
Force bbolt to continually resize its mmap by inserting 5M values into a different bucket.
The original cursor-returned keys are zero-ed out at the end of the test. I'm guessing this is because of the munmap syscall. The thing that bugs me is it should panic due to "and causes further references to addresses within the range to generate invalid memory references" (https://linux.die.net/man/2/munmap). I know that it's not just my mac laptop since adding a line that tries to reference bbolt's mmap after munmap but before the subsequent mmap gives SIGSEGV.

I did not reproduce the panic, but I can confirm this fixes the issue I encountered:

Modified bbolt to print out its mmap start and end addresses

Start mission control and put 2 key/value pairs into the database via storeResults

Store 500 k/v pairs via storeResults (max during test was 1000 before deletion). Not doing this would result in the issue not occurring and the 2 keys would all have heap addresses rather than being in the mmap range.

Restart mission control to trigger the cursor putting values into mc's keys list

Force bbolt to continually resize its mmap by inserting 5M values into a different bucket.

The original cursor-returned keys are zero-ed out at the end of the test. I'm guessing this is because of the munmap syscall. The thing that bugs me is it should panic due to "and causes further references to addresses within the range to generate invalid memory references" (https://linux.die.net/man/2/munmap). I know that it's not just my mac laptop since adding a line that tries to reference bbolt's mmap after munmap but before the subsequent mmap gives SIGSEGV.

Awesome investigation @Crypt-iQ 💯


How to use different base url in dev/production?

In production my app will make resource requests to an api like api.myapp.com and in dev the requests will be more like localhost:8088. Is there a mechanism for setting a base url for requests?

I'll just try a generic approach for now...
angular
  .module( "app.services" )
  .service( "api", ($location) ->
    if (/localhost/).test( $location.host() )
      "baseUrl": "http://localhost:3001"
    else
      "baseUrl": "http://api.myapp.com/v2/"
  )
  .config( ($httpProvider) ->
    $httpProvider.interceptors.push( ($q, api) ->
      "request": (config) ->
        config.url = config.url.replace(/^\/api/, api.baseUrl)
        config || $q.when(config)
    )
  )

This is actually super helpful and should be included in the documentation. I don't think the package should assume that the backend resides on the same host.


show team members Total efforts in Projects.

Describe the task
We need to show team members daily , weekly, monthly  Total expected efforts in hours for projects .
Expected behavior

References
Specify any reference material / links

This is done. Closing.


async imports / System.import not resolving on reload

I'm currently switching over to the current release... :-)
Normal imports are resolved perfectly when a file is changed. However, everything imported via a System.import fails with the following error:
Error: parentKey.indexOf is not a function
  Resolving http://mpfau:9000/beta/client/build/app-import.js to 1
    at getParentMetadata (http://mpfau:9000/beta/client/node_modules/systemjs/dist/system.src.js:1587:42)
    at SystemJSLoader$1.normalize (http://mpfau:9000/beta/client/node_modules/systemjs/dist/system.src.js:1604:24)
    at http://mpfau:9000/beta/client/node_modules/systemjs/dist/system.src.js:321:27
From previous event:
    at eval (http://mpfau:9000/beta/client/node_modules/systemjs-hmr/dist/systemjs-hmr.js:12879:10)
From previous event:
    at eval (http://mpfau:9000/beta/client/node_modules/systemjs-hmr/dist/systemjs-hmr.js:12874:8)

Steps to reproduce

npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>Setup app.js, app-import.js and test.html as defined below
let chokidar-socket-emitter listen to the current dir and port 9082
open test.html in a browser
make a change to app-import.js and the error described above is triggered

app.js
SystemJS.import("app-import.js")

app-import.js
console.log("Test for alexis")

test.html
<html>
<head>
    <script src="../node_modules/systemjs/dist/system.src.js"></script>
    <script>
		System.config({
			"transpiler": false,
			"map": {
				"systemjs-hot-reloader": "../node_modules/systemjs-hot-reloader/dist/index.js",
				"systemjs-hmr": "../node_modules/systemjs-hmr/dist/systemjs-hmr.js",
			}
		})

		System.import('systemjs-hot-reloader').then(function (connect) {
			connect({host: location.protocol + '//' + location.hostname + ':9082'})

			return System.import('app.js')
		})
    </script>
</head>
</html>

Thanks, will test tomorrow morning. This is an interesting case I haven't actually thought about. Assuming the bug you're seeing is fixed, I'm not sure how I will be able to determine that app.js has a dependency on app-import.js. Maybe @guybedford can make this show up in the trace api somehow?

I debugged a bit and noticed that the function Loader.prototype.resolve = function (key, parent) (line 317 of system.src.js) is invoked by system-hmr with the array index of the entries array as parentKey if the deps of the module are empty.
I think that it would be nice if SystemJs would add dependencies for System.import statements, too.
As we use System.import statements only in a few places, a valid workaround would be to add the dependencies through an indirection (asyncImport) and setup the dependencies:
asyncImport(module.id, "app-import.js")

function asyncImport(importer, moduleName) {
	System.loads[System.resolveSync(importer)].deps.push(moduleName)
	System.loads[System.resolveSync(importer)].depMap[moduleName] = System.resolveSync(moduleName)
	return System.import(moduleName)
}

@mpfau, that could work, but I have a feeling deps and depMap (we only use depMap) are reset every time. Might be wrong. Note, System.import optionally takes a parent address, which could be augmented to support adding values to depMap. Something like.
System.import = function(moduleName, parentName) {
    if (parentName) {
       // add to depMap
    }
    return System.proto.import.apply(System, [moduleName, parentName])
}

Then you could import via
// see https://github.com/systemjs/systemjs/blob/master/docs/system-api.md#systemjsimportmodulename--normalizedparentname---promisemodule
System.import('./app-import.js', __moduleName)

perhaps @guybedford could rewrite System.import('moduleName') statements to System.import('moduleName', __moduleName) at compile/transpile time.

Either way, having this in the trace API would be very useful.

I'm getting a very similar error, but with normal ES6-style imports. In fact I think it's a basically identical error, except that the compiled version of system.js is being used instead of the debuggable source (I don't know how to change this):
Error: r.indexOf is not a function
  Resolving http://localhost:5000/src/util/userutil.js to 1
    at G (http://localhost:5000/jspm_packages/system.js:4:11953)
    at Ve.H [as normalize] (http://localhost:5000/jspm_packages/system.js:4:12147)
    at http://localhost:5000/jspm_packages/system.js:5:5036
From previous event:
    at eval (http://localhost:5000/jspm_packages/npm/systemjs-hmr@2.0.6/dist/systemjs-hmr.js:11188:12)
From previous event:
    at eval (http://localhost:5000/jspm_packages/npm/systemjs-hmr@2.0.6/dist/systemjs-hmr.js:11183:10)

I assumed I was doing something wrong, but seeing this bug report made me not so sure.
The first line of the stack trace (userutil.js line 1) seems unrelated to which source file was modified. The line referenced is import md5 from 'blueimp-md5'; (importing a 3rd-party npm package). I assume it just happens to be the first node in the dependency graph or something. userutil.js is always imported via an ES6-style import when other files use it.
The above is what I get the first time a source file is modified after the app is loaded. After that any additional changes result in this error:
TypeError: Cannot read property '__reload' of undefined
    at eval (http://localhost:5000/jspm_packages/npm/systemjs-hmr@2.0.6/dist/systemjs-hmr.js:11167:104)
From previous event:
    at eval (http://localhost:5000/jspm_packages/npm/systemjs-hmr@2.0.6/dist/systemjs-hmr.js:11154:25)

Fix coming in the next 30 min or so.

Just recovering from a typo. Ran rm -rf ~ instead of rm -rf ./~. Destroyed some of my home dir...

Fixed in systemjs-hmr 2.0.8.

Refurbishing this issue for async import support

@alexisvincent thanks for fixing! I just tested successfully against system-hmr 2.0.8.
It looks like deps and depMap are reset every time. However, that is not a problem as the file is re-imported on change (and the dependencies are re-written to deps/depMap).
It would be nice, if @guybedford could adapt System.import according to your ideas when System.trace == true.

Something else we could do is save these import mappings in a side table. However I think the best place for this would belong in the ES-Module-Loader trace implementation. @guybedford, would appreciate your input here.

I've been experimenting with a dynamic deps trace in https://github.com/ModuleLoader/es-module-loader/commit/4f23167e02f4b449fad8fd8e0a53c53ea80e485d.
What we can do is catch all calls to the dynamic import (not System.import, but the contextual import when compiled with System.register) and know that it was made by the parent module.
I'm also not sure what use this information is to the hot reloader as well - there's no way to refresh the references once they have been returned from the import promise?
Perhaps just a direct tracing of top-level imports is all that is needed.

@guybedford Awesome! Is there a reason that you would only support this for import and not System.import when a parentKey is provided?
This would work for the hot-reloader as follows. In the example that @mpfau at the top of this issue, by listing app-import.js in the depMap entry of app.js, upon a change event for app-import.js, app.js would be detected as an "importer" of app-import.js, thus both would be deleted from the registry. Then app.js would be detected as the only dependency root and would be imported, which would call System.import('app-import.js'), which no longer exists in the registry and so would be reimported. Exactly as we would expect.
Not sure what you mean by

Perhaps just a direct tracing of top-level imports is all that is needed.

Ok, then the implementation I've got there should be a good start to play around with. It's not possible to tell when System.import is run within which module, as there is no global context available to get its calling site. So this is only something we can support for the import method.
System.import with a parent key can be used for arbitrary relative normalization, without implying that it is within the given module.

Right, of course. Awesome, would this be able to make its way into a version of SystemJS? Perhaps via a flag, for general testing?

@alexisvincent this will be shipping in the next SystemJS release, which should be soon.


Currency filter shows negative numbers incorrectly

Hey, thanks for an awesome work on VueJS!
According to  this answer, currency filter shows negative numbers incorrectly.
Here is reproduction:
https://jsfiddle.net/n2bw2nau/3/

Thanks for reporting the issue. The filter now places the minus symbol first. The quote notation will require a custom filter, as that is a corporate-finance-specific use case.


nice article

Excited about teams.

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

ID: 1ee082c9-735d-3f8a-7bc4-b2d4f175c784
Version Independent ID: 50e0366c-46b0-71da-b6f6-f422adaad785
Content: Connect-MicrosoftTeams (teams)
Content Source: teams/teams-ps/teams/Connect-MicrosoftTeams.md
Service: teams-powershell
GitHub Login: @kenwith
Microsoft Alias: kenwith

This was a test comment. All comments now go to GitHub Issues.


Should functions serve more than one request?

The initial reason for this design was so that:

They were completely fresh every time
It was impossible to store state
There was only one degree of scaling (throughput of tasks running == throughput of function calls)
It just feels nice conceptually. task run == function call.

But, maybe this is a bit silly. The advantages of letting them be long-running is:

They're easier to scale (less task churn, connections are queued on server side, etc)
State can be stored if need be
It's just less weird, really.

I think perhaps the function creator must assume the container is stateless/destroyed after each call. But as an optional optimisation you can keep the container running. Does that make sense? Not sure I've explained myself well...

I would ban storing of state - that should go somewhere else. Otherwise it gets tricky to migrate between nodes etc.

AWS Lambda functions last for 4 hours. Used to be 8. People do sometimes use this information, eg to cache stuff, save lookups if the function has been reused.

Yep, that makes sense. People will still store state, but we can build in a max number of requests into each function or something so people have to design around the fact that it will disappear. (i.e. it can only be a cache)

I'd just say you have to assume it can die at any moment. So put in a cache if you like, but make sure it works without it.

Sure you have to do that anyway, as you will still get a random container, and they will be created with nothing in regularly anyway.

Suggest random num reqs around a configurable mean.
That will smooth perf issues from mass restarts, and also make cache hits less predictable, which I guess is the aim.

I think @justincormack has a good point - RE: Lambda functions being technically stateful and lasting up to 4 hours. I've been running this on an ARM/Pi Swarm where the cost of creating a container is higher.


ESPNFC falls back to generic

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.02.07. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.02.07

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
youtube-dl.py -v "http://espnfc.com/video/espnfc/video?id=3056052"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'http://espnfc.com/video/espnfc/video?id=305
6052']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2017.02.07
[debug] Python version 2.7.6 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-83410-gb1e2192, rtmpdump 2.4
[debug] Proxy map: {}
[generic] video?id=3056052: Requesting header
[redirect] Following redirect to http://www.espnfc.com/video/espn-fc-tv/86/video
/3056052
[generic] 3056052: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 3056052: Downloading webpage
[generic] 3056052: Extracting information
ERROR: Unsupported URL: http://www.espnfc.com/video/espn-fc-tv/86/video/3056052
Traceback (most recent call last):
  File "C:\Transmogrifier\youtube-dl.py\youtube_dl\extractor\generic.py", line 1
741, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "C:\Transmogrifier\youtube-dl.py\youtube_dl\compat.py", line 2526, in com
pat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=
_element_factory)))
  File "C:\Transmogrifier\youtube-dl.py\youtube_dl\compat.py", line 2515, in _XM
L
    parser.feed(text)
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 11, column 561
Traceback (most recent call last):
  File "C:\Transmogrifier\youtube-dl.py\youtube_dl\YoutubeDL.py", line 696, in e
xtract_info
    ie_result = ie.extract(url)
  File "C:\Transmogrifier\youtube-dl.py\youtube_dl\extractor\common.py", line 36
9, in extract
    return self._real_extract(url)
  File "C:\Transmogrifier\youtube-dl.py\youtube_dl\extractor\generic.py", line 2
589, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://www.espnfc.com/video/espn-fc-tv/86/vid
eo/3056052

---

### If the purpose of this *issue* is a *site support request* please provide all kinds of example URLs support for which should be included (replace following example URLs by **yours**):
- Single video: http://www.espnfc.com/video/espn-fc-tv/86/video/3056052

- Direct link to video DOES WORK:
http://media.video-cdn.espn.com/motion/ESPNi/2017/0207/int_170207_Whats_wrong_with_Ranieri_and_his_players/hls/804_4778593_HBR.m3u8

Note that **youtube-dl does not support sites dedicated to [copyright infringement](https://github.com/rg3/youtube-dl#can-you-add-support-for-this-anime-video-site-or-site-which-shows-current-movies-for-free)**. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

---

### Description of your *issue*, suggested solution and other information

At one point in the past I believe there was an extractor for ESPNFC, but I no longer see it listed. (not certain?)
As noted above, the direct link to the video on ESPN does download correctly;  So maybe the ESPNFC.COM domain might just need to be added to the ESPN extractor?

Thanks
Ringo

At one point in the past I believe there was an extractor for ESPNFC, but I no longer see it listed

It's never merged https://github.com/rg3/youtube-dl/pull/8053
And for this link, it redirects to, http://www.espnfc.com/video/espn-fc-tv/86/video/3056052, which is actually the same as #7858 (www.espnfc.com and www.espnfc.us are interchangeable)


fix(dashboard): recursive parent on dashboard components

SUMMARY
When a component is dropped directly under a tab in the dashboard editor and the cross filter feature flag is enabled, the following error sometimes appears:

This is caused by the dashboard creating a wrapper component that marks itself as its parent, causing an infinite loop when traversing all children in the cross filter indicator. The reason for this was a logical error in the code, where the wrapper id was supposed to be added to the wrapped component, but ended up being added to the wrapper itself. Tests are added to check for this going forward.
DETAILS
When dropping a a component on the dashboard that requires wrapping (in this case dropping a markdown component directly on a tab, but could also be a chart, or column object: https://github.com/apache/superset/blob/87baac7650bdb6a8f8f82cf4992567a2c5c73cba/superset-frontend/src/dashboard/util/shouldWrapChildInRow.js#L27-L39), the component is wrapped in a wrapper component (in this case a ROW component). However, the wrapper adds itself as it's own parent, while it should add itself to the wrapped component:

Interestingly enough, after saving the dashboard, the layout metadata is fixed:

the wrapped component correctly references the wrapper as its closest parent
the wrapper no longer references itself

See the screenshot below for the post-save state:

With the changes in this PR, the parents are correct after creation, i.e. won't change after saving.
This bug exposed several problems in the associated code, causing unnecessary performance problems. However, these should be fixed in follow-up PRs.
TESTING INSTRUCTIONS
Local testing
ADDITIONAL INFORMATION

[x] Has associated issue: closes #16436
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up FEATURE_DASHBOARD_NATIVE_FILTERS=true FEATURE_DASHBOARD_CROSS_FILTERS=true FEATURE_DASHBOARD_NATIVE_FILTERS_SET=true FEATURE_DASHBOARD_FILTERS_EXPERIMENTAL=true

/testenv up FEATURE_DASHBOARD_NATIVE_FILTERS=true FEATURE_DASHBOARD_CROSS_FILTERS=true FEATURE_DASHBOARD_NATIVE_FILTERS_SET=true FEATURE_DASHBOARD_FILTERS_EXPERIMENTAL=true

Tested by adding charts to different level of tabs in the sales dashboard, with charts, components being added and removed a few times, not seeing errors. Thank you for the fix! @villebro
Curious to know why this issue is not reproducible consistently?

Thanks for a very detailed description of the issue!


end-to-end could report back failure of the npx command

When we run end-to-end (I'm using npx cypress run) and a test fails, the cargo leptos command could report back the failure from the spawned process to make a possible ci pipeline fail.
I tried to extract the ExitStatus in try_run but so far this gets a mess. I guess I'm not form enough with rust to create  an elegant solution.
What I tried is like
let mut exit_status : Option<ExitStatus> =  None;
tokio::select! {
      _ = int.recv() => {},
     result = process.wait() => {
        if let Ok(status) = result {
            exit_status = Some(status);
        }
     }
}

Is there a better way to get hold of the exit status?

After reading the docs with a little more care I worked out
let result : Option<ExitStatus> = tokio::select! {
      _ = int.recv() => None,
     result = process.wait() => Some(result?)
};
if let Some(exit_status) = result {
    if let Some(exit_code) = exit_status.code() {
        if exit_code != 0 {
            return Err(anyhow!("Command terminated with exit code {}", exit_code))
        }
    }
}

I'll check this out in my ci pipeline as soon as I can find time.

Closed by #93


The facebook authenticator is not redirecting to facebook with right redirect url to facebook when LB fronted.

This is fixed in IS 5.2.0 onwards over https://wso2.org/jira/browse/IDENTITY-4769


Allow ..Nothing to resolve to Nothing

Pull Request Description
Fixes #9738 in a different way than #9743.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] All code follows the
Java,
All code has been tested:

[x] Unit tests have been written where possible.

Benchmarks run scheduled.

from Standard.Base import Date

main =
  ..Date == Date

This example yields False. Probably because == doesn't force conversion of unresolved constructor to real constructor. If I modify your code to:
from Standard.Base import Date

materialize (d:Date) = d

main =
  d = materialize ..Date
  d == Date

Then one gets Cannot find constructor ..Date among Date. It is all supposed to work only for singletons. Following program returns True:
type Pavel

materialize (d:Pavel) = d

main =
  d = materialize ..Pavel
  d == Pavel

Benchmarks seem to be unaffected by this change:


Widget not loading and no error message to say why

Issue Type: Bug

After clicking enable downloads, we still can't see the widget being rendered properly and there is no hint what we should do next.
Extension version: 2022.1.1001614873
VS Code version: Code - Insiders 1.64.0-insider (Universal) (7b9e5c32a053669d4e72f998e4fa217090c32f59, 2021-12-22T05:14:43.841Z)
OS version: Darwin x64 21.1.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 3, 2

Memory (System)
32.00GB (0.05GB free)

Process Argv
--enable-proposed-api ms-vscode.vscode-notebook-history --enable-proposed-api vscode.notebook-editing --enable-proposed-api vscode.vscode-test-resolver --enable-proposed-api donjayamanne.kusto --enable-proposed-api donjayamanne.jupyterpowertools --enable-proposed-api rebornix.better-jupyter-errors --crash-reporter-id 1a907bbd-fa02-4595-81e0-63e1648afb31

Screen Reader
no

VM
0%

Do you have an example notebook? Qgrid may not work. Looks like qgrid 1.1.1 is the only one on the CDN.
https://www.jsdelivr.com/package/npm/qgrid

How do I get a widget that fails to load?

Install qgrid I think? At least the example that @rebornix mentioned was using qgrid but with a version too new.