istio tracing Jaeger UI not showing any services/traces

Describe the bug
Jaeger UI is not showing any services/traces
Expected behavior
Sample application bookinfo/sock-shop microservices should show up in the UI.
Steps to reproduce the bug
Neither of the application services show up.
kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml)
istioctl kube-inject -f complete-demo.yaml | kubectl apply -f -
Version
istioctl version
Version: 1.0.2 (Same issue with 1.2 as well)
GitRevision: d639408fded355fb906ef2a1f9e8ffddc24c3d64
User: root@66ce69d4a51e
Hub: gcr.io/istio-release
GolangVersion: go1.10.1
BuildStatus: Clean
kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0"
Installation
https://istio.io/docs/setup/kubernetes/quick-start/
Cluster state
kubectl get all -n istio-system
NAME                             READY     STATUS      RESTARTS   AGE
istio-citadel-5b956fdf54-8wcng   1/1       Running     0          46m
istio-cleanup-secrets-kxl4t      0/1       Completed   0          46m
istio-pilot-6cd95f9cc4-9tnx6     2/2       Running     0          46m
istio-tracing-76b74dd87c-z9fgb   1/1       Running     0          46m
NAME               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
istio-citadel      ClusterIP   <IP_ADDRESS>             8060/TCP,9093/TCP                       46m
istio-pilot        ClusterIP   <IP_ADDRESS>             15010/TCP,15011/TCP,8080/TCP,9093/TCP   46m
jaeger-agent       ClusterIP   None                     5775/UDP,6831/UDP,6832/UDP              46m
jaeger-collector   ClusterIP   <IP_ADDRESS>           14267/TCP,14268/TCP                     46m
jaeger-query       ClusterIP   <IP_ADDRESS>             16686/TCP                               46m
tracing            ClusterIP   <IP_ADDRESS>           80/TCP                                  46m
zipkin             ClusterIP   <IP_ADDRESS>           9411/TCP                                46m
NAME            DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
istio-citadel   1         1         1            1           46m
istio-pilot     1         1         1            1           46m
istio-tracing   1         1         1            1           46m
NAME                       DESIRED   CURRENT   READY     AGE
istio-citadel-5b956fdf54   1         1         1         46m
istio-pilot-6cd95f9cc4     1         1         1         46m
istio-tracing-76b74dd87c   1         1         1         46m
NAME                    DESIRED   SUCCESSFUL   AGE
istio-cleanup-secrets   1         1            46m
kubectl get ep -n istio-system
NAME               ENDPOINTS                                                         AGE
istio-citadel      <IP_ADDRESS>:9093,<IP_ADDRESS>:8060                                 48m
istio-pilot        <IP_ADDRESS>:9093,<IP_ADDRESS>:15010,<IP_ADDRESS>:8080 + 1 more...   48m
jaeger-agent       <IP_ADDRESS>:6831,<IP_ADDRESS>:5775,<IP_ADDRESS>:6832                48m
jaeger-collector   <IP_ADDRESS>:14267,<IP_ADDRESS>:14268                               48m
jaeger-query       <IP_ADDRESS>:16686                                                 48m
tracing            <IP_ADDRESS>:16686                                                 48m
zipkin             <IP_ADDRESS>:9411                                                  48m
Any pointers?

Did you find a sollution @aghag10 ? We have a similar issue.

@spekr Have you checked out https://istio.io/help/faq/distributed-tracing/#no-tracing ?

@objectiser yes we have. Unfortunately this did not help. Only service that's being traced is the jaeger-query service 😞

@spekr Can you provide details of the Istio version, environment, etc? Are you trying the bookinfo example or your own - if you own does it work with bookinfo?

Istio version 1.1 installed with helm.
pilot value.yaml has "traceSampling: 100.0"
Tracing is enabled.
Our nodes are on 1.12.5-gke.10

I use a different application, but I have tried the bookinfo example as well. This does not create tracing either.
Our setup is a little bit different from the vanilla istio install. We have the prometheus / grafana / jaeger applications outside of the istio-system namespace (non-default) with side-car auto-inject enabled. The services are being exposed with a VirtualService.
I suspect Pilot can not push the notifications to Jaeger as the envoy expects mtls. Could this be the problem? And if so, is there a way to work around this?

Does your Jaeger deployment have sidecar injection disabled? e.g. https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/tracing/templates/deployment-jaeger.yaml#L22

No, we have it enabled (for it to be accessible through virtualservices).

I removed the sidecar from the jaeger deployment. Still no result, so I think we can rule out the sidecar as the problem.

Did you update the helm setting for global.tracer.zipkin.address to point to the new namespace?

@objectiser yes. Namespace is 'operations' and the below is what I found in the ingress-deployment yaml, so I think it should be good. (Double checked the zipkin service, port 9411 is also correct).

--zipkinAddress
zipkin.operations.svc.cluster.local:9411

@objectiser Ok, now I am getting some results. The problem was a combination of the zipkinAddress (typo) and the sidecar. WIthout sidecar and with the right zipkinAddress it seems to be working. So it seems the only option is to keep Jaeger in the istio-system namespace (with auto-injection disabled). Or do you know of a way to make an exception for the pilot to access the service?

@spekr Sorry, was confused by your last comment - you say it is now working in a separate namespace without the sidecar, but then say only option is to run Jaeger in the istio-system namespace?

If you are installing Jaeger in a separate namespace - have you also created the zipkin service, e.g. https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/tracing/templates/service.yaml#L12-L30 ?
This is used to provide a standard service for reporting zipkin span data to any selected tracing backend. However if you don't have this service, and don't want it to be defined, then other option would be to use the jaeger-collector service but still with the zipkin port 9411.

Yeah you're right, that does not make any sense :-P. What I mean is this: we've taken Jaeger from the istio-system namespace so that it can have a sidecar injected. We want to expose the service through a virtualservice instead of the kubernetes-ingress. (Trying to keep it clean.). So there is no reason for us to keep it in a seperate namespace (if it only works without sidecar).
We have the zipkin service, but it points to the istio-tracing pod (jaeger). If the pod has a sidecar, the zipkin service can not be accessed by pods without sidecar.
I am now trying to disable mtls for this specific port with Policy / DestinationRule. If this works I will let you know.

Ok, fixed it with the following addition to the helm-chart:
{{ if eq .Values.provider "jaeger" }}
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
  name: "zipkin-mtls-exception"
  namespace: {{ .Values.namespace }}
spec:
  targets:
    - name: zipkin
      ports:
        - number: 9411
  peers:
---
apiVersion: "networking.istio.io/v1alpha3"
kind: "DestinationRule"
metadata:
  name: "zipkin-mtls-exception"
  namespace: {{ .Values.namespace }}
spec:
  host: zipkin.operations.svc.cluster.local
  trafficPolicy:
    tls:
      mode: ISTIO_MUTUAL
    portLevelSettings:
      - port:
          number: 9411
        tls:
          mode: DISABLE
{{ end }}

Thanks for thinking along @objectiser!

I tried the Bookinfo example with Istio 1.7 and there are only traces for istio-ingressgateway and jaeger-query. Is there a way to debug tracing (e.g, whether traces have been sent or not)?

fined, then othe

Need some guidance here for same issue.
I deployed jaeger without zipkin and my istiod tracing address is pointed to jaeger-collector service at port 14268  which is the http port for collector service. It is not receiving any tracing data from services except jaeger-query similar to original issue mentioned above.
Why do you say to still point it to port 9411 with jaeger collector service when this port does not exist in collector service or deployment? Thanks in advance.

@objectiser Hi, Please reply to my comment above. Thanks

@BlueMaverick I haven't worked on istio or Jaeger for over a year so not sure of any changes since last used - but from my prior knowledge Istio only generates zipkin format data - and therefore if you want Jaeger to receive it, you will need to configure Istio to point to the zipkin port, and configure the Jaeger collector to provide the zipkin port, e.g.  --collector.zipkin.host-port=.... - see https://www.jaegertracing.io/docs/1.34/cli/#jaeger-collector

Thanks. It makes sense now.
I have upgraded my jaeger helm charts with --set collector.service.zipkin.port:9411 and I can see tracing data in jaeger now.
Sharing complete solution that worked for me:

jaeger installation in independent namespace (with ingress reverse proxy ):
helm upgrade --install jaeger jaegertracing/jaeger --set fullnameOverride=jaeger  --set query.basePath='/jaeger' --set collector.service.zipkin.port=9411  -n mynamespace
Upgrade istiod charts to send tracing data to jaeger collector service:
--set values.global.tracer.zipkin.address=jaeger-collector.mynamespace.svc.cluster.local:9411
Step 2 can also be achieved by manually updating configmap istio in istio-system namespace and restarting istiod pod.
Point by Domain context path /jaeger to jaeger-query service:
` - match:

uri:
prefix: /jaeger
name: jaeger
route:
destination:
host: jaeger-query.mynamespace.svc.cluster.local
port:
number: 80`


hook support

Hey @BrickFrog, Do you have any plans to make a after_node_run hook for kedro-pandas-profiling?  It would be cool if it could be run in the background and save the report right next to the filepath.

That's part of the new update right? I need to look into it, but am pondering doing a bit of a rewrite, so I don't think it would be terribly difficult to do(?)

Yep, it is part of 0.16.0

Hi that sounds great. Would that ensure we can apply kedro-pandas-profiling also together with kedro-wings? Using kedro-wings I have an empty catalog.yml (and some data queries in catalog.py)


Add metadata helper transform for adding axis metadata.

Some users have custom combinatory/transform layers that effectively add an axis to their layer parameters, but that aren't simple vmaps or scans.  This adds a metadata helper transform for adding an axis annotation "on the way out" for inits and mutations, and removing that axis "on the way in" during application, exactly the same as the behavior used in scan/vmap - but only touching the metadata of boxed variables, and not modifying any traced variables.

