Rate limiting

Hi,
How does this module handle when multiple states change in a short period of time? Is there a queue of sorts that prohibits state changes from getting lost or a retry if a state change was rejected due to the bridge's rate limit?
I have multiple toggles, each for a bulb. When I hit them fast enough, only the last bulb's state is actually being changed. This causes the apps states to be inconsistent.

Found this:
"How many commands you can send per second?
You can send commands to the lights too fast. If you stay roughly around 10 commands per second to the /lights resource as maximum you should be fine. For /groups commands you should keep to a maximum of 1 per second."
What I can't find is info on how fast commands can be sent, e.g. if commands sent faster than ~100ms apart are problematic. But it seems that way. It would probably make sense to implement a module like bottleneck to limit consecutive calls to 100-150ms.
https://www.npmjs.com/package/bottleneck

I have always left it to the consumer/developer to not storm the bridge with excessive commands. There has never been an error code from the bridge to determine that you are storming it with commands, which may have changed now, I will need to reread the current API documentation.
Whilst it may be possible to rate limit in the library, I am uncertain that is something I would want to do, as the library is only meant to be a thin wrapper around the REST API of the bridge itself. The problem is that in some cases rate limiting calls would result in noticible delays visible to users when you start chaining commands, some of which may be necessary, others not.
I will take a look and propose something as a follow up in a few weeks, as I don't have time in the next three weeks to do any work on this.

I understand your concerns and thanks for considering. Since the rate limiting is technically part of the API for better or worse, I think it would make sense to allow for optional rate limiting. Handling this in the client is semi optimal at best as there might be multiple clients. I will probably create a fork. Let's see.

Completed using bottleneck in 4.0.0-alpha-3


Unable to install with Vagrant 1.7.2 and Hostmanager 1.5.0

I receive an error. I'm not familiar enough with debugging vagrant plugins to provide much of a useful analysis, but let me know if you need more info.
The following occurs with a fresh Vagrant install:
$ vagrant plugin install vagrant-hostmanager
Installing the 'vagrant-hostmanager' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing rdoc (4.2.0), and Bundler cannot continue.
Make sure that `gem install rdoc -v '4.2.0'` succeeds before bundling.

NoMethodError: undefined method `size' for nil:NilClass
## ok - so let me install the right version of rdoc...
$ /opt/vagrant/embedded/bin/gem install rdoc -v 4.2.0
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /opt/vagrant/embedded/lib/ruby/gems/2.0.0 directory.
## ok - sudo
$ sudo /opt/vagrant/embedded/bin/gem install rdoc -v 4.2.0
Fetching: rdoc-4.2.0.gem (100%)
rdoc's executable "rdoc" conflicts with /opt/vagrant/embedded/bin/rdoc
Overwrite the executable? [yN]  y
rdoc's executable "ri" conflicts with /opt/vagrant/embedded/bin/ri
Overwrite the executable? [yN]  y
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Successfully installed rdoc-4.2.0
Parsing documentation for rdoc-4.2.0
Installing ri documentation for rdoc-4.2.0
1 gem installed
## now it should work, right? - no
$ vagrant plugin install vagrant-hostmanager
Installing the 'vagrant-hostmanager' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing rdoc (4.2.0), and Bundler cannot continue.
Make sure that `gem install rdoc -v '4.2.0'` succeeds before bundling.

NoMethodError: undefined method `size' for nil:NilClass
### Now try with sudo and verbose - maybe there will be more relevant information
$ sudo vagrant plugin install vagrant-hostmanager --verbose
Installing the 'vagrant-hostmanager' plugin. This can take a few minutes...
Fetching source index from http://gems.hashicorp.com/
Fetching gem metadata from https://rubygems.org/.........
Fetching additional metadata from https://rubygems.org/..........
Resolving dependencies...
Using builder 3.2.2
Using gyoku 1.2.2
Using mini_portile 0.6.0
Using nokogiri <IP_ADDRESS>
Using akami 1.2.2
Using bundler 1.7.11
Using hitimes 1.2.2
Using timers 4.0.1
Using celluloid 0.16.0
Using ffi 1.9.6
Using childprocess 0.5.5
Using erubis 2.7.0
Using gssapi 1.0.3
Using hashicorp-checkpoint 0.1.4
Using httpclient <IP_ADDRESS>
Using rack 1.6.0
Using httpi 0.9.7
Using i18n 0.6.11
Using json 1.8.2
Using rb-fsevent 0.9.4
Using rb-inotify 0.9.5
Using listen 2.8.4
Using little-plugger 1.1.3
Using log4r 1.1.10
Using multi_json 1.10.1
Using logging 1.8.2
Using mime-types 1.25.1
Using net-ssh 2.9.2
Using net-scp 1.1.2
Using net-sftp 2.1.2
Using nori 1.1.5
Using rb-kqueue 0.2.3

