Crash if LabView exits close to --kill-timeout

Description
There seems to be some race condition where G-Cli receives the Process.Exited event but still manages to find the PID once it checks if it's still running with Process.GetProcessesByName
Test snippet to replicate
Run it with
g-cli --verbose --kill --lv-ver 2017 --timeout 240000 "RunMe.vi" -- 10000 9300
Where the first argument is some kind of fake time that the VI is "busy" and the second is the time that the VI should wait between sending the G-CLI Exit message and closing the LabView process.
Note: There was some finetuning of the two delays before it could be replicated.
First I adjusted the "9300" time to find a spot where it is very close to being "killed" by G-Cli, but still manages to shut down before it happens.

Output when running from CMD:
g-cli --verbose --kill --lv-ver 2017 --timeout 240000 "RunMe.vi" -- 10000 9300
G CLI Started - Verbose Mode
Version <IP_ADDRESS> 64-Bit
G CLI Arguments: --verbose --kill --lv-ver 2017 --timeout 240000 RunMe.vi
Arguments passed to LabVIEW: 10000 9300
Current Version: 2017 SP1, 32bit
Detected LabVIEW versions:
2017 SP1, 32bit(C:\Program Files (x86)\National Instruments\LabVIEW 2017\)
2019 SP1 f4, 32bit(C:\Program Files (x86)\National Instruments\LabVIEW 2019\)
2017 SP1, 64bit(C:\Program Files\National Instruments\LabVIEW 2017\)
Launching Program:
C:\Program Files (x86)\National Instruments\LabVIEW 2017\LabVIEW.exe "RunMe.vi" -unattended -- -p:64859
LabVIEW/App started, process ID is 6828
Waiting for connection on port 64859
Client Connected
Simulated VI run time 10000 ms
Delay after G-CLI exit 9300 ms
Time remaining 10 s
Time remaining 9 s
Time remaining 8 s
Time remaining 7 s
Time remaining 6 s
Time remaining 5 s
Time remaining 4 s
Time remaining 3 s
Time remaining 2 s
Time remaining 1 s
Received Exit Code 0
Forcing LabVIEW to terminate in 10000ms if it doesn't close.
Forcing LabVIEW to terminate...
LabVIEW process exited. Checking for process switch
LabVIEW still found with PID 6828

Unhandled Exception: System.InvalidOperationException: Cannot process request because the process (6828) has exited.
   at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
   at System.Diagnostics.Process.OpenProcessHandle(Int32 access)
   at System.Diagnostics.Process.set_EnableRaisingEvents(Boolean value)
   at G_CLI.LvLauncher.Process_Exited(Object sender, EventArgs e)
   at System.Diagnostics.Process.OnExited()
   at System.Diagnostics.Process.RaiseOnExited()
   at System.Diagnostics.Process.get_HasExited()
   at G_CLI.LvLauncher.Kill()
   at G_CLI.Program.Main(String[] args)

Thanks for the report!
I think your explanation makes sense and I'll have to look what I can do. Unfortunately, as we don't have full control over the LabVIEW process I'm not sure what the solution is likely to be but definitely detecting that case and acting more gracefully would be good.

No worries!
I'm not too familiar with C Sharp, but I had a look and there was something in the Process class that mentioned caching its properties.
So perhaps this line https://github.com/JamesMc86/G-CLI/blob/9bbeb28d801d05c9f48bfe67b1461e87fd579db7/C Sharp Source/LabVIEW CLI/LvLauncher.cs#L207 is getting some old information?
Once again, not a C sharp programmer 😄

@JamesMc86 I have also started seeing the same issue recently - it seems to be quite intermittent but has started to cause quite a few of our builds to fail when running unit tests. For us though it isn't an issue with the --kill-timeout flag as we're not using it.
[UNIT TEST] Running Unit Tests (JKI VI Tester) in 'c:\jenkins\workspace\Vaya_PR-264\Source Code\Hermes.lvproj'.
[UNIT TEST] Report Path: c:\jenkins\workspace\Vaya_PR-264\Builds\Unit Test Reports\Unit Test Report.xml
[UNIT TEST] Unit Tests Passed.
[UNIT TEST] Duration: 604s

Unhandled Exception: System.InvalidOperationException: Cannot process request because the process (5012) has exited.
   at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
   at System.Diagnostics.Process.OpenProcessHandle(Int32 access)
   at System.Diagnostics.Process.set_EnableRaisingEvents(Boolean value)
   at G_CLI.LvLauncher.Process_Exited(Object sender, EventArgs e)
   at System.Diagnostics.Process.OnExited()
   at System.Diagnostics.Process.RaiseOnExited()
   at System.Diagnostics.Process.get_HasExited()
   at G_CLI.LvLauncher.Kill()
   at G_CLI.Program.Main(String[] args)

Thanks Sam. I'll move this up my priorities as it should be simple enough to supress.

Thanks Sam. I'll move this up my priorities as it should be simple enough to supress.

Great, thanks James - if you want me to try/test an updated build to see if it fixes the issue then I'd be happy to - you know how to reach me. I do think there might be a workaround on the Jenkins side to suppress that particular exit code/message?

I've taken a look at fixing this and it isn't quite as obvious as I had hoped. The error happens in an event callback triggered by the closing of the process.
Because I'm getting close to replacing the C# anyway (I'm hoping to have a pre-release version by the end of the month) I'm reluctant to spend time on this to be honest. If anything delays that process though I will come back to this.


is-invalid和is-valid不生效？

Can you write on English ?

Anjianwei means:

is-invalid and is-valid do not work

I think that the course he used is the same as mine.  Here is my new_topics.html :
<form method="post" novalidate>
  {% csrf_token %}

  {% for field in form %}

      {{ field.label_tag }}

      {% if form.is_bound %}
        {% if field.errors %}

          {% render_field field class="form-control is-invalid" %}
          {% for error in field.errors %}

              {{ error }}

          {% endfor %}

        {% else %}
          {% render_field field class="form-control is-valid" %}
        {% endif %}
      {% else %}
        {% render_field field class="form-control" %}
      {% endif %}

      {% if field.help_text %}

          {{ field.help_text }}

      {% endif %}

  {% endfor %}

  <button type="submit" class="btn btn-success">Post</button>
</form>

The result is this:

But what I suppose is:

Thank you so much.

Anjianwei means:

is-invalid and is-valid do not work

I think that the course he used is the same as mine. Here is my new_topics.html :
<form method="post" novalidate>
  {% csrf_token %}

  {% for field in form %}

      {{ field.label_tag }}

      {% if form.is_bound %}
        {% if field.errors %}

          {% render_field field class="form-control is-invalid" %}
          {% for error in field.errors %}

              {{ error }}

          {% endfor %}

        {% else %}
          {% render_field field class="form-control is-valid" %}
        {% endif %}
      {% else %}
        {% render_field field class="form-control" %}
      {% endif %}

      {% if field.help_text %}

          {{ field.help_text }}

      {% endif %}

  {% endfor %}

  <button type="submit" class="btn btn-success">Post</button>
</form>

The result is this:

But what I suppose is:

Thank you so much.

you use add_required_class  https://github.com/jazzband/django-widget-tweaks#add_required_class