Codecov Report

Merging #2783 (1e947ce) into main (9aa28ac) will increase coverage by 0.05%.
The diff coverage is 92.59%.

@@            Coverage Diff             @@
##             main    #2783      +/-   ##
==========================================
+ Coverage   81.22%   81.28%   +0.05%
==========================================
  Files          53       53
  Lines        5636     5663      +27
==========================================
+ Hits         4578     4603      +25
- Misses       1058     1060       +2

Impacted Files
Coverage Δ

flax/linen/__init__.py
100.00% <ø> (ø)

flax/core/lift.py
95.85% <92.00%> (-0.22%)
:arrow_down:

flax/linen/transforms.py
93.97% <100.00%> (+0.04%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


--no-docker error messsage

Probably a user error, but should this be a better error message?
% starforge wheel --no-docker --wheels-config=wheels/build/wheels.yml dictobj
Traceback (most recent call last):
  File "/home/john/workspace/starforge/.venv/bin/starforge", line 9, in <module>
    load_entry_point('starforge==0.0.1.dev0', 'console_scripts', 'starforge')()
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/click-6.2-py2.7.egg/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/john/workspace/starforge/.venv/lib/python2.7/site-packages/starforge-0.0.1.dev0-py2.7.egg/starforge/commands/cmd_wheel.py", line 108, in cli
    for name in forge.get_sdist_expected_names():
UnboundLocalError: local variable 'forge' referenced before assignment

Not user error, just my questionable code.


try to use "uib-tooltip-html" with angularjs template

Hi,
I try to implement a tooltip with angularjs template inside. For this, I use "uib-tooltip-html" and I add an attribute on the element to compile the template. But it doesn't work.
Here is the plunker
http://plnkr.co/edit/y1TvogsFFBoBVra3gO3F?p=preview
Thank you in advance for your answer

@flamant there are multiple problems in plunker:

you are mixing versions of AngularJS modules - you need to use the same version for angular and ngSantize
try to upgarde to the latest version of Angular (1.4.8)

But more importantly, this is a general support question that should be asked using an appropriate support channel, see: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question
Closing, since we are not handling support questions here but rather reserve GitHub issues for bug reports and feature requests.


Transaction Pool Dropping Certain Transactions

Transaction pool on Westmint is dropping transactions that should be included in a block. Steps:

Submit assets.transferKeepAlive(id, account, ...) => It works.
Submit assets.block(id, account) => it works.
Submit assets.transferKeepAlive(id, account, ...) => The transaction should be included in a block, but the transfer should fail as the account is blocked. However, it seems to just hang in the transaction pool until eventually being dropped for mortality reasons.
Submit assets.transferKeepAlive(id, newAccount, ...) => It works, just ensuring that the sending account can still transact.

@bakhtin to submit node trace logs.
Logs

Can this bug be replicated on other parachains? Or is it a Westmint particular bug?

AFAIK, Westmint is the only parachain that has the Assets pallet with the latest block functionality.

@joepetrowski please provide some script to reproduce this.

@NachoPal does this depends on the rpc node or can it be every node? And locally it doesn't work? Maybe related to the version of the on chain runtime? Did you tried to use the same one?

@NachoPal does this depends on the rpc node or can it be every node? And locally it doesn't work? Maybe related to the version of the on chain runtime? Did you tried to use the same one?

I tried in different RPC nodes (Dwellir, Parity, Stakeworld) and the transaction gets stuck in the pool in all of them.
Locally it worked, I used this branch https://github.com/paritytech/cumulus/tree/westmint-9425 for the runtime and client, which is the one used in production (not for the client) and the only one that has the new pallet_asset dispatchables. I compared also client differences between my local and production (0.9.42 or 0.9.40) and I did not find any: https://github.com/paritytech/substrate/compare/polkadot-v0.9.42...westmint-9425
Worth to mention that it works if the call is wrapped in a batch call: https://westmint.statescan.io/#/extrinsics/4652255-2

As requested by @bkchr, let me mention here a similar issue on Kusama as well.
Certain batch calls (like undelegate, unvote, claiming staking rewards) are very slow to be included lately. This happens on many RPC nodes (public and local) and polkadot versions (tested just now on 0.9.38 and 0.9.42). They worked fine a few weeks ago (I am not certain of the exact moment).
The easiest way to reproduce this is to undelegate all the OpenGov tracks. Here is a direct link to P.JS that you can submit from any Kusama account that does not participate in OpenGov. (The calls in the batch will should but that is not the point.)
Lowering the amount of calls in the batch (less tracks) makes it work instantly. For with this link.
 Called from the Python SubstrateInterface, inclusion times go from 3 to 25 and even 40 minutes.
Quite annoyingly, if you terminate the extrinsic and try again, you get the error {'code': 1014, 'message': 'Priority is too low: (1 vs 1)', 'data': 'The transaction has too low priority to replace another transaction already in the pool.'}


SOLR-16962: Restore ability to configure tlog directory

See: SOLR-16962

This turned into a bigger change than I'd anticipated, but I really didn't see any other way around it. I found that I had to refactor (for clarity) some method/variable names to be more explicit about the distinction between tlog and ulog. Both concepts are indeed distinct, and are required for different purposes in different places.
ulog dir remains the directory that is configured by the updateLog.dir param, and is the parent directory of the tlog dir. The tlog dir is the directory that contains the transaction log files. Specifying ulog dir as the parent directory allows consistent behavior for the normal case (where we want the tlog dir to be implicitly scoped to the core as a consequence of being a subdirectory within the core data dir (normally) or core instance dir), and the special case (where an external shared top-level ulog dir is configured, within which directories must be created that are explicitly scoped to their associated core).
I opted to track the tlog dirs through the core DirectoryFactory, which makes directory deletion safer (can't delete untracked directories) and more flexible (e.g., supporting (or at least not breaking for) hdfs).

When is this going to be merged?
I am in progress of configuring a Solr Cloud cluster and was baffled the ulog dir is silently ignored by the Solr server.
I believe any serious production setup will keep data and tx logs on separate drives so I think this should be merged ASAP, given the documentation clearly says the ulog dir variable is considered.

Agreed, and thanks for the nudge @jkrauss82. This got too close to the 9.6 release and I didn't want to rush it in, but I'll go ahead and merge this today or tomorrow. I'm personally hoping for a 9.7 soon (esp. thinking also of https://github.com/apache/solr/pull/1557).

Thanks, yes I will definitely keep an eye on the builds.
I'll wait a few days -- @markrmiller if you're able to weigh in that would be much appreciated!
I do have a specific question about this:
    UpdateLog existingLog = updateHandler.getUpdateLog();
    if (this.ulog != null && this.ulog == existingLog) {
      // If we are reusing the existing update log, inform the log that its update handler has
      // changed. We do this as late as possible.
      this.ulog.init(this, core);
    }

... specifically, why do we need to do this "as late as possible"? afaict the only thing the UpdateHandler is used for is to update the UpdateLog's ref to the UpdateHandler -- no fields, etc. consulted. This would be far simpler if we always called ulog.init(this, core) from the super ctor (UpdateHandler), as long as ulog != null.
I'm also particularly interested in feedback on this TODO:
      // TODO: why do we need fancy concurrency constructs here? I don't see where this would
      //  actually be called concurrently. Could `TestHdfsUpdateLog.testFSThreadSafety()`
      //  (introduced by SOLR-7113) in fact be the only place that requires this? Or perhaps we
      //  need the `init(UpdateHandler, SolrCore)` method in its entirety (or some large portion of
      //  it) to synchronize on `this`, to ensure visibility of non-final fields that are
      //  initialized?

The build failure for 962b99f430c56f7387fbf233950fbc12946aaa70 is legit, but not related to this PR. I've opened an issue/PR for that failure.

For the record, considering the above question about concurrency constructs:
I've dug into SOLR-7113, and I'm increasingly convinced that although it's technically correct that UpdateLog.init(UpdateHandler, SolrCore) is not thread safe, the issue title (filed with initial report) is misleading in calling attention to "thread safety", and the issue fix (in the form of making a portion of the method synchronized on fsLock object) is misleading, because afaict UpdateLog.init(UpdateHandler, SolrCore) is never called concurrently in application code, nor should it be.
The issue with SOLR-7113 was not one of thread safety, so much as one of leaking resources and closing them across different scopes. This issue was effectively fixed by disallowing modification of tlog location across core reloads.
My inclination atm is to leave the AtomicBoolean in place -- we need something to shortcircuit repeated init in application code (which does happen, albeit not in a way that needs to be thread safe), and leaving AtomicBoolean is thread-safe against the test that was written for SOLR-7113; so AtomicBoolean gets the job done for both, even if it's not strictly necessary as far as application code goes.

Ok, I'm planning to merge this tomorrow. The most recent commits add some extra documentation, a test fix, clarity, robustness, and simplify a bit (IMO). I will keep an eye on the builds for any related failures.

Proposed CHANGES.txt:
* SOLR-16962: Restore ability to configure tlog directory. Includes substantial refactoring and clarification
  of logic and definitions around `ulog` and `tlog`. Refactoring largely focuses on UpdateLog and
  HdfsUpdateLog. There is no anticipated change in existing behavior, other than that the `dir` parameter
  to the `<updateLog>` element in `solrconfig.xml`, which has long been silently ignored, will now be
  respected (Michael Gibney, David Smiley)

You might leave the "refactoring" aspect to the commit message and just put in CHANGES.txt what users ought to know.

You might leave the "refactoring" aspect to the commit message and just put in CHANGES.txt what users ought to know.

Revised:
* SOLR-16962: Restore ability to configure tlog directory. Changes largely focus on UpdateLog and
  HdfsUpdateLog. There is no anticipated change in existing behavior, other than that the `dir` parameter
  to the `<updateLog>` element in `solrconfig.xml`, which has long been silently ignored, will now be
  respected (Michael Gibney, David Smiley)

git bisect points to this PR. Require bit more attention to see whether this PR causing it or not.
org.apache.solr.search.TestCollapseQParserPlugin.testMultiSort (:solr:core)
Test history: https://ge.apache.org/scans/tests?search.rootProjectNames=solr-root&tests.container=org.apache.solr.search.TestCollapseQParserPlugin&tests.test=testMultiSort http://fucit.org/solr-jenkins-reports/history-trend-of-recent-failures.html#series/org.apache.solr.search.TestCollapseQParserPlugin.testMultiSort
  Test output: /Users/sanjaydutt/Documents/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.search.TestCollapseQParserPlugin.txt
  Reproduce with: ./gradlew :solr:core:test --tests "org.apache.solr.search.TestCollapseQParserPlugin.testMultiSort" -Ptests.jvms=4 -Ptests.haltonfailure=false "-Ptests.jvmargs=-XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 -XX:ReservedCodeCacheSize=120m" -Ptests.seed=F8EF1414D2733583 -Ptests.multiplier=2 -Ptests.badapples=false -Ptests.file.encoding=US-ASCII


Change port of ssh reverse tunnel to 443

How to categorize this PR?

/area dev-productivity
/kind enhancement
What this PR does / why we need it:
Change the port for ssh tunnel in the development setup for extensions.
Port 6222 might be blocked by some firewalls.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Change port of ssh reverse tunnel to 443

/cc @kon-angelo @MartinWeindel @oliver-goetz

I just tested it and it works in my setup. Thanks 🚀
/lgtm

/retest


split -1 in should be accepted

touch in
./target/debug/coreutils split -1 in

=>
error: unexpected argument '-1' found

  tip: to pass '-1' as a value, use '-- -1'

It should be equivalent to -a 1

Oh no, another shorthand?? 😄

yeah :/ Do you know what is the best way to manage it now ? :)

Not really, because every util has it's own version of it. Looking at some notes I took for my own argument parser, I noted that split allows the shorthand to appear in clusters of other short arguments. And they don't have it marked as deprecated and are using it actively in the examples: https://www.gnu.org/software/coreutils/manual/html_node/split-invocation.html

Ah, so it works like uniq. This input:
split -x200x1 Cargo.lock LOCK

works like it's -a 2001. With uniq we decided to handle it like fold, where the number should be separate from the rest of the arguments. We could do the same here.

do you guys mind if I tackle this one?

Absolutely! It might be a tricky one, but don't let that stop you :)

This is a bit more complicated than supporting split -1 in use case. The -1 obsolete option could also be found inside combined short options, like following (all below are valid and work with GNU split)
split -1dxe file which means split -l 1 -d -x -e file
split -ex23d file which means split -e -x -l 23 -d file
etc
Might need to refactor, so I will close pull request #5170 for now and resubmit a new one with code that would handle this broader use case.

I'd be fine with both cases. I think this is one of those cases where we just support what we can and hope that is satisfies everyone's use case. We've already spent so much time on these features 😄


SQL Assessment Database Selector

Add the ability to select databases to run assessments
Display assessment results for selected databases

should the checkbox(select all) and the column headers in step 2 be left aligned?

@cssuh
		let currentConnection = await azdata.connection.getCurrentConnection(); 		const metaDataService = azdata.dataprotocol.getProvider<azdata.MetadataProvider>(currentConnection.providerId, azdata.DataProviderType.MetadataProvider); 		const database = await metaDataService.getDatabases(ownerUri);
Use this method instead of the query to get database details.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 42.731%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
26227

Relevant Lines:
55704

💛  - Coveralls

@aasimkhan30 @brian-harris I have updated the screenshot in the PR comment.

@cssuh. You will also have to update the STS version in this PR before merging it in.


Hey, I would like to contribute to this project, can you pls guide me ?

Hi @ankitjain28may,
happy to see you're interested in contributing to Webiny.
At the moment we are finalizing our documentation and the contribute guide.
In the next week or two we will do a public launch and then ping you back on this
ticket with the next steps.
Thanks again and glad to have you on board!

Thats great, Thanks :)