NoMethodError: undefined method `size' for nil:NilClass
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing rdoc (4.2.0), and Bundler cannot continue.
Make sure that `gem install rdoc -v '4.2.0'` succeeds before bundling.

same problem for me as well

Are you still having this issue? Try the command with sudo.


Add DPG: Powwater Water Demand and Consumption Database

Complimentary to #549

Moving this PR to archive due to slow response as the per SOP archiving policy.


[11.x] add optional prefix for cache key

if a user does not decide to use a dedicated cache store for their password resets, there's a risk of collision/overwriting of the cache keys in the default cache store, since we are just using the user's email.  this allows the user to set an optional config value to use a prefix on the cache key.
I left the default blank to start, but we could also choose to come up with some default string.
the other option to this PR is to force people to use a dedicated cache store, which I think we should at least strongly encourage for other reasons as well.

Would it not be a bit easier to just put them in the cache as something like password-reset-.sha1($email)?

having some low-collision chance default seems fine to me


Fix for #16

This swaps in sklearn KMeans to follow the suggestion of @weikang9009 in addressing #16 .

This is great! Would be good to give heads up that this would make sklearn a soft dependency for geopandas.
I think this is the right choice for mapclassify.


Active Directory authentication fails after upgrade from 1.7.0 to 1.7.1

Gitea version (or commit ref): 1.7.1
Git version: 2.11.0
Operating system:
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[X] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[X] Not relevant

Log gist:

2019/02/01 10:18:25 [T] Dialing LDAP with security protocol (1) without verifying: true
2019/02/01 10:18:26 [T] LDAP will bind directly via UserDN template: CN=%s,CN=Users,DC=blabladomain,DC=com
2019/02/01 10:18:26 [T] Binding with userDN: CN=UserName,CN=Users,DC=blabladomain,DC=com
2019/02/01 10:18:26 [D] LDAP auth. failed for CN=UserName,CN=Users,DC=blabladomain,DC=com, reason: LDAP Result Code 200 "Network Error": ldap: response channel closed
2019/02/01 10:18:26 [D] Template: user/auth/signin
2019/02/01 10:18:26 [I] Failed authentication attempt for UserName from ...

Description
Logging in with users from Active Directory source does not work after upgrade to v1.7.1
Deleted, recreated the users and the same error persists. Some fragments from the log were replaced with dummy values.
Screenshots

What OS are you run gitea on?

Linux armv7l

Same report, but different error:
ldap: recovered panic in processMessages: runtime error: invalid memory address or nil pointer dereference
I'm running in docker but also on armv7 with SQLite db

Could this have been fixed by #6107?

I think it should be, please reopen if it is not


AU VIC Next Holiday shown incorrectly

The next holiday for VIC, Australia is showing up as Good Friday (15/4/22). However, the next holiday should be Labour Day (14/3/22). The labour day holiday is shown in the holiday list but not in the right order. It shown in between Queen's Birthday (Jun) and Grand Final Day (Sep).

@kaizersoje This library, in order to be as efficient as possible, does not sort the output by date.
@dr-prodigy Maurizio, funny to see this issue being opened because as I was working on my contribution this weekend I bumped into this as well, and wondered why the holidays aren't returned sorted. It somehow was my expectation too that they would be, but then remembered the required and welcomed focus on speed. I can do a PR to add warnings and examples in the docs about this.
We could also add a sorted parameter, default it to False, and do the sorting in the library if set to True. Can add this to my PR.
What do you think?

@mborsetti Due to dates not being sorted, the state to the next holiday is also incorrect.


add City Colleges of Chicago

add City Colleges of Chicago, we can work better.

anybody who can approve this pull request?

The school official website URL: https://www.ccc.edu/Pages/default.aspx

hi @philipto, can you review this PR and merge it?

@houxiufeng This domain is blacklisted because the college allows to register an email address there even if you are not a student of the college. If you are the student of this college, please apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).


[WHLSL] Inlining should be optional

Migrated from https://bugs.webkit.org/show_bug.cgi?id=188641:
At 2018-08-16T06:00:14Z<EMAIL_ADDRESS>wrote:
We should't require inlining. It should be a step that can be selectively applied, or not, and have no affect on correctness. Different code generation backends may or may not wish to invoke inlining in certain cases.

At 2018-09-06T18:09:13Z<EMAIL_ADDRESS>wrote:
Comment on attachment 349039
Patch
Can we add a test that enables inlining for a couple functions to make sure it doesn't break?

At 2018-09-06T17:17:31Z<EMAIL_ADDRESS>wrote:
Created attachment 349039
Patch

At 2018-09-06T19:54:07Z<EMAIL_ADDRESS>wrote:
visitCallExpression(node) in Evaluator has a comment:
    // We evaluate inlined ASTs, so this can only be a native call.

This seems to be false now.
Also callFunction() still calls resolveInlinedFunction(), which seems either wrong or poorly named.

At 2018-09-10T23:19:37Z<EMAIL_ADDRESS>wrote:
Created attachment 349352
Patch

At 2018-09-06T19:54:48Z<EMAIL_ADDRESS>wrote:
Why does resolveInlinedFunction() call _inlineFunction()?

At 2018-09-10T23:22:43Z<EMAIL_ADDRESS>wrote:
*** Bug 189326 has been marked as a duplicate of this bug. ***

At 2018-09-11T00:01:34Z<EMAIL_ADDRESS>wrote:
Created attachment 349357
Patch

At 2018-09-10T23:35:47Z<EMAIL_ADDRESS>wrote:
Comment on attachment 349352
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=349352&action=review

Tools/WebGPUShadingLanguageRI/CallFunction.js:31

let overload = program.globalNameContext.resolveFuncOverload(name, argumentTypes, null, true);

Cool.

Tools/WebGPUShadingLanguageRI/Evaluator.js:40

   // This only occurs when a function returns void.

Comments should state "why," not "what." I recommend deleting this.

Tools/WebGPUShadingLanguageRI/Inline.js:39
func.rewrite(new Inliner(program, func, visiting));

We should make sure we never inline entry points. Do we have a test for that?

Tools/WebGPUShadingLanguageRI/Test.js:7646
+tests.evaluationOrderForArguments = () => {

Can we add some tests that do some inlining?

At 2018-09-11T01:26:37Z<EMAIL_ADDRESS>wrote:
rdar://problem/44326053

At 2018-09-11T01:25:20Z<EMAIL_ADDRESS>wrote:
Comment on attachment 349357
Patch
Clearing flags on attachment: 349357
Committed r235879: https://trac.webkit.org/changeset/235879

At 2018-09-11T01:25:21Z<EMAIL_ADDRESS>wrote:
All reviewed patches have been landed.  Closing bug.

At 2018-09-22T01:33:22Z<EMAIL_ADDRESS>wrote:
Comment on attachment 349357
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=349357&action=review

Tools/WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js:36

for (let funcList of program.functions.values()) {

   for (let func of funcList) {

       if (func.isNative)

           continue;

       func.visit(new LateChecker());

       func.visit(new EBufferBuilder());

   }

}

Why do we have to alternate between LateChecker() and EBufferBuilder()? Why can't we separate these out into two separate calls in Prepare()?


observe: add support for first and follow at the same time

Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Support -f and --first at the same time
Fixes: #959
Support -f and --first at the same time
<!-- Enter the release note text here if needed or remove this section! -->

CC @pchaigno

@kaworu I need some help with the test to be added. If I get it correctly we would need to test if the first and follow are supported at the same time in the test right


deleting a stream with many consumers blocks API access for a long time

I was testing memory and performance impact of 20k+ consumers on a stream and on deleting it the API was unavailable for minutes while the stream delete stopped each consumer.
Should probably be in a go routine and reply at the end of the go routine, otoh the long delete means no Request() will tend to wait that long for a response either

I also noticed after doing this delete that go routines did not drop significantly, I'll make a nicer reproduce but just for reference now:
goroutine 2765882 [sync.Cond.Wait, 165 minutes]:
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:310
sync.runtime_notifyListWait(0xc0000ca190, 0x36465220000026a)
        /usr/local/go/src/runtime/sema.go:513 +0xf8
sync.(*Cond).Wait(0xc0000ca180)
        /usr/local/go/src/sync/cond.go:56 +0x9d
github.com/nats-io/nats-server/v2/server.(*Stream).waitForMsgs(0xc005766120)
        /go/pkg/mod/github.com/nats-io/nats-server/v2@v2.1.8-0.20200701221136-774da7f02108/server/stream.go:919 +0x4a
github.com/nats-io/nats-server/v2/server.(*Consumer).loopAndDeliverMsgs(0xc000ac4b40, 0xc0001bc400, 0xc00000c5a0)
        /go/pkg/mod/github.com/nats-io/nats-server/v2@v2.1.8-0.20200701221136-774da7f02108/server/consumer.go:1223 +0x175
created by github.com/nats-io/nats-server/v2/server.(*Stream).AddConsumer
        /go/pkg/mod/github.com/nats-io/nats-server/v2@v2.1.8-0.20200701221136-774da7f02108/server/consumer.go:477 +0xeb0

I have 808 of these active post delete
goroutine 2763472 [select, 171 minutes]:
github.com/nats-io/nats-server/v2/server.(*Consumer).updateStateLoop(0xc000635680)
        /go/pkg/mod/github.com/nats-io/nats-server/v2@v2.1.8-0.20200701221136-774da7f02108/server/consumer.go:812 +0x12e
created by github.com/nats-io/nats-server/v2/server.(*Stream).AddConsumer
        /go/pkg/mod/github.com/nats-io/nats-server/v2@v2.1.8-0.20200701221136-774da7f02108/server/consumer.go:479 +0xed5

718 of these
At present I have no active consumers in any stream

Plot thickens a bit - after the API eventually becomes available again i do not see the stream with the many consumers.  Server restart though brings it back with 8000 consumers active
I have to stop it and delete them by hand

package main

import (
	"fmt"
	"log"

	"github.com/nats-io/jsm.go"
	"github.com/nats-io/nats.go"
)

func panicIfErr(err error) {
	if err != nil {
		panic(err)
	}
}

func main() {
	nc, err := nats.Connect("localhost")
	panicIfErr(err)

	str, err := jsm.NewStream("20k", jsm.FileStorage(), jsm.Subjects("in.20k.>"), jsm.StreamConnection(jsm.WithConnection(nc)))
	panicIfErr(err)

	for i := 0; i <= 20000; i++ {
		c, err := str.NewConsumer(jsm.DurableName(fmt.Sprintf("c%d", i)), jsm.FilterStreamBySubject(fmt.Sprintf("in.20k.%d", i)))
		if err != nil {
			log.Printf("Could not create consumer %d: %s", i, err)
			continue
		}

		log.Printf("Created %s", c.DurableName())
	}
}

Creating 20k consumers like that and just deleting the stream after reproduce this, locally its a lot faster I think my dev environment disks is a lot faster than my k8s cluster (lols).
But even locally it deletes exactly 1024 consumers before something goes wrong, the stream is deleted from the api till next restart then its back...after this failed delete ^C doesnt work either of course.
Here are 3 startups after issuing the stream delete and waiting for the API to become responsive again:
[18257] 2020/07/13 14:40:08.602343 [INF]   Recovering 18977 Consumers for Stream - "20k"
[18432] 2020/07/13 14:41:07.327812 [INF]   Recovering 17953 Consumers for Stream - "20k"
[18530] 2020/07/13 14:41:49.730417 [INF]   Recovering 16929 Consumers for Stream - "20k"

This is the cause:
https://github.com/nats-io/nats-server/blob/8312f3fb6d34135ca3b65955950f60e492d19342/server/consumer.go#L1645
We publish many advisories into the sendq
But before we get here we send a nil which stops processing the senq
https://github.com/nats-io/nats-server/blob/8312f3fb6d34135ca3b65955950f60e492d19342/server/stream.go#L979
so the sendq goes full (its 1024 big) and the delete process hangs forever

We probably can skip consumer notifications if deleting a stream fwiw

Thanks, will fix it sometime this week.

You still want to not send advisories for the consumers?

I don't think they are needed if the stream is being deleted

Right now I left them in..

@derekcollison that seems to work a lot better, i dont see periods of API being inacessible while this run, just [::1]:33682 - cid:8 - Readloop processing time: 8.357308539s which isnt unexpected

ok so we should probably look and see if we have lots of consumers and if so move to go routine. Should I merge this one and do that one separate or all in this one?


An issue when calculating profit using TopkDropoutStrategy.

This is a potential issue when calculating profit. https://github.com/microsoft/qlib/blob/main/qlib/backtest/account.py#L194, when you calculate the total profit, you are using the price from last step(which is calculating the day profit), instead of the price where you place you order. Since you update the price after every step https://github.com/microsoft/qlib/blob/main/qlib/backtest/account.py#L245, so you actually overwrite the deal price always with the latest price.
e.g. say you place order at step 2, and close order at step 10, you actually get the profit from step 9 -10, instead of 2 - 10. Because you only calculate profit when you call https://github.com/microsoft/qlib/blob/main/qlib/backtest/executor.py#L604, but you update the price for holding stock for every step.

I could be wrong as I did not dive into the pile of codes but I guess probably it is related to how they calculated the return series.
https://github.com/microsoft/qlib/blob/8bf2678676f9bd5b74c6bd4d80ef81182f8d89c7/qlib/backtest/account.py#L283C13-L283C13
So the daily returns are calculated as return_rate=(now_earning + now_cost) / last_account_value, while now_earning = now_account_value - last_account_value, so the returns are not calculated as the weighted sum of returns of all the stocks in the portfolio but rather the daily change of the NAV divided by the NAV. So stock prices are required to be updated daily to the most recent close to reflect real NAV of the portfolio.


"Create styles" no longer working

Describe the bug
The Create style feature used to work but now it just does nothing.
To Reproduce
Steps to reproduce the behavior:

Create a new token
PPress Create styles
Nothing is created
Restart Figma
Not fixed

Expected behavior
New color styles are created.
Screenshots or Screencasts
If applicable, add screenshots to help explain your problem.
Figma file (optional)
All files have the issue
JSON (optional)
If possible, attach the JSON that leads to this bug.

I cannot confirm, you'd either need to share a screen recording or more information on the steps you've taken.
My guess is you've checked Ignore first part of token name for styles and your tokens are named without a group (e.g. the token name is just blue)
Either that, or your token sets aren't activated (checkbox next to their names)


API change the shape of the incidence curves

Change some API such that the shape of returned arrays are:

predict_proba is an array of shape (n_samples, n_events)
predict_cumulative_incidence is an array of shape (n_samples, n_events, n_times)
predict_survival_function is an array of shape (n_samples, n_times)

The goal is to be consistent with the conventions of scikit-learn where all predict_ methods return datastructures with a first dimension that is aligned with the observations onto which the predictions are made.


docs: column name consistency

This model does not match the model created by sqlmesh init bigquery. Looks like accidentally missed in an update.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[WFLY-15721] Remove org.apache.commons.cli and org.apache.commons.lang3 modules and update wildfly-elytron-tool.jar

https://issues.redhat.com/browse/WFLY-15721
Depends on https://github.com/wildfly/wildfly-core/pull/4879

/retest

Downstream PR passed CI with corresponding wildfly-core upgrade, is there a way to test this with the latest main branch of core?

@gaol You could use the WildFly integration experiment Jobs to integrate WildFly full with wildly core, as an example for this PR, I've kicked off this one:
https://ci.wildfly.org/viewLog.html?buildId=286134&tab=buildResultsDiv&buildTypeId=WF_WildFlyCoreIntegrationExperiments
Sadly, there is no out of the box way to run the Galleon and Bootable Jar Jobs integrated, but if you are interested on those specifics, you can tweak the maven parameters to run those sets by using the "Integration Core experiments" Jobs (e.g adding -Dts.layers or -Dts.bootable)

@gaol Just re-triggered it.

Thank you @fjuma , from the error logs:
[INFO] Downloading from jboss-public-repository-group: https://repository.jboss.org/nexus/content/groups/public/org/wildfly/core/wildfly-core-parent/18.0.0.Beta4/wildfly-core-parent-18.0.0.Beta4.pom
[INFO] Downloaded from jboss-public-repository-group: https://repository.jboss.org/nexus/content/groups/public/org/wildfly/core/wildfly-core-parent/18.0.0.Beta4/wildfly-core-parent-18.0.0.Beta4.pom (122 kB at 166 kB/s)

I realized that github action uses your branch instead of PR on top of WildFly main branch, so would you please rebase? :)

I've rebased this now.

Thanks @fjuma , looks like the test failure this time is temporary because of MRRC unavailability, it should be good if it can be run again, but I don't have permission to re-trigger it. :)

Re-triggered it :)


Moving meeting notes into proper place

Meeting artifacts will live here and on YouTube moving

@chris-short I suggest that you rename old-monthly directory to old directory in this pull request.
Same reason as my comment at https://cloud-native.slack.com/archives/C01G9DEE88M/p1636184439093800?thread_ts=1636120243.081800

@chris-short @scottrigby
I suggest renaming “Working Group Monthly” to “Working Group” to decouple the playlist title from scheduling mechanics.
Less is more.
Scheduling mechanics: They used to be monthly, and they’re now fortnightly. There is a newish conversation to make them first and third (or second and fourth) week of each month, which would skip the fifth week.
https://www.youtube.com/playlist?list=PLXOML2VBdIo4-biBmCbfNkP0ywF0f5mau

@lloydchang let's do renaming as a follow-up. Right now they match the WG meeting notes google doc meeting type headers. I don't have a problem renaming, but should be done together. I don't want this to block archiving github.com/gitops-working-group/gitops-working-group. Would you mind adding that to the next WG meeting agenda?

Hi @thschue, until we are granted write access on this repo (which will be limited to the scope in CODEOWNERS) the WG can't merge this ourselves. See https://github.com/cncf/tag-app-delivery/issues/154
If you can merge this one in the meantime, this PR is ready. Thanks!

@chris-short I just realized this PR was automatically closed when the default branch was changed from master to main. I have the ability to merge gitops-wg PRs now, but this is a GitHub thing. Do you mind cherry-picking your commit into a new PR against main?

@scottrigby #181


#MM-18818 Updated docs for change in default support email

Summary
Updated docs for change in default support email. IT's not empty instead of the old value<EMAIL_ADDRESS>Ticket Link
https://mattermost.atlassian.net/browse/MM-18818

Hello @harshilsharma63,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@justinegeffen that looks good! I've included your suggestion.


Fix rule syntax version for all internal routers

What does this PR do?
This PR sets the rule syntax to v3 explicitly for dynamic.Router initialization for all internal routes.

Motivation
Fixes #10688

You don't need to rebase, our bot will handle the rebase when the PR has 3 approvals.


import endpoints not covered in api docs

We should take a look at the API Reference section of our docs and make sure we  cover anything which implemented in the clients. I know some things we don't want to officially expose and support, but /import and import-value are pretty widely used at this point..

@codysoyland is going to review the import endpoints again to determine if it makes sense to consolidate them into one.

Is this still good to work on ?

We've had a little discussion about combining the two import urls into a singular handler and locking down the API. I still feel like that might be the best option, but I haven't looked at it in a while. I would like to make that decision before documenting them.

We don't have an import-value endpoint anymore, but we have since added import-roaring. I think this issue is still valid and API updates are needed.


Structure question about BEM

We used BEM a lot and thinking about setting up a component library for react which follows BEM guidelines. No I am confused about your structure. You separate blocks, elements and modifiers in different folders. When the library grows this will become a mess or am I wrong? I thought that each component holds it's own elements and modifiers, because an element and modifiers, in BEM, only belong to one block. And when you do this you can just reuse the one component of that library.
Maybe I am wrong :) Please give me hint
---- after looking into the project
I see in the code that the Button for example uses global modifiers and then you can implement a custom. That's fine, I got it. So global modifiers and custom for a block. But why storing elements in a separate folder ? An Element only belongs to one block, so it should be moved there. If you want to have a global "Icon", p or Text -> than this is actually a block.

@simonfranzen, strictly speaking from a traditional BEM methodology, I think you're right—elements belong to a single block. However, the pattern that Alan outlines here allows for elements to also be used on their own.
I highly recommend reading the blog post that Alan wrote that relates to this starter lib.


Bluetooth: Mesh: Provisioning fixes

Fixes for output & input OOB provisioning methods. Verified to work with the PTS.

recheck


[TypeScript] Fix some types and update tests

Fix some types: I made a mistake in which repeat returns an array. I also forgot to fix return types of combinations/permutations.

Update tests: In the last pull request, I made functions return IteratorIterable but forgot to update corresponding tests.

<EMAIL_ADDRESS>


all tweaks removed on server reload

I reloaded my server and now none of the tweaks are enabled, all of the tweaks I had previously enabled are disabled in the config file and now I have to go through the .yml file and re-configure everything
Steps to reproduce the behaviour:

enable some of the tweaks
/reload your server
now none of the tweaks are enabled anymore
See error

I would expect all the configs to stay the same as I set them if possible.

NVM, just saw this in previous issue,


Don't use designated initializers

they are a C++20 feature, we aim to support C++17.
Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description

Looks good to me!


Code documentation needs improvement

Is this a duplicate of #52 , or do you mean different documentation here?

Nope, totally a dupe. Thanks. Closing in favor of #52


How to expand vm's / directory of ubuntu?

yaml of vmi:
apiVersion: kubevirt.io/v1
kind: VirtualMachineInstance
metadata:
finalizers:

kubevirt.io/virtualMachineControllerFinalize
foregroundDeleteVirtualMachine
generation: 12
labels:
kubevirt.io/nodeName: kcp02
name: vm-wzymanualcreate
namespace: wzy
ownerReferences:
apiVersion: kubevirt.io/v1
blockOwnerDeletion: true
controller: true
kind: VirtualMachine
name: vm-wzymanualcreate
uid: e1db97d2-ac95-4149-9109-6a545344cb07
resourceVersion: "13766977"
uid: a0a56beb-82cb-4e2b-b635-59e1b2fd09a4
spec:
domain:
cpu:
cores: 4
model: host-model
devices:
disks:

disk:
bus: virtio
name: cloudinitdisk
bootOrder: 1
disk:
bus: virtio
name: sysdisk
interfaces:
bridge: {}
name: default
features:
acpi:
enabled: true
firmware:
uuid: 601e4df3-4dc6-587d-a8ed-8ad795808746
machine:
type: q35
resources:
requests:
memory: 8Gi
networks:

name: default
pod: {}
volumes:
cloudInitNoCloud:
userDataBase64: JTIzY2xvdWQtY29uZmlnJTBBdXBkYXRlcyUzQSUwQSUyMCUyMG5ldHdvcmslM0ElMEElMjAlMjAlMjAlMjB3aGVuJTNBJTIwJTVCJTI3Ym9vdCUyNyU1RCUwQXRpbWV6b25lJTNBJTIwRXRjL1VUQyUwQXBhY2thZ2VzJTNBJTBBJTIwLSUyMGNsb3VkLWluaXQlMEFwYWNrYWdlX3VwZGF0ZSUzQSUyMHRydWUlMEFzc2hfcHdhdXRoJTNBJTIwdHJ1ZSUwQWRpc2FibGVfcm9vdCUzQSUyMGZhbHNlJTBBY2hwYXNzd2QlM0ElMjAlN0IlMjJsaXN0JTIyJTNBJTIycm9vdCUzQTEyMzQ1NiUyMiUyQ2V4cGlyZSUzQSUyMEZhbHNlJTdEJTBBcnVuY21kJTNBJTBBJTIwLSUyMHNlZCUyMC1pJTIwJTIyL1Blcm1pdFJvb3RMb2dpbi9zLyU1RS4qJTI0L1Blcm1pdFJvb3RMb2dpbiUyMHllcy9nJTIyJTIwL2V0Yy9zc2gvc3NoZF9jb25maWclMEElMjAtJTIwc3NoLWtleWdlbiUyMC1BJTBBJTIwLSUyMHN5c3RlbWN0bCUyMHJlc3RhcnQlMjBzc2hkLnNlcnZpY2UlMEE=
name: cloudinitdisk
name: sysdisk
persistentVolumeClaim:
claimName: vol-1234567890

pvc:

instance:

as stated above, i create a datavolume which pvc storage is 60Gi, but when i login in to the instance, the / directory is only 4.8Gi.
How can i expand / to 60Gi?
Thanks for your guidance!

So CDI (and KubeVirt) only resize the virtual disks but not partitions on those disks. We don't do this because we don't know which partition (if there are multiple) you want to resize, and there is currently no mechanism for the user to specify.
We recommend the user manually resize the partition based on the guest OS. Most people use either a cloud init (or sysprep) to resize the appropriate partition during the first startup. I usually use gparted for any type of linux.

thanks so much

So CDI (and KubeVirt) only resize the virtual disks but not partitions on those disks. We don't do this because we don't know which partition (if there are multiple) you want to resize, and there is currently no mechanism for the user to specify.
We recommend the user manually resize the partition based on the guest OS. Most people use either a cloud init (or sysprep) to resize the appropriate partition during the first startup. I usually use gparted for any type of linux.

thanks so much


Port (some) tests to spock

Do you think it would be beneficiary to the project to port the tests to Spock?
Maybe if not all (lots of them are pretty trivial and would not gain much from such a port - although the Groovy  power-assert feature is pretty handy), just the ones that use parameterized tests? Those would definitely be a lot more clear using Spock.
I could easily perform the aforementioned port if you guys think it's worth it.
Thanks!

I would prefer to keep the entire code base written in Kotlin, otherwise having users look at tests written in Groovy can lead to confusion. Maybe something like kotlin test or spek could lead to more clarity while still remaining in the Kotlin mindset.
Part of this is also know your users, I believe a lot of the users who will be drawn to Kotlin are Java developers - those users will have the most experience with JUnit. At that point if we leave the tests the way they expect them they can concentrate more on the code than learning how to read new test frameworks, though this is less of an issue if the test framework is more readable/self documenting.

Thanks for the prompt reply @sdavids13!
I agree that the bulk of Kotlin users will be coming from the hardcore Java camp. However lately there seems to be a great interest (and perhaps fear) in Kotlin from the Groovy ecosystem as well.
Moreover, Spock is becoming more and more prevalent for testing of all kinds of JVM apps due to it's clarity and BDD style syntax.
Ultimately though, I agree that porting the tests to Spock probably won't provide much added value to the project.
After thinking it through, I also realized that moving the tests to Spock would break a lot of the existing implementations since a lot of the tests would need the presence of @JvmStatic in order to work.

Are you interested in trying out those other frameworks to see if they would add any more clarity?
Or if perhaps add more modules?

I'd be glad to help with both!
I have used Spec before, but I'll check out Kotlin test as well to give more clarity with the tests.
As for adding new modules, which module(s) would you like me to work on?

Kotlin test is pretty much a clone of Scala test from a functionality perspective.

As for adding new modules, which module(s) would you like me to work on?

Pick your poison, just call dibs on the modules you want to work on via creating a new ticket or creating an empty pull request. You can see the non-implemented modules here, I've found it useful to snag other language's implementations/tests and migrate it over to Kotlin (I took a lot of the low-hanging fruit of taking the Java tests and using the Scala implementations). For the canonical tests you can see them here (.json) - I was attempting to create a framework to parse the json files and generate unit tests but ran into a few snags and didn't complete it - for the time being I'm just manually porting over the tests.

Kotlin test seems interesting and pretty active, but I am hesitant to start using because of the lack of support for parameterized tests (although this feature seems to be coming soon). So I propose to hold off on the porting of the tests until parameterized tests are supported.
I'll start adding new modules as explained :)
Thanks!


Add Pull Request Template

Pull Request
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3
#2  👈
#1
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Oct 16, 2:49 AM EDT: A user merged this pull request with Graphite.


Fix TestSequencer to use proper cache object.

Summary
When there was no cache, we failed to create a new cache object and instead created a new object for every call to getCache which means we'll never end up with a proper cache file. I didn't notice probably because when I built this, I had a valid cache file.
Test plan

See newly added test

Codecov Report

Merging #3481 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3481      +/-   ##
==========================================
+ Coverage   62.24%   62.27%   +0.03%
==========================================
  Files         181      181
  Lines        6695     6701       +6
  Branches        5        5
==========================================
+ Hits         4167     4173       +6
  Misses       2526     2526
  Partials        2        2

Impacted Files
Coverage Δ

packages/jest-cli/src/TestSequencer.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Possible race condition when uploading a stemcell in parallel that doesn't exist.

Describe the bug
Possible race condition when uploading a stemcell in parallel that doesn't exist.
To Reproduce
Targeting a bosh director with no stemcells, run this command:
for i in {1..2}; do bosh us https://s3.amazonaws.com/bosh-gce-light-stemcells/light-bosh-stemcell-3586.36-google-kvm-ubuntu-trusty-go_agent.tgz & done

The above command results in this error:
Task 10532 | 17:17:24 | Update stemcell: Save stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 (stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3) (00:00:00)
                     L Error: name and version and cpi unique
Task 10532 | 17:17:24 | Error: name and version and cpi unique

Task 10532 Started  Wed Aug 22 17:15:56 UTC 2018
Task 10532 Finished Wed Aug 22 17:17:24 UTC 2018
Task 10532 Duration 00:01:28
Task 10532 error

Uploading remote stemcell 'https://s3.amazonaws.com/bosh-gce-light-stemcells/light-bosh-stemcell-3586.36-google-kvm-ubuntu-trusty-go_agent.tgz':
  Expected task '10532' to succeed but state is 'error'

Exit code 1

Expected behavior
No error.
Logs
Logs from bosh task 10532 --debug:
Task 10532

I, [2018-08-22T17:15:55.922173 #6571] [0x2ac96014cf54]  INFO -- TaskHelper: Director Version: 265.2.0
I, [2018-08-22T17:15:55.922280 #6571] [0x2ac96014cf54]  INFO -- TaskHelper: Enqueuing task: 10532
I, [2018-08-22T17:15:56 #962] []  INFO -- DirectorJobRunner: Looking for task with task id 10532
D, [2018-08-22T17:15:56 #962] [] DEBUG -- DirectorJobRunner: (0.000372s) SELECT * FROM "tasks" WHERE "id" = 10532
I, [2018-08-22T17:15:56 #962] []  INFO -- DirectorJobRunner: Found task #<Bosh::Director::Models::Task @values={:id=>10532, :state=>"processing", :timestamp=>2018-08-22 17:15:55 UTC, :description=>"create stemcell", :result=>nil, :output=>"/var/vcap/store/director/tasks/10532", :checkpoint_time=>2018-08-22 17:15:56 UTC, :type=>"update_stemcell", :username=>"admin", :deployment_name=>nil, :started_at=>nil, :event_output=>"", :result_output=>"", :context_id=>""}>
I, [2018-08-22T17:15:56 #962] []  INFO -- DirectorJobRunner: Running from worker 'worker_10' on director/d69706cc-9f13-480f-41a1-556d86e3fbbe (<IP_ADDRESS>)
I, [2018-08-22T17:15:56 #962] []  INFO -- DirectorJobRunner: Starting task: 10532
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Creating job
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000340s) SELECT * FROM "tasks" WHERE "id" = 10532
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000329s) SELECT * FROM "tasks" WHERE "id" = 10532
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Performing task: #<Bosh::Director::Models::Task @values={:id=>10532, :state=>"processing", :timestamp=>2018-08-22 17:15:55 UTC, :description=>"create stemcell", :result=>nil, :output=>"/var/vcap/store/director/tasks/10532", :checkpoint_time=>2018-08-22 17:15:56 UTC, :type=>"update_stemcell", :username=>"admin", :deployment_name=>nil, :started_at=>nil, :event_output=>"", :result_output=>"", :context_id=>""}>
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000203s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000487s) UPDATE "tasks" SET "state" = 'processing', "timestamp" = '2018-08-22 17:15:56.276220+0000', "description" = 'create stemcell', "result" = NULL, "output" = '/var/vcap/store/director/tasks/10532', "checkpoint_time" = '2018-08-22 17:15:56.276412+0000', "type" = 'update_stemcell', "username" = 'admin', "deployment_name" = NULL, "started_at" = '2018-08-22 17:15:56.276337+0000', "event_output" = '', "result_output" = '', "context_id" = '' WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.017414s) COMMIT
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Processing update stemcell
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001227s) SELECT * FROM "configs" WHERE ("id" IN (SELECT max("id") FROM "configs" WHERE ("type" = 'cpi') GROUP BY "name"))
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Update stemcell
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000117s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000396s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Downloading remote stemcell","index":1,"state":"started","progress":0}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001587s) COMMIT
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Downloading remote stemcell
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Downloading remote stemcell from https://s3.amazonaws.com/bosh-gce-light-stemcells/light-bosh-stemcell-3586.36-google-kvm-ubuntu-trusty-go_agent.tgz
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000158s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000464s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Downloading remote stemcell","index":1,"state":"finished","progress":100}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001644s) COMMIT
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000125s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000283s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Extracting stemcell archive","index":2,"state":"started","progress":0}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001219s) COMMIT
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Extracting stemcell archive
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000150s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000383s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Extracting stemcell archive","index":2,"state":"finished","progress":100}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001648s) COMMIT
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000162s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000342s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Verifying stemcell manifest","index":3,"state":"started","progress":0}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.047990s) COMMIT
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Verifying stemcell manifest
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Found stemcell image 'bosh-google-kvm-ubuntu-trusty-go_agent/3586.36', cloud properties are {"architecture"=>"x86_64", "container_format"=>"bare", "disk"=>3072, "disk_format"=>"rawdisk", "hypervisor"=>"kvm", "infrastructure"=>"google", "name"=>"bosh-google-kvm-ubuntu-trusty-go_agent", "os_distro"=>"ubuntu", "os_type"=>"linux", "raw_disk_sha1"=>"0bd87fc26402617e43a75346b4adb77a6d2fe061", "root_device_name"=>"/dev/sda1", "source_url"=>"https://storage.googleapis.com/bosh-gce-raw-stemcells/bosh-stemcell-3586.36-google-kvm-ubuntu-trusty-go_agent-raw-1534353681.tar.gz", "version"=>"3586.36"}
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Verifying stemcell image
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000151s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000499s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Verifying stemcell manifest","index":3,"state":"finished","progress":100}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001586s) COMMIT
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000481s) SELECT * FROM "configs" WHERE ("id" IN (SELECT max("id") FROM "configs" WHERE ("type" = 'cpi') GROUP BY "name"))
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: [external-cpi] [cpi-383255] request: {"method":"info","arguments":[],"context":{"director_uuid":"ea61d65c-7f85-4148-bcc4-8204bbaf7c29","request_id":"cpi-383255"}} with command: /var/vcap/jobs/google_cpi/bin/cpi
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: [external-cpi] [cpi-383255] response: {"result":{"stemcell_formats":["google-light","google-rawdisk"]},"error":null,"log":""}, err: , exit_status: pid 1017 exit 0
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000151s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000465s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Checking if this stemcell already exists","index":4,"state":"started","progress":0}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001724s) COMMIT
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Checking if this stemcell already exists
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000423s) SELECT * FROM "configs" WHERE ("id" IN (SELECT max("id") FROM "configs" WHERE ("type" = 'cpi') GROUP BY "name"))
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000575s) SELECT * FROM "stemcells" WHERE (("name" = 'bosh-google-kvm-ubuntu-trusty-go_agent') AND ("version" = '3586.36'))
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000121s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000317s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Checking if this stemcell already exists","index":4,"state":"finished","progress":100}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001496s) COMMIT
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000129s) BEGIN
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000337s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Uploading stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 to the cloud","index":5,"state":"started","progress":0}
') WHERE ("id" = 10532)
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001568s) COMMIT
I, [2018-08-22T17:15:56 #962] [task:10532]  INFO -- DirectorJobRunner: Uploading stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 to the cloud
D, [2018-08-22T17:15:56 #962] [task:10532] DEBUG -- DirectorJobRunner: [external-cpi] [cpi-548902] request: {"method":"create_stemcell","arguments":["/var/vcap/data/tmp/director/stemcell20180822-962-brklmo/image",{"architecture":"x86_64","container_format":"bare","disk":3072,"disk_format":"rawdisk","hypervisor":"kvm","infrastructure":"google","name":"bosh-google-kvm-ubuntu-trusty-go_agent","os_distro":"ubuntu","os_type":"linux","raw_disk_sha1":"0bd87fc26402617e43a75346b4adb77a6d2fe061","root_device_name":"/dev/sda1","source_url":"https://storage.googleapis.com/bosh-gce-raw-stemcells/bosh-stemcell-3586.36-google-kvm-ubuntu-trusty-go_agent-raw-1534353681.tar.gz","version":"3586.36"}],"context":{"director_uuid":"ea61d65c-7f85-4148-bcc4-8204bbaf7c29","request_id":"cpi-548902"}} with command: /var/vcap/jobs/google_cpi/bin/cpi
D, [2018-08-22T17:16:26 #962] [task:10532-checkpoint] DEBUG -- DirectorJobRunner: (0.000158s) BEGIN
D, [2018-08-22T17:16:26 #962] [task:10532-checkpoint] DEBUG -- DirectorJobRunner: (0.000405s) UPDATE "tasks" SET "checkpoint_time" = '2018-08-22 17:16:26.277390+0000' WHERE ("id" = 10532)
D, [2018-08-22T17:16:26 #962] [task:10532-checkpoint] DEBUG -- DirectorJobRunner: (0.001684s) COMMIT
D, [2018-08-22T17:16:56 #962] [task:10532-checkpoint] DEBUG -- DirectorJobRunner: (0.000125s) BEGIN
D, [2018-08-22T17:16:56 #962] [task:10532-checkpoint] DEBUG -- DirectorJobRunner: (0.000401s) UPDATE "tasks" SET "checkpoint_time" = '2018-08-22 17:16:56.282385+0000' WHERE ("id" = 10532)
D, [2018-08-22T17:16:56 #962] [task:10532-checkpoint] DEBUG -- DirectorJobRunner: (0.001809s) COMMIT
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: [external-cpi] [cpi-548902] response: {"result":"stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3","error":null,"log":""}, err: , exit_status: pid 1027 exit 0
I, [2018-08-22T17:17:24 #962] [task:10532]  INFO -- DirectorJobRunner: Cloud created stemcell: stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000230s) BEGIN
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000703s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958244,"stage":"Update stemcell","tags":[],"total":6,"task":"Uploading stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 to the cloud","index":5,"state":"finished","progress":100}
') WHERE ("id" = 10532)
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.031455s) COMMIT
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000240s) BEGIN
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000545s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958244,"stage":"Update stemcell","tags":[],"total":6,"task":"Save stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 (stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3)","index":6,"state":"started","progress":0}
') WHERE ("id" = 10532)
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001847s) COMMIT
I, [2018-08-22T17:17:24 #962] [task:10532]  INFO -- DirectorJobRunner: Save stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 (stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3)
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000668s) SELECT count(*) AS "count" FROM "stemcells" WHERE (("name" = 'bosh-google-kvm-ubuntu-trusty-go_agent') AND ("version" = '3586.36') AND ("cpi" = '')) LIMIT 1
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000205s) BEGIN
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000526s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958244,"stage":"Update stemcell","tags":[],"total":6,"task":"Save stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 (stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3)","index":6,"state":"failed","progress":100,"data":{"error":"name and version and cpi unique"}}
') WHERE ("id" = 10532)
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.002073s) COMMIT
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000446s) BEGIN
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000542s) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1534958244,"error":{"code":100,"message":"name and version and cpi unique"}}
') WHERE ("id" = 10532)
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.002007s) COMMIT
E, [2018-08-22T17:17:24 #962] [task:10532] ERROR -- DirectorJobRunner: name and version and cpi unique
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/sequel-4.36.0/lib/sequel/model/base.rb:1680:in `save'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/update_stemcell.rb:117:in `block (2 levels) in perform'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/base_job.rb:56:in `block in track_and_log'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/event_log.rb:105:in `advance_and_track'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/base_job.rb:54:in `track_and_log'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/update_stemcell.rb:115:in `block in perform'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/update_stemcell.rb:78:in `each'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/update_stemcell.rb:78:in `perform'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/job_runner.rb:99:in `perform_job'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/job_runner.rb:34:in `block in run'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh_common-0.0.0/lib/common/thread_formatter.rb:49:in `with_thread_name'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/job_runner.rb:34:in `run'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/base_job.rb:10:in `perform'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/db_job.rb:36:in `block in perform'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/bosh-director-0.0.0/lib/bosh/director/jobs/db_job.rb:83:in `block (3 levels) in run'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:1076:in `block in spawn_threadpool'
/var/vcap/packages/director/gem_home/ruby/2.4.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000537s) SELECT * FROM "tasks" WHERE ("id" = 10532) LIMIT 1
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000187s) BEGIN
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.000607s) UPDATE "tasks" SET "state" = 'error', "timestamp" = '2018-08-22 17:17:24.900436+0000', "description" = 'create stemcell', "result" = 'name and version and cpi unique', "output" = '/var/vcap/store/director/tasks/10532', "checkpoint_time" = '2018-08-22 17:16:56.282385+0000', "type" = 'update_stemcell', "username" = 'admin', "deployment_name" = NULL, "started_at" = '2018-08-22 17:15:56.276337+0000', "event_output" = '{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Downloading remote stemcell","index":1,"state":"started","progress":0}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Downloading remote stemcell","index":1,"state":"finished","progress":100}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Extracting stemcell archive","index":2,"state":"started","progress":0}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Extracting stemcell archive","index":2,"state":"finished","progress":100}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Verifying stemcell manifest","index":3,"state":"started","progress":0}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Verifying stemcell manifest","index":3,"state":"finished","progress":100}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Checking if this stemcell already exists","index":4,"state":"started","progress":0}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Checking if this stemcell already exists","index":4,"state":"finished","progress":100}
{"time":1534958156,"stage":"Update stemcell","tags":[],"total":6,"task":"Uploading stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 to the cloud","index":5,"state":"started","progress":0}
{"time":1534958244,"stage":"Update stemcell","tags":[],"total":6,"task":"Uploading stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 to the cloud","index":5,"state":"finished","progress":100}
{"time":1534958244,"stage":"Update stemcell","tags":[],"total":6,"task":"Save stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 (stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3)","index":6,"state":"started","progress":0}
{"time":1534958244,"stage":"Update stemcell","tags":[],"total":6,"task":"Save stemcell bosh-google-kvm-ubuntu-trusty-go_agent/3586.36 (stemcell-a3898f40-ee9b-4c52-4e1a-2a0763ac9aa3)","index":6,"state":"failed","progress":100,"data":{"error":"name and version and cpi unique"}}
{"time":1534958244,"error":{"code":100,"message":"name and version and cpi unique"}}
', "result_output" = '', "context_id" = '' WHERE ("id" = 10532)
D, [2018-08-22T17:17:24 #962] [task:10532] DEBUG -- DirectorJobRunner: (0.001840s) COMMIT
I, [2018-08-22T17:17:24 #962] []  INFO -- DirectorJobRunner: Task took 1 minute 28.632269167000004 seconds to process.

Versions (please complete the following information):

Infrastructure:  GCP
BOSH version: 265.2.0
BOSH CLI version: version 4.0.1-a18c7230-2018-05-23T23:11:20Z

Thanks for providing all the details here. It looks like #1924 already describes this issue, so I'm going to close this in favor of consolidating discussion and tracking it there. Feel free to track it, or add more details there, if helpful.


fix: remove any name field restriction

Closes: https://jira.ehealthafrica.org/browse/AET-495
In kernel:

Remove in name field the unique constraint for all models except for Schema model.
Remove in name field the length size restriction in all models
Remove in type field the length size restriction in Schema model
Adapt upsert_project_artefacts method to new name restrictions.

In UI:

Remove in name field the length size restriction

There are no more "name" constraints in the preflight methods :wink:


Use URLSessionTask.count* properties to track upload/download progress

This is a kind of an extension to #1121
We had defined three private properties in URLSessionTask to track upload & download progress and make delegate calls. It turns out that the URLSessionTask API defines four properties to do the same. This PR replaces the uses of the private properties with these.
Also, the constant URLSessionTransferSizeUnknown is changed to NSURLSessionTransferSizeUnknown to match Darwin.

cc @saihemak

@ianpartridge Agree with your suggestions. I've included them. Thanks!

@swift-ci please test

@swift-ci please test


Highlight selection not working in mobile

@altmshfkgudtjr ,Can you please check this.

Sorry. I've been busy with other work lately, so I haven't been paying attention.
I will check the issue.


allow available setting to be defined during catalog import

Rationale / Begründung
When importing a new catalog, an editor would like to have the option "available" set to False.
As an editor it might be necessary to edit a catalog after the import, this catalog should not be visible to users.
Affected
Managers
Minimal functionality

let the available setting be definable at import or have it default to False.

References / Verweise

https://github.com/rdmorganiser/rdmo/issues/466

This could be done with a setting, like QUESTIONS_DEFAULT_CATALOG_AVAILABILITY. Same should be added for views and tasks.

Addressed in RDMO 2.0.0.


URIs In Resource Map Should Resolve to Something

The URIs in the resource map should resolve to the individual files in the resource.  I believe that this is one of the reasons we went to the unzipped storage format in iRODS.  Right now, I believe that they result in a 404 error.
If not, rather than giving a 404 error, could they at least all resolve to the resource landing page or something like that?

@horsburgh Is this still a problem, or has it been resolved?

@horsburgh I believe it has been resolved, but could you check it to confirm and close if the problem is indeed resolved?

Just tested this on www.hydroshare.org and the URIs do resolve.  So, I believe that this issue has been addressed and I'm going to close.
But, as a side note - I also tested on dev.hydroshare.org and got the same result (URIs resolve).  But I tested on beta.hydroshare.org and I'm back to having timestamps as the folder name in the zipped bag. This is a little disconcerting?

@horsburgh the new bagit workflow and the new url mapping to make URIs resolvable are not deployed to beta.hydroshare.org, which explains the difference you observed. beta will be decommissioned after the old resources are manually migrated to the www.hydroshare.org as I understand it.

@hyi - perfect.  I just wanted to make sure that an inconsistency hadn't crept back in.  I closed the issue since it works on www.hydroshare.org.  By the way - I'm glad this now works!


Allow to add mask to Input component

Could you please add possibility to set input element for input field and fixedLabel property. In my case I need to do masked input and fix floating label to avoid overflow label and placeholder.
<Input inputElement={MaskedInput}                     floating={true}                     label="IP"                     mask="299.299.299.299"                     placeholder="<IP_ADDRESS>"                     fixedLabel={true} />

Can you paste the full component reproducing the issue? I don't totally get it :S

Ok, try to explain. I need text input component with mask, for example IP-address selector

Previously i used callemall/material-ui components, in theirs input component I could replace html input with my component by passing it as children.
It looks something like
<TextField {...textFieldParams}>     <MaskedInput {...maskParams} /> </TextField>
It works good, but masked input usually has placeholder and it overlays with floating label, something like:

In callemeall's component there is property to avoid this

floatingLabelFixed – If true, the floating label will float even when there is no value.

Ok I understand now! It makes sense but I need to look on it. I'll try to have it soon 👍

:+1:  for custom input element.
The possibility for adding a custom input element should be nice. I'm right now trying to put a masked input, but I did hit in this blocker.

If anyone is interested, I've been able to implement a masked input with<EMAIL_ADDRESS>with a dependency on https://github.com/insin/inputmask-core. It's mostly a copy of https://github.com/insin/react-maskedinput, adapted to play nice with react-toolbox Input component.
Gist: https://gist.github.com/romgrk/9513d238e00bb5df60af7b2f661bbe17

Very grateful for your work @romgrk.  Thank you.
I tweaked it a little for our needs (and linting rules)..  Here is one which updates the placeholders to be hints and a few other things.
https://gist.github.com/zanzamar/ff87834ce3be898bb73fef6c57a61713

I did not understand how to attach to the react-toolbox input, the mask. Please detail.

Copy the file in your project
npm install inputmask-core

import MaskedInput from './MakedInput.js';
const render = () =>
  <MaskedInput mask='11/11/1111' onChange={value => console.log(value)} value={myValue} />

I'd recommend using @zanzamar 's version as it doesn't use React.createClass, which is gone in newer react versions.

already there is a ready-made component. How to attach to it?
/***** previous code*****/
render() {
const {label, hint, required} = this.props;
let content = (<Input
    type="tel"
    label={label}
    name="phone"
    hint={hint}
    maxLength={11 }
    required={required}
    value={this.props.value}
    onChange={this.handleChange}
    onKeyPress={this.handleKeyPress}
  />);
content = (this.props.id) ?
{content}
 :
{content}
;

return (content);

}
}

Not modiffed my component

Please edit your comment to put all code inside the ```backtick block```, and enable syntax highlighting by placing the language identifier after the opening backticks as such:
```jsx
<div />
```

Regarding your issue, you just need to replace your <Input /> component with a <MaskedInput />. Most of the props are passed from the <MaskedInput> to the <Input>, but there are a few exceptions; see the render() method here for details.

Input from the React Toolbox, when I change to Masked Input, the design changes. How to save the Input design from the React Toolbox

I'm using this for now: https://gist.github.com/antoniopresto/89aad029df263b023c62fa02928d1a78


arithmetic operations do not work

No arithmetic operations work
divide
In [1]: from csbiginteger.BigInteger import BigInteger

In [2]:         b1 = BigInteger(55055055055055)
   ...:         b2 = BigInteger(55055055)
   ...:
   ...:         b3 = b1 / b2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-bc7c8ba929f8> in <module>
      2 b2 = BigInteger(55055055)
      3
----> 4 b3 = b1 / b2

TypeError: unsupported operand type(s) for /: 'BigInteger' and 'BigInteger'

add
In [3]: b1 + b2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-43c10bf76272> in <module>
----> 1 b1 + b2

TypeError: unsupported operand type(s) for +: 'BigInteger' and 'BigInteger'

Multiply
In [4]: b1 * b2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-e8a217ceffb1> in <module>
----> 1 b1 * b2

TypeError: unsupported operand type(s) for *: 'BigInteger' and 'BigInteger'

Thats true, only methods add and sub (+ and -) were created... I must see how to create operators on python

have a look at the so called "dunder methods" (double under)
https://docs.python.org/3/reference/datamodel.html#emulating-numeric-types

Resolved already.


Failed to run demo case

When run the demo case in README, I met following issues:
UNIMPLEMENTED: DNN library is not found:

Please install Intel® Optimizations for TensorFlow or MKL enabled TensorFlow from source code within version >=1.14.0 and <=2.1

All the above errors were caused by wrong tensorflow version which can be fixed by:
pip install tensorflow==2.8.2
pip install intel-tensorflow==2.9.1

I am not sure if it is the right way to set up the tensorflow envs or is there any elegant way to run the demo case?

Yes, that's the right way to setup tensorflow env by 'pip install intel-tensorflow', and we recommend to use the verified TF versions here https://github.com/intel/neural-compressor#validated-software-environment. Which demo did you run? I can double check the readme.

Thanks~ :)
This demo in the homepage of this repo:


fix: flaky e2e-p2p test

Fixes #3654
Note: Lasse had a good hunch that it's most likely caused by different nodes using the same l1 publisher private key. This PR changes this and uses different accounts for different nodes. I am quite confident that that is the culprit so I will close the issue #3654.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit c4153936 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
223,008
868,256
3,448,520

l1_rollup_execution_gas
867,117
3,746,309
23,305,285

l2_block_processing_time_in_ms
1,414 (-8%)
5,113 (-3%)
21,099

note_successful_decrypting_time_in_ms
360 (-4%)
1,136 (+1%)
4,138 (+1%)

note_trial_decrypting_time_in_ms
68.7 (-18%)
61.3 (+68%)
141 (+4%)

l2_block_building_time_in_ms
14,928 (+1%)
59,344 (+1%)
238,735 (+1%)

l2_block_rollup_simulation_time_in_ms
10,589
42,208 (+1%)
170,134 (+1%)

l2_block_public_tx_process_time_in_ms
4,307 (+1%)
17,062 (+1%)
68,336 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,159 (+1%)
28,874

note_history_successful_decrypting_time_in_ms
2,678 (+2%)
5,458 (+3%)

note_history_trial_decrypting_time_in_ms
92.6 (+11%)
145

node_database_size_in_bytes
3,613,414
3,724,561

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
210
44,709
25,561