Thank you very much.You helped me a lot。
------------------ 原始邮件 ------------------
发件人: "Andres<EMAIL_ADDRESS>发送时间: 2020年2月23日(星期天) 凌晨3:04
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [jazzband/django-widget-tweaks] is-invalid和is-valid不生效？ (#91)
Anjianwei means:
is-invalid and is-valid do not work
I think that the course he used is the same as mine. Here is my new_topics.html :
But what I suppose is:
Thank you so much.
you use add_required_class  https://github.com/jazzband/django-widget-tweaks#add_required_class
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Add Form.getraw method

Codecov Report

Merging #4 (a24a76d) into master (f410bf8) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #4   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines          115       137   +22
=========================================
+ Hits           115       137   +22

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

form.lua
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


MM-29002: Rollback unaccent creation if it fails

Summary
A failure in the creation of the unaccent extension should not abort the transaction. This commit creates a savepoint just before the attempt of creating it and, if that fails, it rolls back to it.
I also changed the log.Errorf for a log.Warnf.
Ticket Link
https://mattermost.atlassian.net/browse/MM-29002

Codecov Report

Merging #294 into master will decrease coverage by 0.08%.
The diff coverage is 22.22%.

@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
- Coverage   49.48%   49.40%   -0.09%
==========================================
  Files          18       18
  Lines        2243     2251       +8
==========================================
+ Hits         1110     1112       +2
- Misses        969      974       +5
- Partials      164      165       +1

Impacted Files
Coverage Δ

server/sqlstore/migrations.go
75.53% <22.22%> (-3.09%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1db589c...1d4bbf4. Read the comment docs.

After an offline discussion with @lieut-data, we decided to close this PR in favour of a new one completely removing the extension.


Feature request: Optional attributes of an HTML tag

Is your feature request related to a problem? Please describe.
Sometimes I would like to have an optional attribute in an HTML tag.
For example, when I have a value href of type Option<String>, and want to use it as an optional attribute of an , I have to write
if let Some(href) = href {
    html! {  }
} else {
    html! {  }
}

When I have multiple optional attributes within one tag, the code will grow exponentially.
Or alternatively,
let mut a = html! {  };
if let Some(href) = href {
    if let yew::virtual_dom::VNode::VTag(tag) = &mut a {
        tag.add_attribute("href", href);
    }
}
a

This code won't grow exponentially, but it is even less ergonomic.
I'm not sure if there is a simpler way to do this.
Describe the solution you'd like
Can we simply write something like this?
html! {  }

I think, that ? is unnecessary. Why just not allow Option<T> instead of T as attribute value and do not render attribute if option contains None?

You're right, it's not strictly necessary. We could use Into<Option<T>> for the attributes which would allow attr=value, attr=None, and attr=Some(value) but using the question mark syntax does give as a few more options.
For example, not all attributes can be optional (key, ref, boolean attributes). When using the question mark syntax we can emit a custom error message for these cases like "attribute does not support being used as an optional attribute". The same is not possible without it, we'd have to trust that the user understands the somewhat cryptic Rust error.
The question mark syntax also allows us to distinguish between always-present and optional attributes at compile-time which we can use to optimize the two independently.

For error messages seems reasonable


Add a reference to the science blog (Closes #1605)

This PR adds a reference to the science blog to the FAQ entry "data_donation_and_EDUS".

Preview of the changes

English
German

Closes #1605

@Ein-Tim I will wait for @MikeMcC399 's verdict before merging, since he opened the issue.

@dsarkar

I will wait for @MikeMcC399 's verdict before merging, since he opened the issue.

In fact @Ein-Tim opened the issue https://github.com/corona-warn-app/cwa-website/issues/1605, but I checked anyway and it looks fine to me!

@Ein-Tim @MikeMcC399 ;-) Thanks.


🪲 Reports generator script not functioning. Stating it is outdated

The reports generator script is giving an error stating that " This version of the script is outdated. Please use a more recent version of the script"

@cepomerl - That message means the scripts that you are using are old. Could you re-download the latest scripts and use it.
To get the latest scripts:
iwr https://aka.ms/aprl/tools/1 -out 1_wara_collector.ps1
iwr https://aka.ms/aprl/tools/2 -out 2_wara_data_analyzer.ps1
iwr https://aka.ms/aprl/tools/3 -out 3_wara_reports_generator.ps1

Thanks @tksh164! @cepomerl, closing this based upon @tksh164's response, but feel free to re-open if you are still running into the same issues after updating to the latest scripts.


New layout for proto definitions and generated files

Which problem is this PR solving?

Part of #904

Short description of the changes

Split api_v2.proto into respective services - collector and sampling(manager)
Generate grpc stubs and gateway code from these files
Generate unified swagger.json from the multiple proto definitions

It seems you're using different versions of protoc or the plugins. When I run make proto in your branch, I am getting
F0317 17:20:48.457874   52156 main.go:63] Error parsing flags: Cannot set flag allow_merge=true: no such flag -allow_merge
goroutine 1 [running]:
github.com/jaegertracing/jaeger/vendor/github.com/golang/glog.stacks(0xc0001e0300, 0xc00019a9c0, 0x7b, 0xd0)
	/Users/yurishkuro/golang/src/github.com/jaegertracing/jaeger/vendor/github.com/golang/glog/glog.go:769 +0xd4
github.com/jaegertracing/jaeger/vendor/github.com/golang/glog.(*loggingT).output(0x144a060, 0xc000000003, 0xc0000ab130, 0x142ac7a, 0x7, 0x3f, 0x0)
	/Users/yurishkuro/golang/src/github.com/jaegertracing/jaeger/vendor/github.com/golang/glog/glog.go:720 +0x329
github.com/jaegertracing/jaeger/vendor/github.com/golang/glog.(*loggingT).printf(0x144a060, 0x3, 0x1262354, 0x17, 0xc00013dda8, 0x1, 0x1)
	/Users/yurishkuro/golang/src/github.com/jaegertracing/jaeger/vendor/github.com/golang/glog/glog.go:655 +0x14b
github.com/jaegertracing/jaeger/vendor/github.com/golang/glog.Fatalf(0x1262354, 0x17, 0xc00013dda8, 0x1, 0x1)
	/Users/yurishkuro/golang/src/github.com/jaegertracing/jaeger/vendor/github.com/golang/glog/glog.go:1148 +0x67
main.main()
	/Users/yurishkuro/golang/src/github.com/jaegertracing/jaeger/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/main.go:63 +0x82e
--swagger_out: protoc-gen-swagger: Plugin failed with status code 255.
make: *** [proto] Error 1

allow_merge should be available from v1.4.1 - https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.4.1

I'm not sure why the PROTO-GEN-TEST is failing on Travis because I'm running v3.6.1 of protoc on my macbook too and these are the exact files it generates

You need to run "make proto-install" before generating, to ensure the right versions of plugins.

good stuff!

Thanks! 😄
PS: Does this fix #904?

Thanks for the ping, yes I believe it does.


Redis Rate Limiter works abnormally when multiple instances of gateway

I can reproduce issue #351.
config as below:
spring:
  cloud:
      gateway:
        routes:
          - id:  api-c
            uri: lb://hello-service
            predicates:
            - Path=/api-c/**
            filters:
            - name: RequestRateLimiter
              args:
                key-resolver: '#{@remoteAddrKeyResolver}'
                redis-rate-limiter.replenishRate: 8
                redis-rate-limiter.burstCapacity: 10
  redis:
    host: localhost
    port: 6379

case1:
1.I deployed for server.port=1107 instance
2.I sent 30 requests in 1s.
for (( i = 0; i < 30; i=(i+1))); do
curl -I http://localhost:1107/api-c/
done

3.The result is expected.
RedisRateLimter works well. The requests from 11th to 30th response 409.
The value of "X-RateLimit-Remaining" is decreased from 9 to 0.
case2:
1.I deployed for server.port=1107 and server.port=1108 instances
2.I sent 30 requests for the 2 instances in 1s.
for (( i = 0; i < 30; i=(i+1))); do
curl -I http://localhost:1107/api-c/
curl -I http://localhost:1108/api-c/
done

3.Result is not expected.
RedisRateLimter doesn't work well. There are few requests responsed 409.
The value of "X-RateLimit-Remaining" is  not decreased, but 8 or 9 as below.
HTTP/1.1 200 OK
transfer-encoding: chunked
X-RateLimit-Remaining: 8
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-type: text/html;charset=utf-8
Content-Length: 0

HTTP/1.1 200 OK
transfer-encoding: chunked
X-RateLimit-Remaining: 9
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-type: text/html;charset=utf-8
Content-Length: 0

HTTP/1.1 200 OK
transfer-encoding: chunked
X-RateLimit-Remaining: 8
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-type: text/html;charset=utf-8
Content-Length: 0

I am not sure that #{@remoteAddrKeyResolver} is actually unique enough when you have two instances running on the same machine.  It might not include the port as you would expect.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

RemoteAddrKeyResolver.java is below.
public class RemoteAddrKeyResolver implements KeyResolver {
    public static final String BEAN_NAME = "remoteAddrKeyResolver";

    @Override
    public Mono<String> resolve(ServerWebExchange exchange) {
        return Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress());
    }

}

The unique key is the client's ip.
All requests were from one client(for example its' ip is <IP_ADDRESS>) and I confirmed it in redis.
client1(<IP_ADDRESS>)--->server1<-->redis1
client1(<IP_ADDRESS>)--->server2<-->redis1

So you have two instances of the gateway deployed both pointing to the same redis instance?  Is there a load balancer sitting infront of the gateway instances?

So you have two instances of the gateway deployed both pointing to the same redis instance?
[zzymaggei]Yes, 1107 and 1108 instance.
Is there a load balancer sitting infront of the gateway instances?
[zzyymaggie]No. Besides, I added a nginx in front of the two gateway instances, the result was the same with before.

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

I have updated the demo in my github. springcloud-gateway-demo
Please refer to it.
Thanks a lot.

I would imagine there is some level of race condition here on both gateways trying to access and update information in redis.  As one server is handling a request another can come into the other server around the same time before the first updates the information in redis, hence you might see stuff like this
HTTP/1.1 404 Not Found
transfer-encoding: chunked
X-RateLimit-Remaining: 9
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-Type: application/json;charset=UTF-8
Date: Tue, 25 Jun 2019 23:40:46 GMT
Content-Length: 0

HTTP/1.1 404 Not Found
transfer-encoding: chunked
X-RateLimit-Remaining: 9
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-Type: application/json;charset=UTF-8
Date: Tue, 25 Jun 2019 23:40:46 GMT
Content-Length: 0

I would imagine there is some level of race condition here on both gateways trying to access and update information in redis. As one server is handling a request another can come into the other server around the same time before the first updates the information in redis, hence you might see stuff like this
HTTP/1.1 404 Not Found
transfer-encoding: chunked
X-RateLimit-Remaining: 9
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-Type: application/json;charset=UTF-8
Date: Tue, 25 Jun 2019 23:40:46 GMT
Content-Length: 0

HTTP/1.1 404 Not Found
transfer-encoding: chunked
X-RateLimit-Remaining: 9
X-RateLimit-Burst-Capacity: 10
X-RateLimit-Replenish-Rate: 8
Content-Type: application/json;charset=UTF-8
Date: Tue, 25 Jun 2019 23:40:46 GMT
Content-Length: 0

Yes, I think so. So if we could distinguish different clients in request_rate_limiter.lua to avoid race condition. Looking forward to your reply.

FWIW it's indeed a race condition. The script will retrieve the stored amount of available requests, do some computation and then update the result which is more error prone to multiple threads.
Redis supports the INCR command to increment the value on the database and return the newly incremented value. Looking at the docs it has some examples and the rate limiter pattern is one of them.
I'll try to come up with a usable alternative using this command in order to have some better - not flawless - handling of multiple threads/instances.

@TYsewyn Thanks for your research. Looking forward to your new solution.

Ok, so I stand corrected. After some researching and having discussions with others this is not a race condition. The Lua script is executed on the server in an atomic way, meaning that all commands from all connections/clients are on hold until the complete Lua script has been executed.
The problem resides in the provided bash script. It's waiting until you got a response from the downstream service - time that will also be used by the rate limiter to catch up - so you're not really stress/load testing it.

The results I got when we have a burst of 10 RPS and a fill rate of 8 RPS (or 1 additional request each 125ms):

30 RPS, no delay: first 10 requests are allowed, other 20 are not
30 RPS, 50ms delay between requests: at least 10 are succeeding, with the first 10 being a certainty
30 RPS, 200ms delay between requests: all request are allowed

You also need to take latency into account, as well as execution time.
Consider the following setup: Browser --> nginx --> SCG
If you're testing this flow with the configuration above (10RPS burst, 8RPS replenish) and you're having 50ms between each request, it might be that the 11th call also succeeds.
That's because the delay between the 2 requests will be 50ms + latency browser -> nginx + execution time nginx (eg. load balancing) + latency nginx -> SCG + execution time SCG (eg. some filters which might be applied before the rate limiting downstream).
The current implementation of the rate limiter is based on the amount of seconds between 2 calls, and not the amount of milliseconds. This also creates an impact. Although the difference in time between 2 calls might only be 70ms, if the amount of seconds since the epoch changes, the replenishment will kick in and you might see a different result than what you would expect.
I hope this clarifies the behaviour that you've seen.
If you still have questions about this, don't hesitate to reach out! :)

@TYsewyn Thanks for your detail research and descritption. I knew the root cause and verified again and found the limit rate was right. Thanks again.
for (( i = 0; i < 30; i=(i+1))); do
curl -I http://localhost:1107/api-c/ &
curl -I http://localhost:1108/api-c/ &
done


Help with the explanation of some dart arguments in flutter-app.inc

Hello, I'm the guy who is maintaining the flutter packages for Buildroot and I noticed I was missing a few dart arguments. I have made patches found here: https://patchwork.ozlabs.org/project/buildroot/list/?series=382808 and I had a few questions specifically about:
<EMAIL_ADDRESS>I don't think my explanation of the dart arguments is correct, and the git log for flutter-app.inc is quite light. Specifically "-dart plugin registrant called in all cases with --obfuscate enabled"
I did some searching around the internet and source code of flutter-engine and I really don't understand why the following arguments are needed/what they actually do, and I am hoping you will be so kind as to share your knowledge with me, as it is clear that, at least for flutter-gallery, that the following dart arguments are mandatory:
'--source file://{dart_plugin_registrant_file}'
'--source package:flutter/src/dart_plugin_registrant.dart'
'-Dflutter.dart_plugin_registrant=file://{dart_plugin_registrant_file}'

If I try to build flutter-gallery with any of those three missing it fails to start.
So on to my questions:

What is the dart_plugin_registrant.dart file and what does it do?
What do those three arguments do when called by dart?

Bonus question about native_assets.yaml:

When/why is it created?
Why do some applications require the --native-assets flag passed to dart?

Any help would greatly be appreciated! Thank you so much!
Adam

Hi Adam,
The dart_plugin_registrant.dart is generated during flutter build bundle.
Try searching flutter and dart SDK issues.  It illustrates the how the --source flag came into flutter.  There is nothing more I have found.
I raised a flutter issue where in some cases vm:entry does not work correctly.  It's still unresolved.  The work around I discovered was to enable obfuscated.

Thanks for the tips! I really appreciate it!


[fix][UI][bug]Add render to projects-overview table

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Codecov Report

Merging #13305 (9406378) into dev (d42f576) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev   #13305      +/-   ##
============================================
- Coverage     39.55%   39.54%   -0.01%
+ Complexity     4289     4287       -2
============================================
  Files          1072     1072
  Lines         40522    40492      -30
  Branches       4663     4644      -19
============================================
- Hits          16028    16014      -14
+ Misses        22708    22691      -17
- Partials       1786     1787       +1

Impacted Files
Coverage Δ

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...hinscheduler/plugin/alert/script/ScriptSender.java
70.58% <0.00%> (-1.64%)
:arrow_down:

...cheduler/plugin/alert/dingtalk/DingTalkSender.java
34.13% <0.00%> (-0.78%)
:arrow_down:

...rver/master/runner/task/BlockingTaskProcessor.java
75.86% <0.00%> (-0.55%)
:arrow_down:

...inscheduler/plugin/registry/etcd/EtcdRegistry.java
50.69% <0.00%> (-0.35%)
:arrow_down:

.../dolphinscheduler/plugin/task/datax/DataxTask.java
36.62% <0.00%> (-0.26%)
:arrow_down:

.../dolphinscheduler/plugin/task/spark/SparkTask.java
72.56% <0.00%> (-0.25%)
:arrow_down:

...eduler/api/dto/workflow/WorkflowCreateRequest.java
100.00% <0.00%> (ø)

...eduler/api/service/impl/DataSourceServiceImpl.java
50.75% <0.00%> (ø)

... and 14 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

[fix][Bug] [dolphinscheduler-ui] List number not rendered #13306

@devosend please take a look at this PR, thx


support jdk11

@whitelilis We will support it as soon as possible. Can you feedback the errors you encountered? thanks very much.


multinode testkit change to netty4 has made it unreliable

https://github.com/apache/incubator-pekko-http/actions/runs/5784088598/job/15674095366
The 'main' tests are using pekko jars that have been built off the 'main' branch of https://github.com/apache/incubator-pekko
fyi @kerr @mdedetrich

Working on it, stay turn.

it works now https://github.com/apache/incubator-pekko-http/actions/runs/5788267905/job/15686902092

This is done by the https://github.com/apache/incubator-pekko-http/pull/297

It's fixed now.


Write a blog post

@tomalec could you write a blog post about the availability of polyjuice-include and what it means for app developers?
We need to announce polyjuice-include before releasing a new version of Launcher.

@tomalec can this be closed now?

Yep, thanks :)


Pandas key error during model fitting

I tried the demo code and it worked for a small sample, tried to feed it more images and I got this error
KeyError: '[-1] not found in axis'
dependencies:
concept=='0.2.1'
pandas=1.4.0
/home/<username>/anaconda3/envs/rd38/lib/python3.8/site-packages/torchvision/transforms/transforms.py:332: UserWarning: Argument 'interpolation' of type int is deprecated since 0.13 and will be removed in 0.15. Please use InterpolationMode enum.
  warnings.warn(
100%|███████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:21<00:00,  1.06s/it]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Input In [30], in <cell line: 3>()
      1 from concept import ConceptModel
      2 concept_model = ConceptModel()
----> 3 concepts = concept_model.fit_transform(img_names[3500:6000])

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/concept/_model.py:124, in ConceptModel.fit_transform(self, images, docs, image_names, image_embeddings)
    122 # Reduce dimensionality and cluster images into concepts
    123 reduced_embeddings = self._reduce_dimensionality(image_embeddings)
--> 124 predictions = self._cluster_embeddings(reduced_embeddings)
    126 # Extract representative images through exemplars
    127 representative_images = self._extract_exemplars(image_names)

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/concept/_model.py:261, in ConceptModel._cluster_embeddings(self, embeddings)
    257 self.cluster_labels = sorted(list(set(self.hdbscan_model.labels_)))
    258 predicted_clusters = list(self.hdbscan_model.labels_)
    260 self.frequency = (
--> 261     pd.DataFrame({"Cluster": predicted_clusters, "Count": predicted_clusters})
    262       .groupby("Cluster")
    263       .count()
    264       .drop(-1)
    265       .sort_values("Count", ascending=False)
    266 )
    267 return predicted_clusters

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/pandas/util/_decorators.py:311, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs)
    305 if len(args) > num_allow_args:
    306     warnings.warn(
    307         msg.format(arguments=arguments),
    308         FutureWarning,
    309         stacklevel=stacklevel,
    310     )
--> 311 return func(*args, **kwargs)

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/pandas/core/frame.py:4956, in DataFrame.drop(self, labels, axis, index, columns, level, inplace, errors)
   4808 @deprecate_nonkeyword_arguments(version=None, allowed_args=["self", "labels"])
   4809 def drop(
   4810     self,
   (...)
   4817     errors: str = "raise",
   4818 ):
   4819     """
   4820     Drop specified labels from rows or columns.
   4821
   (...)
   4954             weight  1.0     0.8
   4955     """
-> 4956     return super().drop(
   4957         labels=labels,
   4958         axis=axis,
   4959         index=index,
   4960         columns=columns,
   4961         level=level,
   4962         inplace=inplace,
   4963         errors=errors,
   4964     )

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/pandas/core/generic.py:4279, in NDFrame.drop(self, labels, axis, index, columns, level, inplace, errors)
   4277 for axis, labels in axes.items():
   4278     if labels is not None:
-> 4279         obj = obj._drop_axis(labels, axis, level=level, errors=errors)
   4281 if inplace:
   4282     self._update_inplace(obj)

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/pandas/core/generic.py:4323, in NDFrame._drop_axis(self, labels, axis, level, errors, consolidate, only_slice)
   4321         new_axis = axis.drop(labels, level=level, errors=errors)
   4322     else:
-> 4323         new_axis = axis.drop(labels, errors=errors)
   4324     indexer = axis.get_indexer(new_axis)
   4326 # Case for non-unique axis
   4327 else:

File ~/anaconda3/envs/rd38/lib/python3.8/site-packages/pandas/core/indexes/base.py:6644, in Index.drop(self, labels, errors)
   6642 if mask.any():
   6643     if errors != "ignore":
-> 6644         raise KeyError(f"{list(labels[mask])} not found in axis")
   6645     indexer = indexer[~mask]
   6646 return self.delete(indexer)

KeyError: '[-1] not found in axis'

Apologies for the late reply! It seems that there were no outliers found, which happens very rarely. I'll make sure that it gets fixed!

I just pushed a fix to the main branch which should hopefully solve your issue!

Hi @MaartenGr.
I tried to use concept with Google colab. I did pip install and the concept version is 0.2.1. I still get the KeyError: '[-1] not found in axis' error when I use a particular dataset. Any ideas on what might be the issue?
Thank you for your time and help.

@bakachan19 If you install it through the main branch, it should have the fix for the error you are getting.

Oh, I see. Thanks a lot @MaartenGr.

Hi @MaartenGr.
I apologize for bothering you again.
I did install the concept package through the main branch and making sure the the scikit-learn version is compatible.
I do not get the previous error anymore, but I do get several different ones depending of the size of the concept. I am using the default concept model configuration, I only change the min_concept_size.

with min_concept_size = 5, I get the following:

     56     try:
---> 57         return bound(*args, **kwds)
     58     except TypeError:
     59         # A TypeError occurs if the object does have such a method in its

ValueError: attempt to get argmax of an empty sequence

with min_concept_size = 10, I get this one:

[/usr/local/lib/python3.9/dist-packages/concept/_model.py](https://localhost:8080/#) in <dictcomp>(.0)
    353
    354
--> 355         selected_exemplars = {cluster: mmr(self.cluster_embeddings[cluster],
    356                                            exemplar_embeddings[cluster],
    357                                            representative_images[cluster]["Indices"],

IndexError: list index out of range

Thank you for your time and help.

@bakachan19 Strange, I am not entirely sure what is happening. Could you share your full code and the versions of packages in your environment? I will look into this but just in the meantime, there is an option to use images with BERTopic that should provide similar, albeit not the same, functionality.

@MaartenGr  I did managed to make it work with different configuration of UMAP: by changing the nr_neighbors  from 15 to a smaller number like 5 I was able to run the code with min_concept_size = 10. I think because my data is particular and with some configurations it does not found any clusters or maybe it clusters everything together...
For the environment setup I use google colab with the following installation steps:
pip install scikit-learn==0.24.2
pip install git+https://github.com/MaartenGr/Concept.git

and then I just used the code provided in the tutorial:
from concept import ConceptModel
from umap import UMAP

concept_model = ConceptModel(min_concept_size = 10, umap_model = UMAP(n_neighbors=5, n_components=5, min_dist=0.0, metric='cosine', random_state = 5, low_memory = False))

concepts = concept_model.fit_transform(images_name, docs=all_nouns)

Thank you for your time!
Have a great day.


Release 8.0.0 issue with windows defender.

Good afternoon, when downloading release 8.0.0 Windows Defender blocks the file and warns that there is a Trojan program inside.

And 7.9...
Previous versions did not contain this trojan Wacatac.B!ml. They loaded without any problems.

Yeah noticed the same thing, even webroot, bitdefender, microsofts anti virus, googles anti virus, nortons antivirus have flagged versions 7.9.x up to version 8.1.x with this malicious virus. Dude why, i run my stuff in VM containers thankfully but why would you do this? Is it because your chinese devs?


For Each?

Hi!
Love the new .Credential function and I have a question.
Is it possible to do a For Each loop using Get-KeyPassEntry?
I though it would be awesome if one could go through each entry in a group. So If I wanted to access several credentials/services at once, I could just loop each customer one by one in a group.
For example - Group name "Customers" (Database/Customers)
For each Customer in group Customers do X.
But when I run the group command it gives me all the credentials at once. Would be cool if it would be possible to loop them somehow.

Hi @vincent090,
Thanks for reaching out and using the module.
I believe what you are asking can be achieved using the built in powershell for each loops. If I am headed the wrong direction let me know.
## get all entries in a group with the pscredential object.
## Then use pass them via the pipe '|" to the built in powershell function Foreach-Object {}
Get-KeePassEntry -KeePassEntryGroupPath 'test/testgroup' -WithCredential -DatabaseProfileName test | ForEach-Object { $kpEntry = $_; <# do something with the the KeePass Entry object #>  }

## or you can store the Entries into a variable and then loop over them many ways
[psobject[]] $kpentries = Get-KeePassEntry -KeePassEntryGroupPath 'test/testgroup' -WithCredential -DatabaseProfileName test

## loop example 1
foreach($entry in $kpentries)
{
    ## do something with $entry in loop
    $entry
}

#loop example 2
for($i = 0; $i -lt $kpentries.count; $i++)
{
    ## do something with $kpentries[$i] in loop
   $kpentries[$i]
}

Thanks a bunch! I was thinking the same, but didnt know exactly how.
Thanks again for a such a quick reply! Also, please update the documentation if possible to include some examples as to include the $username.credential (or .Username etc etc).
Excellent script! Works way better then delegated access from Microsoft.
Here is how I solved it (Maybe add it as an example?).
function coolscript {
Write your PS script which should go for all entries in a group
}
Get-KeePassEntry -KeePassEntryGroupPath 'Database/Groupname' -WithCredential -DatabaseProfileName Test2 | ForEach-Object {
$kpEntry = $_;coolscript
}

@vincent090 Great, I am glad it worked out! I am thinking about more advanced documentation and community collaboration so I will take your request into consideration.


[BUG] BORF failing without numba

Describe the bug
the BORF transformer fails when numpy turned off, in for example, the overnight codecov tests here
https://github.com/aeon-toolkit/aeon/actions/runs/11491231670
its standard numba stuff, should be quite easy to track down
Steps/Code to reproduce the bug
set
Run numba-disabled codecov tests
on any PR
Expected results
pass test
Actual results
FAILED aeon/testing/tests/test_all_estimators.py::test_all_estimators[check_fit_updates_state(estimator=BORF(),datatype=EqualLengthUnivariate-Classification-numpy3D)] - numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Untyped global name '_erfinv': Cannot determine Numba type of <class 'function'>

File "aeon/transformations/collection/dictionary_based/_borf.py", line 617:
def _ppf(x, mu=0, std=1):
    return mu + math.sqrt(2) * _erfinv(2 * x - 1) * std
    ^
FAILED aeon/testing/tests/test_all_estimators.py::test_all_estimators[check_non_state_changing_method(estimator=BORF(),datatype=EqualLengthUnivariate-Classification-numpy3D)] - numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Untyped global name '_erfinv': Cannot determine Numba type of <class 'function'>

File "aeon/transformations/collection/dictionary_based/_borf.py", line 617:
def _ppf(x, mu=0, std=1):
    return mu + math.sqrt(2) * _erfinv(2 * x - 1) * std
    ^
= 2 failed, 8705 passed, 10 skipped, 61 xfailed, 150 xpassed, 636 warnings in 1781.64s (0:29:41) =

Versions
No response

I've investigated this bug and here is some information I found useful :

You can reproduce the bug easier

Set NUMBA_DISABLE_JIT=1
Run a copy of _borf.py with a call like _get_norm_bins(16)

_ppf is @nb.vectorize (and its the only one in all aeon)
If you change _erfinv decorator from njit into vectorize, the error disappears (this solution looks good to me)

Performance difference is negligible, here is code for test

vectorize = 3.88
njit = 3.76

import time
_get_norm_bins(5)
t0 = time.time()
for i in range(100000):
    _get_norm_bins(256)
t1 = time.time()
print(t1 - t0)

If you put _erfinv code into _ppf, the error also disappears.

@nb.vectorize(cache=True)
def _ppf(x, mu=0, std=1):

    w = -math.log((1 - (2 * x - 1)) * (1 + (2 * x - 1)))
    if w < 5:
        w = w - 2.5
        p = 2.81022636e-08
        p = 3.43273939e-07 + p * w
        p = -3.5233877e-06 + p * w
        p = -4.39150654e-06 + p * w
        p = 0.00021858087 + p * w
        p = -0.00125372503 + p * w
        p = -0.00417768164 + p * w
        p = 0.246640727 + p * w
        p = 1.50140941 + p * w
    else:
        w = math.sqrt(w) - 3
        p = -0.000200214257
        p = 0.000100950558 + p * w
        p = 0.00134934322 + p * w
        p = -0.00367342844 + p * w
        p = 0.00573950773 + p * w
        p = -0.0076224613 + p * w
        p = 0.00943887047 + p * w
        p = 1.00167406 + p * w
        p = 2.83297682 + p * w

    p = p * x
    return mu + math.sqrt(2) * p * std

@aeon-actions-bot assign @Cyril-Meyer

though mine still rasises an error...
https://github.com/aeon-toolkit/aeon/actions/runs/11517193530/job/32061397931?pr=2249#step:7:1636
Will test yours (added the tag to your PR), would just go with that if it works.


Feature request: typical_p

exllamav1 supports typical_p, but unfortunately exllamav2 does not. Could you please implement this very useful feature?

I have added it with the most recent commit.

Thank you for your work!


My app close/stopped working when initialize and addListener is not running on Android

Description

After the componentDidMount() I try to use RNZoomUsBridgeEventEmitter like the example from RNZoomUSBridgeExample. But there is no successful message in the console.
When I try to use the code RNZoomUsBridge.initialize, suddenly the apps is closed by itself without message in the screen or console.

React Native version:

System:
    OS: Windows 10 10.0.18363
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 864.18 MB / 7.85 GB
  Binaries:
    Node: 12.19.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.19.1 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.14.8 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK:
      API Levels: 23, 25, 26, 27, 28, 29
      Build Tools: 28.0.3, 29.0.0, 29.0.2, 29.0.3
      System Images: android-28 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: Version  <IP_ADDRESS> AI-191.8<IP_ADDRESS>77832
  Languages:
    Java: 1.8.0_231
    Python: 3.9.0
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.0 => 0.63.0
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
After user navigate to the screen that has RNZoomUsBridge component and RNZoomUsBridge.initialize in componentDidMount().
Expected Results
I want to have event check SDKInitialized and all the event like in the example and initialize the Zoom at componentDidMount() event.
Snack, code example, screenshot, or link to a repository:

import RNZoomUsBridge, { RNZoomUsBridgeEventEmitter } from '@mokriya/react-native-zoom-us-bridge';

componentDidMount() {

   const meetingEventEmitter = new NativeEventEmitter(RNZoomUsBridgeEventEmitter);

   if (!this.sdkInitialized) {
      this.sdkInitialized = meetingEventEmitter.addListener(
         'SDKInitialized',
         () => {
            console.log("SDKInitialized");

            // lets also get access token
            this.createAccessToken();
         }
      );
   }

   RNZoomUsBridge.initialize(
      ZOOM_APP_KEY,
      ZOOM_APP_SECRET,
   ).then().catch((err) => {
      console.warn(err);
      Alert.alert('error!', err.message)
   });

}

Thank you

Hey, did you get the solution to this issue?

Hey, did you get the solution to this issue?

RNZoomUsBridge.initialize  is working fine with debug build, but app is crashing with release Build


Makefile: fix object dependencies on headers

Two issues being fixed in this PR:

headers are not located in src, they're in include
the objects' dependencies need to be declared with $(OBJECTS): not OBJECTS:

So now, changes to header files will actually cause a recompilation.

Thank you!!


[Key Vault] Get the current key vault object version

There is currently no version filed in the json metadata returned for az keyvault secret show. The only way to retrieve the version is by parsing the id. It would be good to have key vault return the the current version of the secret/key/certificate in a separate field which can be surfaced by the SDKs.
Alternative
This could also be accomplished at the SDK level by parsing the id and splitting to get the version, but that would be based on an assumption that the id format will always be the same. Instead relying on a version field returned by Key Vault will be more deterministic and can be used by all the consumers.
Notes
Current parsing logic in the clients -
func getObjectVersion(id string) string {
	splitID := strings.Split(id, "/")
	return splitID[len(splitID)-1]

We identify this as a feature request and would be putting product backlog @aramase

Secret id (with version) it is standardized format (required by REST API) and used by 200+ partners.
Also all our SDKs have specific field for version without need for parsing:
https://docs.microsoft.com/en-us/dotnet/api/azure.security.keyvault.secrets.secretproperties.version?view=azure-dotnet#azure-security-keyvault-secrets-secretproperties-version


Issues with "Download as"

Hi! First of all, thanks for the great extension. This enables me to create even better visualisation using Qlik.
Previously in version 1.0.1, there was no "Download as". With version 1.0.5, I saw that this feature is now back.
However, I noticed a few issues with this.

When I put in my master graphs inside a group container and download as "Image" or "PDF", the image or PDF will always only display the grouped container, without the graphs.
In order to use "Download as" Data, I need to turn on Details in General.
When I download the graph as data, I realised it downloaded for all the data inside the grouped container, rather than individual graphs.

Are these supposed to be bug, and if there is any intention of addressing it?
Thank you!

Hi @djaskowiak, I am currently facing the same issue as @shieldofchaos.
The Download as Image/PDF option gives a blank result without graphs.
I find the extension very useful for my projects, and I hope there is a solution soon. Because end-users insist they would need to make an image download.
Thank you!


Routing problem on github pages

Fixed by copying the index.html as 404.html in the dist directory.
Check out the deploy script for steps.


Not working after page/Browser reload

without reloading the browser page ng-idle is working fine . But after reload keepalive and idle are not working.

Did you make sure to call this in the primary controller - that way it is restarted after page reloads?


error constructing batches using pdbrnn_reduction > 1

I'm trying to train a model with feattext input and character output using pdbrnn, but getting an error when training batches are constructed. It looks like the issue is resizing the source to make sure it's divisible by the reduction. I tried with pdbrnn_reduction = 2 and got the error below. When I set pdbrnn_reduction = 1 it will train. I get the same error with batch_size = 1 as batch_size = 24.
I'm running from a recent pull (https://github.com/OpenNMT/OpenNMT/commit/7540f810da54e671c4fc547f776467ed04245dce) so this is after the recent pdbrnn / padding changes, and is a different error than #224
$ CUDA_VISIBLE_DEVICES=0 THC_CACHING_ALLOCATOR=0 th train.lua -data init40.1-train.t7 -save_model init40.1 -config init40.config -gpuid 1

./onmt/data/Batch.lua:283: bad argument #1 to 'copy' (sizes do not match at /home/esalesky/torch/extra/cutorch/lib/THC/THCTensorCopy.cu:31)
stack traceback:
[C]: in function 'copy'
./onmt/data/Batch.lua:283: in function 'resizeSource'
./onmt/modules/PDBiEncoder.lua:119: in function 'forward'
./onmt/Seq2Seq.lua:205: in function 'trainNetwork'
./onmt/utils/Memory.lua:40: in function 'optimize'
./onmt/train/Trainer.lua:102: in function '__init'
.../torch/install/share/lua/5.2/torch/init.lua:91: in function 'new'
train.lua:172: in function 'main'
train.lua:178: in main chunk
[C]: in function 'dofile'
...orch.fresh/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
[C]: in ?

Thanks for reporting this, it should be fixed on master.

Great, thank you.


cannot resolve https://npmmirror.com/mirrors/electron/12.0.15/electron-v12.0.15-win32-x64.zip: status code 404

cannot resolve https://npmmirror.com/mirrors/electron/12.0.15/electron-v12.0.15-win32-x64.zip: status code 404

That was because npmmirror needs .../electron/v12.0.15/electron-v... in electron 12 and before.
You can set your NPM_MIRROR with this env and try again:
export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/v"


Use nearest with mipmaps texture filter in SpriteFrames editor plugin

No configurability required, see #67426.
Before:

After:

Closes #74337.

This isn't always desired for HD-2D textures, as nearest-neighbor filtering looks bad with textures that have a mostly 1:1 scale factor.

There's already a PR doing this: #73962

Thanks for the info.

This isn't always desired for HD-2D textures, as nearest-neighbor filtering looks bad with textures that have a mostly 1:1 scale factor.

The texture preview and the TileSet/TileMap editor (if I remember correctly) work the same way.
Also, the SpriteFrames editor can be used for a single resource, without AnimatedSprite{2D,3D}, as in #74337.

Thanks!

Cherry-picked for 4.0.4.


Pandas read_csv etc returning wrong types

With 0.2.56 of LS:
import pandas as pd
df = pd.read_csv('foo')

returns TextFileReader as the type for df.
import pandas as pd
df = pd.read_excel(‘foo’)

returns df is an OrderedDict
import pandas as pd
df = pd.read_parquet(‘foo’)

df doesn’t seem to have a type.
I expect others are weird too. They should all be DataFrame.

We'll likely have to write some stubs for these. (https://github.com/pandas-dev/pandas/blob/80d150ab9dd99984e5734a69a54738a1c7859ffb/pandas/io/parsers.py)


Add ability for a user to change their own password

Currently the system allows only admins to set or change passwords.  There is a menu pick for changing the current user's password, but it just goes to the about screen.
it should require the user to enter the usual info: current password, new password twice.  If the new password is accepted, the system should acknowledge that to the user.  If the new password is rejected, the system should allow them to pick a different new password.
Guidance should be provided in the initial screen as to what is or is not allowed for a password.
Hopefully libraries like zxcvbn-python can be used to provide sensible password checking.
Perhaps a library that will provide an on-screen strength meter can be added.  If not now later.

Duplicate of issue #176.

Django has a built-in password validator django.contrib.auth.password_validation.CommonPasswordValidator (see AUTH_PASSWORD_VALIDATORS in your settings file).  I pushed a branch for #176 to my github repo with the work in progress)

Django has a built-in password validator django.contrib.auth.password_validation.CommonPasswordValidator (see AUTH_PASSWORD_VALIDATORS in your settings file).  I pushed a branch for #176 to my github repo with the work in progress)

This issue was addressed by PR #290 and is now closed.


Skip printing "skipping download test" when outputting json

Great tool :)
When using --no-download or --no-upload it would be good that the message Skipping download/upload test is not printed or printed to stderr instead of stdout when the output is set to csv or json.
That would make it possible to easily manipulate the output by piping it into other commands like jq.
Example:
$ speedtest-cli --json --no-download | jq ".upload"
# This currently gives the following error because of the "Skipping download test" message
parse error: Invalid numeric literal at line 1, column 9

I've committed the fix to the no-globals branch which will become the next major release. I need to plan that release soon. If it's not going to be ready soon-ish, I'll look to cherry pick https://github.com/sivel/speedtest-cli/commit/fa2e15ee08b0c55930bb7a251784ca7b2c529c1c into a new bugfix release.
Feel free to test with the no-globals branch: https://raw.githubusercontent.com/sivel/speedtest-cli/no-globals/speedtest.py


fetch-npm-deps: add nix to PATH

Description of changes

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.05 Release Notes (or backporting 22.11 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.

Can you just write what this fixes in the commit description? LGTM otherwise.

Done

Sorry, last thing: the attr name for the tool is prefetch-npm-deps. Can you fix this? Thanks.

Done


Dynamic forms with props vs state

In all of the dynamic examples, it looks to be is using state. I have an application that receives json field schema using reflux via props. Because of this, when I dynamically add more fields to the schema, the entire form re-renders and loses the values. What would be the best way to get this working with props?
export class DynamicForm extends React.Component {
  static propTypes = {
    actions: React.PropTypes.object,
    fields: React.PropTypes.array
  }

  componentWillMount() {
    this.props.actions.fetchFields();
  }

  render() {
    const RenderForm = reduxForm({
      form: 'dynamicForm',
      fields: this.props.fields.map(item => "field_"+item.id),
      fieldMap: this.props.fields
    })(DynamicFormRender);

    return (

            <RenderForm />

    );
  }
}

class DynamicFormRender extends React.Component {
  static propTypes = {
    handleSubmit: React.PropTypes.func.isRequired,
    fields: React.PropTypes.array
  }

  renderField(item) {
    const name = 'field_'+item.id;
    const props = this.props.fields[name];
    return (

        {item.name}
        <input id={name+"_control"} type={'text'} {...props} />

    );
  }

  render() {
    return (
      <form onSubmit={this.props.handleSubmit}>
        {this.props.fieldMap.map(this.renderField)}
        <button onClick={this.props.handleSubmit}>Submit</button>
      </form>
    );
  }
}

You should be able to add a field to the fields array and have the existing fields maintain their data, just like in the Dynamic Example. The Dynamic Example is only using React component state to manage the fields array, not for anything else.
fieldMap isn't a config property, by the way.

Thanks. It seems the problem was creating reduxForm() within the render function during my quick test. Moving that to a separate import seems to have solved the issue. I was using fieldMap to pass in my full schema definition to render the form, since the field parameter is just an array of ids.


net: app: Fix dual IPv4 and IPv6 support

It was not possible to send IPv4 packets if IPv6 was also
enabled.
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

Oops, sorry for missing to review this, I thought this was merged already. Well, with or without this patch, echo_server still doesn't work for me (tested against 8d108c9d59585004856278fb3537c07ee0706d18)
pfalcon@x230:~$ telnet <IP_ADDRESS> 4242
Trying <IP_ADDRESS>...
telnet: Unable to connect to remote host: Connection refused
pfalcon@x230:~$ telnet 2001:db8::1 4242
Trying 2001:db8::1...
Connected to 2001:db8::1.
Escape character is '^]'.
dsads
dsads
e4e324e
e4e324e
^]

telnet> quit
pfalcon@x230:~$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.039 ms

Both TCP and UDP echo don't work for IPv4.

telnet <IP_ADDRESS> 4242

Note that the address is wrong, should be <IP_ADDRESS>
I just tested this and it works for me just fine. Can you try again and approve the PR if ok?


Namespace?

Why is the collector chart not namespaced? Is there a reason, or is this an oversight?

You can namespace it by using the -n foo flag in your helm deployment...
I do it like this:
helm -n otel install <your-clusterName> -f values.yaml splunk-otel-collector-chart/splunk-otel-collector
I believe this is intended as we dont want to force a namespace on users for flexibility.

could be a good add to the getting started install docs just to call it out


machine 0.3.1-rc1 panic when running commands

Environment:

OS X
Previously running docker-machine 0.3.0; upgraded to docker-machine version 0.3.1-rc1 (993f2db)
Drivers in use: amazonec2, softlayer, virtualbox, and none

I am now getting panics anytime I run any command that reads my amazonec2 or none based configs, such as docker-machine ls or docker-machine ssh <instance-name>.  I can do a docker-machine ssh successfully to instances utilizing the softlayer and virtualbox drivers but not amazonec2 and none drivers.
My config files (with secrets removed)
https://gist.github.com/mbentley/40fba8ae44bdfe39327c
These configs have been around for quite some time and I know that @ehazlett and I did some hacking to migrate them around like 0.1.0 or so.
Output from amazonec2 driver when attempting to docker-machine ssh:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x1697e1]

goroutine 1 [running]:
github.com/docker/machine/libmachine.(*Host).LoadConfig(0x208c80320, 0x0, 0x0)
        /go/src/github.com/docker/machine/libmachine/host.go:287 +0x3d1
github.com/docker/machine/libmachine.Filestore.loadHost(0x208bf2f20, 0x1f, 0x208c404e0, 0x2c, 0x208c405a0, 0x30, 0x7fff5fbffb0b, 0xd, 0x8, 0x0, ...)
        /go/src/github.com/docker/machine/libmachine/filestore.go:34 +0x287
github.com/docker/machine/libmachine.Filestore.Get(0x208bf2f20, 0x1f, 0x208c404e0, 0x2c, 0x208c405a0, 0x30, 0x7fff5fbffb0b, 0xd, 0x667fc0, 0x0, ...)
        /go/src/github.com/docker/machine/libmachine/filestore.go:112 +0x65
github.com/docker/machine/libmachine.(*Filestore).Get(0x208c40750, 0x7fff5fbffb0b, 0xd, 0x208c8caf0, 0x0, 0x0)
        <autogenerated>:10 +0xcc
github.com/docker/machine/libmachine.(*Provider).Get(0x208c8caf0, 0x7fff5fbffb0b, 0xd, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/machine/libmachine/provider.go:79 +0x66
github.com/docker/machine/commands.cmdSsh(0x208c580c0)
        /go/src/github.com/docker/machine/commands/ssh.go:37 +0x486
github.com/codegangsta/cli.Command.Run(0x7765d0, 0x3, 0x0, 0x0, 0x859b90, 0x30, 0x821830, 0x26, 0x0, 0x0, ...)
        /go/src/github.com/docker/machine/Godeps/_workspace/src/github.com/codegangsta/cli/command.go:113 +0x1038
github.com/codegangsta/cli.(*App).Run(0x208c10680, 0x208bde000, 0x3, 0x3, 0x0, 0x0)
        /go/src/github.com/docker/machine/Godeps/_workspace/src/github.com/codegangsta/cli/app.go:156 +0xcf7
main.main()
        /go/src/github.com/docker/machine/main.go:114 +0x9bc

goroutine 2 [runnable]:
runtime.forcegchelper()
        /usr/src/go/src/runtime/proc.go:90
runtime.goexit()
        /usr/src/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 3 [runnable]:
runtime.bgsweep()
        /usr/src/go/src/runtime/mgc0.go:82
runtime.goexit()
        /usr/src/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 4 [runnable]:
runtime.runfinq()
        /usr/src/go/src/runtime/malloc.go:712
runtime.goexit()
        /usr/src/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [runnable]:
os/signal.loop()
        /usr/src/go/src/os/signal/signal_unix.go:19
created by os/signal.init·1
        /usr/src/go/src/os/signal/signal_unix.go:27 +0x35

Output from none driver when attempting to docker-machine ssh:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x1697e1]

goroutine 1 [running]:
github.com/docker/machine/libmachine.(*Host).LoadConfig(0x208c96050, 0x0, 0x0)
        /go/src/github.com/docker/machine/libmachine/host.go:287 +0x3d1
github.com/docker/machine/libmachine.Filestore.loadHost(0x208c88200, 0x1f, 0x208c3ea80, 0x2c, 0x208c3eb40, 0x30, 0x7fff5fbffb0b, 0x8, 0x8, 0x0, ...)
        /go/src/github.com/docker/machine/libmachine/filestore.go:34 +0x287
github.com/docker/machine/libmachine.Filestore.Get(0x208c88200, 0x1f, 0x208c3ea80, 0x2c, 0x208c3eb40, 0x30, 0x7fff5fbffb0b, 0x8, 0x667fc0, 0x0, ...)
        /go/src/github.com/docker/machine/libmachine/filestore.go:112 +0x65
github.com/docker/machine/libmachine.(*Filestore).Get(0x208c3ecf0, 0x7fff5fbffb0b, 0x8, 0x208c8e5e0, 0x0, 0x0)
        <autogenerated>:10 +0xcc
github.com/docker/machine/libmachine.(*Provider).Get(0x208c8e5e0, 0x7fff5fbffb0b, 0x8, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/machine/libmachine/provider.go:79 +0x66
github.com/docker/machine/commands.cmdSsh(0x208c7a0c0)
        /go/src/github.com/docker/machine/commands/ssh.go:37 +0x486
github.com/codegangsta/cli.Command.Run(0x7765d0, 0x3, 0x0, 0x0, 0x859b90, 0x30, 0x821830, 0x26, 0x0, 0x0, ...)
        /go/src/github.com/docker/machine/Godeps/_workspace/src/github.com/codegangsta/cli/command.go:113 +0x1038
github.com/codegangsta/cli.(*App).Run(0x208c105b0, 0x208bde000, 0x3, 0x3, 0x0, 0x0)
        /go/src/github.com/docker/machine/Godeps/_workspace/src/github.com/codegangsta/cli/app.go:156 +0xcf7
main.main()
        /go/src/github.com/docker/machine/main.go:114 +0x9bc

goroutine 2 [runnable]:
runtime.forcegchelper()
        /usr/src/go/src/runtime/proc.go:90
runtime.goexit()
        /usr/src/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 3 [runnable]:
runtime.bgsweep()
        /usr/src/go/src/runtime/mgc0.go:82
runtime.goexit()
        /usr/src/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 4 [runnable]:
runtime.runfinq()
        /usr/src/go/src/runtime/malloc.go:712
runtime.goexit()
        /usr/src/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [runnable]:
os/signal.loop()
        /usr/src/go/src/os/signal/signal_unix.go:19
created by os/signal.init·1
        /usr/src/go/src/os/signal/signal_unix.go:27 +0x35

After doing some comparisons from a newly generated config for amazonec2 and mine, I am seeing some major differences.  "HostOptions": { and "AuthOptions": { seem to be the big offenders that are different.  Just in testing, I was able to add some of those lines and I can at least do a docker-machine ls with a stripped down config of a single machine but it looks like it is failing to migrate configuration data, assuming there are changes.

Argh, I suspect it's related to https://github.com/docker/machine/pull/1263, unfortunately I may have to revert that PR.

cc @ehazlett WDYT about this?

I'd be happy to test a binary with #1263 reverted if that would help or I can ship you the config of an instance for testing.

Alright @ehazlett I know the underlying cause and want to know your take / how you think we should handle this.
If the user did not do anything which is performed through "run action with context" (e.g. start, stop, and other verbs which take multiple arguments on the CLI) on a new machine version, then the migration will happen in-memory but the config will not be saved to disk.  In Matt's case this is b0rking now because we removed that migration code but his config never actually got migrated on disk, just in the Machine binary's internal representation each time.  And now, since the migration code is gone, it's panicking.
My take is to maybe do something like this:

Add the migration code back in (revert that PR) for this release.
Also add a field to the config.json for ConfigVersion
Check when that field gets unmarshalled, if it is empty.
If it is empty, perform the migration, and then save the config.  That way, all old configs will definitely get migrated and saved, but we won't be doing this migration and save every single time we read configs from disk.

This will clean up the remaining users who have the old flat config and we should be able to safely remove it in a release or two, in addition to setting us up for a more proper migration structure in the future (since we can check versions).  Open to other ideas if you have them of course.

@nathanleclaire thanks for the digging and +1 to the course of action.

https://github.com/docker/machine/pull/1564 should fix this issue.

Random suggestion - might be a good idea to cut another 0.3.x release with this patch if possible. Default install via homebrew (brew install docker-machine) is still picking up 0.3.1 with this bug.
No idea if it's possible/level of difficulty, just a polite suggestion :smile:

@p5k6 Please try the RC!  github.com/docker/machine/releases
Or, if you are very keen on brew, this should work for master: brew install --HEAD docker-machine

Yep - I did the HEAD install (as did my coworker who was affected) - working for me now. More of a heads up that default brew install is currently broken is all.
Thanks for the quick reply!

No problem glad it's fixed @p5k6 !


Set up upload Gradle Plugin Portal

In the past, this plugin was hosted on Gradle Plugin Portal. We changed it to Automattic's S3 instance though to get more features (per commit publish).
But when #38 will be merged, it'll make sense to offer the plugin on Gradle Plugin Portal as well, to make it available for a wider audience, that prefer to use a standardized repository (Gradle Plugin Portal) than custom, 3rd party one (Automattic's S3).

@wzieba Do you have any plans for this? I would like to share this plugin with others.

We're waiting for approval from Gradle Plugin Portal: https://github.com/Automattic/measure-builds-gradle-plugin/actions/runs/8480293061/job/23235774694#step:4:30

hi there @takahirom ! I just got information from Gradle Plugin Portal that plugin submission for the plugin was rejected due to a need of proving automattic.com domain. I'm working on it 👍

👋 @takahirom ! We added verification records and I've sent the plugin for verification again https://github.com/Automattic/measure-builds-gradle-plugin/actions/runs/8480293061/job/23443593754#step:4:24

@takahirom the plugin is now available on Gradle Plugin Portal: https://plugins.gradle.org/plugin/com.automattic.android.measure-builds

Thank you for letting me know! I'll try it out shortly.

It works wonderfully! Thank you for your effort!


feat(plugins): Update custom controls for BigNumber with Time Comparison chart

SUMMARY
In order to help users to navigate the new comparison controls of the plugin we are making the Custom time range part of the query section, also it's only visible if custom range is selected and if so, it's  a required field.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
https://github.com/apache/superset/assets/38889534/beb1f60e-ecb6-4763-b3e1-1b33f931933f
TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

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

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

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

/testenv up

/testenv up

/testenv up FEATURE_CHART_PLUGINS_EXPERIMENTAL=true


Exception with "Sequence empty" when sending dragon gifts

Looks like it happens for when you gift but it's not enough to grant a bond level. First() will find an empty sequence when getting the level reward gifts.

Closed by #151


Used inside routers

Bear with my approach, but I got it right up until done(auth). The problem now is that my individual routes are 'used' in the main.js file by app.use(route), which makes things quite complicated.
Importing express-rbac as auth in a route file and calling auth.isInRole() throws me a nasty little TypeError: Cannot read property 'isInRole' of null error in the console.
Please advise.

Mmm, don't quite understand what's the problem you are having. This library works the same way express does by itself, so you should be able to mix authorization on your routes without any changes on the design itself.


Update PDBFixer to 1.5

@Lnaden could you confirm my changes are correct to generate the beta of 1.5?

That should upload PDBFixer 1.5 to the beta tag on the anaconda cloud.

I don't think however that the conda-build-all script will actually find the openmm version because openmm 7.2 is on beta, and the build script does not look for the beta tag.

What do I need to do to make it build the PDBFixer beta against the OpenMM beta?

I don't think we've ever engineered a solution for that. I think this is the first time it has come up. It should be possible through to extend the conda-build-all script to look in the extra section for a flag we can engineer though

That could work, though I have no idea how to do it.  Is that something you can do?  The issue here is that OpenMM, PDBFixer, and OpenMM-Setup all basically move as a unit.  Having created an OpenMM beta, we now need a PDBFixer beta that depends on it, and an OpenMM-Setup beta that depends on both of the others.

I'm not 100% sure either since I did not make the original script, but I can take a stab at that tonight, might take me a couple hours to figure something out though

Thanks!

xref #843 which would enable the features discussed here

Thanks!


VS Code can't open .ipynb files

Environment data

VS Code version: 1.49.0
Extension version (available under the Extensions sidebar): v2020.8.108011
OS and version: Ubuntu 20.04
Python version (& distribution if applicable, e.g. Anaconda): Anaconda python 3.8.3
Type of virtual environment used: using conda environment
Value of the python.languageServer setting: "Pylance"
ipython version: 7.16.1
jedi version: 0.17.1
ipykernel version: 5.3.2

Expected behaviour
VS Code could open .ipynb normally. It's opening normally in Jupiter Notebook
Actual behaviour
VS Code keeps loading all the time and won't open the .ipynb file.
Steps to reproduce:

Open VS Code
Open any .ipynb file.

Same issue here - windows 10.

Same here
Interactive python (with cells marked by #%%) works fine
[Window Title]
Visual Studio Code
[Main Instruction]
Visual Studio Code
[Content]
Version: 1.49.0 (system setup)
Commit: e790b931385d72cf5669fcefc51cdf65990efa5d
Date: 2020-09-10T13:22:08.892Z (2 days ago)
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

Same issue here, same environment, was working fine yesterday. There was a VS code update and a windows update in the past few days.

same issue windows 10 wsl2 Anaconda

After updating VS code I also faced the same issue.
OS -- Linux Based (Ubuntu 18.04)
Vs code - 1.49.0
Python 3.8.2
using pip packages.

I reinstalled a prior version of VS Code and now I can once again open .Ipynb files no problem. I went from VS Code 1.49 down to 1.46.

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

same issues here, I can't open any file .ipynb it still loading but doesn't show any error

same issue here, cannot open any ipynb files

Same issue here.

Same issue here

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

worked for me

I reinstalled a prior version of VS Code and now I can once again open .Ipynb files no problem. I went from VS Code 1.49 down to 1.46.

Didn't work for me. I'm receiving this message now:

Any other alternatives?

There is a similar issue here. It's seems a bug of version 1.49...

Hi all, thanks for bringing this to our attention and sorry for the trouble. I can repro this and it appears to be associated with the 1.49 upgrade. We'll look into this.

Same Issue here

Same Issue here

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

works for me, thanks !

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Worked For Me Thanks.

Same issue on Ubuntu 20.04 VS Code version 1.49.0, tried reinstall jupyter (all including kernel) - not helped

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Works for me, but needed to do each time i open vscode

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

It worked, thanks mate

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Wow. I don't understand why this works, but I'll take it. Thanks mate!

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Worked for me, thanks !!

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Wow. I don't understand why this works, but I'll take it. Thanks mate!

Behaves as if the panel is loading the document then waiting for a screen redraw event, which never comes as there is nothing on the screen. Closing and opening the panel provides a screen draw event which displays the notebook.
What is more critical is how this bug got through QA and into a global release on a Friday as the team is going home for the weekend. It's sloppy and needs explaining to everyone that spent time having to find workarounds for over 48 hours.

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Wow. I don't understand why this works, but I'll take it. Thanks mate!

Behaves as if the panel is loading the document then waiting for a screen redraw event, which never comes as there is nothing on the screen. Closing and opening the panel provides a screen draw event which displays the notebook.
What is more critical is how this bug got through QA and into a global release on a Friday as the team is going home for the weekend. It's sloppy and needs explaining to everyone that spent time having to find workarounds for over 48 hours.

Hey im using vscode on Mac and I cant seem to find the maximise the panel size button? can you help?

This should be an upstream problem (well as far as we know right now):
https://github.com/microsoft/vscode/issues/106587.

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Worked for me. Spent half an hour scratching my head on this, almost turned bald.

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Works for me

@huyho2311 I used the command palette: "Toggle Maximize Panel" to cause the maximize to occur.

@huyho2311 I used the command palette: "Toggle Maximize Panel" to cause the maximize to occur.

thanks, I just pulled up the panel and saw it, of course it would be there hahaha

I have the same issue(cannot load .piynb after upgrade VS code). and the minimize-maximize the panel works for me.
Is there an ETA for the fix?

until a proper fix comes out, just click on Maximize Panel Size then on the same button again to open your notebook ...

Works for me, but needed to do each time i open vscode

I've just completely uninstalled code from ubuntu, including all config files and reinstalled it. Now working normally.

Noticed the extension update asking for window reload. After reloading, I can confirm that this issue is fixed.
just some minor issue is now happening, when closing vscode with some opened files, you should expect to see them opened the next time you launch vscode on that directory; not with *.ipynb notebooks; they're now closed and have to be clicked on to start. Also the *.ipynb file icon is not loading on the opened file tab.
OS: Windows 10 20H2

just some minor issue is now happening, when closing vscode with some opened files, you should expect to see them opened the next time you launch vscode on that directory; not with *.ipynb notebooks; they're now closed and have to be clicked on to start. Also the *.ipynb file icon is not loading on the opened file tab.

@7kemZmani that's exactly the experiment we turned on. It fixed file associations with ipynb files. Once VS code ships the root cause of the problem in #13901 we'll be able to turn this back on.

Removed VS code (version: 1.49) and it's config files . After reinstalling .ipynb files started opening  (version: 1.47)

This fix here should make this all work when we finally ship our September release:
https://github.com/microsoft/vscode-python/pull/13371
The root cause of this issue is:

we turned on an experiment for enabling custom editor support by mistake.
we had a bug with our custom editor support that we hadn't shipped yet
maximizing VS code works around this bug.

Looks like it has been fixed in 1.49.1 version and Notebooks are loading.

Hi, I have updated to version 1.51 this morning and this issue BACK FROM DEAD! and the previous trick (maximize panel) no longer works..
Solved by down-grade to version 1.47

Hi @QPeiran thanks for letting us know. Could you please file a new issue at http://github.com/microsoft/vscode-python/issues/new/choose and provide logs from the 'Python' output panel please? That will help us figure out what's going on here.

Hi, I have updated to version 1.51 this morning and this issue BACK FROM DEAD! and the previous trick (maximize panel) no longer works..
Solved by down-grade to version 1.47

I have no problems with opening .ipynb in VSC 1.51.0


Issue with ILA using Olimex GateMate board

After doing all of the steps needed to configure the Olimex GateMate board with the ILA we get some errors which I will explain in this issue.
First Error
The first error happens when trying to run the ws2812_gol example in example_dut. After running the following line
python3 ILAcop.py config -vhd ..\example_dut\ws2812_gol\src -t ws2812_gol
I get this error message:
Error! No ccf file was found in the given folder!!
We assume that the .ccf error is because of the fact that the file is in VHDL, and we haven't gotten the VHDL example for Blinky to work on our openCologne project. I would need to get into this further.
Second Error
We then tried the Blinky example that has the Verilog and VHDL file present, but then went with the tried and tested Verilog route. Then when running the following line:
python3 ILAcop.py config -vlog ../example_dut/blink/src/ -t blink
We then get the following error:
Upload to FPGA Board...
Traceback (most recent call last):
  File "/home/user/FPGA/Boards/GateMate/gatemate_ila/app/ILAcop.py", line 269, in <module>
    ILA_user = RuntimeInteractionManager(int(float(ILA_config_instance.ILA_sampling_freq_MHz) * 1000000),
  File "/home/user/FPGA/Boards/GateMate/gatemate_ila/app/RuntimeInteractionManager.py", line 148, in __init__
    self.com = Communication(self.bytes_per_msg, self.analysis_frequency)
  File "/home/user/FPGA/Boards/GateMate/gatemate_ila/app/communication.py", line 62, in __init__
    self.dev.set_configuration()
  File "/home/user/.local/lib/python3.10/site-packages/usb/core.py", line 915, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/home/user/.local/lib/python3.10/site-packages/usb/core.py", line 113, in wrapper
    return f(self, *args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/usb/core.py", line 159, in managed_set_configuration
    self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
  File "/home/user/.local/lib/python3.10/site-packages/usb/backend/libusb1.py", line 812, in set_configuration
    _check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))
  File "/home/user/.local/lib/python3.10/site-packages/usb/backend/libusb1.py", line 604, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 16] Resource busy

We then fixed the following error by commenting out the following line of code from the  app/communications.py  file found on line 62 self.dev.set_configuration().
You can see the solution in our 1.Blinky--ILA-Test folder.
We don't know if this is the correct solution, but the ILA works afterwards.
Third error
Also for the blinky example to work on Olimex the .ccf file needs to be changed because it is written officially for the GateMate Evaluation Board.
The file is found in gatemate_ila/example_dut/blink/src/
And the led Loc  parameter needs to be IO_SB_B6 .

Thank you for trying out the ILA on the Olimex board.
Regarding the first error, I believe it is due to the path not being found. Since the software first searches for the CCF file, it highlights this issue when the path is incorrect. The problem depends on the system where you are running the ILA. I noticed that you are using different slash and backslash formats in the Blink example and the WS2812 example. Please check this, or try using the absolute path to see if the specified path is accessible as stated. I hope this solves your problem.
The second error, as indicated, is due to the RP2040 port currently being in use. This means that the USB was not properly released by the previously executed configuration. It is interesting that it works without calling set_configuration. It likely uses the existing connection instead of attempting to re-establish it. I am unable to reproduce this error myself. If the configuration on the FPGA was successful, you can also start the ILA with python3 ILAcop.py start -s, which will not reconfigure the FPGA. You can then reset the RP2040 using the reset button before starting, which should resolve the "port busy" issue. Thank you for pointing out this error. It requires further analysis.
Regarding Error No. 3, the Blinky example is specific to the eval board, so I wouldn't necessarily classify this as an error.
Thank you and best regards
Dave

@TarikHamedovic do you also see that only 2nd error is keeping this track open?
@D4VF0 , any additional insights into: ... the second error ... requires further analysis.
We are looking for your and Tarik's go ahead to close this issue.

Hey,
I have looked more closely at the issue you found and have found a bug
in the dirtyJTAG firmware.
https://github.com/phdussud/pico-dirtyJtag/issues/27
This bug has already been fixed and closed, so I think the ILA should
now run without errors, so the issue can be closed.
Thank you and best regards
Dave
Zitat von "Chili.CHIPS" @.***>:

@TarikHamedovic do you also see that only 2nd error is keeping this
track open?
@D4VF0 , any additional insights into: ... the second error ...   requires further analysis.
We are looking for your and Tarik's go ahead to close this issue.
--
Reply to this email directly or view it on GitHub:
https://github.com/chili-chips-ba/openCologne/issues/19#issuecomment-2241328434
You are receiving this because you were mentioned.
Message ID: @.***>

--

**  Technische Hochschule Koeln / University of Applied Sciences
**
**  Dave Fohrn
**  E-Mail: @.***

After downloading the latest version of the gatemate_ila and changing the config.py parameters to:
UPLOAD_FLAGS = ' -b olimex_gatemateevb '
CON_DEVICE = 'oli'

The p_r tool is:
> p_r
GateMate (c) Place and Route
Version 4.2 (1 July 2024)
All Rights Reserved (c) Cologne Chip AG

The openFPGALoader version is:
>openFPGALoader -V
openFPGALoader v0.12.1

The yosys version is:
> yosys
Yosys 0.40+22 (git sha1 fa0c5c1d4, clang++ 14.0.0-1ubuntu1.1 -fPIC -Os)

We double checked the udev rules are correctly set, and the command we ran was from the app folder:
python3 ILAcop.py config -vlog ../example_dut/blink/src/ -t blink

We still got the same problem provided here:
Traceback (most recent call last):
  File "/home/user/gatemate_ila/app/ILAcop.py", line 267, in <module>
    if not ILA_config_instance.upload():
  File "/home/user/gatemate_ila/app/ILAConfig.py", line 1617, in upload
    dev.set_configuration()
  File "/home/user/.local/lib/python3.10/site-packages/usb/core.py", line 915, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/home/user/.local/lib/python3.10/site-packages/usb/core.py", line 113, in wrapper
    return f(self, *args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/usb/core.py", line 159, in managed_set_configuration
    self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
  File "/home/user/.local/lib/python3.10/site-packages/usb/backend/libusb1.py", line 812, in set_configuration
    _check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))
  File "/home/user/.local/lib/python3.10/site-packages/usb/backend/libusb1.py", line 604, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 16] Resource busy

Now commenting out the set_configuration() doesn't fix the problem.
We also tried pressing the RP-BOOT1 button, but to no avail.

Thanks for the detailed report. This seems to be a Linux issue. I have now added a routine to disconnect the kernel drivers from all interfaces of the RP2040 dirtyJTAG firmware if they are busy before the program tries to use them. My commit should fix this: Commit 9544026.
Please use the RP-RST1 button to reset the RP2040 on the Olimex board.
Thanks for uncovering the issue.

@D4VF0 let's not close this track before Tarik and Ahmed validate this second fix. Upon confirmation, they will then close it.

Please make sure to update the firmware of the RP2040. More information can be found at:
https://github.com/colognechip/gatemate_ila?tab=readme-ov-file#use-with-the-olimex-gatematea1-EVB

After updating the firmware and working with the latest commit I'm happy to report that the blinky example works like a charm, except that I always get the following errors:

after the device is initially connected or RP-RST1 is pressed:

Error configuring the device
Kernel driver for interface 1 disconnected.
Kernel driver for interface 3 disconnected.

Upload to FPGA Board...
writeTDI: read: usb bulk read failed [Errno 110] Operation timed out

every time after that it's just:

Upload to FPGA Board...
writeTDI: read: usb bulk read failed [Errno 110] Operation timed out

But, like I said, the LED is blinking as expected and I have no issues capturing the signals.

Thanks for trying it out. This error occurs because a kernel driver is already attached to the RP2040. The program then runs an automatic error handling feature that I have built in. If the "Resource busy" error occurs and the configuration of the device fails, the program automatically detaches the kernel driver from all interfaces of the RP2040. Whenever you reconnect or reset the board, it reconnects, and the old kernel driver becomes active again. You can also use udev rules to unbind the kernel driver. This is a well-known issue for Linux: https://github.com/libusb/libusb/wiki/FAQ#can-i-run-libusb-application-on-linux-when-there-is-already-a-kernel-driver-attached-to-it
Nice that it works now. I think the issue can be closed now.


no-callback-in-promise misses callback passed as argument

Description
The no-callback-in-promise rule only checks for CallExpressions. It does not check if a callback is passed to a third-party like setTimeout(callback). I think any time a callback is passed to another function, the assumption should be that the callback will be called.
Steps to Reproduce
function wait (callback) {
  return Promise.resolve()
    .then(() => {
      setTimeout(() => callback()); // this fails
      setTimeout(callback); // this does not fail
    });
}

Expected behavior: no-callback-in-promise flags error
Actual behavior: no-callback-in-promise rule does not flag error
Versions

Node version: 8
ESLint version: 4.19.1
eslint-plugin-promise version: 4.2.1

Additional Information
Potential implementation: in https://github.com/xjamundx/eslint-plugin-promise/blob/5b935bdd3c3760a2e58eea9b89c86b6d3243e321/rules/lib/is-callback.js, you can potentially check if any of the CallExpressions's arguments is a named callback.

Note that as per #220 the particular examples you cite with setTimeout are actually meant to pass. The plug-in could perhaps solve this by config which prevented even callbacks invoked by setTimeout and the like.


feat(cluster/kube/builder): "ram" storage class

Implement "ram" storage class with "empty dir" memory-backed volumes.
No changes to resource accounting - service memory size must include size allocated to ram storage.

refs akash-network/support#179

i'll cut node release v0.30.2 to fix tests

just realized should include ram volume size when calculating price.

should probably add validation for container's memory size in a few places.

superseded by #217


Javaserver

Pull Request Checklist
Closes #42
Author

[x] Built code and tested locally
[ ] Removed any TODOs, etc.
[ ] Metioned the issue this PR closes
[ ] Good description of what the PR does written

Reviewer

[ ] Built and tested code locally
[ ] Fully understood the PR
[ ] All open conversations resolved

@TuCl can you close this PR and open one by yourself, so I can put myself as a reviewer?


Add support for ignoring imports from files with specific build constraints

Add --skip-tag flag to choose to ignore imports from files with any of the given build tags. In many cases, adding a --skip-tag ignore and --skip-tag appengine could help limit the number of unneeded dependencies discovered with --update.
PR incoming...

Hi @blitzrk,
I have a few questions about --skip-tag.
If --skip-tag appengine is specified, what happens to the file with the following build tags?
// +build linux appengine

If this file will skipped, you will not be able to build on Linux.
If the target tag is ignore, I think it will work.
But in other cases, build may become impossible.
What do you think?


update onboarding

This change is

For the UI it would be easier if adapters have a predictable name like submitProposal instead of names like onboard. Would this be possible?

I agree with @jtrein that we should make that change. It would make reusability of components in the UI simpler. I already renamed to submitProposal for the Tribute and TributeNFT adapters.

good point. I will rename it to submitProposal (and see where it needs to be renamed on other adapters)


Update arbitrary class doc example using Annotated instead of constr

Change Summary
In the documentation there is a code example for Arbitrary class instances that uses constr() which according to the documentation is its discouraged and will be deprecated in Pydantic 3.0 in favor of Annotated and StringConstraints
Related issue number
None
Checklist

[ x ] The pull request title is a good summary of the changes - it will be used in the changelog
[ x ] Unit tests for the changes exist
[ x ] Tests pass on CI
[ x ] Documentation reflects the changes where applicable
[ x ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

please review


[Mapping] Update the hover tooltip and add a basic popup window on click

Description

Update the hover tooltip to have the location name / sample count
Add a basic onClick popup that will enumerate the samples at that point
Refactor some of the demo locationsToSamples parsing
Tweak the bubble size scaling
Need to sync up with design on more details/adjustments
Open to suggestions on what to name "hover tooltips" vs "onclick persistent popups" >:)

Demo

Test and Reproduce

Pull the branch, retrieve MAPTILER_API_KEY from Parameter Store, start locally with MAPTILER_API_KEY=key_here docker-compose up web
Visit http://localhost:3000/locations/map_playground
Hover over a bubble to see the hover. Click on a bubble to see the onClick popup.

Single comment.


Don't run storage upgrade tests on 4.0+

These are for testing 2.1 -> post-8099, and thus there's no need
to run on 4.0. We don't support upgrades to 4.x from 2.1
@beobal or @pauloricardomg  to review

See CASSANDRA-12986

Fyi, in my dtest patch for CASSANDRA-11115, I've used max_version='4', so could be worth being consistent (and my patch's bigger, so it's less work for you to change, unless you feel you're version is much better for some reason :)).
Other than that though, it's not entirely true that those patch are not useful for 4.0 anymore, they just shouldn't be ran from 2.1 but from 3.0. I mean, those tests basically check that most queries work in mixed versions clusters, which was particularly sensible for the 2.x->3.0 transition since there were a lot of logic involved and thus lots of risks, but is nonetheless something we should theoretically test for every possible combination of allowed mixed-version cluster (which is impractical), and at least for any mixed-version cluster with a major internode protocol change (so any 2 allowed major version to make it simple).

'4' is better, I'm just surprised it works, since '4.0' doesn't. Sounds like these should just be integrated into the regular upgrade tests then? Any idea why we hard code 2.1.9 as the starting version for the upgrade?

Well, integrating with the upgrade tests would test every combination of allowed mixed-version cluster. I'm reluctant to special case these though, but just testing "2.1 -> 3" and "3 -> 4" should be fine.

@pcmanus Do you know why we hard code 2.1.9 as the initial version? If I add support for 3 -> 4 major version upgrading, which two points would you like that to come from, 3.0.latest to 4.0.latest?

Do you know why we hard code 2.1.9 as the initial version?

No clue. I assume it was easier to hard-code something initially and that never was updated/improved.

If I add support for 3 -> 4 major version upgrading, which two points would you like that to come from, 3.0.latest to 4.0.latest?

Yes, I'd say latest to latest is the most logical to pick if we pick something.

@guyboltonking and @smccarthy788, could you review?
Here is some CI:
http://cassci.datastax.com/view/Dev/view/ptnapoleon/job/ptnapoleon-trunk-upgradeing-upgrade/9/testReport/

Code & CI look good. +1


Initialize "info" in minpack_lmdif

"info" may be unset upon reaching line 499. To correct this, it should be initialized to 0.

That should never happen, info is already set to 0 at the top of the lmdif function: https://github.com/scipy/scipy/blob/master/scipy/optimize/minpack/lmdif.f#L202
Do you have a code example that shows a problem?

Thanks! I unfortunately can't share my code, but the change was motivated
by a Memory Sanitizer error:
MemorySanitizer: use-of-uninitialized-value
third_party/py/scipy/optimize/__minpack.h:499:7
in minpack_lmdif
Until you pointed it out, I didn't realize that the function was calling
into Fortran code. It's possible that Memory Sanitizer isn't compatible
with such calls and this may be a false positive.
-Matthew
On Sun, Jun 18, 2017 at 2:30 AM, Ralf Gommers<EMAIL_ADDRESS>wrote:

That should never happen, info is already set to 0 at the top of the lmdif
function: https://github.com/scipy/scipy/blob/master/scipy/
optimize/minpack/lmdif.f#L202
Do you have a code example that shows a problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/scipy/scipy/pull/7470#issuecomment-309266550, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AYC3jIM3-nrbSLs6US0BzGAy5OrfniDkks5sFO4rgaJpZM4Nx_Lv
.

the change was motivated by a Memory Sanitizer error

Ah that makes sense, it probably is Fortran-unaware.
Can't hurt to merge this though, no harm in setting info to 0 twice and does make that warning go away.


Suggestion around "new"

Thanks for writing this, it's a great resource and something I'll point others to.
I'm glad you're suggesting being more cautious about ignoring the prototype chain in favor of the "factory" approach. I think it's a useful part of the language. Maybe something worth suggesting is a defensive constructor that is capable of handling that case. Something along the lines of:
function User(firstName, lastName) {
  if (!(this instanceof User)) { return new User(firstName, lastName); }
  this.firstName = firstName
  this.lastName = lastName
}
User.prototype.getFullName() {
  return this.firstName + this.lastName;
}

// both work
var user1 = new User('Ford', 'Perfect')
var user2 = User('Tricia', 'McMillan')

Closing, since this is indeed open to debate.