advanced margin engine: should not remove collateral if the vault contains expired short

@kjr217 This only affects the advanced margin because it lets you settle with less collateral you're supposed to have for payout.
In FullMargin, if you only remove collateral it will revert because of the collat rule, and if you remove + settle it also reverts because you don't have enough collateral to deduct payout from

yeah makes sense


IndexError (vivisect?)

Error:
  File "floss/identification_manager.py", line 98, in identify_decoding_functions
  File "floss/identification_manager.py", line 33, in run_plugins
  File "floss/plugins/arithmetic_plugin.py", line 23, in identify
  File "funcy/objects.py", line 25, in __get__
  File "viv_utils/__init__.py", line 130, in instructions
  File "vivisect/__init__.py", line 896, in parseOpcode
  File "envi/archs/i386/__init__.py", line 47, in archParseOpcode
  File "envi/archs/i386/disasm.py", line 926, in disasm
  File "envi/archs/i386/disasm.py", line 974, in ameth_e
  File "envi/archs/i386/disasm.py", line 683, in extended_parse_modrm
IndexError: string index out of range

Sample: 84d852fd9edc1c0f4591f24eb79f2477

looks like vivisect throws an exception that we need to handle better

fixed upstream in viv-utils


Revert "Added the image parameter 'platform' as a RuntimeParameter. #312"

This reverts commit 2f8becb10bdacadec2aa6c2196caa7724af8dd56 of PR #312.
It's not needed to add the platform as a RuntimeParameter to make Windows deployment  working because the platform is taken from the image attributes.
If you think this platform is useful as a RuntimeParameter (for example to be used with ss-get by a deployment script), you can close this PR.
If you think it's useless, you can merge this PR.
Connected to slipstream/SlipStreamClient#89

After discussion, having the platform in the runtime parameters can be interesting for scripts. We therefore keep it.


fix Aggregating string types with null values may result in incorrect result when compaction

Follow-up for #42067.

run buildall


Receiving a NaN-NaN-NaN Date Format

Describe the bug
Receiving a NaN-NaN-NaN Date Format after updated to v0.4.6 of Todo Application.
Expected behavior
Date should be presented as DD/MM/YYYY format.
Screenshots

Desktop (please complete the following information):

OS: Windows 10 OS Version 2009 (Build 19042.906)
Browser Chrome
Version 89.0.4389.114

Hi, this may the side effect after the release of v0.4.6, which is Reformat Date for Date Picker (ad287c661b0baa3bdeee9a54b881295831f79536). As described before, we save Todo Date in number format, then the client side will render those numbers become Date. Nevertheless we have changed the method how we save Todo Date is in new Date() format (Such as 2021-04-09T02:01:26.242Z).
But we notice that we cant make changes to the Todo Date directly because it is encrypted, so we we will soon working to fix this issue as soon as possible. Thanks for your patience.

This issue has been resolved successfully without affecting users' data. We apologize for the inconvenience and thank you for your patience and continued support. Please rest assured that system reliability is a top priority, and we are making continuous improvements to make our systems better.


Can not access url : domain.com/laravel-filemanager

Hello,
I had a trouble.
I installed this package and set default for laravel 5.6.
After finished. I can not access domain.com/laravel-filemanager, it's move to domain.com/home (middleware: auth).
Although laravel-filemanager url existed in route list.
Kindly help me.
Thank you

Sorrry !! I solved this problem. Upgrade to 1.8.4 from 1.8.
And read this https://github.com/UniSharp/laravel-filemanager/issues/516#issuecomment-357169245

this link 404's too ...i just love the irony :)
...but also have this prob and would like to read where the link went.

i follow the instructions as per the docs (for summernote) and get the lfm popup window. insted of the redirect @huuloc4193 is getting I get a lovely 404... "
Sorry, the page you are looking for could not be found." page.
I havent set any routes or anything not in the docs.
I do use auth()
I have no idea how to resolve this. please help me with some pointers ;)

Hi @jayenne, did you have luck figuring this out? I'm on Laravel 5.6 + file manager 1.8.4 + SummerNote. Cant figure out where the 404 is being generated from...

yeah. i shold have reported back.
IIRC...
The 404 was a path issue. I set the the routing in config/lfm.php:
/*
|--------------------------------------------------------------------------
| Routing
|--------------------------------------------------------------------------
*/
// Include to pre-defined routes from package or not. Middlewares
'use_package_routes' => true,

// Middlewares which should be applied to all package routes.
// For laravel 5.1 and before, remove 'web' from the array.
'middlewares' => ['web', 'auth'],

// The url to this package. Change it if necessary.
'url_prefix' => 'filemanager',

Then my routes/web.php to..
Route::group(['middleware' => 'auth'], function () {
Route::get('/filemanager', '\Unisharp\Laravelfilemanager\controllers\LfmController@show');
Route::post('/filemanager/upload', '\Unisharp\Laravelfilemanager\controllers\UploadController@upload');
});
I think that was it. (tbh, once i'd done it, I went on to integrate it within my app without all thepoopup/iframe nonsence and have foggotten exactly what i did.)
let us know how you get on :)

Thanks a bunch @jayenne. That did  the trick!
So for future reference for anyone else, there are a few things causing this 404 error.

Change in Doctrine
==============

You can fix this by following following the instructions as mentioned here or below:
In lfmhelpers.php line 335 replace the return with this:
return lcfirst(str_singular(request('type') ? request('type') : '')) === 'image';
and in vendor/unisharp/laravel-filemanager/src/views/index.blade.php line 209 replace with this:
'acceptedFiles: "{{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? implode(',', config('lfm.valid_image_mimetypes')) : implode(',', config('lfm.valid_file_mimetypes')) }}",
maxFilesize: ({{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? config('lfm.max_image_size') : config('lfm.max_file_size') }} / 1000)'
then
php artisan vendor:publish --tag=lfm_public
this will update the views in your resources folder.