private-kernel-ordering
136
30,953
14,809

base-rollup
1,073
128,374
881

root-rollup
82.4
4,088
889

private-kernel-inner
286
71,236
25,561

public-kernel-private-input
202
31,891
25,561

public-kernel-non-first-iteration
200 (+1%)
31,933
25,561

merge-rollup
9.66
2,608
881

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,487
31,879


Upgrade to .Net 4.5

Consider upgrading from .Net 4.0 to .Net 4.5 in order to gain access to the improved API and features of .Net 4.5.
Pro:

Generic collections now implement IReadOnlyXY interfaces that can replace the often used IEnumerable accessors, where the only reason to use them was read-only access.
System.IO.Compression will be able to replace Ionic.Zip dependency. The less external dependencies, the better.

Neutral:

Might need to upgrade to VS2012 as well.
Async File I/O and async stuff due to VS2012 would be a good opportunity to get to know all those async features and apply them where Duality previously used yield constructs.
High DPI improvements for WinForms in .Net 4.5.2 could be worth a look, in case worrying about High DPI ever becomes an actual issue.
Will need to look into the new Type and TypeInfo distinction for Reflection. Probably need to re-implement or upgrade a lot of Reflection methods in Duality, if Type needs to be replaced with TypeInfo. Worst case, though.

