RHACM Ansible automations failing with AWX

I am trying to run automations using AWX and Red Hat Advanced Cluster Management
I configured the Credentilas to my awx server, and created a proper Ansible template.
I tried to create a cluster, I selected the template i have created in the 'Automation' section in 'Create Cluster', launched the creation and the pre-hook failed with the error:
curator-job-**** DesiredCuration: install Failed - AnsibleJob test/prehook-xxxx exited with an error.
so I went to the created cluster project and saw that there are pods named -
prehookjob-****-**** : 0/1 Error
I did oc logs on those pods and these are the results:
TASK [job_runner : ansible.controller.job_launch] **************************************************************** [WARNING]: You are using the controller version oc this collection but connecting to AWX fatal: [localhost]: FAILED! => {"changed": false, "errors": ["The field extra vars was specified but the job template does not allow for it to be overridden"], "msg": "Parameters specified which can not be passed into job template, see errors for details"}
So I got the yaml of the AnsibleJob that has been created and I noticed that in the 'specs': there is another field that called extra_vars - as written in the error (that i did not put myself) that contains all the details of the created cluster for some reason, for example: clusterName, platform, compute(nodes resources) and all the parameters that i put in while creating the cluster. Is there a way to remove this field while creation? - I think this field makes all the problems.
By the way, I tried to manually create the ansible job without the 'extra_vars' field and it worked.
Help will be much appreciated,
Thank you

your job template needs to have
ask_variables_on_launch set to true (displayed as Prompt on launch in the UI)
to fix this

@andreadecorte it worked! Thanks a lot!


feat: add @types/eth-url-parser

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #3149   👈

This comment was auto-generated by Graphite.


Add Distributed Tracing

Distributed context propagation
Distributed transaction monitoring
Root cause analysis
Service dependency analysis
Performance / latency optimization


Feature Request - Support Multiple Windows

Most other iPadOS browsers already have support for having multiple windows open, so it would be good if DuckDuckGo could have the same.

I created an account on here just to say this is preventing me from switching to DDG. With stage manager and Split View it’s kind of silly to not have this feature, and I don’t know how I can get serious work done without out it.

Hi, sorry for the delay in reply.  We're tracking this internally at https://app.asana.com/0/715106103902962/1207667062239999/f


LSP: Send textDocument/inlineValues request also on document open/change

In the spec for LSP InlineValues are not restricted for debugging purposes. While the feature historically comes from debugging, this is rather a restrictive use for it not covered by the spec.
Unfortunately, VSCode does not send the textDocument/inlineValues request to retrieve inline values when opening/changing a document or when receiving the refresh callback from the server. So, instead of the current, limited, behaviour, VSCode should treat inline values similar to CodeLenses and request them for a document, independent of debugging.

This is independent of LSP.

In the spec for LSP InlineValues are not restricted for debugging purposes.

They are specially designed for debugging purposes.
Tho, you can use the inlay hint API which is similar but for general purpose use


Document common attributes on Rails components

The following common attributes for Rails components need to be documented in the site in some fashion:

html_attributes
css_classes
test_id

Duplicate of #790


wrong version number dependency?

how come it says this in the nimble file?
requires "nim >= 1.9.1"
as far as i can tell the latest version of nim 1.6.10, trying to install the package using nimble gives an error

Sorry this question comes up once in a while and I should pbl write it in the readme. But this library uses destructors and other language features that are not available in v1.6. That doesn't mean though it can't be ported to it, just none contributed it. I hope v2 gets released soon (at least that's what the intend of the devs was last time I asked) but in the meantime please use https://github.com/nim-lang/nightlies/releases

thank you, that works!


Create open_redirect_storematch.yml

Description
Add new coverage for observed open redirect
Associated hunts

Hunt 1

/update-test-rules

Single hit in Shared EML


Update all-candidates.csv to add missing pictures

Request access to file

This is almost done. We're missing 5 to 6 pictures.


Fix typo 'inherrit' in schematron-012.xspec

This pull request just fixes a typo in test/schematron-012.xspec.

@cirulls
Merged this fix of typo in test.
Thanks @galtm  for the review.


Review RC [feature]: use automated tool for requirements

I see that they are no automated tool that handles the requirements for installing a clean dev environment. Options that I am aware of are:

poetry
anaconda / mamba
pipenv

I can help with poetry if you wish so. If you never heard of these tools, I can also explain a little more what they do. I believe that using one of these tools would also make #63 easier to handle.

The current dev installation should be working w/ conda/pipenv. Handling or requiring envs of a certain flavor is outside the scope of this package.

This will not be an issue for the review, but I’ll be happy if you could elaborate on why you don’t think that using an environment manager is out of scope? Using e.g. poetry would only imply minor changes to the pyproject file, with the benefit of having also an environment for developers that is locked and controlled, and so is reproducible. This can be helpful for users who want to rerun the tests in the same environment they were tested.

We've used conda and pyenv without issue (sometimes requires an extra line of code, e.g., without the environment.yml). If someone wants to use an additional env management tool power to them - but to add support for one means adding maintenance burden. The suggested approach is to run tests via github actions, avoiding 'it ran on my computer' issues with tests and taking burden off contributors.

makes sense, thanks for answering


Explore xr.quantile() performance

Oh goodness, I responded to the wrong Issue!!!! I am truly sorry. Multitasking never works well for me!
I meant to respond to the closed "Issue with percentile_doy #632 ". That's the one I'm pushing for a release on.
Please forgive me.
Originally posted by @ChrisDrozdowski in https://github.com/Ouranosinc/xclim/issues/631#issuecomment-768607590

@ChrisDrozdowski transferring this thread to a new issue:
We will see what we can do short term.  However, note that I was somewhat overzealous in my ~2sec performance quote when closing #632.   Dask is no longer throwing warnings so the code completes very quickly but as the mf_dataset automatically creates dask arrays the actual calculations haven't occurred in the provided example (my mistake).  Adding a .compute() at the end results in a ~5-6 min computation on my end.  I suspect xr.quantile(skipna=True) is still using the np.nanpercentile under the hood which is known to be much slower than the non nan version.
All that to say I think it could be interesting to spend a bit more time investigating performance on this one before releasing any kind of public patch release.
In the meantime you could maybe try the current fix via a pip install?
pip install git+https://github.com/Ouranosinc/xclim.git@master

@ChrisDrozdowski transferring this thread to a new issue:
We will see what we can do short term.  However, note that I was somewhat overzealous in my ~2sec performance quote when closing #632.   Dask is no longer throwing warnings so the code completes very quickly but as the mf_dataset automatically creates dask arrays the actual calculations haven't occurred in the provided example (my mistake).  Adding a .compute() at the end results in a ~5-6 min computation on my end.  I suspect xr.quantile(skipna=True) is still using the np.nanpercentile under the hood which is known to be much slower than the non nan version.
All that to say I think it could be interesting to spend a bit more time investigating performance on this one before releasing any kind of public patch release.
In the meantime you could maybe try the current fix via a pip install?
pip install git+https://github.com/Ouranosinc/xclim.git@master

@tlogan2000,
I installed 0.23.1b0 last night and saw the speed improvement to percentile_doy.
But then, I attempted to use the result of a percentile_doy calculation in an indicator and ran into a very long delay (I gave up on it). I was going to report it. But now I see why the delay!
Please let me know if you find any potential fixes or workarounds. Now that I learned that I can install from git, no need for a quick public release.

@tlogan2000,
I installed 0.23.1b0 last night and saw the speed improvement to percentile_doy.
But then, I attempted to use the result of a percentile_doy calculation in an indicator and ran into a very long delay (I gave up on it). I was going to report it. But now I see why the delay!
Please let me know if you find any potential fixes or workarounds. Now that I learned that I can install from git, no need for a quick public release.


chore(CategoryTheory/EpiMono): composition of SplitEpi and SplitMono

Record the fact that the composition of two SplitMono is again a SplitMono, as well as the corresponding statement for IsSplitMono, and the dual statement for epimorphisms.

bors r+


Expose RTM socket.

Right now you can only receive messages from the RTM API. We need to be able to also send them. With this change you can, for example, send a typing event:
client = Slack.realtime

Thread.new do
   client.start
end

client.send_data({ type: 'typing', channel: data.channel }.to_json)

Update documentation and written basic RTM tests.

This is good to merge @aki017. I updated README, removed the link to my blog post tutorial and ported relevant parts here. Explained the difference between the RTM and the Web APIs which was very confusing.

This was a half baked idea, the RTM client really needs to expose an interface for sending messages, pings and typing. Closing in favor of a cleaner implementation in slack-ruby-client.


Refactor peering and device cache

While working on issue #965, I've built up a set of changes that refactor code,
but don't change any behavior. The most significant changes are to change
various device or peer listings to a map instead of lists. My work on peering
health validation and adjustments requires cross referencing different sources
of peer information and it is most efficient to do that when we can do index
based lookups instead of a linear search. The following places now have peers in
a map instead of a list:

the Informer cache and the results it returns
the device cache on the Nexodus object
the peer state retrieved from wireguard state in DumpPeers()

There are also some updated comments or minor improvements to make use of these
maps included.
THe full list of commits is here. I left them split up to make it easier to go
through and see the changes in isolation.

nexd: Explain why polling is done in the reconcile loop
nexd: Make DumpPeers() return a map
nexd: parse last handshake time in DumpPeers
nexd: Use hex format for public keys in proxy mode peer dump
nexd: Make Informer return a map of devices
nexd: Simplify and comment peering choice logic
nexd: Change key for the device cache
nexd: Make handlePeerDelete() a little more efficient
nexd: Make buildLocalConfig() more efficient
nexd: Improve device cache access
nexd: Log relay peer details
Makefile: load nexd image into kind cluster

@russellb thanks for digging in on cleaning this up!. Only issue I see is it looks like it is rebuilding peers with every poll. Wondering if it is seeing a peer listing change every poll? I didnt try a manual relay deploy but the qa-e2e handled that well.
2023-05-24T19:56:31.663-0400	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete
2023-05-24T19:56:31.664-0400	DEBUG	nexodus/wg_peers.go:211	Local Node Configuration - Wireguard IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::1 ]
2023-05-24T19:56:31.664-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::4/128 ] Peer Endpoint IP [ <IP_ADDRESS>:55662 ] Peer Public Key [ 6/CwH/gzz9jdKnxeVpWFivycFQMBkniLeBNFQq0+f04= ]
2023-05-24T19:56:31.664-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::2/128 ] Peer Endpoint IP [ <IP_ADDRESS>:42213 ] Peer Public Key [ xae/qoxRMDWU3oMxVc+770M0wi8+iFjA+DeMVzLEeFk= ]
2023-05-24T19:56:31.664-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::3/128 ] Peer Endpoint IP [ <IP_ADDRESS>:44805 ] Peer Public Key [ FNHhpJpeQcpKC+QCLHqwX9CahOo/PQEG8AWNj9RF9lU= ]
2023-05-24T19:56:31.758-0400	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete
2023-05-24T19:56:35.897-0400	DEBUG	nexodus/wg_peers.go:211	Local Node Configuration - Wireguard IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::1 ]
2023-05-24T19:56:35.897-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::2/128 ] Peer Endpoint IP [ <IP_ADDRESS>:42213 ] Peer Public Key [ xae/qoxRMDWU3oMxVc+770M0wi8+iFjA+DeMVzLEeFk= ]
2023-05-24T19:56:35.897-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::3/128 ] Peer Endpoint IP [ <IP_ADDRESS>:44805 ] Peer Public Key [ FNHhpJpeQcpKC+QCLHqwX9CahOo/PQEG8AWNj9RF9lU= ]
2023-05-24T19:56:35.897-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::4/128 ] Peer Endpoint IP [ <IP_ADDRESS>:55662 ] Peer Public Key [ 6/CwH/gzz9jdKnxeVpWFivycFQMBkniLeBNFQq0+f04= ]
2023-05-24T19:56:36.007-0400	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete
2023-05-24T19:56:40.894-0400	DEBUG	nexodus/wg_peers.go:211	Local Node Configuration - Wireguard IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::1 ]
2023-05-24T19:56:40.894-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::2/128 ] Peer Endpoint IP [ <IP_ADDRESS>:42213 ] Peer Public Key [ xae/qoxRMDWU3oMxVc+770M0wi8+iFjA+DeMVzLEeFk= ]
2023-05-24T19:56:40.894-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::3/128 ] Peer Endpoint IP [ <IP_ADDRESS>:44805 ] Peer Public Key [ FNHhpJpeQcpKC+QCLHqwX9CahOo/PQEG8AWNj9RF9lU= ]
2023-05-24T19:56:40.894-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::4/128 ] Peer Endpoint IP [ <IP_ADDRESS>:55662 ] Peer Public Key [ 6/CwH/gzz9jdKnxeVpWFivycFQMBkniLeBNFQq0+f04= ]
2023-05-24T19:56:41.003-0400	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete
2023-05-24T19:56:45.893-0400	DEBUG	nexodus/nexodus.go:547	sending stun request
2023-05-24T19:56:45.893-0400	DEBUG	stun/client.go:12	dialing stun Server stun.l.google.com:19302
2023-05-24T19:56:45.953-0400	DEBUG	stun/client.go:56	reflexive binding is: <IP_ADDRESS>:59384
2023-05-24T19:56:45.954-0400	DEBUG	nexodus/wg_peers.go:211	Local Node Configuration - Wireguard IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::1 ]
2023-05-24T19:56:45.955-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::2/128 ] Peer Endpoint IP [ <IP_ADDRESS>:42213 ] Peer Public Key [ xae/qoxRMDWU3oMxVc+770M0wi8+iFjA+DeMVzLEeFk= ]
2023-05-24T19:56:45.955-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::3/128 ] Peer Endpoint IP [ <IP_ADDRESS>:44805 ] Peer Public Key [ FNHhpJpeQcpKC+QCLHqwX9CahOo/PQEG8AWNj9RF9lU= ]
2023-05-24T19:56:45.955-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::4/128 ] Peer Endpoint IP [ <IP_ADDRESS>:55662 ] Peer Public Key [ 6/CwH/gzz9jdKnxeVpWFivycFQMBkniLeBNFQq0+f04= ]
2023-05-24T19:56:46.062-0400	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete
2023-05-24T19:56:50.893-0400	DEBUG	nexodus/wg_peers.go:211	Local Node Configuration - Wireguard IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::1 ]
2023-05-24T19:56:50.894-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::2/128 ] Peer Endpoint IP [ <IP_ADDRESS>:42213 ] Peer Public Key [ xae/qoxRMDWU3oMxVc+770M0wi8+iFjA+DeMVzLEeFk= ]
2023-05-24T19:56:50.894-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::3/128 ] Peer Endpoint IP [ <IP_ADDRESS>:44805 ] Peer Public Key [ FNHhpJpeQcpKC+QCLHqwX9CahOo/PQEG8AWNj9RF9lU= ]
2023-05-24T19:56:50.894-0400	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::4/128 ] Peer Endpoint IP [ <IP_ADDRESS>:55662 ] Peer Public Key [ 6/CwH/gzz9jdKnxeVpWFivycFQMBkniLeBNFQq0+f04= ]
2023-05-24T19:56:51.004-0400	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete

@russellb thanks for digging in on cleaning this up!. Only issue I see is it looks like it is rebuilding peers with every poll. Wondering if it is seeing a peer listing change every poll? I didnt try a manual relay deploy but the qa-e2e handled that well.

Good catch! Sorry about that. I read over the code, and I'm pretty sure I see what happened (see the comment I put on the code). I'll let you know when it's ready for another look.

@nerdalert fixed, tested manually locally, pushed, and it's passing CI

Nice, logs look good meow!
2023-05-25T15:19:49.933Z	INFO	nexd/main.go:146	Debug logging enabled
2023-05-25T15:19:49.934Z	INFO	nexd/main.go:65	Starting node agent with wireguard driver
2023-05-25T15:19:49.938Z	DEBUG	stun/client_linux.go:79	send to <IP_ADDRESS>:19302: (0 bytes)
2023-05-25T15:19:50.057Z	DEBUG	stun/client_linux.go:72	reflexive binding is: <IP_ADDRESS>:52261
2023-05-25T15:19:50.061Z	DEBUG	stun/client_linux.go:79	send to <IP_ADDRESS>:19302: (0 bytes)
2023-05-25T15:19:50.143Z	DEBUG	stun/client_linux.go:72	reflexive binding is: <IP_ADDRESS>:52261
2023-05-25T15:19:50.143Z	DEBUG	nexodus/nexodus.go:669	first NAT discovery STUN request returned: <IP_ADDRESS>:52261
2023-05-25T15:19:50.143Z	DEBUG	nexodus/nexodus.go:675	second NAT discovery STUN request returned: <IP_ADDRESS>:52261
2023-05-25T15:19:50.957Z	INFO	nexodus/keys_linux.go:27	No existing public/private key pair found, generating a new pair
2023-05-25T15:19:50.958Z	DEBUG	nexodus/keys.go:39	Public Key [ ww3ey08aaff4ea/vnMhF1D/tOYxoFGdolGhguaJN5gc= ] Private Key [ kOk/YScxTGi9hSOVFRlRnvOOEIJO0ne887a2gWLBVFw= ]
2023-05-25T15:19:50.958Z	DEBUG	nexodus/keys_linux.go:31	New keys were written to [ /etc/wireguard/public.key ] and [ /etc/wireguard/private.key ]
2023-05-25T15:19:50.984Z	INFO	nexodus/utils_linux.go:127	Found default gateway interface eth0 <IP_ADDRESS>
2023-05-25T15:19:51.024Z	DEBUG	nexodus/nexodus.go:433	Device: {AllowedIps:[<IP_ADDRESS>/32 200::5/128] ChildPrefix:[] Discovery:false EndpointLocalAddressIp4:<IP_ADDRESS> Endpoints:[{Address:<IP_ADDRESS>:52261 Distance:0 Source:local} {Address:<IP_ADDRESS>:52261 Distance:0 Source:stun:stun2.l.google.com:19302}] Hostname:ip-10-10-0-134 Id:281e78f4-a561-4715-a29c-7535741b77a6 OrganizationId:40e11f5a-e1a8-49ca-83f9-de1c554aa279 OrganizationPrefix:<IP_ADDRESS>/16 OrganizationPrefixV6:200::/64 Os:linux PublicKey:ww3ey08aaff4ea/vnMhF1D/tOYxoFGdolGhguaJN5gc= Relay:false Revision:5 SymmetricNat:false TunnelIp:<IP_ADDRESS> TunnelIpV6:200::5 UserId:01578c9e-8e76-46a4-b2b2-50788cec2ccd}
2023-05-25T15:19:51.024Z	INFO	nexodus/nexodus.go:434	Successfully registered device with UUID: [ 281e78f4-a561-4715-a29c-7535741b77a6 ] into organization: [ admin (40e11f5a-e1a8-49ca-83f9-de1c554aa279) ]
2023-05-25T15:19:51.042Z	INFO	nexodus/wg_peers.go:198	New local Wireguard interface addresses assigned IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::5 ]
2023-05-25T15:19:51.042Z	DEBUG	nexodus/wg_peers.go:211	Local Node Configuration - Wireguard IPv4 [ <IP_ADDRESS> ] IPv6 [ 200::5 ]
2023-05-25T15:19:51.042Z	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::1/128 ] Peer Endpoint IP [ <IP_ADDRESS>:50052 ] Peer Public Key [ rI3aMNuCreIaR1YUGgBxD3DQkUu3rHGMumQy4n2Y/hk= ]
2023-05-25T15:19:51.042Z	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::2/128 ] Peer Endpoint IP [ <IP_ADDRESS>:57491 ] Peer Public Key [ Fs2lKoPZYjsBhRqQtc6slt8yeRVD5waO8Jqi8vSyo08= ]
2023-05-25T15:19:51.042Z	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::3/128 ] Peer Endpoint IP [ <IP_ADDRESS>:46794 ] Peer Public Key [ PWD73bkazgVUzSHdEp7Kn0wV8y7ZRVfQ5hBjTEOfy1U= ]
2023-05-25T15:19:51.042Z	DEBUG	nexodus/wg_peers.go:180	Peer Configuration - Peer AllowedIps [ <IP_ADDRESS>/32, 200::4/128 ] Peer Endpoint IP [ <IP_ADDRESS>:33598 ] Peer Public Key [ 7UpmW9NY+lUZmr63hP5smFic789jjAidJO0yPFJz1Rs= ]
2023-05-25T15:19:51.042Z	DEBUG	nexodus/wg_iface.go:23	existing link not found: wg0
2023-05-25T15:19:51.305Z	DEBUG	nexodus/wg_deploy.go:37	Peer setup complete
2023-05-25T15:20:11.305Z	DEBUG	nexodus/nexodus.go:547	sending stun request
2023-05-25T15:20:11.307Z	DEBUG	stun/client_linux.go:79	send to <IP_ADDRESS>:19302: (0 bytes)
2023-05-25T15:20:11.383Z	DEBUG	stun/client_linux.go:72	reflexive binding is: <IP_ADDRESS>:52261
kOk/YScxTGi9hSOVFRlRnvOOEIJO0ne887a2gWLBVFw=	ww3ey08aaff4ea/vnMhF1D/tOYxoFGdolGhguaJN5gc=	52261	off
rI3aMNuCreIaR1YUGgBxD3DQkUu3rHGMumQy4n2Y/hk=	(none)	<IP_ADDRESS>:50052	<IP_ADDRESS>/32,200::1/128<PHONE_NUMBER>	212	272	20
Fs2lKoPZYjsBhRqQtc6slt8yeRVD5waO8Jqi8vSyo08=	(none)	<IP_ADDRESS>:57491	<IP_ADDRESS>/32,200::2/128<PHONE_NUMBER>	180	304	20
PWD73bkazgVUzSHdEp7Kn0wV8y7ZRVfQ5hBjTEOfy1U=	(none)	<IP_ADDRESS>:46794	<IP_ADDRESS>/32,200::3/128<PHONE_NUMBER>	180	304	20
7UpmW9NY+lUZmr63hP5smFic789jjAidJO0yPFJz1Rs=	(none)	<IP_ADDRESS>:33598	<IP_ADDRESS>/32,200::4/128<PHONE_NUMBER>	180	304	20