Path Issue
==============

You can fix this by following @jayenne
Change line 18 in config/app.php to
'url_prefix' => 'filemanager',
the add the below to your routes in routes/web.php
Route::group(['middleware' => 'auth'], function () {
    Route::get('/filemanager', '\Unisharp\Laravelfilemanager\controllers\LfmController@show');
    Route::post('/filemanager/upload', '\Unisharp\Laravelfilemanager\controllers\UploadController@upload');
});

you will also have to route in button creation in your javascript, if your invoking it in summernote editor as follows:
  var LFMButton = function(context) {
    var ui = $.summernote.ui;
    var button = ui.button({
        contents: '<i class="note-icon-picture"></i> ',
        tooltip: 'Insert image with filemanager',
        container: false,
        click: function() {

            lfm({type: 'image', prefix: '/filemanager'}, function(url, path) {
                context.invoke('insertImage', url);
            });

        }
    });
    return button.render();
  };

Coolio.
*I actually forgot the doctrine part but it did the trick. Good spot.
On 5 Jun 2018, at 09:49, vajiraHOA <notifications<EMAIL_ADDRESS>wrote:
Thanks a bunch @jayennehttps://github.com/jayenne. That did the trick!
So for future reference for anyone else, there are a few things causing this 404 error.

Change in Doctrine
==============

You can fix this by following following the instructions as mentioned herehttps://github.com/UniSharp/laravel-filemanager/issues/516#issuecomment-357169245 or below:
In lfmhelpers.php line 335 replace the return with this:
return lcfirst(str_singular(request('type') ? request('type') : '')) === 'image';
and in vendor/unisharp/laravel-filemanager/src/views/index.blade.php line 209 replace with this:
'acceptedFiles: "{{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? implode(',', config('lfm.valid_image_mimetypes')) : implode(',', config('lfm.valid_file_mimetypes')) }}",
maxFilesize: ({{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? config('lfm.max_image_size') : config('lfm.max_file_size') }} / 1000)'
then
php artisan vendor:publish --tag=lfm_public
this will update the views in your resources folder.

Path Issue
==============

You can fix this by following @jayennehttps://github.com/jayenne
Change line 18 in config/app.php to
'url_prefix' => 'filemanager',
the add the below to your routes in routes/web.php
Route::group(['middleware' => 'auth'], function () {
Route::get('/filemanager', '\Unisharp\Laravelfilemanager\controllers\LfmController@show');
Route::post('/filemanager/upload', '\Unisharp\Laravelfilemanager\controllers\UploadController@upload');
});
you will also have to route in button creation in your javascript, if your invoking it in summernote editor as follows:
var LFMButton = function(context) {
var ui = $.summernote.ui;
var button = ui.button({
contents: ' ',
tooltip: 'Insert image with filemanager',
container: false,
click: function() {
        lfm({type: 'image', prefix: '/filemanager'}, function(url, path) {
            context.invoke('insertImage', url);
        });

    }
});
return button.render();

};
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/UniSharp/laravel-filemanager/issues/575#issuecomment-394632141, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHUl82itdnYR8p6gEYXsHoKDEU9VUV4Nks5t5kYqgaJpZM4TJiMs.


Modifications to get nodes including parenthesis

Adds a node with parenthesis. This is needed in helix-editor to allow match parenthesis to work.

I prefer "(" and ")" stay as annonymous nodes, is there a reason Helix can't match on annonymous nodes?

I first tried with anonymous node, "_paren_argument" instead of "paren_argument" and matching did not work in Helix. I don't know the reason. AFAIK other tree-sitter implementations have some node with parenthesis.

rust: "parameters: $ => seq(  '(', ...".
cpp: "parameter_list: $ => seq(  '(', ..."
python: "parameters: $ => seq(  '(', ..."
go: "parameter_list: $ => seq( '(', ..."

So I think the quotes being anonymous nodes is not the problem, hence I won't merge this PR. I will leave this PR open and please feel free to suggest changes if you found the underlying cause with Helix.

Just to be clear, with non-anonymous nodes, matching parenthesis works in Helix.

yes, I understand that, what I'm suggesting is you should discuss this issue with the Helix maintainers, and if they say that the problem is with the parentheses being anonymous nodes, then I will consider changing them to non-anonymous nodes.

I have been looking at Helix source. They use this function to iterate the nodes:
let mut node = tree.root_node().named_descendant_for_byte_range(pos, pos)?;
No idea why they use the named version.

an oversight, maybe?

I have testes with anonymous nodes and changing named_descendant with descendant, still not work.
Furthermore, testing the grammar for anonymous nodes, seems not to be easy.
"tree-sitter parse" only prints named nodes.

neovim has a feature for it and it's quite easy to set up for debugging if you need

@gzmorell  is this needed anymore? can you close it?


Adding onCancel handler (new attempt)

This PR adds the onCancel handler to MultiSelectBottomSheet, MultiSelectDialog and MultiSelectDialogField.

This is nice to have, but https://github.com/CHB61/multi_select_flutter/pull/104 fixes my issue so that is definitely a higher priority!

please add the option: barrierDismissible: false , to the MultiSelectDialogField widget. since it generates errors when the user closes the dialog through the barrier


CUDA error with DLIB and cnn.

face_recognition version: 1.0.0
Python version: python3
Operating System: Manjaro

Description
The application fails to run and reports an error in reference to my CUDA runtime and driver.
What I Did
I updated my system and am now getting the following errors in face_recognition. I am running the latest version of dlib and cuda.
Traceback (most recent call last):
  File "./example.py", line 2, in <module>
    from ml_face import *
  File "/home/aaron/Development/bulk-image-facial-recognition/ml_face.py", line 1, in <module>
    import face_recognition
  File "/usr/lib/python3.6/site-packages/face_recognition/__init__.py", line 7, in <module>
    from .api import load_image_file, face_locations, batch_face_locations, face_landmarks, face_encodings, compare_faces, face_distance
  File "/usr/lib/python3.6/site-packages/face_recognition/api.py", line 21, in <module>
    cnn_face_detector = dlib.cnn_face_detection_model_v1(cnn_face_detection_model)
RuntimeError: Error while calling cudaGetDevice(&the_device_id) in file /home/aaron/Development/tmp/dlib/dlib/dnn/gpu_data.cpp:178. code: 35, reason: CUDA driver version is insufficient for CUDA runtime version

This means the CUDA library being loaded is too new for your Nvidia drivers. In other words, you only half-upgraded CUDA and things are out of sync.
You can check what versions are loaded with the nvidia-smi command.
To fix it, try updating your Nvidia drivers to the latest version manually.

┌─<aaron @ alien-alpha in ~/D/bulk-image-facial-recognition>
└─< (master)* >──» nvidia-smi                                                                                0 < 14:11:18
Sat Dec 23 14:11:20 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.98                 Driver Version: 384.98                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GPU         Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   42C    P8    N/A /  N/A |     11MiB /  1998MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       338      G   /usr/lib/xorg-server/Xorg                      8MiB |
+-----------------------------------------------------------------------------+

This all appears to be latest.

Just reboot your computer

Thu Jul 19 00:47:57 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 398.26                 Driver Version: 398.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080   WDDM  | 00000000:01:00.0  On |                  N/A |
| 37%   46C    P0    62W / 300W |   1146MiB /  8192MiB |      8%      Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      3776    C+G   ...common\wallpaper_engine\wallpaper64.exe N/A      |
|    0     10260    C+G   ...017\Professional\Common7\IDE\devenv.exe N/A      |
|    0     12108    C+G   ...6)\Google\Chrome\Application\chrome.exe N/A      |
|    0     13628    C+G   C:\Windows\System32\WWAHost.exe            N/A      |
|    0     13916    C+G   ...hell.Experiences.TextInput.InputApp.exe N/A      |
|    0     13944    C+G   C:\Windows\explorer.exe                    N/A      |
|    0     14128    C+G   ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A      |
|    0     15860    C+G   ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A      |
|    0     16272    C+G   C:\Windows\System32\dwm.exe                N/A      |
|    0     17420    C+G   ...iles (x86)\Tencent\WeChat\WeChatWeb.exe N/A      |
+-----------------------------------------------------------------------------+
the same case @win10 , imageSize 31204160 & faceSize 10001000
here is the error info:
face_recognition.face_locations(frFile,model="cnn")
File "C:\Program Files\Python37\lib\site-packages\face_recognition\api.py", line 116, in face_locations
return [_trim_css_to_bounds(_rect_to_css(face.rect), img.shape) for face in _raw_face_locations(img, number_of_times_to_upsample, "cnn")]
File "C:\Program Files\Python37\lib\site-packages\face_recognition\api.py", line 100, in _raw_face_locations
return cnn_face_detector(img, number_of_times_to_upsample)
RuntimeError: Error while calling cudaMalloc(&data, new_size*sizeof(float)) in file e:\code\dlib-19.15\dlib\cuda\gpu_data.cpp:195. code: 2, reason: out of memory

@Anveena That just means your GPU ran out of memory. It looks like lots of other programs are also using the GPU and are already using 1GB, leaving 7GB. Then depending on the size of the image you are processing, it might just be too big to fit into that remaining memory.
Try reducing the image size and seeing if that works.

@ageitgey  thank you,I'm a beginner at face recognition,i know resize img can run well,i join this issue for it's  amazing  that a 3120X4160 img can use so much memory.so i worry about that if sth was wrong with my code or building

Hi @ageitgey,
I am running FR on Windows 10 GPU machine. I also  also faced out of memory(OOM) error. After resizing image, OOM issue got resolved.
I would like to know is there any impact on accuracy if resizing image to 1/2 or 1/3.
Thanks in advance.