Con:

Increased end user requirements. This is probably a knock-out. Just wait for a while, then reconsider later.

Done.


Events in aL

Link
Events in aL
should be spelled
Events in AL

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

ID: 0aa34e9b-6f95-c7b4-3993-bd1c89f58c94
Version Independent ID: 85fca68e-caef-afc2-b7ed-70ceaa6f8b3d
Content: BusinessEvent Attribute - Business Central
Content Source: dev-itpro/developer/methods/devenv-business-attribute.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for your feedback, these will be fixed with the next doc refresh.


Trouble running tests

Folowing the instructions in the readme, I was not able to run the tests:
$ fauxjax grunt test
Running "coffee:compile" (coffee) task
>> 1 files created.

Running "uglify:my_target" (uglify) task
>> 1 file created.

Running "testem" task
FFatal error: Cannot call method 'split' of undefined

Well that is interesting. I just rm -rf'ed the fauxjax directory and did a new clone and fresh npm install and the tests still ran fine for me. Also travis is just doing a npm install followed by a npm test and everything runs as expected.

npm test works!
The README says to run grunt test which does not work until after npm test has been run at least once.

I take that back..  I just deleted and recloned the project, and grunt test worked this time around.  I'm not sure what happened before.


[BUG]The microphone cannot be set to mute immediately after connecting to the Agora service.