[fc2] 403 error

youtube-dl http://video.fc2.com/en/content/20130113eqtNRAv5 -v
[debug] System config: []
[debug] User config: ['--age-limit', '17']
[debug] Command-line args: ['http://video.fc2.com/en/content/20130113eqtNRAv5', '-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.05.13
[debug] Git HEAD: 1800eee
[debug] Python version 2.7.6 - Linux-3.13-1-amd64-x86_64-with-debian-jessie-sid
[debug] Proxy map: {}
[fc2] 20130113eqtNRAv5: Downloading webpage
[fc2] 20130113eqtNRAv5: Downloading info page
ERROR: Error code: 403; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Traceback (most recent call last):
  File "youtube_dl/YoutubeDL.py", line 516, in extract_info
    ie_result = ie.extract(url)
  File "youtube_dl/extractor/common.py", line 161, in extract
    return self._real_extract(url)
  File "youtube_dl/extractor/fc2.py", line 50, in _real_extract
    raise ExtractorError('Error code: %s' % info['err_code'][0])
ExtractorError: Error code: 403; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

It looks like the problem is the missing PHPSESSID cookie. We should fix cookie handling in fc2.

Not working for the first video (http://video.fc2.com/en/content/20130113eqtNRAv) as of 2016.07.07, though a different error is raised. The two other videos are unavailable (they require login or are removed).
$ youtube-dl -v http://video.fc2.com/en/content/20130113eqtNRAv | pbcopy
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://video.fc2.com/en/content/20130113eqtNRAv']
[debug] Encodings: locale UTF-8, fs utf-8, out None, pref UTF-8
[debug] youtube-dl version 2016.07.07
[debug] Python version 2.7.11 - Darwin-15.3.0-x86_64-i386-64bit
[debug] exe versions: avconv 11.4, avprobe 11.4, ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
ERROR: Unable to extract OpenGraph title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 681, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 343, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/fc2.py", line 82, in _real_extract
    title = self._og_search_title(webpage)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 740, in _og_search_title
    return self._og_search_property('title', html, **kargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 728, in _og_search_property
    escaped = self._search_regex(self._og_regexes(prop), html, name, flags=re.DOTALL, **kargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 646, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract OpenGraph title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

youtube-dl.exe -v http://video.fc2.com/ja/a/content/20160712vBJB4txY/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://video.fc2.com/ja/a/content/20160712vBJB4txY/']
[debug] Encodings: locale cp932, fs mbcs, out cp932, pref cp932
[debug] youtube-dl version 2016.06.03
[debug] Python version 3.4.4 - Windows-7-6.1.7601-SP1
[debug] exe versions: none
[debug] Proxy map: {}
[fc2] 20160712vBJB4txY: Downloading webpage
[fc2] 20160712vBJB4txY: Downloading info page
[debug] Invoking downloader on 'http://vip.video19000-cdn2.fc2.com/up/flv/201607/12/v/20160712vBJB4txY.cdn.flv?mid=f0a6b539d423e4e1b4665640a8adf577'
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpjletvtok\build\youtube_dl\YoutubeDL.py", line 1644, in process_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpjletvtok\build\youtube_dl\YoutubeDL.py", line 1586, in dl
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpjletvtok\build\youtube_dl\downloader\common.py", line 350, in download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpjletvtok\build\youtube_dl\downloader\http.py", line 58, in real_download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpjletvtok\build\youtube_dl\YoutubeDL.py", line 1946, in urlopen
File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_defaulturllib.error.HTTPError: HTTP Error 403: Forbidden
I couldn't download this video. I want download free video, but I seem it download vip video.


helloworld.py

a simple hello world program in python
What the program do ?

In what programming language it is written?

This pull request do not contains files in specific folders. Please fix it and reopen


Bugfix for bm_trickle

Found these when running the benchmarks for #11253.
Also going to cut down on the number of streaming runs (unless you feel we need the full sweep). Just because it is so hard to run these tests since they take so long.

No significant performance differences

No significant performance differences

Failures unrelated. Merging


rows() filter bugs when the rowSelector has an array with an id of 0

I found a bug on the datatables Api (I am using version 1.10.3 so I am not sure this is already fixed or not).
This bug happens when I use the rows() method with the following configuration:
table.rows([0,1,2], {search: 'applied});
When inside the __row_selector function here:
if ( selInt !== null && $.inArray( selInt, rows ) !== -1 ) {
  // Selector - integer
  return [ selInt ];
}
else if ( ! sel ) { // this is the problem
  // Selector - none
  return rows;
}

Since 0 is one of the Ids of the rows he assume there is no selector and just returns the displayedRows instead of continuing with the logic.
Please let me know how I can get around this if possible .
Thank you!

Yes its already fixed. Always worth trying the latest version :).

thanks :)


Dockerhub credentials logged on startup

Oops?
2019-09-25 15:13:19.443 [main] INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved:
    dockerHost=unix:///var/run/docker.sock
    apiVersion='{UNKNOWN_VERSION}'
    registryUrl='https://index.docker.io/v1/'
    registryUsername='...'
    registryPassword='...'
    registryEmail='...'
    dockerConfig='DefaultDockerClientConfig[dockerHost=unix:///var/run/docker.sock,registryUsername=...,registryPassword=<...>,registryEmail=<...>,registryUrl=https://index.docker.io/v1/,dockerConfigPath=/home/dsyer/.docker,sslConfig=<null>,apiVersion={UNKNOWN_VERSION},dockerConfig=<null>]'

@dsyer thanks for flagging - that's embarassing, as we've taken pains to santise logs that could potentially hold registry credentials elsewhere. Sorry if this has caused inconvenience.
We'll try and put out a patch release ASAP to fix this.

They were empty, in my case. But I guess if a user has them in ~/.docker/config.json they will show up here, which would be best to avoid if possible. Thanks.

Looks like maybe it's from an upstream library anyway (com.github.docker-java:docker-java)?

... but actually we control the logging here: EnvironmentAndSystemPropertyClientProviderStrategy

Yes, it's something we control. Really, the logging code we have there is quite outdated and unnecessary - all registry auth is now resolved at pull-time rather than at startup.
I'll raise a PR shortly to drastically prune this logging.


Fix a C++ build failure if the C++17 standard is used

What is the issue?
Everything works fine if I compile gRPC using C++14, however, I could not build gRPC if the C++17 is used. Below is the build error:
Consolidate compiler generated dependencies of target grpc++_unsecure
[ 66%] Built target grpc++_unsecure
[ 66%] Building CXX object _deps/grpc-build/CMakeFiles/grpc.dir/src/core/lib/security/transport/security_handshaker.cc.o
In file included from /home/hungptit/working/workflow/_deps/grpc-src/src/core/lib/security/transport/security_handshaker.cc:21:
In file included from /home/hungptit/working/workflow/_deps/grpc-src/src/core/lib/security/transport/security_handshaker.h:24:
In file included from /home/hungptit/working/workflow/_deps/grpc-src/src/core/lib/channel/handshaker.h:24:
In file included from /home/hungptit/working/workflow/_deps/grpc-src/third_party/abseil-cpp/absl/container/inlined_vector.h:38:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/algorithm:64:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/bits/ranges_algo.h:35:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/bits/ranges_algobase.h:38:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/ranges:45:
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:1241:14: error: no matching constructor for initialization of 'optional<grpc_core::channelz::SocketNode::Security::Tls>'
    { return optional<_Tp> { in_place, std::forward<_Args>(__args)... }; }
             ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hungptit/working/workflow/_deps/grpc-src/src/core/lib/security/transport/security_handshaker.cc:215:25: note: in instantiation of function template specialization 'std::make_optional<grpc_core::channelz::SocketNode::Security::Tls>' requested here
  security->tls = absl::make_optional<channelz::SocketNode::Security::Tls>();
                        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:658:11: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const std::in_place_t' to 'const std::optional<grpc_core::channelz::SocketNode::Security::Tls>' for 1st argument
    class optional
          ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:658:11: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const std::in_place_t' to 'std::optional<grpc_core::channelz::SocketNode::Security::Tls>' for 1st argument
    class optional
          ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:692:17: note: candidate constructor not viable: no known conversion from 'const std::in_place_t' to 'std::nullopt_t' for 1st argument
      constexpr optional(nullopt_t) noexcept { }
                ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:700:2: note: candidate template ignored: requirement '__and_v<std::__not_<std::is_same<std::optional<grpc_core::channelz::SocketNode::Security::Tls>, std::in_place_t>>, std::__not_<std::is_same<std::in_place_t, std::in_place_t>>, std::is_constructible<grpc_core::channelz::SocketNode::Security::Tls, const std::in_place_t &>, std::is_convertible<const std::in_place_t &, grpc_core::channelz::SocketNode::Security::Tls>>' was not satisfied [with _Up = const std::in_place_t &]
        optional(_Up&& __t)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:708:2: note: candidate template ignored: requirement '__and_v<std::__not_<std::is_same<std::optional<grpc_core::channelz::SocketNode::Security::Tls>, std::in_place_t>>, std::__not_<std::is_same<std::in_place_t, std::in_place_t>>, std::is_constructible<grpc_core::channelz::SocketNode::Security::Tls, const std::in_place_t &>, std::__not_<std::is_convertible<const std::in_place_t &, grpc_core::channelz::SocketNode::Security::Tls>>>' was not satisfied [with _Up = const std::in_place_t &]
        optional(_Up&& __t)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:717:2: note: candidate template ignored: could not match 'optional<type-parameter-0-0>' against 'const std::in_place_t'
        optional(const optional<_Up>& __t)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:729:2: note: candidate template ignored: could not match 'optional<type-parameter-0-0>' against 'const std::in_place_t'
        optional(const optional<_Up>& __t)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:741:2: note: candidate template ignored: could not match 'optional<type-parameter-0-0>' against 'const std::in_place_t'
        optional(optional<_Up>&& __t)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:753:2: note: candidate template ignored: could not match 'optional<type-parameter-0-0>' against 'const std::in_place_t'
        optional(optional<_Up>&& __t)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:762:2: note: candidate template ignored: requirement '__and_v<std::is_constructible<grpc_core::channelz::SocketNode::Security::Tls>>' was not satisfied [with _Args = <>]
        optional(in_place_t, _Args&&... __args)
        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:690:17: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
      constexpr optional() = default;
                ^
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/optional:770:2: note: candidate constructor template not viable: requires at least 2 arguments, but 1 was provided
        optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args)
        ^
1 error generated.
make[2]: *** [_deps/grpc-build/CMakeFiles/grpc.dir/build.make:6684: _deps/grpc-build/CMakeFiles/grpc.dir/src/core/lib/security/transport/security_handshaker.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1531: _deps/grpc-build/CMakeFiles/grpc.dir/all] Error 2

The solution
Do not use absl::make_optional and we can assign the channelz::SocketNode::Security::Tls() directly to the optional field, i.e security->tls.

@donnadionne
@veblush

@hungptit Could you elaborate why this PR is the right fix? C++17 doesn't allow to use this?

Great question @veblush.
This is the only place in the grpc repo that uses absl::make_optional while there are 196 absl::optional calls so it gives us the hint that there may be a potential issue. Now, let take a look at the std::make_optional document  assuming absl::make_optional has similar behaviors. We can see that the empty args will lead us to either option 2 or 3 that requires Tls to be need not be movable for overloads (2-3) due to guaranteed copy elision.  In this case Tls is a struct so it should be moveable and I think it is the root cause. The fix is simple, we only assign a Tls object to the optional object instead of using absl::make_optional and let the absl::optional constructor do the work.

Hmm i checked whether g++ 10.3 can compile the following code similar to the original code. absl::optional becomes an alias to std::optional (that's why the error log contains only std source files)
$ docker run -it --rm gcc:10
$ cat > a.cc
#include <optional>
#include <string>

struct Tls {
 enum class NameType { kUnset = 0, kStandardName = 1, kOtherName = 2 };
 std::string name;
 std::string local_certificate;
 std::string remote_certificate;
 void RenderJson();
};

int main(void) {
  std::optional<Tls> a = std::make_optional<Tls>();
  return 0;
}

$ g++ --std=c++17 a.cc

Maybe this was caused by how the build is configured to use C++17. Can you let me how to reproduce this error?

By default abseil aliases absl::optional to std::optional when building in c++ 17 mode.
I ran into this same breakage when trying to update Envoy's grpc dependency to a recent grpc release.  See https://github.com/envoyproxy/envoy/pull/16687

@antoniovicente I want to understand why this code causes the breakage with C++17 mode. I checked the code above and it was compiled well.

@antoniovicente I want to understand why this code causes the breakage with C++17 mode. I checked the code above and it was compiled well.

I don't understand the interaction.  My attempts so far to do a standalone build of the grpc library haven't worked even with default settings.  The compile failure seems to trigger in cases where abseil uses std::optional as an alias for absl::optional.  This issue prevents dependent packages that build with C++ 17 from updating the grpc library dependency.

@veblush Your concern is valid. The document of std::make_optional is incomplete and my explanation is not 100% correct. I think the move constructor of Tls somehow is not visible to public  and I do not have a clear answer for that. You can either try below struct or use this repository to reproduce the error. Let me know if you are unable to reproduce the issue.
struct Tls {
  Tls(Tls&& val) = delete;
  std::string name = "name";
  std::string local_certificate = "local_certificate";
  std::string remote_certificate = "remote_certificate";
};

Hi, FWIW, I was also facing this issue and managed to create a minimum reproducible example of the build failure: see this godbolt link: https://godbolt.org/z/dKEz8vb7j, which fails on clang (e.g. x86-64 clang 11.0.1) but works fine on gcc (e.g. x86-64 gcc 11.1). Really bizarre: I think this is a bug with clang.

Looks like it's a bug with the standard library: use -stdlib=libc++ and it compiles just fine, but -stdlib=libstdc++ causes a compilation failure.

@bijanoviedo Great! Thank you for the investigation and explanation. It's now clearly understandable. So this needs some workaround to detour this compiler issue. This can be either an assignment with the value which is suggested by this or having an explicit empty constructor to detour this issue. I think the latter would be clearer to say why this is written like this
struct Tls {
      // This is a workaround for some C++17 compilers.
      // (https://github.com/grpc/grpc/pull/26359)
      Tls() {}
      // ....
};

@hungptit Can you try to update the PR like above?

@veblush Let lay out the pros and cons of both approaches then we can pick our solution.
Using assignment operator
Pros

This is a supported semantic and it is not a work around.
We make no assumption about the tls field type and let the = operator does the work.

Cons
We use = operator to by-pass the compiler bug that will be gone in the near future.
Adding a non-trivial constructor
Pros
Show that we need this workaround to by pass the compiler bug.
Cons
There are couple of issues with this approach

Adding a non-trivial empty constructor is not idiomatic. Note that using = default does not fix the compilation error and I am not sure if this solution works with the Visual Studio 2015.
A follow up task is required because we need remove the non-trivial constructor after the LLVM's bug is fixed.

Let me know your thought so we can merge this change ASAP?

My $0.02: I think both solutions are fine and are certainly better than delaying getting this PR in, but another con of the "assignment operator" approach is that anyone in the future could do absl::make_optional<Tls>() and the automated tests won't catch it: in other words, I'm not too convinced that absl::make_optional<Tls>() can't sneak its way into another grpc release. The "non-trivial constructor" approach makes future build errors around this much less likely.
As an end user, I personally care more that each grpc release builds reliably than I care that the underlying code is idiomatic, but I do recognize the tradeoffs.

@bijanoviedo Your points are valid. Let me do a quick update so we can merge this PR today.

@hungptit Thank you for the update. @bijanoviedo I agree with your point.

@veblush I cannot merge my changes. Can you merge it?

@hungptit Sure I can do! Thank you!


Dataloss

Hi  i am collecting data from Master  launchxl f28379d which set SPIMODE 0 SCLK 5MHz and  when my data sampling is set to 10khz it working fine but if i increase it speed to 20khz so esp32 is missing 3 samples everytime for example my data is come like this 0 1 2 3 4 5 6 7 8
esp32 read 0 3 6 9 so it decimate by factor of 3 and i troubleshoot my code it spend to much time on
These lines.
slave.queue(NULL, rx_buf, BUFFER_SIZE);
slave.trigger();
Below is my

void spiDataCaptureTask(void *parameter) {
while (1) {
// Queue and handle transactions
if (slave.hasTransactionsCompletedAndAllResultsHandled()) {
slave.queue(NULL, rx_buf, BUFFER_SIZE);
slave.trigger();
}
// Process received transactions
if (slave.hasTransactionsCompletedAndAllResultsReady(1)) {
  size_t received_bytes = slave.numBytesReceived();
  callCount++;
  for (size_t i = 0; i < received_bytes; i++) {
    // Send data to ring buffer
    if (xRingbufferSend(bufferHandle, &(rx_buf[i]), sizeof(rx_buf[i]), pdMS_TO_TICKS(0)) != pdTRUE) {
      Serial.println("Failed to send message to ring buffer!");
      return;
    }
  }
  lastReceiveTime = millis(); // Reset the timer on successful data reception
}

}
}

@mrsaad381 Sorry for not getting back to you sooner. If you use the example code as is, do you know if it works correctly at 20khz? The example works fine up to at least 8MHz. If the example also does not work correctly, your hardware may have a problem. See here.


[QTL] Support multiple lookup maps within one namespace

This PR is related with #2523

For URI or JDBC source with multiple columns, user can define all the needed (key column, value column) mappings within one namespace configuration.
Impact on existing namespace implementations(like druid-Kafka-extraction-namespace) is minimized. Just change implements ExtractionNamespaceFunctionFactory to extends ExtractionNamespaceFunctionFactory.
Now, NamespaceExtractor has one more parameter mapName, which indicates lookup map name in the given namespace, however, it works as before without that parameter for backward-compatibility.

@sirpkt awesome!

@sirpkt i am not sure how this can work with the actual LookupDimensionSpec i am wondering how you will call it a query time.

As I replied in the issue page,
user can specify lookup map name within the namespace like
{
  "type":"namespace",
  "namepace":"DB1",
  "mapName":"CtoD"
}

I added unit test code for explicit Json usage of NamepacedExtraction.

@drcrallen @b-slim @cheddar can u guys review this and coordinate over development?

@drcrallen @b-slim

@sirpkt I think this one needs more discussion among the community to make sure it fits overall expectations. As such I'm proposing punting it out of 0.9.1.
0.9.1 is slated for a major overhaul of Lookups to essentially be the first (hopefully) production-ready version for lookups.
This is a (important) feature add for lookups, but is outside the scope of "required for MVP"

@drcrallen @b-slim what's going on with this PR?

Same opinion as @drcrallen  the feature needs more discussion, plus major changes to be compatible with new lookups impls. In addition we have a pretty busy roadmap and i guess this feature is not a top priority IMHO. The author can always start working on make it working with new lookup module.

I'll try to make this working with new lookup module.
I think it will take some time because lookup is changed considerably.

@sirpkt @b-slim @drcrallen can we submit an issue or a proposal for the list of changes described in this PR and discuss changes there?

I added mapName field in LookupDimensionSpec and RegisteredLookupExtractionFn
and updated docs to reflect the change of Globally Cached Lookups.
I also modified the description about Lookup Extraction Function
because LookupExtractor no longer supports "namespace" type.

@drcrallen @b-slim any thoughts on the general idea & API here?
Broadly: looks like the changes are all centered around having more than one lookup map per thing-we-load. So we may load a single json file that has many logical lookups in it. IMO the nice thing about doing it this way is we only have to poll and parse the file one time. It's also easier to configure loading multiple lookups from one file. I'm on board with the general idea and attempting to work out whether the API needs adjustments or not.

I like the idea on minimizing the amount of fetch that a lookup had to make but the current API change make it backward incompatible plus it is unclear what mapName really mean. I would highly recommend to work on that by for instance use a name spacing convention like name.subname where the name will be used to match on the registered lookup then subname as equivalent to mapName.

Sorry for late response.
I updated the code based on the review comments.
@b-slim I don't understand your point about backward compatibility because mapName is optional argument and users always make LookupDimensionSpec with json  so that they just omit
mapName in their spec when their lookups do not have multiple maps.
And I still think having separate mapName is better than combining name and mapName because user may use combining delimiter (ex. .) in name or mapName.
However, it makes sense that mapName is unclear so I changed it to innerMapName. Welcome any suggestion.
@gianm For escaping column and table names at SQL query creation, I use escape and quote methods of SQLTemplate in Querydsl. As I'm not familiar with SQL querying in Java, I'm not sure that this make sense.
Other updates:

KeyValueMap is moved to namespaceParseSpec from URIExtractionNamespace.
Dependency on commons-collections is removed by using Pair
FlatDataParser is refactored
NamespaceLookupIntrospectHandler is modified as suggested by @gianm

@b-slim @gianm can we finish this up?

Moving to 0.10.1 as review is not complete. @sirpkt please let us know if you're still interested and we will endeavor to take another look.


Create test that demonstrates BroadcastTx working.

This is blocking https://github.com/eris-ltd/eris-contracts.js/issues/23, which is important to Casey.

Wanted to make a quick response, so does this provide what you need:
https://github.com/eris-ltd/eris-db/blob/develop/Godeps/_workspace/src/github.com/tendermint/tendermint/rpc/test/client_rpc_test.go#L100
Calls this:
https://github.com/eris-ltd/eris-db/blob/develop/Godeps/_workspace/src/github.com/tendermint/tendermint/rpc/test/tests.go#L73
I don't see the relation to the key of Casey's you linked. Could you provide more context for what you are looking for? What seems not to be working currently?

Thank you for the quick response.  This appears to be working for permission transactions!  I'm going to keep the issue open as I work on converting more transaction types.

on 1337 the call is routed to https://github.com/eris-ltd/eris-db/blob/develop/manager/eris-mint/transactor.go#L197
func (this *transactor) TransactAndHold(privKey, address, data []byte, gasLimit, fee int64) (*txs.EventDataCall, error) {
and on 46657 there is no direct equivalent of TransactAndHold, but BroadcastTxSync  (or Async) is implemented https://github.com/eris-ltd/eris-db/blob/develop/manager/eris-mint/pipe.go#L460: (edited)
   error) {```

port 1337 does have https://github.com/eris-ltd/eris-db/blob/develop/manager/eris-mint/transactor.go#L123:
```func (this *transactor) BroadcastTx(tx txs.Tx) (*core_types.Receipt, error) {```

so what we have done is to "move code around" so that double implementations are now right next to eachother and we can communicate more clearly with you (the users) what the api is that we can unify this into

This appears to be working now, thank you.


Improve handling of '--help' option, not showing correct commands, options, etc..

Currently using '--help' is not working when used directly on a command. e.g. 'dever env --help' will cause it to show default options due to 'yargs.argv' causing javascript execution to not continue. Need to parse yargs before passing argv further.

Has been fixed through another task


Styling issues

Remove redundant search in nav bar on landing page
Shift edit profile button from nav bar to somewhere in the User Profile view
Temporarily get rid of Log Out button [Will be added later on when authentication is implemented]

@zhuyifan Fix these whenever free. Also, Work with Shubham later on to add a red Logout button as you did after authentication is implemented


Hello world not compiling

I installed espressif idf on ubuntu everything went fine as per the instructions but when I try to run the example hello_world it gives me this error message:
missing destination file operand after '/examples/get-started/hello_world'
Try 'cp --help' for more information.
can anyone please help?

Hi @harshcht,
Do you see this error in step Start Project?
If so, then maybe you are missing a . at the end in copy command:
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

This dot is the copy destination and means current directory, i.e. ~/esp.

@krzychb thanks for the clarification.0 It compiles now.

Hi all,
I am trying to work with ESP32-CAM (https://robotzero.one/esp32-camera-module/#comment-3073) i can able to take a still with the camera but face detection and face reorganization is not happening, Do any one know for what reason it is not happening.please help me out to solve this issue.
dhcps: send_offer>>udp_sendto result 0
I (63186) camera_httpd: JPG: 6335B 1573ms
I (66456) camera_httpd: vflip = 1
dhcps: send_offer>>udp_sendto result 0
I (72716) camera_httpd: JPG: 7267B 118ms
I (78976) camera_httpd: face_detect = 1
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
I (1752586) wifi: max connection, deauth!
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
I (1873156) wifi: max connection, deauth!
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
I (2301736) wifi: station: b4:ef:fa:79:e6:e2 leave, AID = 1, bss_flags is 134243
I (2301736) wifi: new:<6,0>, old:<6,2>, ap:<6,2>, sta:<6,0>, prof:6
I (2301736) camera wifi: station:b4:ef:fa:79:e6:e2leave, AID=1
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_offer>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
thanks in advance

@sravanth005 Is there a reason you commented on this existing issue?
You haven't specified, but if you're using the esp-who framework then please open an issue there if you think there's a bug. If you're using another hardware/software combination then please contact whoever produced that hardware/software.

@sravanth005 Also, I deleted the other comment that you copy-pasted to a different unrelated Github issue. Please do not spam github issues with comments that are unrelated to the issue. If you think there's a bug in ESP-IDF, open a new issue (however this doesn't look like a bug in ESP-IDF). If you have a general question, try the https://esp32.com/ forums.


the value of trainedsvm is weird.

[ ] The value of trainedsvm is werid. Modify.

Stacked!

in sag(),
alpha value must be the same value that is used in the article.

That's why sag() doesn't passed the test.

alpha needs lipshitz constant. implement it

Gradient is different to derivative. Modify.

check the max value of gradient with sampling


Theoretical question

I saw this tweet, and it is impressive, but I have this question:
imagine that i opened a channel for, 1 btc and my node broke.
and I send 0.8 btc through the forwarding process.
and my last backup file has info that I still have 0.5 btc on my side.
I restore the node, another node thinks that I want to deceive her and takes all the funds from the channel.
So I will lose, 0.2 btc?

No, we don't restore Lightning channel state because that would be risky for the reasons you mentioned. We restore from LNDs static channel backup. This doesn't update per state change, it only updates per channel open. As long as you have a backup since the last channel you opened, the recovery process can be initiated. It's not trustless, it requires your peers to cooperate to successfully recover your funds, but there are some incentives at play to encourage them to work with you. It also results in force closing all channels to re-claim the funds on-chain.
ACINQ use a similar model and wrote a good article on it: https://medium.com/@ACINQ/adding-data-loss-protection-to-eclair-598c62494096

Thanks for explaining,
What If peer don't want cooperate, or give me wrong data that's he can give me penalty later?


core-metrics-[phylogenetic] n-jobs is inconsistent with help text

forum x-ref
I suspect something may have changed when we converted these to pipelines. From the type it looks like the range is 0-inf whereas the range for beta-phylogenetic is 1-inf, so we need to check the integration here as there's probably issues.

With the switch to using striped unifrac I don't think this is correct either:

--p-n-jobs INTEGER     [beta/beta-phylogenetic methods only, excluding weighted_unifrac - The number of jobs...

What do you think?

I'm all for making that breaking change now.
Two options come to mind:

Make two independent parameters: n_jobs & threads. The help text would need to provide details as to how the two differ.
Mash into one parameter, like: n_jobs_or_threads. Same deal, help text would need to explain a little bit of background.

This would increase the severity of the breaking change

This is what I was talking about on our call today, sorry if that wasn't clear: this will just have to be documented in the changelog. Its a bummer, but we don't have a good way to deprecate params right now.

Forgot to mention:

We could change that to something like "cpus" or "cpus-requested"

My concern regarding these options, is that they bring us back to the original problem that came up in the beta-div methods of q2-div-lib: "cpus"  aren't necessarily what a user would be requesting or allocating here: threads or n_jobs are the things being requested. n_jobs are either threads or processes, behind the scenes (according to sklearn's joblib docs).


Remove default null parameters at schema

See issue https://github.com/nf-core/metaboigniter/issues/40 for more details about this fix.

Thanks. I have fixed this in https://github.com/nf-core/metaboigniter/pull/42


QRenderDoc minor compile fix

Hi, I just tried compiling QRenderDoc on linux (awesome that it's moving forward).
The fix for me is just changing the include <math.h> into
Note I didn't check if this works on windows, or other linux systems (yet).
I've got qt 5.6.2, gcc 5.4.0, glibc-2.23.
I got these the errors below (sorry but file upload didn't work for me).
g++ -c -pipe -std=c++11 -Wno-unused-parameter -Wno-reorder -O2 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DRENDERDOC_PLATFORM_POSIX -DRENDERDOC_PLATFORM_LINUX -DRENDERDOC_WINDOWING_XLIB -DRENDERDOC_WINDOWING_XCB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../qrenderdoc -I. -I../renderdoc/api/replay -I../qrenderdoc -I../qrenderdoc/3rdparty/toolwindowmanager -I../qrenderdoc/3rdparty/flowlayout -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -I.obj -I.obj -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/RangeHistogram.o ../qrenderdoc/Widgets/RangeHistogram.cpp ../qrenderdoc/Widgets/RangeHistogram.cpp: In member function 'bool RangeHistogram::ValidRange() const': ../qrenderdoc/Widgets/RangeHistogram.cpp:65:6: error: '__builtin_isinf_sign' is not a member of 'std'    if(std::isinf(m_WhitePoint) || std::isnan(m_WhitePoint) || std::isinf(m_BlackPoint) ||       ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:65:6: note: suggested alternative: <built-in>: note:   '__builtin_isinf_sign' ../qrenderdoc/Widgets/RangeHistogram.cpp:65:34: error: '__builtin_isnan' is not a member of 'std'    if(std::isinf(m_WhitePoint) || std::isnan(m_WhitePoint) || std::isinf(m_BlackPoint) ||                                   ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:65:34: note: suggested alternative: <built-in>: note:   '__builtin_isnan' ../qrenderdoc/Widgets/RangeHistogram.cpp:65:62: error: '__builtin_isinf_sign' is not a member of 'std'    if(std::isinf(m_WhitePoint) || std::isnan(m_WhitePoint) || std::isinf(m_BlackPoint) ||                                                               ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:65:62: note: suggested alternative: <built-in>: note:   '__builtin_isinf_sign' ../qrenderdoc/Widgets/RangeHistogram.cpp:66:6: error: '__builtin_isnan' is not a member of 'std'       std::isnan(m_BlackPoint) || std::isinf(m_RangeMax) || std::isnan(m_RangeMax) ||       ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:66:6: note: suggested alternative: <built-in>: note:   '__builtin_isnan' ../qrenderdoc/Widgets/RangeHistogram.cpp:66:34: error: '__builtin_isinf_sign' is not a member of 'std'       std::isnan(m_BlackPoint) || std::isinf(m_RangeMax) || std::isnan(m_RangeMax) ||                                   ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:66:34: note: suggested alternative: <built-in>: note:   '__builtin_isinf_sign' ../qrenderdoc/Widgets/RangeHistogram.cpp:66:60: error: '__builtin_isnan' is not a member of 'std'       std::isnan(m_BlackPoint) || std::isinf(m_RangeMax) || std::isnan(m_RangeMax) ||                                                             ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:66:60: note: suggested alternative: <built-in>: note:   '__builtin_isnan' ../qrenderdoc/Widgets/RangeHistogram.cpp:67:6: error: '__builtin_isinf_sign' is not a member of 'std'       std::isinf(m_RangeMin) || std::isnan(m_RangeMin) || std::isinf(m_RangeMax - m_RangeMin) ||       ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:67:6: note: suggested alternative: <built-in>: note:   '__builtin_isinf_sign' ../qrenderdoc/Widgets/RangeHistogram.cpp:67:32: error: '__builtin_isnan' is not a member of 'std'       std::isinf(m_RangeMin) || std::isnan(m_RangeMin) || std::isinf(m_RangeMax - m_RangeMin) ||                                 ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:67:32: note: suggested alternative: <built-in>: note:   '__builtin_isnan' ../qrenderdoc/Widgets/RangeHistogram.cpp:67:58: error: '__builtin_isinf_sign' is not a member of 'std'       std::isinf(m_RangeMin) || std::isnan(m_RangeMin) || std::isinf(m_RangeMax - m_RangeMin) ||                                                           ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:67:58: note: suggested alternative: <built-in>: note:   '__builtin_isinf_sign' ../qrenderdoc/Widgets/RangeHistogram.cpp:68:6: error: '__builtin_isnan' is not a member of 'std'       std::isnan(m_RangeMax - m_RangeMin) || std::isinf(m_WhitePoint - m_BlackPoint) ||       ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:68:6: note: suggested alternative: <built-in>: note:   '__builtin_isnan' ../qrenderdoc/Widgets/RangeHistogram.cpp:68:45: error: '__builtin_isinf_sign' is not a member of 'std'       std::isnan(m_RangeMax - m_RangeMin) || std::isinf(m_WhitePoint - m_BlackPoint) ||                                              ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:68:45: note: suggested alternative: <built-in>: note:   '__builtin_isinf_sign' ../qrenderdoc/Widgets/RangeHistogram.cpp:69:6: error: '__builtin_isnan' is not a member of 'std'       std::isnan(m_WhitePoint - m_BlackPoint))       ^ ../qrenderdoc/Widgets/RangeHistogram.cpp:69:6: note: suggested alternative: <built-in>: note:   '__builtin_isnan' make: *** [Makefile:1302: .obj/RangeHistogram.o] Error 1 19:42:12: The process "/usr/bin/make" exited with code 2. Error while building/deploying project qrenderdoc (kit: qt5) When executing step "Make"

Eurgh, isinf/isnan seems to be a complete mess on linux compilers :(. I changed it from isnan() to std::isnan() because on a different compiler/version they weren't available except in the std:: namespace.
I'll figure out something that will get it to compile.

huh ohh sorry for some reason the message got broken I just changed the header from math.h to cmath and then it compiles fine.

It probably got picked up as an html tag. <math.h> should be fine though - I think likely I will implement my own isinf/isnan just to check bits, to sidestep the problem.

I thought I had looked for this before actually and didn't find anything, but Qt has isinf/isnan implementations which just avoid the whole mess.

This should be resolved in v0.32. If something's still not right in the latest build then let me know and I'll re-open and investigate.


EGD: premodern deletion with ui or other vowel marker

Arlo, I'm creating an issue for this topic you raised a while ago so we don't forget about it. No urgency to deal with it, but we should sooner or later.
Arlo in email: we need a way to encode deletion using only i, not ui. Suggestion: sasaṇḍan u⌈lun· - proposed EGD addition: "and add an XML note in cases where only i or u is found to mark the erasure, as in the example"
Dan in email: this is sort of problematic on several points, so we'll need to discuss it.
1, the general idea "add an XML note in cases where only i or u is found to mark the erasure" - this does not sound like a good idea to me. On the one hand, rend="ui" is specifically defined as u and i, so why not use rend="other", defined as " any deletion marker other than those listed above "? If that is because you have certain research questions in mind targeted specifically at the use of "ui" and you don't want a case like this to be excluded from that, then perhaps we should replace rend="ui" with something like rend="extravowel" and define it in a more general way, so that it can cover this case. That said, if this deletion with only "i" instead of "ui" is an anomaly rather than something quite widespread, then I can endorse sticking to rend="ui" in the markup. Sort of analogous to reading a badly formed or incomplete character as the expected character.
On the other hand, but still on this first point: who do you expect will ever read those XML comments? I would much prefer mentioning such cases in the hand description under "other palaeographic observations" (and only there).

your sasaṇḍan u⌈lun is not compatible with the TG, according to which ⌈ is only to be used for prescript components split off from the character to which they belong. If you would like to modify the TG on that count, then let me know and we can consider it, though I would prefer we did not. This whole business involving ⌈ is not very tidy and I would like to keep its use to the absolute minimum where it cannot be avoided. The straightforward way to handle your text sample (unless I misunderstand it, which is possible, as I am not familiar with the script) would be this: ul<subst>e<add place="inline">u</add></subst>n. That is to say, the vowel component e was deleted (using an "ui" mark; or whatever rend value we decide on as per my first point), and the vowel u was added to the l.

To sum up:

I'd like you to decide on a value of rend to use in such cases; having heard my thoughts on this, you are in the best position to do that. I'll go along with whatever you prefer.
I very strongly suggest a mention in the hand description instead of an XML comment.
I very strongly suggest encoding in accordance with EGD 4.5.3 and not involving the ⌈ in such a case. Happy to add this as an illustration next to Example 4.5.3.c, once we've decided on @rend. If you really prefer ⌈, then I'll need you to suggest exactly how we should rephrase the TG section on ⌈, and in what circumstances we can permit it other than that of split characters.

I don't know of this discussion was ever brough to a conclusion. So am reopening it.

@arlogriffiths I am unable to reconstruct what this was about. Is it still relevant?


Hexdocs still has old repo URL

https://hexdocs.pm/gleeunit/gleeunit.html
Still links to https://github.com/gleam-lang/gleeunit

Fixed by #33


Track tab bar taps on iOS

implements new tracking for taps on the icons in the tab bar

I wrote a helper and tests for this mostly by copying patterns from the other helpers/tests - so definitely check my work. I'll leave some in-line comments, too.

@ds300 @eessex thanks for that! I've incorporated changes-

You will also need to add a global export here: https://github.com/artsy/cohesion/blob/master/src/Helpers/index.ts

:rocket: PR was released in v1.20.0 :rocket:


Cannot find  pwa-node on select enviroment

VSCode Version: 1.49.0
OS Version: Windows10 2004

resolveDebugConfiguration(_: WorkspaceFolder, config: DebugConfiguration): ProviderResult < DebugConfiguration > {
  // if launch.json is missing or empty
  if (!config.type && !config.request && !config.name) {
    const editor = window.activeTextEditor;
    const langid = editor?.document.languageId;
    if (editor && (
        langid === 'typescript' ||
        langid === 'javascript' ||
        langid === 'typescriptreact' ||
        langid === 'javascriptreact'
      )) {
      config.type = 'pwa-node';
      config.name = 'Launch';
      config.request = 'launch';
      config.program = '${file}';
      config.runtimeExecutable = 'deno';
      config.runtimeArgs = [
        "run",
        "--inspect-brk",
        "-A"
      ];
      config.attachSimplePort = 9229
    }
  }

  if (!config.program) {
    return window.showInformationMessage("Cannot find a program to debug").then(_ => {
      return undefined; // abort launch
    });
  }

  return config;
}

@weinand I don't think this is me -- it looks like they're building a Deno debugger, from resolveDebugConfiguration they return a pwa-node type config but VS Code alerts that that doesn't exist. However they're able to debug with pwa-node inside a launch config.

@CGQAQ it is rather difficult to extract reproducible steps from your screen cast.
Could you please provide reproducible steps in written form. Thanks.

@weinand I don't think this is me -- it looks like they're building a Deno debugger, from resolveDebugConfiguration they return a pwa-node type config but VS Code alerts that that doesn't exist. However they're able to debug with pwa-node inside a launch config.

@weinand @connor4312 This is exactly what I want to ask

Since you have code running, maybe the easiest way to let us diagnose this would be to push your code/a reproduction to a Github repo?

resolveDebugConfiguration(_: WorkspaceFolder, config: DebugConfiguration): ProviderResult < DebugConfiguration > {
  // if launch.json is missing or empty
  if (!config.type && !config.request && !config.name) {
    const editor = window.activeTextEditor;
    const langid = editor?.document.languageId;
    if (editor && (
        langid === 'typescript' ||
        langid === 'javascript' ||
        langid === 'typescriptreact' ||
        langid === 'javascriptreact'
      )) {
      config.type = 'pwa-node';
      config.name = 'Launch';
      config.request = 'launch';
      config.program = '${file}';
      config.runtimeExecutable = 'deno';
      config.runtimeArgs = [
        "run",
        "--inspect-brk",
        "-A"
      ];
      config.attachSimplePort = 9229
    }
  }

  if (!config.program) {
    return window.showInformationMessage("Cannot find a program to debug").then(_ => {
      return undefined; // abort launch
    });
  }

  return config;
}

I think you just need that piece of code to reproduce the issue

    debug.registerDebugConfigurationProvider('deno', {
      resolveDebugConfiguration(_, config) {
        config.type = 'pwa-node';
        config.request= 'launch';
        return config;
      }
    })

Add this piece of code to activate function is the minimal way to trigger this issue

@CGQAQ please create a repository on GitHub which I can simply clone and reproduce this.
Or just fork https://github.com/microsoft/vscode-mock-debug and make some changes on top such that this is reproducable. Thanks

@isidorn  https://github.com/CGQAQ/pwa-node-issue

I followed your steps, however i get a different error
Activating extension 'undefined_publisher.pwa-node-issue' failed: Cannot find module '/Users/isidor/Development/pwa-node-issue/out/extension.js' Require stack: - /Users/isidor/Development/vscode/out/vs/loader.js - /Users/isidor/Development/vscode/out/bootstrap-amd.js - /Users/isidor/Development/vscode/out/bootstrap-fork.js.

do you run npm run watch before run extension?

@isidorn Fixed now, sorry

Following your steps, this just works for me. Debugging starts. No breakpoint gets hit. Here's a gif.
I am on macOS with latest VS Code insiders.

I'm on 1.49.0 stable verison of vscode

@isidorn  Please test it on stable version of vscode, I don't think most of the extension users will use insider version of vscode

I'm facing another issue on vscode-insiders 1.50.0 @isidorn

I'm guessing you got past the original issue -- what is the configuration you're calling startDebugging with when you get that error?

I'm guessing you got past the original issue -- what is the configuration you're calling startDebugging with when you get that error?

the repro is here

@isidorn https://github.com/CGQAQ/pwa-node-issue

Run the extension
open demo_workspace
open a.ts
press f5 and choose Deno

You can fix that by including the workspace folder.
diff --git a/src/extension.ts b/src/extension.ts
index d6eca16..affbd86 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -6,7 +6,7 @@ import * as vscode from 'vscode';
 // your extension is activated the very first time the command is executed
 export function activate(context: vscode.ExtensionContext) {
 	vscode.debug.registerDebugConfigurationProvider('deno', {
-		resolveDebugConfiguration(_, config) {
+		resolveDebugConfiguration(workspaceFolder, config) {
       // "name": "Launch",
       // "type": "pwa-node",
       // "request": "launch",
@@ -18,6 +18,7 @@ export function activate(context: vscode.ExtensionContext) {
 		  config.type = 'pwa-node';
       config.request= 'launch';
       config.program = '${file}';
+      config.__workspaceFolder = workspaceFolder?.uri.fsPath;
 		  return config;
 		}
 	});

@connor4312 But why I don't see anything about this in https://github.com/microsoft/vscode-mock-debug/blob/585b9344ef7bed6e5207daeb749b6e17c8a598b2/src/activateMockDebug.ts#L107

You're looking at the mock debugger, which works to resolve the options it needs for it's own debugging setup. This is not a minimal contract to which other debug extensions need to adhere. js-debug requires a folder context to do things like set the process' current working directory, which you can add by sending the __workspaceFolder.

@connor4312 I need to set this internal like two underscores property, is this consider a bug? Or js-debug api' design problem? you can't get workspace folder directly in your js-debug code?
But anyway, thank you guys so much, I'll try it later, if it works, I'll close the issue

I need to set this internal like two underscores property by myself, is this consider a bug? Or js-debug api' design problem?

The 'resolved config' isn't really considered an "API", much less stable, since building against it is vanishingly rare.
A more resilient option for you would be to return undefined from the config resolution process for deno, and then also call vscode.debug.startDebugging with the config you want. Basically, cancel the deno launch and while cancelling it incidentally start a pwa-node launch. Doing it this way will cause the configuration to go through the normal resolution process, as if it's in a launch.json, and keep you squarely in the realm of 'public APIs'.

https://github.com/denoland/vscode_deno/blob/e57587d83d8a06b0b7487d4f541d795e5980683a/client/src/debug_config_provider.ts#L64
Resolved, thank you all!


rename condure to cm

The name "condure" (a play on "enduring connection") was a reasonable name to give when condure was an independent project, but now that it's a component of Pushpin it should be given a generic name like any other component (see: proxy, handler, etc). I believe renaming condure to something generic will help make Pushpin easier to digest.
Based on condure's role, a good generic name would be something like "connection manager" or "long-lived connection manager". In fact this is how I often refer to condure in discussion ("pushpin's connection manager can handle N connections"). But these names are a bit long for a module or executable. I can't think of any better generic names though, so I propose we use an abbreviation of connection manager: "cm". The compiled program would be named pushpin-cm.
The downside to "cm" is that isn't very meaningful until the reader learns what it stands for. This may seem like we're exchanging one nonsense word for another, but abbreviations are not uncommon in projects and I think once the reader learns the meaning it will be immediately comprehensible which is an improvement.
Other names I considered: connmgr, connectionmgr, connection-manager, cxnmgr, connman, conman, net, io, connio, conio.

Existing references are there for compatibility with old configs.

After thinking about it, moving to connmgr :)


neovim: update types of arguments passed to wrapper

The neovim wrapper seems to have been updated, and this broke the module's interface to the wrapper. To reproduce the error simply enable neovim in HM with an updated unstable channel.
In the case of extraPythonPackages & extraPython3Packages the wrapper now expects functions that return a list of packages; in order to preserve existing HM configurations I made the mapping to a function in the override call rather than changing the option type.
In the case of configure it seems a null value is no longer accepted; I therefore updated the default to the empty set {}.

#375

@rvolosatovs Oops xD

Since @rvolosatovs did a much better job at this I am closing the PR.


Don't call it loading on the button component

In the web we already have a native attribute called loading and react gets unhappy when you try and pass a boolean to a string

:tada: This issue has been resolved in version 4.4.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How to Save at a particular Size?

When saving the ico, it defaults to 16x16px. I'd like my file to be 256x256px. How do you do that, please? It's not clear. When I click on the 256px box, I get pinged to my last folder to select an image for conversion - so I'm going round in circles.
Looks like a good little tool but no instructions found. Thanks for any help.

Icon sizes are automatically determined based on the specified image.
For example, if you open a small image less than 20x20px, it will only create a 16x16px icon with no other sizes. It makes sense to create a 256x256px icon from such a small image because the loss of quality would be ridiculously high and it would just look crappy anyway.
Therefore, you should directly try adding large images to get all the sizes you need. You can then also exchange individual icons of different sizes if you want some icons to look different or if you are dissatisfied with the quality.


Adding some initial tests plus correcting test data

Adding some initial tests plus correcting test data

Thank you! I didn't expect anyone to be looking at this repo :-)


Rename /symfony.phar to symfony

Actualy the readme recommends to use an alias named symfony But the application's helper display messages starting by /symfony.phar

BTW, I change the order of the Dockerfile commands to take advantage of the layers system

And I add a date.timezone parameter to remove warning


Using current_user or user_signed_in? in application_controller.rb before_action causes ActiveRecord::ConnectionTimeoutError

I'm running into an issue that i've nailed down to very specific lines of code. When I use either current_user or user_signed_in? in a before_action in application_controller.rb, my database connections are not getting released and i'm getting ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)):.
I'm currently running rails 4.1.8, ruby 2.0.0p481, puma, 2.10.2, and devise 3.4.1.
Here's a simple snippet that causes this problem:
class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :authenticate_user!, get_new_messages

  # Gets the unread messages for the logged in user
  def get_new_messages
    @num_new_messages = 0 # Initially set to 0 so login page, etc works
    # If the user is signed in, fetch the new messages
    if user_signed_in?
      @num_new_messages = Message.where(:created_for => current_user.id).where(:viewed => false).count
    end
  end
...
end

Here's a full stacktrace:
F, [2015-01-15T12:03:49.922826 #14613] FATAL -- :
ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)):
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:190:in `block in wait_poll'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `loop'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `wait_poll'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:136:in `block in poll'
  /usr/local/rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:146:in `synchronize'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:134:in `poll'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:418:in `acquire_connection'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:351:in `block in checkout'
  /usr/local/rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:350:in `checkout'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
  /usr/local/rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:541:in `retrieve_connection'
  activerecord (4.1.8) lib/active_record/connection_handling.rb:113:in `retrieve_connection'
  activerecord (4.1.8) lib/active_record/connection_handling.rb:87:in `connection'
  activerecord (4.1.8) lib/active_record/query_cache.rb:51:in `restore_query_cache_settings'
  activerecord (4.1.8) lib/active_record/query_cache.rb:43:in `rescue in call'
  activerecord (4.1.8) lib/active_record/query_cache.rb:32:in `call'
  activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.1.8) lib/active_support/callbacks.rb:82:in `run_callbacks'
  actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.1.8) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.1.8) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.1.8) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  dragonfly (1.0.7) lib/dragonfly/cookie_monster.rb:9:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.1.8) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  railties (4.1.8) lib/rails/engine.rb:514:in `call'
  railties (4.1.8) lib/rails/application.rb:144:in `call'
  railties (4.1.8) lib/rails/railtie.rb:194:in `public_send'
  railties (4.1.8) lib/rails/railtie.rb:194:in `method_missing'
  puma (2.10.2) lib/puma/configuration.rb:74:in `call'
  puma (2.10.2) lib/puma/server.rb:492:in `handle_request'
  puma (2.10.2) lib/puma/server.rb:363:in `process_client'
  puma (2.10.2) lib/puma/server.rb:254:in `block in run'
  puma (2.10.2) lib/puma/thread_pool.rb:101:in `call'
  puma (2.10.2) lib/puma/thread_pool.rb:101:in `block in spawn_thread'

Thank you! Can you reproduce this issue in a blank application and push it to Github? It would help us guarantee the bug is in Devise/Warden rather than a particular gem in your app.

Absolutely. Here's a simple project which reproduces the error https://github.com/toymachiner62/devise-connection-failure.
I've learned that by having custom error handling routes, I get this error. If you comment out this line https://github.com/toymachiner62/devise-connection-failure/blob/master/config/environments/production.rb#L84 the error goes away.

Awesome, thanks! One last question, do you also get this error if you are not using Devise? At first, it looks like a Rails or Rack bug.

And by that, I mean by raising any other error in your controller, as I am assuming you are seeing those issues when there is no user signed in (and therefore Devise is raising).

I don't think so. If i uncomment out this line, https://github.com/toymachiner62/devise-connection-failure/blob/master/app/controllers/application_controller.rb#L9 I get the error
Error during failsafe response: undefined method `exception' for #<ErrorsController:0x007fdace8617e8>
  /Users/m089269/Sites/devise-connection-failure/app/controllers/application_controller.rb:9:in `get_current_user'

I think that is the issue.
In order to render the failure page, it is going back to the application
controller, which is then failing when fetching the user again. Imagine
this:

authenticate_user! fails
The error goes up to the Rails exception handling
You set the exception handling to invoke the router
The router triggers a controller that trigger authenticate_user! fail
again
Everything goes havroc

The exception app documentation is very clear that you should avoid doing
any work when rendering an error page, except because it can trigger
scenarios like this.
Thoughts?

Can you point me to the exception app documentation?
So are you suggesting that my error_controller needs a skip_before_filter: get_current_user?

ok so that seemed to work. I guess the piece that i'm still struggling to understand from your scenario though is if step #1 fails, it should just redirect you to the login page. Why does it go to the rails exception handler? Is that the way that devise works? Does a failed authenticate_user! throw an exception which gets caught and redirects to the login page?

So are you suggesting that my error_controller needs a skip_before_filter: get_current_user?

Exactly. It should not try to the authenticate the user nor get the user because, if the error happens exactly when authenticating, how are you going to show the error if the user can't authenticate?

ok so that seemed to work. I guess the piece that i'm still struggling to understand from your scenario though is if step #1 fails, it should just redirect you to the login page. Why does it go to the rails exception handler? Is that the way that devise works? Does a failed authenticate_user! throw an exception which gets caught and redirects to the login page?

Yes, when you can't authenticate, Devise raises an error.


feat(334): backend validation for frontend forms

Description of the change
Implement legal character username validation on the backend using validator v10.
Closes 334
Additional context
Should I apply this pattern to the rest of the form validation on adduser/edituser?  Eg. max, required, etc?
Also a minor aside, I noticed response to axios put was always 200 even when server should have been returning an error.  So edituserform and adduserform use slightly different logic from each other until I can figure out whats going on.

i updated to use struct for just username.
I got an error on test.  Should I fix test so that it accepts a user not being included in response, or should i change the response when invalid input is provided so that a user struct is still included in response.data?


IDM Spec paper

Description
Have a draft for the IDM specification so that it can be implemented by anyone.
Acceptance Criteria

[ ] Have a draft document specifying the IDM Wallet, IDM Client and IDM Bridge interfaces as well as any protocols (e.g.: replication)
[ ] Ensure that the document is updated in the RWOT repo

Once this gets reviewed, I will update the RWOT8 document as well.


CFY-4381 added broker_config to bootstrap context

@dankilman Please close this pr. It is included in new pr #173


Cloudwatch agent for memory monitorization

Summary

Add Cloudwatch Agent for Memory monitorization

I'm trusting you on this one @Dinuuu


Add slack information to the website(s)

BTW, when I go to e.g. https://dandiarchive.slack.com/archives/CMGDETALC I see at the bottom:
If you have an @alleninstitute.org email address, you can create an account.

Does it mean that we are somehow restricting access or require individual invitation to join the slack channel.

they can join with the invitation i posted in the workflow, but in the early days i simply added allen as a default since there were several folks there. i'll change the allen thing and make everyone use the public invitation.

will be taken care of in #25

uff... ok - I will try to locate that workflow document again to dig out the invitation ... #25 is still open, and seems to be a "bigger" item.  Would be nice to resolve this particular aspect (adding slack information so it could be found) independently

there is no link possibility to slack any more. i need to add people manually. i do that whenever they join the archive. the workflow document here has been updated. is it ok if i now add this workflow to the www.... website?
https://docs.google.com/document/d/1ehxd5a6Hurz7VqQDAszEpGASRTUP6muXYwJ5wgXhzU4/edit

I do not mind it (workflow) being public!  if not website -- could be https://github.com/dandi/dandi-cli/#preparing-and-uploading-a-dandiset-to-dandiarchiveorg . If website -- we need to change dandi-cli's README.md to point to it instead.

so, re adding @jwodder to slack, John please first register on https://gui.dandiarchive.org/ .

it is public. but we have no reference to how to interact with the archive anywhere. we need to come up with a page describing that.  so having a page we can point to would be useful. we can point to the google doc, but doesn't look very professional.
Effectively we need a place that lists these things
> How to download data

> Create dataset

> Upload data

> Standards supported

> Create NWB files

Ideally we should initiate something like http://handbook.datalad.org  (either based on it - .rst, or remake of bids-specification).   I have found the initial steps to start based on datalad's one, and now pushed as a PR here : https://github.com/dandi/handbook-temp/pull/1 .  Not sure yet what to fixup to have it built and what else to remove.  But it could be actually near the completion to start filling it up after lobotomizing it more ;)
Meanwhile - majority of those (besides "Create NWB files") are largely in purview of dandi-cli, so IMHO the best spot would be its README. (which it already does, just needs tune up).   http://handbook.dandiarchive.org could even be initiated and just redirect to that README.

i think it should be on the website somewhere. only upload data is in the cli. there are other things like adding collaborators, etc.,.

@yarikoptic I have registered using my GitHub account.


govmm: modify govmm to be compatible with qemu 2.8

govmm has ExecuteBlockdevAdd() function and ExecuteBlockdevDel() function
doesn't compatible with qemu 2.8,because blockdev-add and x-blockdev-del usages
are different between qemu 2.7 and qemu 2.8
Follow the qemu 2.7 and qemu 2.8 qmp-commands.txt documents to modify ExecuteBlockdevAdd()
function and ExecuteBlockdevDel() function to be compatible with qemu 2.8
Signed-off-by: flyflypeng<EMAIL_ADDRESS>

@woshijpf - I think you will have to PR this over in https://github.com/intel/govmm, and then we re-vendor the fix into Kata once it is merged.

Hi @woshijpf - thanks for raising, but please do not modify files below vendor/ as they are "pristine" and should be treated as read-only.
What you need to do instead is two things:

Raise a PR for these changes directly on https://github.com/intel/govmm.

Once that PR is merged, raise a re-vendor PR" on the runtime to "pull in" those changes into the runtime's vendor/ tree by running dep ensure.

All this is documented in:

https://github.com/kata-containers/community/blob/master/VENDORING.md

We'll close this PR once you've raised a PR on https://github.com/intel/govmm....

@woshijpf As @jodh-intel mentioned, please open a re-vendor PR. Closing this one.