@chanduthedev  If you are doing object detection after resizing, it depends on the object you are trying to detect. For example, accuracy may not drop much if you are detecting a person while the same may drop substantially if you are detecting smaller objects like spectacles.


Only partial relation metadata available on list previews

- Do you want to request a feature or report a bug?

BUG

- What is the current behavior?

When adding a field with the relation widget to a list, the metadata available (see https://github.com/netlify/netlify-cms/blame/7aa77baea9e64aaaf3f1a610543263426dc661b4/docs/customization.md#L181) from the list field is not complete, the only metadata available at any given time refers to the last child updated.

- If the current behavior is a bug, please provide the steps to reproduce.

Add a "collection1" with a field that can be referenced and some content in its directory.
Add a "collection2" with a list field, whose children refer to "collection 1" through relation, like:

- label: "People"
        name: "people"
        widget: "list"
        fields:
          - label: "Person"
            name: "person"
            widget: "relation"
            collection: "collection1"
            searchFields:
              - "title"
            valueField: "title"

Add a custom preview class through CMS.registerPreviewTemplate for "collection2" and monitor the values of this.props.fieldsMetadata.get('people') - there is only 1 entry, the last child edited on the list field.

- What is the expected behavior?

On step 3 above, that metadata for every child of the list field is available, i.e., that for every item in this.props.entry.getIn(['data', fieldName]) there is a corresponding item in this.props.fieldsMetadata.get('fieldName') filled with metadata.

- Please mention your node.js, and operating system version.
v6.9.5 on OS X 10.11.6

PR coming soon


add adamlbunch to contributors.yml

Hey @adamlbunch, you need to actually contribute something in order to get into the contributors list 😃

Hey @adamlbunch, you need to actually contribute something in order to get into the contributors list 😃

Well, according to the docs you can't contribute without being on the contributors list right? Do you mean that I need to put up a PR for some contribution, and then get added to the contributors list? I will try that :)


Added back empty lines

You need breathing room for your code, that looked wayyy too crammed

nuh uh. my codes just fine.

Read this

why?


fix: merge operation when values contain underscores

danfojs-browser/src/core/merge.js stores sets of values by joining them with an underscore, and later splitting on underscore. however, when the values themselves contain underscores, this becomes problematic, as this split causes nonsensical columns to be defined when indexing the data.
this PR solves that issue by passing an array of values alongside the comb. specifically, the left/right_key_dict objects are changed from comb: [filters] to the following:
comb: {
  filters: [filters],
  comb_values: [values]
}

when the comb values need to be accessed, the comb is not split on _ anymore, but the comb_values are simply accessed.

not sure why these tests are failing, but my local tests all passed. looks like it's a timeout-related issue.

not sure why these tests are failing, but my local tests all passed. looks like it's a timeout-related issue.

Yea, Its timeout related, I'll fix that.


Checkstyle and Compilation issue in test code

FileFooterValidator.java is having compilation and inspection issue.

closing as already handled


Transpile without rolling up to index.js

Hi Miles!
I have a project with the following file structure:
./src
├── index.js
└── theme
    ├── KBarAnimator.jsx
    └── KBarCellAccessory.jsx

index.js doesn't import any of the files but I need files to be rendered individually instead of rolled up to a single file. I looked at the docs but wasn't clear how I could do this.
Thanks!

@ky-lee-cb  Hey Ky 👋
If you set bundle to false, it should transpile 1:1
https://packemon.dev/docs/config#bundle

that was it! thank you!


Drop DataMapper support

Wondering if lots of people are relying on LHM + DM support?
Having to code/review/test for AR + DM, just make things more complicated.
@grobie WDYT ?
cc @camilo

This is done on master already.
thanks all


App is crashing on Create gift.

When we select any currecny from Settings > Currency & Language and directly go to Gift sats > Create New Gift the the app is crashing.

Verified this issue on dev app v2.0.7(396).Unable to recreate this issue.


Display kafka cluser version

Describe the solution you'd like
Add kafka cluster version on dashboard and brokers page.
On brokers page we could add it in the box with uptime

Working on it.


Add missing types and remove duplicate/deprecated types

Updates data types to align with latest Health Connect spec: https://developer.android.com/guide/health-and-fitness/health-connect/data-and-data-types/data-types

@duynguyen242 can you merge it?


Add setup.py so module can be installed.

This has been discussed and an early version was developed.  I believe we decided to hold off on this for a while, but now I forget our reasoning.  Leaving open for others to fill in details.

I'm working on this in https://github.com/brainwane/HARK/tree/installability which I should have linked here much earlier - apologies! I should have it merged into master later today.

We have some early developer releases available for pip install at http://pypi.org/project/econ-ark and conda install at https://anaconda.org/sumanah-changeset/econ-ark .

Before merging the installability branch into master, can we fix the Models vs Demos issue?

Thank you for that very good point, @mnwhite!
The Models versus Demos issue @mnwhite mentioned is: in the installability branch, we've changed the structure of the code, with several commits by @jasonaowen -- some of which he'd like to do over, reverting how he separated out Demos.
@compumetrika asked when we were planning on merging the installability branch back into master, and I originally suggested doing it this week. But @mnwhite makes a good point: it would be nice to have only one giant breaking change in master instead of two in a row. We do have some time pressure here, since we want to get this all merged and tested, and cut a new release, before Tuesday, 19 June (when Chris and Matt do their next public demo).
So here's how I propose to do this:

Today, I'll make a separate pull request with other cleanup that's immediately applicable to the master branch.
Tomorrow, I'll further prepare installability to make it more ready to merge into master.
Next week, starting Monday, Jason will address the Models vs Demos issue on installability.
After he's done that, ideally in the middle of next week, we make a pull request to merge installability into master, and get that reviewed and merged.

(Non-code note: I'm back stateside.  Chris is doing the Bank of England and Venice presentations solo!)


Invalid Error message given when Idle session timeout mandatory value is empty

Suggested Labels
Affected : 5.8.0- alpha2
Severity: Major
Priority: Low
Component: Account Locking
Type-Bug
Steps to Reproduce

Try to add a resident IDP
Keep the Idle session timeout mandatory input value blank and save the IDP

Observation
Will prompt a UI error message as Resident IdP Idle Session Timeout must be numeric value greater than 0 The UI error message should change according to the correct action as Resident IDP Idle session timeout cannot be empty
This needs to be corrected for the input value Remember Me period as well

I would like to fix this and appreciate any pointers to lookup for


fix: Fix IF statement and arguments used by dependencies

Pull Request description

This PR aims to fix the if statement and the arguments used both by dependencies

How to test these changes

...

Pull Request checklists
This PR is a:

[ ] bug-fix
[ ] new feature
[ ] maintenance

About this PR:

[ ] it includes tests.
[ ] the tests are executed on CI.
[ ] the tests generate log file(s) (path).
[ ] pre-commit hooks were executed locally.
[ ] this PR requires a project documentation update.

Author's checklist:

[ ] I have reviewed the changes and it contains no misspelling.
[ ] The code is well commented, especially in the parts that contain more complexity.
[ ] New and old tests passed locally.

Additional information

Reviewer's checklist
Copy and paste this template for your review's note:
## Reviewer's Checklist

- [ ] I managed to reproduce the problem locally from the `main` branch
- [ ] I managed to test the new changes locally
- [ ] I confirm that the issues mentioned were fixed/resolved .

this PR also added an initial set of unit tests


deploying contract from script fails

Environment information

ape and plugin versions:

$ ape --version

0.1.0b6.dev38+ge5839c1c.d20220228

$ ape plugins list

Installed Plugins:
  infura          0.1.0b2
  vyper           0.1.0b6

Python Version: 3.8.10
OS: Ubuntu 20.04

What went wrong?
When running the below code:
from ape import accounts, project

dev = accounts.test_accounts[0]
token = dev.deploy(project.Token, "ape_anything", "APE", 18, 10)

My Contract resides in ~./ape/contracts
Contract Name: Token.vy
# @dev Implementation of ERC-20 token standard.
# @author Takayuki Jimba (@yudetamago)
# https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md

from vyper.interfaces import ERC20
from vyper.interfaces import ERC20Detailed

implements: ERC20
implements: ERC20Detailed

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    value: uint256

event Approval:
    owner: indexed(address)
    spender: indexed(address)
    value: uint256

name: public(String[64])
symbol: public(String[32])
decimals: public(uint8)

# NOTE: By declaring `balanceOf` as public, vyper automatically generates a 'balanceOf()' getter
#       method to allow access to account balances.
#       The _KeyType will become a required parameter for the getter and it will return _ValueType.
#       See: https://vyper.readthedocs.io/en/v0.1.0-beta.8/types.html?highlight=getter#mappings
balanceOf: public(HashMap[address, uint256])
# By declaring `allowance` as public, vyper automatically generates the `allowance()` getter
allowance: public(HashMap[address, HashMap[address, uint256]])
# By declaring `totalSupply` as public, we automatically create the `totalSupply()` getter
totalSupply: public(uint256)
minter: address

@external
def __init__(_name: String[64], _symbol: String[32], _decimals: uint8, _supply: uint256):
    init_supply: uint256 = _supply * 10 ** convert(_decimals, uint256)
    self.name = _name
    self.symbol = _symbol
    self.decimals = _decimals
    self.balanceOf[msg.sender] = init_supply
    self.totalSupply = init_supply
    self.minter = msg.sender
    log Transfer(ZERO_ADDRESS, msg.sender, init_supply)

@external
def transfer(_to : address, _value : uint256) -> bool:
    """
    @dev Transfer token for a specified address
    @param _to The address to transfer to.
    @param _value The amount to be transferred.
    """
    # NOTE: vyper does not allow underflows
    #       so the following subtraction would revert on insufficient balance
    self.balanceOf[msg.sender] -= _value
    self.balanceOf[_to] += _value
    log Transfer(msg.sender, _to, _value)
    return True

@external
def transferFrom(_from : address, _to : address, _value : uint256) -> bool:
    """
     @dev Transfer tokens from one address to another.
     @param _from address The address which you want to send tokens from
     @param _to address The address which you want to transfer to
     @param _value uint256 the amount of tokens to be transferred
    """
    # NOTE: vyper does not allow underflows
    #       so the following subtraction would revert on insufficient balance
    self.balanceOf[_from] -= _value
    self.balanceOf[_to] += _value
    # NOTE: vyper does not allow underflows
    #      so the following subtraction would revert on insufficient allowance
    self.allowance[_from][msg.sender] -= _value
    log Transfer(_from, _to, _value)
    return True

@external
def approve(_spender : address, _value : uint256) -> bool:
    """
    @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
         Beware that changing an allowance with this method brings the risk that someone may use both the old
         and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
         race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
         https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    @param _spender The address which will spend the funds.
    @param _value The amount of tokens to be spent.
    """
    self.allowance[msg.sender][_spender] = _value
    log Approval(msg.sender, _spender, _value)
    return True

@external
def mint(_to: address, _value: uint256):
    """
    @dev Mint an amount of the token and assigns it to an account.
         This encapsulates the modification of balances such that the
         proper events are emitted.
    @param _to The account that will receive the created tokens.
    @param _value The amount that will be created.
    """
    assert msg.sender == self.minter
    assert _to != ZERO_ADDRESS
    self.totalSupply += _value
    self.balanceOf[_to] += _value
    log Transfer(ZERO_ADDRESS, _to, _value)

@internal
def _burn(_to: address, _value: uint256):
    """
    @dev Internal function that burns an amount of the token of a given
         account.
    @param _to The account whose tokens will be burned.
    @param _value The amount that will be burned.
    """
    assert _to != ZERO_ADDRESS
    self.totalSupply -= _value
    self.balanceOf[_to] -= _value
    log Transfer(_to, ZERO_ADDRESS, _value)

@external
def burn(_value: uint256):
    """
    @dev Burn an amount of the token of msg.sender.
    @param _value The amount that will be burned.
    """
    self._burn(msg.sender, _value)

@external
def burnFrom(_to: address, _value: uint256):
    """
    @dev Burn an amount of the token from a given account.
    @param _to The account whose tokens will be burned.
    @param _value The amount that will be burned.
    """
    self.allowance[_to][msg.sender] -= _value
    self._burn(_to, _value)

I get the following response
Traceback (most recent call last):
  File "/home/blake/.local/share/virtualenvs/ape-OAjO0oli/lib/python3.8/site-packages/ipython-8.0.0-py3.8.egg/IPython/core/interactiveshell.py", line 3251, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-4-ac0baf568663>", line 1, in <module>
    token = dev.deploy(project.Token, "ape_anything", "APE", 18, 10)
  File "/home/blake/ApeWorX/ape/src/ape/api/accounts.py", line 190, in deploy
    txn = contract(*args, **kwargs)
  File "/home/blake/ApeWorX/ape/src/ape/contracts/base.py", line 529, in __call__
    provider=self.provider,
  File "/home/blake/ApeWorX/ape/src/ape/contracts/base.py", line 493, in provider
    raise AddressError(
ape.exceptions.AddressError: Incorrectly implemented provider API for class 'ContractContainer'.

How can it be fixed?
Not sure at the moment
Additional Info
This compiles from the cli

Might be related to #509

@johnson2427 are you still experiencing this?
I copied your contract and tried to reproduce but I am successfully able to deploy this contract.

Resolved!


Package Marathon for Debian stretch?

Debian stretch was released yesterday and is now the new Debian "stable". Would you please consider building Marathon packages for it, in addition to the packages currently built for Debian jessie (old stable)?

Since the whole package build process appears to have been merged into the mesosphere/marathon repo, we've made a docker-based build to make Debian stretch packages at ocf/marathon-deb if anyone wants to build it themself or grab the Debian packages off our Jenkins.
Running sbt packageLinux on that repo also works, but it makes rpm packages and makes packages using Upstart and System-V, which are not applicable for Debian stretch, so those are skipped in our build process since we just want the systemd Debian package.

Closing in favor of https://jira.mesosphere.com/browse/MARATHON-7995


npm i vs npm ci in GitHub Workflows

npm ci respects the package-lock.json file, resulting in deterministic installs.
However, users will install the package using npm i, which does not.
So, running npm ci in automated tests is not going to replicate the user's experience.

I'm going to go with npm i for the CI tasks.


Implement "Delete account" API client and apply it to Profile page

Description

Implement "Delete account" API client, which will be used in Profile page.
Criteria

[ ] Implement "Delete user" API client
[ ] Apply the API client to Profile page

@kanta1207
https://github.com/nishiki-tech/nishiki-backend/pull/318 seems to be already completed.
Could you please resume this task?

@nick-y-ito
Thank you for notifying! I'll work on it 👍


Moving Components content to Documentation landing page.

Description
This PR moves the content that is currently on Components to the docs landing page, removes component page, updates links that used to point to Components
Why is this needed
Moving towards more organized and useful documentation
Fixes: #
How Has This Been Tested?
Markdown previews and run prettier locally.
How are existing users impacted? What migration steps/scripts do we need?
It's possible that anyone who had previously bookmarked the old link that was at the top of Documentation would find that link is broken. Any other links to https://tinkerbell.org/components/ would also no longer be valid. Do we have the ability to redirect?

Good question on the redirects. We can do some pretty fancy redirects using Netlify's support. See:

https://github.com/tinkerbell/tinkerbell.org/blob/master/netlify.toml
https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file

I think the config we want is:
[[redirects]]
  from = "/components"
  to = "/documentation/#whats-powering-tinkerbell"
  status = 301

Redirect is added, seems to work in the build preview. Gonna press the go button!


TileLayer options subdomains: undefined throws error

Because of the following code a error is thrown, because subdomains.length is not existing:
Sample code:
L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '© OpenStreetMap contributors', subdomains: undefined});

_getSubdomain: function (tilePoint) {
		var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;
		return this.options.subdomains[index];
	},

A other error (Uncaught Error: No value provided for variable {s}) is thrown if template {s} is used and subdomain options is '':
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '© OpenStreetMap contributors', subdomains: ''});