Describe the bug
It appears that the microphone cannot be set to mute immediately after connecting to the Agora service, but can be set to mute a short time after connecting.
To Reproduce
RtcEngine.MuteLocalAudioStream(true); immediately after a successful Join or after a few msec.
Desktop (please complete the following information):
Win11
Chrome
Unity2021.3.10
Additional context
It seems to succeed if it is a few lines after a successful Join.
A bug in #165 is exacerbating the situation because the callback that determines if the mic mute is successful is not generated.
It seems that if we can determine if the microphone mute can be set in the current situation, we can avoid the problem for the time being.

The issue here has been resolved by applying the fix we made to address #166.
Regarding this Issue, we have found the cause.
In the sample project, "AgoraWebGLEventHandler" was deployed as a component of "AgoraEventHandler".
In my usage, "AgoraWebGLEventHandler" was attached as a component of "GameController".
By placing it as a component of "AgoraWebGLEventHandler" as in the sample project, the callback now works correctly.


like button and/or comments on each resource

We've discussed doing this for Phase 3, adding to inbox for discussion after seeing the PLAN resource center

Related to #337 - may combine


location based switching

Wallpaper changes based on geographical location.
If set and enabled, wallpapers will change in respect of geoposition.
Looks more natural and closer to reality, especially in Northern places
like Saint-Petersburg or Helsinki...
Also, main script was changed to be more flexible in xfce wallpaper
channels querying - now its queried from system rather than hardcoded.
The only added dependency - pyethem that exists in every modern python

Little errors in day part calculation detected. I'll fix them in next commit plus some comments will be added.

Corrected day part decision part, everything seems to work as expected for now...


Rate limits configuration - Max tokens per day limiter and methods to split jobs to keep cost down?

Could a rate limits configuration be implemented to set max tokens per day limiter and method(s) to split jobs to keep cost down?
https://platform.openai.com/docs/guides/rate-limits

V1.07 Now Provides these asks via manual service calls.
Removal of Automatic Scheduling:
Removed automatic scanning and suggestion generation due to complexities with triggering and user preferences.
Enhanced Stability: This change improves code stability and allows users to implement custom automation triggers that suit their individual needs.
Expanded AI Provider Support:
Added Support for Multiple LLM Models:
Google LLM Models: Now supports Google's AI models for generating automation suggestions.
Local AI Models: Introduced support for local models like LocalAI and Ollama for users who prefer privacy and do not rely on internet connectivity.
Custom LLM Variants:
Users can now choose custom AI model variants from higher models (e.g., OpenAI's o1-preview), providing more flexibility and control over the AI processing.
Enhanced Manual Trigger Service:
Integration Selection: Users can now select which AI provider integration to trigger when manually initiating the AI analysis.
Custom System Prompt: Allows users to override the built-in system prompt for more granular and personalized suggestions.
German Translation Added:
Global Reach: Introduced German language support to make the integration accessible to a wider audience.


Add 'platformName' to selenium-grid scaler metadata structure

Proposal
Currently, the selenium grid scaler only supports browserName and browserVersion capabilities in trigger metadata. This results  in the impossibility of configuring a trigger for tests targeting specific platforms like Windows 10, Windows 11, etc.
Use-Case
If the platformName capability were supported it would be possible to configure a trigger like this:
triggers:
  - type: selenium-grid
    metadata:
      url: 'http://selenium-hub:4444/graphql'
      browserName: 'chrome'
      browserVersion: '108.0'
      unsafeSsl: 'true',
      platformName: 'Windows 10'

Anything else?
The possibility of defining the platformName would make sense if it were possible to run a virtual machine, equivalent to the platform defined in the capability platformName, in the pod. In Linux this is possible through the native feature called KVM (Kernel-based Virtual Machine). That is, the operating strategy would be to make this resource available to the linux container (through /dev/kvm) and within the container use qemu, for example, to run the virtual machine.

Hi,
Basically you would like to have the plaformName field and filter by it in the selenium scaler, right? I mean, currently KEDA checks the queue size for the given browserName and you would like to use both parameters, browserName and platformName to be more accurate with the queue length for the specific case. Am I correct?

Basically you would like to have the plaformName field and filter by it in the selenium scaler, right? I mean, currently KEDA checks the queue size for the given browserName and you would like to use both parameters, browserName and platformName to be more accurate with the queue length for the specific case. Am I correct?

Yeah, It's right.

I don't understand the part of support to assign /dev/kvm linux device to spawned pods.  I feel that I'm missing something

As it is necessary to associate the /dev/kvm device to the pod so that it can be possible to run a virtual machine inside the container, what procedure would you recommend for such a configuration?

No no, I'm not saying that the way isn't that, I'm just saying that KEDA doesn't manage it. KEDA just scaler the workload you want, but you need to define it by yourself, you can define your Deployment with that association in it's needed, and then deploy a ScaledObject to scale that Deployment, KEDA will generate an HPA and your Deployment will be scaled, but KEDA doesn't know anything about the associations of your deployment. I mean, KEDA won't access to the node and do anything, KEDA just generates the HPA and the metrics for that HPA

WRT adding the parameter, it's totally feasible, if that parameter can be used for filtering we can introduce it :)
Are you willing to contribute with it?

No no, I'm not saying that the way isn't that, I'm just saying that KEDA doesn't manage it. KEDA just scaler the workload you want, but you need to define it by yourself, you can define your Deployment with that association in it's needed, and then deploy a ScaledObject to scale that Deployment, KEDA will generate an HPA and your Deployment will be scaled, but KEDA doesn't know anything about the associations of your deployment. I mean, KEDA won't access to the node and do anything, KEDA just generates the HPA and the metrics for that HPA

Ok, I understand.

Are you willing to contribute with it?

Yes, I intend to be contributing to this in the future. I won't start right away because this activity is not a priority at the moment and therefore I ask you to keep this issue open.

Selenium grid scaler updated in #4105 and docs in kedacore/keda-docs#1039

Can this issue be closed now?


[Bug] Cannot fetch blocks with BlockTransactionsKind::Full on base network

Component
provider, pubsub
What version of Alloy are you on?
0.7.0
Operating System
Linux
Describe the bug
On Base I try to fetch transaction data with this code:
let block = provider.get_block_by_number(block_num, BlockTransactionsKind::Full).await?;
But I get an error:

Error: deserialization error: data did not match any variant of untagged enum BlockTransactions at line 1 column 242358
Caused by:
data did not match any variant of untagged enum BlockTransactions at line 1 column 242358

Using BlockTransactionsKind::Hashes works fine, but then
let tx = provider.get_transaction_by_hash(*hash).await?;
Will cause a similar error.
The same code works fine on the ethereum network. Note that I'm running the base node in snap sync mode, if that can cause problems (I'm not sure):
https://github.com/base-org/node/blob/923f3407cba5b35b0cefca93ef5060e10ba89850/.env.mainnet#L44

closing as dup of #1689
if you use the Ethereum network then this will fail because it doesn't support OP's deposit txs, there's op-alloy OpNetwork or the AnyNetwork

@mattsse thanks for the reply. Can you please be more specific, I don't understand what I have to change.

ptal
https://github.com/alloy-rs/examples/blob/3b6d4a7cb465a0cb62a396735a8e26baa188ea55/examples/advanced/examples/any_network.rs#L54
alternatively you can use the op specific network that is provided via the alloy-op-network crate:
https://github.com/alloy-rs/op-alloy/tree/main/crates/network


Add remove pagic util

Initial attempt anyway.
Ref: https://github.com/tastyigniter/TastyIgniter/issues/501

Forgot to update the thread - changes pushed

Thank you!


devspace list ports returns nothing

What happened?
I'm using version 6.0.0-beta.3 of devspace.
I have 2 ports forwarded in sync mode.

devspace list ports returns nothing

What did you expect to happen instead?
I expect to see the 2 ports that are currently forwarded.
How can we reproduce the bug? (as minimally and precisely as possible)
My devspace.yaml:

-------------------

Vars:

           NAME         |                               VALUE
  ----------------------+--------------------------------------------------------------------
    DEVSPACE_TMPDIR     | /var/folders/9z/25lc8jjn6mj7c4_yj7nyj1fw0000gp/T/
    DEVSPACE_VERSION    | 6.0.0-beta.3
    DEVSPACE_USER_HOME  | <redacted>
    REDOX_SERVICES_PATH | <redacted>
    DEVSPACE_RANDOM     | BmueGp
    DEVSPACE_PROFILE    |
    DEVSPACE_CONTEXT    | <redacted>
    DEVSPACE_TIMESTAMP  |<PHONE_NUMBER>
    devspace.context    | <redacted>
    devspace.namespace  | <redacted>
    DEVSPACE_NAMESPACE  | <redacted>
    DEVSPACE_NAME       | configurations

-------------------

Loaded path: /Users/tc/code/redox-services/services/configurations/devspace.yaml

-------------------

Dependency Tree:

-------------------

version: v2beta1
name: configurations
pipelines:
    deploy:
        run: |-
            run_dependencies --all
            create_deployments --all
    dev:
        run: |-
            run_dependencies --all
            create_deployments --all
            start_dev --all