But with subdomains: [''] it works.

Why would you pass subdomains: undefined? It's not a common mistake, and validating every option and argument in case it gets overridden with some wild value would clutter Leaflet beyond measure for not much benefit.

In my usecase the user can add custom Tile to the map. So I allow to add subdomains too.
But if no subdomains entered it is added as undefined.
var subdomains = getValueFromHTML;
    const tileLayer = L.tileLayer(url, {
        attribution: attr ? ATTR_OPENSTREETMAP+' | ' +attr : ATTR_OPENSTREETMAP,
        maxZoom: _maxzoom,
        maxNativeZoom: parseInt(maxNativeZoom),
        tms,
        opacity,
        subdomains
    });

and validating every option and argument [...] some wild value

It is not needed to validate every value but it should be possible to unset a option, especially if it is a option that is not used when the url does not use subdomains / {s}

So I allow to add subdomains too.

So it should be your responsibility - to validate arg.

No because subdomains are optional, so it should be possible to use TileLayer without subdomains, which means subdomains: undefined should be possible.
I don't understand why you always want that the developers should take care of so much things which are so easy to fix. I understand that not every thing should validated in Leaflet and I understand that it is needed to be looked very closely if it makes sense to add it to Leaflet. But in my eyes It's not a common mistake, wild value and your responsibility - to validate are not the right questions / answers for this.
We talking here about a optional option like className, maxNativeZoom, minNativeZoom, crossOrigin, etc. and not something that is required to work with TileLayers.
One line is fixing this: if(!this.options.subdomains) return '';
	_getSubdomain: function (tilePoint) {
		if(!this.options.subdomains) return '';
		var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;
		return this.options.subdomains[index];
	},

Btw. there already validation like this ...
https://github.com/Leaflet/Leaflet/blob/7f47b29b31266329556f59ec5200ed0a7cf8443d/src/layer/tile/TileLayer.js#L139
https://github.com/Leaflet/Leaflet/blob/7f47b29b31266329556f59ec5200ed0a7cf8443d/src/layer/tile/GridLayer.js#L532-L544
https://github.com/Leaflet/Leaflet/blob/7f47b29b31266329556f59ec5200ed0a7cf8443d/src/layer/tile/GridLayer.js#L725

The common use (as I see it) is:
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
    attribution: 'Map data © OpenStreetMap contributors, Imagery © Mapbox',
    maxZoom: 18,
    id: 'mapbox/streets-v11',
    tileSize: 512,
    zoomOffset: -1,
    accessToken: 'your.mapbox.access.token'
}).addTo(mymap);

No issues with subdomains, right?
No let's see your sample:
var subdomains = getValueFromHTML;
    const tileLayer = L.tileLayer(url, {
        attribution: attr ? ATTR_OPENSTREETMAP+' | ' +attr : ATTR_OPENSTREETMAP,
        maxZoom: _maxzoom,
        maxNativeZoom: parseInt(maxNativeZoom),
        tms,
        opacity,
        subdomains
    });

I suppose it's some middleware, plugin or framework, right? It is not end-user code.
So why do not you just pass {subdomains: subdomains or ''}?

One line is fixing this: if(!this.options.subdomains) return '';

I'd better try to fix it in constructor.


FPFC disabling/breaking when watching replays with HideDuringReplay set to true