deployments:
    app:
        kubectl:
            manifests:
                - ./redoxlocal/configmap.yaml
                - ./redoxlocal/migrate.yaml
                - ./redoxlocal/manifest.yaml
dev:
    execution:
        labelSelector:
            service: configurations
            service-target-name: configurations-execution
        command:
            - bash
            - -c
            - npx redox-start --ignoreVault -- src/execution.ts
        sync:
            - path: ./
              excludeFile: .gitignore
              startContainer: true
              onUpload:
                restartContainer: true
                exec:
                    - name: npm-install
                      command: npm ci
                      onChange:
                        - ./package-lock.json
              disableDownload: true
        ports:
            - port: 9230:9229
    web:
        labelSelector:
            service: configurations
            service-target-name: configurations
        command:
            - bash
            - -c
            - npm run debug
        sync:
            - path: ./
              excludeFile: .gitignore
              startContainer: true
              onUpload:
                restartContainer: true
                exec:
                    - name: npm-install
                      command: npm ci
                      onChange:
                        - ./package-lock.json
              disableDownload: true
        ports:
            - port: 9229:9229

Local Environment:  Mac OS Monterey

DevSpace Version: 6.0.0-beta.3
Operating System: mac
Kubernetes Cluster:
Cloud Provider: aws
Kubernetes Version: 1.22

/kind bug

Looks like devspace list deployments works great, but devspace list sync does not work.

Oh, lol, well of course it does nothing, the code is commented out.
I take it this is just something that’s still in progress for v6, or something along those lines.

@tobalsgithub thanks for reporting this issue! We'll fix that for the next beta release!


AAD Update

Same as previous, but this one will go into master instead of 1.1.0.

Codecov Report

Merging #591 into master will decrease coverage by 0.17%.
The diff coverage is 26.41%.

@@             Coverage Diff              @@
##             master     #591      +/-   ##
============================================
- Coverage     53.93%   53.76%   -0.18%
+ Complexity      722      701      -21
============================================
  Files           178      174       -4
  Lines          3161     3082      -79
  Branches        212      217       +5
============================================
- Hits           1705     1657      -48
+ Misses         1334     1305      -29
+ Partials        122      120       -2

Impacted Files
Coverage Δ
Complexity Δ

...ring/cloud/config/AppConfigProviderProperties.java
73.33% <ø> (-10%)
8 <0> (-3)

...ure/spring/cloud/config/stores/KeyVaultClient.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

.../azure/spring/cloud/config/stores/ConfigStore.java
63.04% <100%> (-2.18%)
18 <0> (-1)

...e/spring/cloud/config/resource/ConnectionPool.java
100% <100%> (ø)
5 <2> (?)

...cloud/config/AzureConfigPropertySourceLocator.java
82.95% <100%> (+0.19%)
21 <0> (ø)
:arrow_down:

.../azure/spring/cloud/config/stores/ClientStore.java
16.21% <11.42%> (-18%)
2 <1> (-1)

...loud/config/AzureConfigBootstrapConfiguration.java
48.64% <39.28%> (-4.3%)
7 <5> (-2)

...azure/spring/cloud/config/resource/Connection.java
65% <45.45%> (ø)
4 <2> (?)

...ure/spring/cloud/config/AzureCloudConfigWatch.java
90% <50%> (-0.17%)
14 <0> (ø)

...spring/cloud/config/AzureConfigPropertySource.java
45.26% <9.09%> (-1.93%)
12 <0> (ø)

... and 3 more

Continue to review full report at Codecov.

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


Camera2Basic - Trigger button is below navigation bar

Following this change, the trigger button is now below the navigation bar on Samsung Galaxy S9 with Android 10:

Thanks for reporting this! It sounds like we should take into account the side of the navigation bar, probably a straightforward fix.


How to configure Heroku API proxy server for a React app being deployed to a separate Heroku server

I am having difficulties getting my "create react app" app to run on a production Heroku server. The app issues requests to a separate Heroku API server, like "https:// myapp-api.herokuapp.com".
In development, I can set the "proxy": "myapi.herokuapp.com" in the "package.json" and it works.
However when I deploy the app to Heroku, I see "Invalid Host Header" errors. As described in this question.
So now if I try to deploy ui onto heroku as well, and I did two things:

I removed "proxy": "https:// myapp-api.herokuapp.com" in package.json.
Then I added a new file src/setupProxy.js under my ui root directory. It looks like the following:

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'https:// myapp-api.herokuapp.com',
      changeOrigin: true,
    })
  );
};

In my package.json, I have "http-proxy-middleware": "^1.0.5".

Now if I push my ui to heroku and I get https://myapp-ui.herokuapp.com. I can see the webpage, which is a login page, however, if I try to input some data, I'm getting 404 error, not found.
In order to reproduce this issue locally, I try to run npm start and start my app on my local machine while keeping the changes I just made. I still get the same error:
POST http://localhost:3000/login 404 (Not Found)

Since initially I was able to do so locally using "proxy" in package.json. I think my ui and api should be able to communicate properly and there should be a problem when I change the proxy setup.
What step goes wrong? Could anyone please let me know? Thank you in advance!

You should be running npm run build and then deploying the static files that were built. You should not be running npm run start for your CRA app on heroku.
The CRA built should just be flat files and so have no notation of proxies or anything else. It should just call an endpoint and that endpoint is responsible for things like proxying or CORS or whatever else.


fix Mbean not found exceptions on Websphere

Related issue when using Apache Camel: https://issues.apache.org/jira/browse/CAMEL-5187.
See: WebSphere property com.ibm.websphere.mbeans.disableRouting


Thank you!

Hello!
Just wanted to thank you for your great tool - works great and now it's difficult to imagine how to use Forms without it :)
Thanks a lot!

Nice to hear it, thanks

If you have some questions, just message me

Thx, I was looking for something like that, great work :)


fixed bugs in benchmark example

Coverage remained the same at 94.937% when pulling f5bcb3e50b2ec9b2dab3acd0a213dd8c0e28fcdb on benchmark into 17c6b4b6b3b5903699f4eb8eff4eaa1405531a8d on master.


xClusterNetwork: Logic to add or remove networks does not exist

Details of the scenario you tried and the problem that is occurring:
This resource should be able to add or remove Networks. Currently it only supports changing the name, role and the metric for a already present cluster network.
The schema should add at least an Ensure parameter to be able to add and remove cluster network.
The DSC configuration that is using the resource (as detailed as possible):
n/a
Version of the Operating System and PowerShell the DSC Target Node is running:
n/a
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
Dev

I'm looking into implementing this so that we can support multi-subnet clusters.
I assume the following is intended behavior:

Ensure: true - create the network
Ensure: false - remove the network
Ensure: null - default to true behavior

Please see the schema here for xClusterDisk on how to use the parameter Ensure. Parameter Ensure is used like that in resources in all resource modules, so we shall not change the behavior.
So it should be:

Ensure -eq 'Present' (the default value) - create the network.
Ensure -eq 'Absent' - remove the network.

It would be awesome if you could work on this. Should I label this as "in progress"?

Makes sense to me.
Go ahead and mark it as in-progress.

Awesome! Looking forward to review this change. 😄

I think this one largely needs clarification no documentation.  There aren't any PS commandlets to manipulate cluster networks as it updates when networks are added / removed from cluster nodes.

@mnewswanger Ah, adding (creating) or removing (remove) network was bad terms to use. Maybe enable and disable networks would have been better? My point with the issue was that we do not support changing these values.

More detailed explaination on how to Modify Network Settings for a Failover Cluster.
And a forum discussion for Adding additional network adapters to a cluster.

@mnewswanger Sorry, my bad. We do support that! Didn't realize that the parameter Role did just that. Ignore my last comment.


Clustering when using React component?

For the most part, all of the documentation I have seen works for the react component implementation of this library. But one thing I couldn't figure out is how to implement clustering.
Simple component:
<Graph
    graph={graphData}
    options={graphOptions}
    events={graphEvents}
/>

Hi @benweberj,
I have no idea how React works so there is most likely something very complicated that I just don't get, but clustering is just about calling a method (network.cluster(…)).


Unable to set Texture scalemode when using loader [V3]

The textureParse middleware of the resource automatically creates an BaseTexture object.
If I later use
PIXI.Sprite.fromImage(file, null, PIXI.SCALE_MODES.NEAREST)

The texture on the sprite does not have nearest applied, bet the default one.
Related to: #1724

Correct, that is the drawback of using the convience functions .fromImage() you lose control of the underlying objects.
But you can just change the scale mode at any time:
var spr = PIXI.Sprite.fromImage(file);
spr.texture.baseTexture.scaleMode = PIXI.SCALE_MODES.NEAREST;

Or just make sure to update the base texture when it is loaded:
PIXI.loader.add('image', 'derp.png').load(function (loader, resources) {
    // now anything using this base texture will be scaled correctly.
    resources.image.texture.baseTexture.scaleMode = PIXI.SCALE_MODES.NEAREST;
});

Ah, ok, didn't now that, give that a try :+1:
Would it be an idea to give options to the loader for the middleware?

Yes it might make sense, but right now there is no way to pass options to a pixi middleware. The loader uses standard middleware style (.use(middleware(options))) but PIXI calls the .use() necessary to add all the middleware automatically for you, and there is no way to hook into it.
If we add options to the texture middleware the only way to pass them in would be to create your own loader instance based off the base resource-loader class and setup middleware yourself. If you can think of an elegant way to pass the options into PIXI.Loader having people make a custom pixi loader for options is an OK compromise. Maybe an object where the key is the middleware name and the value is the options to pass in? I'd be willing to discuss a PR for that.

Would give some extra benefits in using the standard loader. Right now the updating of the texture on a later time works perfectly. I'll give it a shot when I have more time on my hands in a couple weeks. Thanks.

Anytime!


chore(test): update type definitions

This PR updates types in test cases. Some of type definitions were incomplete at the moment (before typing update from @david-driscoll was checked in), test cases were force casted into any to avoid migration. Most of them are now corrected, PR amends test case as well.

Merged with 2c1a794.