When launching Beat Saber with FPFC enabled (and Camera2) you lose control over the pointer after watching a replay. This only happens when HideDuringReplay is set to true. I'm on the latest version 1.19.0
My guess is that the issue is caused by invoking this ScoreSaber method here: https://github.com/qe201020335/HRCounter/blob/c7e981be4f7d95a46beba44d4fd9eb7156e6eddd/HRCounter/Utils/Utils.cs#L23

Are you on game version 1.19.0 with the latest mods?
I do see some NullReferenceException throwing around when I press G to reenable FPFC after a replay.
I have fixed it but am not sure whether this is the cause of your problem.
Do you mind using this test version I just built and see if the problem goes away?
HRCounter-1.5.0-bs1.19.0-08725ec.zip

Yup issue gone with that version, thanks for speedy fix!


Update validation trigger to main branch

Solves for #1119, in particular for the validation trigger.

Yet another classic failure on the validation trigger... I wonder why this requests admin privileges if it was able to work properly without those. May the tokens need to be updated? 🤔

Where can you see the failure? 🤔

Where can you see the failure? thinking
@DhruvSondhi

If you click on "Show environments", you will see that the request was rejected because no admin rights.


⚠ Samsung has degraded performance

In d21276e, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2648 ms

Resolved: Samsung performance has improved in 1cf4c05.


Consider restricting attribute keys syntax to identifiers and strings again

BigInt attribute keys (i.e. import "x" with { 10n: "val" }) need to be converted to strings while parsing, to check for duplicate keys. In SpiderMonkey this would require allocating the bigint at parse time, which is something that does not currently happen (the object { 10n: x } is parsed as { [10n]: x }).
The motivation for allowing number&bigint literals in import attribute keys is for symmetry with object literals.

The other thing that I find sort of strange here is that the argument is that we're trying to be symmetric with the object literal version for dynamic import, but the syntax ends up still being a subset of the object literal syntax. For example,
let x = "type"
import "foo" with { [x]: "js"}

won't parse -- IMO having a tighter simpler rule for the WithClause makes more sense than trying to align it with the dynamic import case.

It looks like JSC currently allocates bigints while parsing, but they would like to stop doing so:
https://github.com/WebKit/WebKit/blob/4b27f17f5ade44bc02f5d8707c8140a762bb9253/Source/JavaScriptCore/parser/ParserArena.cpp#L98-L112
V8 allocates bigints while parsing without problems

Also cc @tc39/ecma262-editors, since the keys syntax was relaxed due to feedback from the stage 3 review 🙂

I don't understand the problem. BigInts are only allocated when someone uses them as keys.

(for regular numeric values we have specialized machinery to handle this, but since a bigint is arbitrary precision, we would need the full arbitrary precision comparison)

Forgive me if i don't understand some nuance of parsers, but if it's successfully parsed as a bigint, you can't just remove the _s and compare literal source text to see if it's the same?

@ljharb No, the BigInt grammar is not canonicalising. 0xFFn === 255n

Regardless, though, I am skeptical of the claim that a parser must instantiate an actual JS BigInt to be able to detect duplicate keys. You don't need to allocate an actual BigInt to compute BigInt::toString.

It's definitely possible in principle. Seems like an awful lot of work to ask of implementations for something which isn't ever actually going to be used, though.

Just implemented an attributes parser, with numeric literal support. I was surprised it was there. Just some thoughts:

BigInt support adds no value. If you need a numeric key, you can get it with a standard number or a string.
There is precedent in modules of designing the (static) syntax specifically for easy parsing. It could be argued that a more restricted syntax maintains alignment with the established precedent.

I don't have strong feelings. Following this so my parser can stay aligned with whatever happens.


Enable automatic tagging

e.g. folly, proxygen, and (formerly) Thrift are given consistent tags weekly by TagIt.
As HHVM depends on the whole lot, these tags are useful for updating first-party dependencies.
Given that Proxygen now depends on fb303, it would be useful for HHVM if fb303 had these tags rather than having to manually find a roughly-corresponding rFBS, then a roughly corresponding github commit for it.

Do it.
Closing the public issue because this is related to internal config.


nixos/nixpkgs: Don't check when _module.args.pkgs is set

Description of changes
This solves a previously unsolved problem:

determining whether _module.args.pkgs
is defined elsewhere does not seem feasible.

Fixes at least part of the problem experienced here https://github.com/NixOS/nixpkgs/pull/237427#issuecomment-1588463480
Changes:

Add a function to give access to priority values for the individual attributes of an attrsOf option.
Handle _module.args.pkgs = lib.mkForce foo correctly in the NixOS nixpkgs.nix module assertions.
Make it so that finalPkgs isn't evaluated when an override like previous point is set.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

This appears to be more urgent than I have previously assumed. Meanwhile the only person I'd expect to be able to readily review this is @infinisil who I believe is either on holiday or preparing to leave now. (I'll be happy to address anything that I might have missed)
Things being what they are, I will take the responsibility to merge this, as leaving the problem unsolved for an extended amount of time would be more harmful than the small risk of introducing a bug with this.
I've review this code myself after a week of it being up for review. Not great, but better than nothing.
If my self review proves to be mistaken, feel free to revert this PR if that solves your problem.


Debug deosn't work

I get this error when trying to do Start/Continue:
~/temp/test/./build/debug/test returned: -1

How to make the debug run?

Try add a breakpoint before your program returns -1.

My program is like this, where my breakpoint is set at the Hello World! line.
#include <iostream>

int main() {
  std::cout << "Hello World!\n" << std::endl;
  std::cout << "Goodbye World!\n" << std::endl;
  return 0;
}

The error in complete is
Compiling and debugging ~/temp/test/./build/debug/test
Scanning dependencies of target test
[ 50%] Building CXX object CMakeFiles/test.dir/main.cpp.o
[100%] Linking CXX executable test
[100%] Built target test
Error (debug): process exited with status -1 (unable to attach)
~/temp/test/./build/debug/test returned: -1

What OS are you using? Try google: lldb unable to attach
It might be an OS X issue (if you are using OS X).

Yes I'm running macOS.
I resolved this by /usr/sbin/DevToolsSecurity --enable and restart my machine.
Thanks!


Fix data corruption/mangling in DeviceCommissioner::SendOperationalCertificate

Problem
What is being fixed?

fixes TODO in DeviceCommissioner::SendOperationalCertificate, which was corrupting the op cert and failing to send the ICA cert
Fixes #6877

Change overview
What's in this PR
DeviceCommissioner::SendOperationalCertificate now correctly sends both the op cert and the ICA cert. Previously it was corrupting them both, thinking that TempZCL protocol needs to be supported which has a 255 byte limitation. TempZCL protocol is not involved here, the code uses Interaction Model exclusively which ends up in OperationalCredentialsCluster::AddOpCert which already does the right thing when the byte span is larger than 255 bytes.
Testing
How was this tested? (at least one bullet point required)

tested manually by sending more than 255 bytes per certificate and verifying the following:
certs are not split (previously op cert was split)
both certs are sent (previously ica cert was ignored)

@pan-apple please take a look, thanks

@bluebin14 , thanks for putting up the PR. I think we should also update the code in the following function. That's the server side, which has the logic to reassemble the split certificate. Even though the current code will work, but eventually we'll send ICA certificates as well. That'll break the flow, as it'll try to combine the op cert and ICA cert buffers.
bool emberAfOperationalCredentialsClusterAddOpCertCallback(chip::app::Command * commandObj, chip::ByteSpan NOC,
                                                           chip::ByteSpan ICACertificate, chip::ByteSpan IPKValue,
                                                           chip::NodeId CaseAdminNode, uint16_t AdminVendorId)
```

@pan-apple yes, right now the server side is not affected by this change even though the server indeed does strange things: if ica is  used (eventually) then emberAfOperationalCredentialsClusterAddOpCertCallback combines the 2 certs into an unparseable tlv and passes the blob as 1 certificate to SetOperationalCert which will of course fail. It seems there are lot of todo's there. This here only removes the imaginary 255 byte limitation on the client side.


dont change nav state if we disconnect/reconnect / the daemon

notice this while debugging some nav modal stuff
if the daemon dies and starts up again, the act of bootstrapping over will cause us to fire a switchToLogin(out) without checking if we're already logged in/out. This causes the nav stack to thrash and you to lose your state. Instead we check and ignore

To test just launch desktop, switch to another tab, kill daemon. it'll go back to people.
after it'll stay


Choose which list an anime/manga will placed after adding

A setting that would enable the user to chose on which list the anime goes after its added. For now, it goes to the "watching" list, but i would prefer for it to go to the "plan to watch". That would be great.

I've been missing this! A welcome addition.


Improve the sockaddr interface:

All sockaddr newtypes should be repr(transparent)
All sockaddr newtypes should be opaque, so the user can't do something
like change the sa_family field in a way that violates invariants.

This is a prerequisite for #1544.

bors r+


Update az vm image accept terms command /  Use primary/secondary keywords in A/A auto-scale config

A few changes to README.md

Update existing az CLI command for az vm image accept-terms to change deprecated accept-terms to terms accept
Update existing az CLI command for az vm image accept-terms to change skufortinet_fg-vm_payg_20190624 to fortinet_fg-vm_payg_2022
Update A/A configs to use primary and primary-ip instead of master and master-ip
Update A/A configs to use set role secondary

Thanks for the updates.


GLAD adapter and dataset accessor

Closes #61.

[x] Adapter

[x] Implementation
[x] Docs

[x]  Dataset

[x] Implementation
[x] Docs
[x] Test

Thanks for reviewing; will merge.


Home Screen - Implement Design from Figma

closed in https://github.com/sopra-fs23-group-37/client/commit/75b07f63dcb5b701d0dfa7feb0b89169837b7055


Allow terminal environment to be set when created via extension API

/cc @dbaeumer we'll need this for tasks in an extension
/cc @daviwil

Sweet, thanks!

Opening to PRs, the ideal change would plum through a new option in the terminal API "env" which includes additions to the environment. You can look a search on "waitOnExit" to see most of the places that need to change https://github.com/Microsoft/vscode/search?l=TypeScript&q=waitOnExit&type=&utf8=✓

@Tyriar we might to think about this in the light of tasks being API now. If a extension other could execute a task programmatically then all is there. A task can already specify its env.

@dbaeumer I know that [platformio]](http://platformio.org/) needs this, going through tasks is more restrictive that the terminal so they probably wouldn't want to do that.

Hi all,
Ivan from @PlatformIO. Thanks a lot for your work!

A task can already specify its env.

That is the first with which I stuck. We can't define custom environment variables in tasks.json per each task or as common for all. Again, we use some hook for that.

A custom environment for built-in Terminal is very important. We use dirty hook now. vscode.window.createTerminal('PlatformIO', env=dict) would be good!

@dbaeumer do you have a link to the new task contribution extension API?

Was in vscode.proposed.d.ts in 1.12 and is now in vscode.d.ts. See https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts#L3766
It still might change until we ship 1.1.3

I see we're deferring it. @ivankravets you might find this new API useful in an upcoming version https://github.com/Microsoft/vscode/commit/e98c09c842df5a045f52386246a860c530945d9d

Is possible to subscribe to onDidTaskRun()? Where would be an ability to catch up some tasks and perform some operations. We have do and post callbacks in Atom Build.
Simple use case. User open Serial Monitor via integrated Terminal, we see it. He triggers "Upload" task, we temporary close opened Serial Port Monitors/Terminals, then uploading firmware. If a task fails with an error, we don't re-open Monitor. However, if the upload was successful, we re-open last Serial Port Monitor.
Thanks for the hints!

@ivankravets currently not but this is definitely something we can provide. Could you open an issue please.

@dbaeumer Thanks, done! https://github.com/Microsoft/vscode/issues/29855

@dbaeumer @ivankravets @dbaeumer hi all, @ramya-rao-a put together a PR for this https://github.com/Microsoft/vscode/pull/30352. We were thinking that the new env option in the API should add to the current environment rather than replace it. Wanted to get some opinions here because adding to the environment would certainly be more convenient for the vast majority of cases but we're just worried that people may need to remove keys from the environment. Does adding to the current environment cover your use cases?

I currently merge / override the environments. This doesn't let you remove an value. We could say if a value is undefined it means to remove.

My proposition:

options.evs accepts dictionary (key/value object)
Terminal iterates over these keys and REPLACE all occurences in the current process.env which later will be used by terminal instance
I like this @dbaeumer "We could say if a value is undefined it means to remove."

P.S: We should be able not only to override some environemnt variable but also to remove it (set to null/undefined).
Thanks!

@dbaeumer @ivankravets I like it :smile: @ramya-rao-a let's go additive but if the key exists and it's falsy, remove the key from the environment (note this in the API jsdoc).

How to use it with 1.18.0?
vscode.window.createTerminal('PlatformIO', constants.IS_WINDOWS ? 'cmd.exe' : null, [], { TEST: 13 });

Does not work.

@ivankravets
code.window.createTerminal({name: 'PlatformIO', shellPath: constants.IS_WINDOWS ? 'cmd.exe' : null, [], { TEST: 13 }}

@ramya-rao-a Thanks, it works now!


LIS-NoahMP.4.0.1 irrigation routine groundwater extraction issue

For NoahMP.4.0.1, the irrigation routine is not extracting groundwater for irrigation when the extraction option is on. I will submit a pull request to resolve this issue.

Hi @KathyNie, was this issue resolved in #777?


BUG: dnrm2 basic failures on a subset of platforms (observed in SciPy)

We recently experimented with bumping SciPy OpenBLAS version used in wheels from a pretty old version (v0.3.20-571-g3dec11c6) to 0.3.26 stable release in https://github.com/scipy/scipy/pull/20215, in the hopes of fixing the reproducer in https://github.com/scipy/scipy/issues/16930, which can be summarized as the following test, which we should perhaps adjust to be a tractable C-level test in this project:
def test_gh_169309():
    x = np.repeat(10, 9)
    actual = scipy.linalg.blas.dnrm2(x, 5, 3, -1)
    expected = math.sqrt(500)
    assert_allclose(actual, expected)

Bumping to 0.3.26 appeared to fix the issue on x86_64 Linux, but not on some other platforms, including MacOS ARM and Linux aarch64. In both cases, looks like actual ends up as 0..
I could probably help draft in the regression test if you tell me where to put it, but I'm unlikely to have the expertise to provide the fix.

I think I only have evidence for failure on two architectures:

MacOS M series (ARM)
Linux ARM/aarch64

Is that Linux aarch64 across the range of processors ? And 32-bit ARM as well, or just aarch64 ? Offhand i see no similar early exit in the assembly kernel for the Cortex cpu models

Is that Linux aarch64 across the range of processors ?

I think we only test with one native 64-bit ARM hardware for Linux aarch64, and it would be whatever the Cirrus CI service uses by default for ARM Linux. Looking at the log, we do call some OpenBLAS info stuff in case that helps:
python /project/tools/openblas_support.py --check_version
OpenBLAS get_config returned b'OpenBLAS 0.3.26 DYNAMIC_ARCH NO_AFFINITY neoversen1 MAX_THREADS=64'
b'OpenBLAS 0.3.26'

python -c 'import openblas_support; print(openblas_support.get_plat())'
PLATFORM=linux-aarch64

And 32-bit ARM as well, or just aarch64 ?

Only the 64-bit ARM hardware is tested/distributed binaries by SciPy.

Cortex cpu models

Not sure I even have access to that, don't see it at https://portal.cfarm.net/machines/list/ for example.

ok, Neoverse N1, Apple M and ThunderX2 share the same nrm2 kernels for which I've already posted the PR. Cortex (typical phone cpus) should be unaffected I think

https://github.com/OpenMathLib/OpenBLAS/pull/4554 proposes a small addition to the test suite with a regression test.


reinforceAttack Bug

Hi Cocco,
As discussed, I have tried the new reinforceAttack on my latest loot and I am getting this error.
Traceback (most recent call last):

  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,

  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)

  File "/home/ec2-user/crabada-niko/bin/looting/reinforceAttack.py", line 28, in <module>
    nReinforced = reinforceAttack(userAddress)

  File "/home/ec2-user/crabada-niko/src/bot/looting/reinforceAttack.py", line 40, in reinforceAttack
    strategyName = user.getTeamConfig(mine["team_id"]).get("reinforceStrategyName")

AttributeError: 'NoneType' object has no attribute 'get'

I encountered this error before when running the reinforceDefense script when a team that is mining is not added to the roster of teams in the .env file.
With this looting wallet, I have only 1 team. So I am not sure why I am encountering this error.
Upon manual reinforcement, the script can read that the user does not need reinforcements.
src.common.logger - INFO - No loots to reinforce for user 0x123456

I tried manually reinforcing, do you think this could be the error?

Hi Cocco,
I was able to fix the issue by replacing strategyName = user.getTeamConfig(mine["team_id"]).get("reinforceStrategyName") with strategyName = user.getTeamConfig(mine["attack_team_id"]).get("reinforceStrategyName")

Hey  @nikohd12 , good find! That's a subtle bug, I just pushed the change 👍
I have created a new issue concering the failed tx on reinforceAttack, please feel free to contribute > https://github.com/coccoinomane/crabada.py/issues/12
Cheers,
Cocco


Does not work with Firmware Firmware-Version: <IP_ADDRESS>.EURO.SIP

Hi. Currently the script is not working with Firmware Version
Firmware-Version: <IP_ADDRESS>.EURO.SIP (which looks very similar to an already supported version despite of the SIP at the end)

Hello,
I use <IP_ADDRESS>.EURO.SIP and its working?
Regards,
fse

Hello,
I use <IP_ADDRESS>.EURO.SIP and its working?
Regards,
fse

@Bruceforce did you have a chance to test it again?
If it's still not working could you tell me the output to the console that you receive? Unfortunately I don't have that specific version here to test, but with the console output I could at least see at which point it breaks.

@Bruceforce did you have a chance to test it again?
If it's still not working could you tell me the output to the console that you receive? Unfortunately I don't have that specific version here to test, but with the console output I could at least see at which point it breaks.

Hi. Just tested again with the latest docker Image. Output attached.
Traceback (most recent call last):

  File "/usr/src/app/arris-tg3442-reboot.py", line 89, in <module>

    modem = login(session, url, username, password)

  File "/usr/src/app/arris-tg3442-reboot.py", line 33, in login

    modem = get_firmware_handler(soup)

  File "/usr/src/app/firmware.py", line 25, in get_firmware_handler

    raise NotImplementedError("Did not detect any known firmware version - please open a GitHub issue with your firmware version")

NotImplementedError: Did not detect any known firmware version - please open a GitHub issue with your firmware version

Hi. Just tested again with the latest docker Image. Output attached.
Traceback (most recent call last):

  File "/usr/src/app/arris-tg3442-reboot.py", line 89, in <module>

    modem = login(session, url, username, password)

  File "/usr/src/app/arris-tg3442-reboot.py", line 33, in login

    modem = get_firmware_handler(soup)

  File "/usr/src/app/firmware.py", line 25, in get_firmware_handler

    raise NotImplementedError("Did not detect any known firmware version - please open a GitHub issue with your firmware version")

NotImplementedError: Did not detect any known firmware version - please open a GitHub issue with your firmware version

Hi,
I pushed a new docker image with the tag sip. Could you give that a try?
docker pull floriang89/arris-tg3442-reboot:sip
Thansk!

Hi,
I pushed a new docker image with the tag sip. Could you give that a try?
docker pull floriang89/arris-tg3442-reboot:sip
Thansk!