Synced Spotless and CheckStyle configuration

Description
Currently, Spotless and CheckStyle have different tabWidth which results in applying the LineLength by Spotless and checking it using CheckStyle causes LineLength error. Spotless only counts for characters present in a line and CheckStyle includes the tabs also. By default Checkstyle has a tabWidth of 8.
Ref: https://checkstyle.sourceforge.io/config_sizes.html#LineLength_Notes
Issues Resolved
This change is required as a part of https://github.com/opensearch-project/OpenSearch/issues/974.
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

What's the actual change? Tab width of 4 to 8? Is there a change that doesn't change 100s of files?

I have pointed out all the configuration changes I had to do to sync Spotless and Checkstyle. Also, I had to run spotlessApply again to update the files with new configuration resulting in 100s files changes.

Closing this PR. As we are removing CheckStye from the project.
Ref: https://github.com/opensearch-project/OpenSearch/issues/1362


Added BSD LICENSE file

I noticed the repository had no LICENSE file, and setup.py says "BSD License", so I added a BSD license to the repository. I hope that's ok. It's the 3-clause BSD ("new BSD") license, to be more specific.
Also, I noticed your testing is in a function; if its OK with you, I'm going to submit another pull request switching it over to the unittest module. It should work pretty much the same way, but using unittest has some advantages, especially for forward compatibility and working with nose.

Hi @tisimst,
I'm confused. I opened this PR along with a couple others several months ago, and I have not yet heard back from you. Could you please just send me a short message telling me what the story is? If you don't like the PRs, if you want to look into them but are short on time, or anything... I understand; I'm happy to revise and/or withdraw pull requests, I'd just like to know!


connection closed event

Hi,
I'm running tests using the example_server_binary_video with videos of many different formats.
I usually loose the connection with the client. I would like to know how to start looking for solutions/debugging. I'm quite new at websockets programing so sorry for my very naive questions.
Is it possible to automatically reconnect after a close event?
Is the close event due to a lack of time in the javascript side to process the event? if so could could that be solved?
Have anybody done some tests with heavy videos or high framerates?
I will be looking at this addon for a while so any hits will be very appreciated!
Best,
J
BTW is it better to discuss this at the of forum?
My specs:
Visual Studio 2015 (Win 7 Pro)
Firefox 43.0.4
libwebsockets-1.3-chrome37-firefox30

Hello!
Totally not a naive question–video with websockets is still a little crazy. It could be the size of the messages, or the speed; I've worked a lot lately to make ofxLibwebsockets work with huge messages, but it's perfectly possible there's an error on my side!
A few questions for you:

Can you post what the library is logging out when the connection closes?
Can you try the "blob" example? It'll be much, much easier for you on the javascript side

P.S. To try an autoconnect scheme, check out ofxSpacebrew, which uses ofxLibwebsockets, for an example:

Catch the "onClose" event

Use the addListener on libwebsockets to catch event (all examples have this!) https://github.com/Spacebrew/ofxSpacebrew/blob/master/src/ofxSpacebrew.cpp#L284
Catch onClose: https://github.com/Spacebrew/ofxSpacebrew/blob/master/src/ofxSpacebrew.cpp#L551

On update(), check if connection is closed, how long it's been since you last tried to reconnect, and give it a shot if it's not been too long: https://github.com/Spacebrew/ofxSpacebrew/blob/master/src/ofxSpacebrew.cpp#L304

Thank you so much for the great reply! I'll have a look at it now.


[Snyk] Security upgrade org.apache.hive:hive-serde from 2.0.1 to 2.2.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

768/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-JAVA-ORGJSON-2841369
org.apache.hive:hive-serde:  2.0.1 -> 2.2.0
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

 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.


finished pixart js

comfort: 5
completeness: 5

Great job with this assignment. You've got this stuff covered. Let me know if you have any additional questions.
:+1:


The PowerFist "3 Module Issue"

Yes... The "3 Module Issue".... The issue where 3 modules are ALWAYS visible when cycling the PowerFist modules, even if you only have one module installed.
This is an issue that seems to have been present since early releases of MachineMuse's Modular Powersuits and has been toted as "unfixable" by MachineMuse herself.... And, after being insisted upon by a person on MinecraftForum.net and replying that I also believed it to be "unfixable", after thinking about it, I determined this position to be wrong.
This issue is fixable, but will require reimplementing the way this particular UI element functions.
This issue does not truly break anything, it's just an ugly way of handling this...

Yeah, moved to bugzilla, this isn't getting fixed in build 6...


Proposal: emudev.org non-profit bylaws and structure. Help us build a healthy community by joining as a voting member. Not only for devs.

Overall purpose: Like described on http://emudev.org is
To decide

How about we base it on Glarus, in alignment with the digitalglarus.ch project?
How about we fork https://github.com/sgmk/statuten/blob/master/STATUTEN.md and start working on it?

Notify list

at least: @dmiller423 @davidgf @VelocityRa @gigaherz, others?

Count me in!

@jayrayfox

I would like to join.

Count me in!

Me too

Questions:

What is Glarus?
What are the aims and objectives of this project? /r/emudev seems to be doing fine without drama?
Will there be a blacklist on this too?

Questions:
* What is Glarus?

A Kanton in Switzerland. I'm involved in several other projects in the region, like https://goo.gl/maps/kRZBBP7kkM6eNcZ38, and I plan to be relocating there soon-ish. The backbone is an ISP+datacenter a friend runs for us (nico from ungleich.ch). Huge linux, bsd and IPv6 lovers :)

* What are the aims and objectives of this project? /r/emudev seems to be doing fine without drama?

/r/emulation isn't though. /r/emudev isn't directly related - this is a much older project I've been working on since early 00s, as emudev.com. I just haven't had time before now, Greek crisis and all.
I've put together the purpose and such in http://emudev.org, doesn't that cover that?  Feel free to ask any clarifying questions here :)

* Will there be a blacklist on this too?

I've put together the purpose and such in https://emudev.org, doesn't that cover that?

Yes it does, I should've offered it more than a glance.

Oh and also, no, I hope we don't need a black list.

I'd like the bylaws to be in English, officially or unofficially, since while I'd love to sign up, the suggested statute is in legal German and I'd prefer not to sign away my first born child :P

I'll work on having an official translation by our lawyers. The binding text will still be in german though. Is that good enough?

Sure.

I can't quite tell due to google translate, but how is the board appointed? It it an election, or does the board self-select from the pool of members?
There should be a statue enforcing that general/emergency meetings are open to remote attendance (or even allowing for meetings to be held entirely in a chatroom) .
I don't know how "Written notification" is defined, but can we make sure it allows emails?
It might be smart to define a minimum notification period for meetings.
Once again could be a translation issue, but Article 7 feels like it's missing some limits on the compensation for work and expenses. It seems to be a little open to potential abuse. Even just "reasonable" or "agreed" work and expenses would be enough.

Afair for 1) it's an election - at least that what we did last time in SGMK.

YES. Remote by default, preferably with video though, I think?

IMO Snail mail is usually best for extremely important decisions, as it forces things to move slower and reduces drama/stress. I think email and evoting are just fine, overall.

Yes

"resonable" and "agreed" are generally implied by swiss culture I guess. Adding them seems wise.

I'll work on getting the english translation done

Forked their repo, rebranded, added google translation: https://github.com/emudev-org/statuten

I'd join, but I can't afford any membership fees :c


it looks like not work?

git clone and intall package,
then run "node app.js" ,
sails was running
but where are some files like "/bower_components/todomvc-common/base.js"
this question is from a noob , so ... thank u ^ ^

looks like you need to install bower: https://bower.io/
Run:
npm install -g bower
bower install

that's right.
thk & best wishes


Refactor text editing test APIs

...and remove a legacy TODO whose referenced issue (#51885) is now closed.
To actually fix this required some refactoring of the text editing test APIs.
See #77454 for original discussion.
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

As it stands this is known to break some Google tests. I'll need to study this more to work out why or how.

Closing in favour of https://github.com/flutter/flutter/pull/79061.


padding is not right

printf("this is %03d%s",1,'A')
output
this is 0001A
should be
this is 001A
I checked your function
/** @private */
function padString(str:String, paddingNum:int, paddingChar:String=" ") : String
{
if(paddingChar == null) return str;
return new Array(paddingNum + 1).join(paddingChar).concat(str);

}
it's not right for padding, array,joined the padding char at first And append the str at last
should be like this one
/** @private */
function padString(str:String, paddingNum:int, paddingChar:String=" ") : String
{
if(paddingChar == null) return str;
return new Array(paddingNum + 1).join(paddingChar).substr(0,paddingNum-str.length).concat(str);

}

Hum, you're right... Actually the only wrong thing is the extra index in the end, right? I think this can solve the problem:
function padString(str:String, paddingNum:int, paddingChar:String=" "):String
{
    if(paddingChar == null) return str;

    return new Array(paddingNum).join(paddingChar).concat(str);
}

I am afraid not, you can test by yourself, its not about the Num+1, it's the way join the char to string
example:
new Array(2) = (null,null)
by join he paddingChar like this
new Array(2).join('0')
will result in : '00'
and concat with('t')
will make '00'+'t' = '00t'
but should be '0t'

Gotcha. Can you send a pull request? So we can fix this.
Thanks for letting us know!


Redeclared symbol error

Description:
UUID standard library module[1] build is failing with the following error. But this Uuid record[2] is declared only once.
Compiling source
	ballerina/uuid:0.9.1
ERROR [constants.bal:(30:13,30:17)] redeclared symbol 'Uuid'

Steps to reproduce:

Take a clone of the UUID module repository[1].
Build the UUID module by running ./gradlew clean build

[1] https://github.com/ballerina-platform/module-ballerina-uuid
[2] https://github.com/ballerina-platform/module-ballerina-uuid/blob/main/uuid-ballerina/constants.bal#L30

Seems to happen due to the changes introduced in https://github.com/ballerina-platform/ballerina-lang/pull/26770.
Related issue: https://github.com/ballerina-platform/ballerina-lang/issues/27758

Seems to happen due to the changes introduced in https://github.com/ballerina-platform/ballerina-lang/pull/26770.
Related issue: https://github.com/ballerina-platform/ballerina-lang/issues/27758


⚠ Jenkins Plugins Artifactory has degraded performance

In 45fb2a5, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1193 ms

Resolved: Jenkins Plugins Artifactory performance has improved in e6519b4 after 14 minutes.


Anonymous class inside lambda expression causes Proguard to fail with 2.5.0

I have a problem with proguard after updating to retrolambda 2.5.0 (No problem with 2.3.0 and 2.4.0)
The errors are the following, is something changed in 2.5.0 that can cause this error? My code hasn't changed and, if I revert to retrolambda 2.4.0 all works as expected.

Warning: org.plibrary.linq.LinqQueryableMap$1: can't find enclosing method 'java.util.Iterator lambda$values$186(java.lang.Iterable)' in program class org.plibrary.linq.LinqQueryableMap
Warning: org.plibrary.util.MultiHeaderList$1: can't find enclosing method 'java.util.Iterator lambda$invertedIterable$325()' in program class org.plibrary.util.MultiHeaderList

P.S.: I used Proguard 5.2.1, so I updated it to the latest version (5.3.2) to be sure but it also fails

Thanks for reporting this. 2.5.0 changes the signatures of the lambda methods, but apparently there is still some place which needs to be updated.
Please show the code for those classes, as well as their .class files before and after converting them with Retrolambda.

Warning: mik.pl.ua.bugtestproject.SomeClass$1: can't find enclosing method 'void lambda$someMethod$0()' in program class mik.pl.ua.bugtestproject.SomeClass
SomeClass.java:
`package mik.pl.ua.bugtestproject;
public class SomeClass {
public SomeClass() {
}
public Runnable someMethod() {
    return () -> {
        Runnable r1 = new Runnable() {
            @Override
            public void run() {

            }
        };
    };
}

}`
MainActivity.java:
`package mik.pl.ua.bugtestproject;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    runOnUiThread(new SomeClass().someMethod());
}

}`
See attaches for class files.
2.4.0.zip
2.5.0.zip
before_retrolambda.zip

I confirm that I have anonymous inner classes inside lambda where proguard fails
public Iterable<E> invertedIterable() {
        return () -> new Iterator<E>() {

            private final ListIterator<E> it = listIterator(size());

            @Override
            public boolean hasNext() {
                return it.hasPrevious();
            }

            @Override
            public E next() {
                return it.previous();
            }

            @Override
            public void remove() {
                it.remove();
            }
        };
    }

The cause of the warning is that the anonymous inner class has the lambda method in its EnclosingMethod attribute. So it will be necessary to update that reference.

Same issue here:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setTitle(getStringExtra(WebScreen.WEB_PAGE_TITLE));

        webView.post(() -> {
            load(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    runOnUiThread(() -> {
                        progressBar.setVisibility(View.GONE);
                    });
                }

                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    final String responseBodyString;

                    responseBodyString = response.body().string();
                    runOnUiThread(() -> {
                        webView.loadData(responseBodyString, "text/html", "");
                        progressBar.setVisibility(View.GONE);
                    });
                }
            });
        });
    }

For some reason, downgrading the gradle retrolambdab to me.tatarka:gradle-retrolambda:3.4.0 but maintaining retrolambdaConfig 'net.orfjackal.retrolambda:retrolambda:2.5.0' doesn't cause the issue. Not sure wether this is related or not or my gradle config is actually ignoring the retrolambdaConfig.

This is a showstopper, I had to remove all Lambda code from our code base due to this bug. Is there an ETA for a fix.

What about downgrading?
On Wed, Feb 22, 2017 at 10:25 PM Emanuel Moecklin<EMAIL_ADDRESS>wrote:

This is a showstopper, I had to remove all Lambda code from our code base
due to this bug. Is there an ETA for a fix.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/orfjackal/retrolambda/issues/121#issuecomment-281883103,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEEEYmRDbA3lXKRFy6Czc6nqqHIakT8ks5rfPwtgaJpZM4LsEo4
.

I downgraded to 2.4 retrolambda and 3.4 gradle-retrolambda but still got errors like this:
Warning:com.xyz.sdk.core.RemoteServiceConnection$2$1: can't find enclosing method 'org.reactivestreams.Publisher apply(io.reactivex.Flowable)' in program class com.xyz.sdk.core.RemoteServiceConnection$2
We ProGuard libraries that are then published, these libraries build without issue but if we build an apk (with dependency to the published libraries) and use ProGuard for that apk then we get these errors.

This bug happens when an anonymous class is created inside a lambda expression. The workaround is to change just those lambda expressions into anonymous classes.

I downgraded to 2.4 retrolambda and 3.4 gradle-retrolambda but still got errors like this:

Have you done a clean build?

I had a boring meeting. 😆 This should fix this issue.

Awesome news!
I hope this fixes the issue for me too since we have kind of a special setup. As mentioned we ProGuard an already ProGuarded library (aar) and only then do we get these errors, not while building the libraries (maybe this explains why we get the error with 2.4/3/4). With each build the libraries get a new version number so the build is clean "automatically" at least when it comes to the dependencies (it wouldn't even compile otherwise) but yes I built it manually with clean/build/publish.

Retrolambda 2.5.1 with this fix is now released


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 2059 ms

Resolved: Samsung performance has improved in ccfd3b7.


Extension causes high cpu load

Issue Type: Performance
Extension Name: gitblame
Extension Version: 8.2.2
OS Version: Windows_NT x64 10.0.19044
VS Code version: 1.68.0

:warning: Make sure to attach this file from your home-directory:
:warning:file:///c%3A/Users/bonko/AppData/Local/Temp/waderyan.gitblame-unresponsive.cpuprofile.txt
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-load

Hey Verlong.
Sadly I am unable to do anything about this report without the file vscode says you should attach.


There is no release notes for v1.9.0 (changelog)

Hello everyone! Does anyone knows where I can find release notes for v1.9.0 (changelog)?
P.S. I've checked the releases page but there's no any info about v1.9.0 https://github.com/kenwheeler/slick/releases
Thanks!

@leggomuhgreggo @kenwheeler Can we get the changelog for v1.9.0 slick? Thanks!

Yes, there isn't a tag for 1.9.0 either. 🙂


Adaptive Card Submit jumps to Unknown Intent

Objective:  I want to capture value/s from an adaptive card, when the usr clicks a submit button, store the values and use them in future bot responses and activities.
Environment: 12.5 Monterey M1 Pro Macbook, Bot Composes v2.1.2, with the Node JS Empty Bot sample loaded up.

In my Greeting Intent, I simply load the MailboxManagement Dialog.
In MailboxManagement Dialog, i chose the "Ask a Question > Ask activity" activity.
In the trigger i added a basic adaptive card as an attachment.  There is a Text Field, with an ID of txtInput and a Submit Button. (adaptive card JSON below.)
I added a "Send a Response" activity with a text value of ${turn.activity.value.txtInput}

What I expected:  When running the bot, the user enters a text value into the adaptive card text box and hits submit.  Upon hitting submit, the value from the txtInput field is captured and sent back to the screen.
What happens:  Instead of sending the value back to the screen, the txtInput value is indeed captured, however i am redirected to the Unknown Intent dialog.

Adaptive Card JSON
{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.3",
    "body": [
        {
            "type": "Input.Text",
            "placeholder": "Placeholder text",
            "id": "txtInput"
        },
        {
            "type": "ActionSet",
            "actions": [
                {
                    "type": "Action.Submit",
                    "title": "Action.Submit"
                }
            ]
        }
    ]
}

Hi @adrwh I'm not entirely sure how the Ask activity is supposed to work. I am currently investigating.

Hey team, I seem to have resolved this, I can't explain exactly, however I have updated the dialog so that the Ask Activity is the last action on the step, and then it does now trigger the Message Received activity and outputs the value correctly.

Thanks @adrwh!
I was able to confirm the same thanks to your info. Closing as resolved.


Parse import nodes

Currently we do not parse the imports.
No package needed this so far.
However, NodeJS typings use it:
import { ObjectEncodingOptions } from "node:fs";
This will probably take quite some time and is currently not a priority.

Also super useful as an enhancement.


In the meal list, I can see for each meal (1) the name, (2) the cook, (3) the date), (4) how many people have signed up. Even if I'm not logged in.

Duplicate of #21.
closes #23


duplicate implicite advice calls on class hierarchy

Hi,
While coding on #30 I've observed a bad behavior with classes hierarchy and implicite Advice.
I thought that:

with a Class hierarchy as A <- B <- C
and only one method defined as C.hellowWord()
and a implicit Aspect that match all methods of all classes A, B & C.

Then

For one call of an A.hellowWord() instance,
it must have only one calls of the Advice's method.
For x calls of an A instance proxied method,
it must have x calls of the Advice's method.

But it's not the case :disappointed:
I wrote an UnitTest for demonstration in commit implicite-advice_duplicate-call-class-hierachy. In the TestCase for 2 calls of A.method() with got 6 calls of the Advice method.
I haven't come up with an idea for the diagnosis yet ... keep searching & thinking ...

Hi @Cyrille37,
not quite sure what the problem is, but I'll have a look at it myself.

I see what the problem is. This is quite complicated. I'll try to break it down in simpler steps:

TargetClassA has following structure:

TargetClassC::helloWorld() // Root method
TargetClassB::helloWorld() // Inherited from TargetClassC
TargetClassA::helloWorld() // Inherited from TargetClassB

If any class has the helloWorld() method from TargetClassC, it will be woven.

A woven class will copy all methods that should be matched

Example: TargetClassA (woven):

This makes it so that every TargetClass*::helloWorld() method call, will always trigger the aspects validateContent advice. Because we have 3 TargetClass classes, it will be run 3 times for each helloWorld() method call. Because you called it twice, it will be run 6 times, thats the reason that the stack trace shows 6 entries.

I should implement a check if the class has defined the method itself or not and only then apply the advice.
Also what if, for example, TargetClassB has also a helloWorld() method, that calls parent::helloWorld(), should the advice intercept both methods or only the top-most method?

If I replace getMethods() in Okapi\Aop\Core\Matcher\AdviceMatcher\MethodMatcher on line 31 with getImmediateMethods(), the test will succeed. But the TraitAdvice test will fail and I don't want that, I will test it further.

I have implemented my own getImmediateMethods() method which doesn't include traits and now it will only be called 2 times, instead of 6 times, see the new ClassHierarchyOnlyInvokedOnceTest.
Thank you for finding this bug :)
Release: okapi/aop:1.2.4

It works :-)


Welcome from Hactober 2018!

Welcome from Hactober 2018!

[ ] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)
[ ] My pull request targets the master branch of freeCodeCamp.
[ ] None of my changes are plagiarized from another source without proper attribution.
[ ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Hi @Ayzrian,
Thanks for opening this PR.
However, it's low effort PR. So I'm closing this PR and marking it invalid.
Please browser our repo and I'm sure you'll find something you can contribute to.
Happy coding and hoping you'll open another PR soon!


Wrong alignment and spacing in bibliography when using .bib file with intentional alignment

This .bib file:
@article{test,
  author    = {Max Mox and
               Mix Min and
               Third Person and
               Fourth Person},
  title     = {{Long title with intentional new line and
                alignment}},
}

has been intentionally aligned and newlines have been added after each author.
Hayagriva does not seem to like that and keeps some of the whitespace around while seemingly removing vital information
when used within Typst.
When used like this: #bibliography("report.bib", style: "apa", title: "References"), it produces the following output:

Furthermore, when #cited, it only uses Fourth Person as an author.
Plus, while hayagriva will convert this to its own format, the resulting .yml is misformed precisely because of the newlines in the author and title field and fails to use the correct syntax for multiple authors.

Turns out, the multiline author thing has already been reported here https://github.com/typst/biblatex/issues/28 and is being worked on (https://github.com/typst/biblatex/pull/34). Multiline titles still remain an issue.

Cannot reproduce any of these issues with v0.6.0 or the latest Typst main.

Yep, this was fixed in typst v0.9.0 and v0.10.0 entirely.


Add Loading Spinner Component

Description
https://user-images.githubusercontent.com/41283476/147383851-ddd86d05-174f-4cc0-b22b-e5d3e2c9edfa.mp4
This PR adds loading spinner component
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

I agree with @bariqhibat. 🙂
There is a small merge conflict to resolve, @14Richa.

I agree with @bariqhibat. slightly_smiling_face
There is a small merge conflict to resolve, @14Richa.

Resolved.

Whoo-hoo! 🥳

Hi @sudo-NithishKarthik, I somehow can't find this component in the master branch. Is this PR reverted by any chance?

It's in meshery-ui-restructuring branch @bariqhibat

It's in meshery-ui-restructuring branch @bariqhibat

Ah got it, thanks for the comment


Translations update from Foundry Hub - Weblate

Translations update from Foundry Hub - Weblate for Simple Calendar/main.
Current translation status:

Codecov Report
Patch and project coverage have no change.

Comparison is base (cf439f8) 100.00% compared to head (588061b) 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##              main      #501   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           75        75
  Lines         7262      7262
  Branches      2119      2119
=========================================
  Hits          7262      7262

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


keylime_agent: Inconsistent log levels for request responses

Is your an issue a feature request? If so, please raise it as an enhancement
Environment

OS / version: N/A
Processor architecture: N/A
TPM Manufacturer: N/A
Keylime version: current master (3ab5531)

Description
The log level for request response error messages are inconsistent. For example, the following code logs the error message as INFO:
https://github.com/keylime/keylime/blob/3ab55312006e54c32cb4ccb58b577c43ae0dd459/keylime/keylime_agent.py#L98
While the following logs the error message as WARNING:
https://github.com/keylime/keylime/blob/3ab55312006e54c32cb4ccb58b577c43ae0dd459/keylime/keylime_agent.py#L130
Expected behavior vs. actual behavior
The log level for request response error messages is consistent throughout the code.
Steps to reproduce problem

Inspect the code

Relevant logs
N/A

The python agent is removed, so this can be closed.


training detailes for HSD

Hi there!
Thanks for sharing your code. The idea is great and the code is elegant. I have a few questions about  the hardware setup. How many GPUs do you use for training HSD, on what kind of GPUs? How long does it take to fully train a vgg16_320?

Thanks. 4 Telsa V100 GPUs are used for training. I remember that it takes about 4 days for training vgg16_320.


🐛 testDeviceId's are not working

testDeviceId's are not working
Description
I was trying to set my test device id with the requestConfiguration. For checking whether setup for testdevice is successful, I filtered logcat in android studio with setTestDeviceIds but it's showing me the following log
2021-03-31 04:17:36.907 27185-27185/? I/Ads: Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("xxxxxxxxxxxxxxxxxxx")) to get test ads on this device.

So setting up for test device are not working and I can't test with real ads. As I'm passing testDeviceId's this log was supposed to not appear. You can see I'm passing testDeviceId's for both in RequestConfiguration and bannerAd.
Steps to reproduce
Here is my main.dart file
import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:provider/provider.dart';
import 'package:us/global/theme/app_themes.dart';
import 'package:us/utils/ad_helper.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  MobileAds.instance.initialize().then((InitializationStatus status) {
    print('Initialization done: ${status.adapterStatuses}');
    MobileAds.instance
        .updateRequestConfiguration(RequestConfiguration(
        testDeviceIds: AdHelper.allTestDevices));
  });

  runApp(
      MyApp()
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider<ThemeChanger>(
      create: (_) => ThemeChanger(),
      child: new MaterialAppWithTheme(),
    );
  }
}

class MaterialAppWithTheme extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final theme = Provider.of<ThemeChanger>(context);

    return MaterialApp(
      title: 'Const',
      debugShowCheckedModeBanner: false,
      theme: theme.getDarkTheme ? ThemeData.dark():ThemeData.light(),
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {

  static final AdRequest request = AdRequest(
    testDevices: AdHelper.allTestDevices,
  );

  BannerAd _bannerAdd;
  bool _isBannerAdLoaded = false;

  Future<InitializationStatus> _initGoogleMobileAds() {
    // TODO: Initialize Google Mobile Ads SDK
    return MobileAds.instance.initialize();
  }

  @override
  void initState() {
    super.initState();

    _bannerAdd = BannerAd(
      adUnitId: AdHelper.homePageBannerAd,
      size: AdSize.banner,
      request: request,
      listener: AdListener(
        onAdLoaded: (_) {  // Future<SharedPrefData> _setDarkMode(bool darkMode) async{
          //   SharedPreferences prefs = await SharedPreferences.getInstance();
          //   log.i('Current dark mode  $darkMode.');
          //   await prefs.setBool('darkmode', darkMode);
          //   log.i('Dark mode toggled successfully');
          //   return await getPersistedData();
          // }
          setState(() {
            _isBannerAdLoaded = true;
          });
        },
        onAdFailedToLoad: (ad, error) {
          // Releases an ad resource when it fails to load
          ad.dispose();

          print('Ad load failed (code=${error.code} message=${error.message})');
        },
      ),
    );

    _bannerAdd.load();

  }

  @override
  Widget build(BuildContext context) {

    //this gonna give us total height and with of our device
    return Scaffold(
      // bottomNavigationBar: BottomNavBar(),
      body: Stack(
        children: <Widget>[
          SafeArea(
            child: Padding(
              padding: const EdgeInsets.symmetric(horizontal: 20),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  this._isBannerAdLoaded? Container(
                    margin: EdgeInsets.only(bottom: 35),
                    height: 72.0,
                    alignment: Alignment.center,
                    child: AdWidget(ad: _bannerAdd),
                  ):Text('')
                ],
              ),
            ),
          )
        ],
      ),
    );
  }
}

Here is my adhelper.dart file
import 'dart:io';

class AdHelper{

  static String TEST_BANNER_AD = "ca-app-pub-3940256099942544/6300978111";

 static String get homePageBannerAd{
   if(Platform.isAndroid){
     return TEST_BANNER_AD;
   }
   else if(Platform.isIOS){
     return TEST_BANNER_AD;
   }
   else
     throw new UnsupportedError("Platform is not supported..");
 }

 static List<String> get allTestDevices{

       String MY_REDMI_NOTE_9="xxxxxxxxxxx";

   return [MY_REDMI_NOTE_9];
  }

}

Expected behavior
It shouldn't show me this log as I'm setting testDeviceId's
Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.1, on Linux, locale en_US.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.5)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.2)
[✓] VS Code (version 1.54.3)
[✓] Connected device (2 available)

! Doctor found issues in 1 category.

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.12.0
Flutter SDK 2.0.1
us_constitution 1.0.0+1

dependencies:
- dynamic_text_highlighting 2.2.0 [flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_svg 0.19.3 [flutter meta path_drawing vector_math xml]
- flutter_xlider 3.4.0 [flutter]
- google_mobile_ads 0.11.0+4 [meta flutter]
- logger 1.0.0
- path_provider 2.0.1 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- provider 5.0.0 [collection flutter nested]
- shared_preferences 2.0.5 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_preferences_windows]
- sqflite 1.3.2+4 [flutter sqflite_common path]
- url_launcher 6.0.3 [flutter url_launcher_platform_interface url_launcher_linux url_launcher_macos url_launcher_windows url_launcher_web]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- async 2.5.0 [collection]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.1.0
- charcode 1.2.0
- clock 1.1.0
- collection 1.15.0
- convert 2.1.1 [charcode typed_data]
- fake_async 1.2.0 [clock collection]
- ffi 1.0.0
- file 6.1.0 [meta path]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- js 0.6.3
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- nested 1.0.0 [flutter]
- path 1.8.0
- path_drawing 0.4.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.1.4 [vector_math meta]
- path_provider_linux 2.0.0 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 2.0.0 [flutter]
- path_provider_platform_interface 2.0.0 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.0 [path_provider_platform_interface meta path flutter ffi win32]
- petitparser 3.1.0 [meta]
- platform 3.0.0
- plugin_platform_interface 1.0.3 [meta]
- process 4.1.0 [file path platform]
- shared_preferences_linux 2.0.0 [flutter file meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.0 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.0 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shared_preferences_windows 2.0.0 [shared_preferences_platform_interface flutter file meta path path_provider_platform_interface path_provider_windows]
- sky_engine 0.0.99
- source_span 1.8.0 [charcode collection path term_glyph]
- sqflite_common 1.0.3+1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- synchronized 2.2.0+2
- term_glyph 1.2.0
- test_api 0.2.19 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- url_launcher_linux 2.0.0 [flutter]
- url_launcher_macos 2.0.0 [flutter]
- url_launcher_platform_interface 2.0.1 [flutter plugin_platform_interface]
- url_launcher_web 2.0.0 [url_launcher_platform_interface meta flutter flutter_web_plugins]
- url_launcher_windows 2.0.0 [flutter]
- vector_math 2.1.0
- win32 2.0.0 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 4.5.1 [collection convert meta petitparser]

@ShahrearBinAmin I reversed the order of the request and that seemed to have worked i.e. I called updateRequestConfiguration before initialisation and that seems to have worked. Granted it doesn't seem particularly intuitive that way.

@ShahrearBinAmin I reversed the order of the request and that seemed to have worked i.e. I called updateRequestConfiguration before initialisation and that seems to have worked. Granted it doesn't seem particularly intuitive that way.

This worked for me

updateRequestConfiguration

@ShahrearBinAmin  does the solution mentioned by @akinsho  work for you? if not could you please try using the latest google mobile ads plugin and see if that fixes the issue for you.

@ShahrearBinAmin  does the solution mentioned by @akinsho  work for you? if not could you please try using the latest google mobile ads plugin and see if that fixes the issue for you.

@ShahrearBinAmin looking at your code sample, you're waiting for MobileAds.initialize() to complete before updating the request configuration. One possibility is that you send your initial ad request before the request config update has taken place. Could you confirm if this is the case by waiting for MobileAds.instance .updateRequestConfiguration(RequestConfiguration() to complete before trying to load an ad?

@ShahrearBinAmin, does the solution @jjliu15 mentioned above resolve your issue? If not, could you respond by the end of next week 09/17/21? Otherwise, we'll close this issue. Thank you!


pre-commit run -a outputs different result to gitleaks --repo-url .

Describe the bug
Pre-commit's run --all-files should check on all files in the repo, including those which are already commited. gitleaks hook disregards already commited files and does not check them.
To Reproduce
Steps to reproduce the behavior:

Have a pre-commit hook enabled

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/zricethezav/gitleaks
    rev: v7.6.1
    hooks:
      - id: gitleaks
        args: ["--verbose"]

Have a file with any secret violation e.g.:

AKIA0000000000000000

Commit the file (skipping pre-commit or disabling it)
Run pre-commit run -a and see that it passed without detecting any violation
Run gitleaks --repo-url . and see that it detected the violation properly

Expected behavior
I expect the pre-commit run -a with gitleaks hook to behave in the same way as gitleaks --repo-url .
Screenshots

Basic Info (please complete the following information):

OS: linux
Gitleaks Version: 7.6.1

Additional context
If gitleaks skips detection of secrets on already commited files, it's harder to introduce gitleaks hook as a new hook to existing repo. Because that's what pre-commit users do, when they add new hooks or upgrade them - they run the new hooks against all files to fix everything up.
cc @zricethezav

Hello @tumido !
Can you pass as arguments to the pre-commit the same arguments you are passing to the execution of gitleaks outside the pre-commit?
That is:
args: ["--verbose --repo-url ."]

And re-run the tests you've done to find the bug?
I believe the pre-commit configuration might need some arguments by default that we aren't passing them.
Thank you!

Hey @w0rmr1d3r,
I think the problem is caused by gitleaks not consuming the --all-files flag from pre-commit (not sure how the integration is supposed to works at all, that's just my observation).
To demostrate, I've changed the pre-commit config to (per your suggestion). This results in:

pre-commit to always fail on empty repo (but that's not an issue, just a side effect here, I don't care about that)
It makes gitleaks to execute against commited changes only every time, no matter if --all-files flag is passed or not or if files are staged or not:

$ git init
Initialized empty Git repository in /tmp/test/.git/

$ cat <<EOM > .pre-commit-config.yaml
repos:
  - repo: https://github.com/zricethezav/gitleaks
    rev: v7.6.1
    hooks:
      - id: gitleaks
        args: [--repo-url, .]
EOM

$ git add .

$ git status
## No commits yet on main
A  .pre-commit-config.yaml

$ pre-commit install
pre-commit installed at .git/hooks/pre-commit

$ git commit -m "init"
Detect hardcoded secrets.................................................Failed
- hook id: gitleaks
- exit code: 1

INFO[0000] cloning... .
ERRO[0000] remote repository is empty

$ pre-commit uninstall  # <-- skip pre-commit due to empty repository (see no. 1 above)
pre-commit uninstalled

$ git commit -m "init"
[main (root-commit) ac9804a] init
 1 file changed, 6 insertions(+)
 create mode 100644 .pre-commit-config.yaml

$ pre-commit install
pre-commit installed at .git/hooks/pre-commit

$ echo "AKIA0000000000000000" > awsKeyId

$ git status  # <-- awsKeyId is left unstaged for now
## main
?? awsKeyId

$ pre-commit run  # <-- this is correct, because the leak is NOT staged
Detect hardcoded secrets.............................(no files to check)Skipped

$ pre-commit run -a # <-- this should fail because the leak is present on the filesystem
Detect hardcoded secrets.................................................Passed

$ gitleaks --repo-url .  # <--  this behaves properly since the leak is not committed
INFO[0000] cloning... .
INFO[0000] scan time: 351 microseconds
INFO[0000] commits scanned: 1
INFO[0000] No leaks found

$ gitleaks  # <-- this is correct, since the leak is NOT staged
INFO[0000] opening .
INFO[0000] scan time: 3 milliseconds 551 microseconds
INFO[0000] No leaks found

$ git add .

$ git status  # <--- awsKeyId is staged
## main
A  awsKeyId

$ pre-commit run  # <-- this should fail because the leak is staged
Detect hardcoded secrets.................................................Passed

$ pre-commit run -a  # <-- this should fail because the leak is present on the filesystem
Detect hardcoded secrets.................................................Passed

$ gitleaks --repo-url .  # <-- this behaves properly since the leak is not committed
INFO[0000] cloning... .
INFO[0000] scan time: 257 microseconds
INFO[0000] commits scanned: 1
INFO[0000] No leaks found

$ gitleaks  # <-- this is correct, since the leak is staged
INFO[0000] opening .
INFO[0000] scan time: 6 milliseconds 458 microseconds
WARN[0000] leaks found: 1

$ git commit -m "test"  # <-- this should fail, because the leak is staged
Detect hardcoded secrets.................................................Passed
[main a4f3b3e] test
 1 file changed, 1 insertion(+)
 create mode 100644 awsKeyId

$ gitleaks --repo-url .  # <-- this is correct because the leak is commtited
INFO[0000] cloning... .
INFO[0000] scan time: 549 microseconds
INFO[0000] commits scanned: 2
WARN[0000] leaks found: 1

$ gitleaks  # <-- this is correct because the leak is not staged
INFO[0000] opening .
INFO[0000] scan time: 5 milliseconds 494 microseconds
INFO[0000] No leaks found

$ pre-commit run  # <-- this is correct because there's no staged files
Detect hardcoded secrets.............................(no files to check)Skipped

$ pre-commit run -a  # <-- this is correct because the leak is committed
Detect hardcoded secrets.................................................Failed
- hook id: gitleaks
- exit code: 1

INFO[0000] cloning... .
INFO[0000] scan time: 391 microseconds
INFO[0000] commits scanned: 2
WARN[0000] leaks found: 1

I think this is not expected bahavior of pre-commit, the default configuration is definitely much better than this.
I think the problem is that gitleaks is not consuming context from pre-commit.
gitleaks command by default acts on staged changes in the current repo. That is consistent with expected behavior of pre-commit run (which is the same as the hook executed before git commit).
However the gitleaks behavior stays the same even if it's called via pre-commit run --all-files. In that case gitleaks is still looking up the staged files only, while users (as well as pre-commit) expect it to run the check against the repo as a whole (that means unstaged + staged + all history), basically disregarding that it's a git repo and looking at the files as they are.

I have made a POC that changes the behaviour to match the pre-commit run and pre-commit run -a.
@tumido You can check it here https://github.com/danielorihuela/gitleaks/tree/fix/gitleaks-behaviour-on-pre-commit-run.
If you need to use it, you can fork it to use in your pre-commits.
@zricethezav @w0rmr1d3r I am willing to work on that if the POC makes sense.

@w0rmr1d3r Opened. If the solution makes sense, we can work on improvements, refactor and tests.

closing, pre-commit is working as intended https://asciinema.org/a/455683

Hey
Is --repo-url depressed ?
What's the alternative in latest version ?
Cheers


Make connection picker use "first" option when creating new template/binding

From: https://github.com/projectkudu/WebJobsPortal/issues/31
You always have to pick a storage account today if you wish to create a blob trigger template. This can be really rough for things like the classical image resizer scenario which has 1 queue trigger and 2 blob bindings, each would need the storage account flow (which can be slow).
Instead, let's default to use the "first" connection of that type (i.e. Storage, Service Bus, Event Hub). This will make the scenario where you only have 1 connection of type "Event Hub" require no additional clicks to get created.

Related: https://github.com/projectkudu/WebJobsPortal/issues/66

Closed by mistake


Ryan M: Watch (?:pretty|very|super|kind(?:a| of)|(?:tha|i)t'?s|so)\W*+gay

Ryan M requests the watch of the watch_keyword (?:pretty|very|super|kind(?:a| of)|(?:tha|i)t'?s|so)\W*+gay. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by NobodyNada in Charcoal HQ

(?:pretty|very|super|kind(?:a| of)|(?:tha|i)t'?s|so)\W*+gay has been seen in 35 true positives, 2 false positives, and 0 NAAs.


rotis double refl is now controlled by sliders

As requested, this figure is now controlled by two sliders #225

[ ] Add theta/phi in the slider
[ ] Add theta next to green arc

Browser metadata
Path:      /applet/geom_lin_trans/rotisdoublerefl
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1583 x 1035 @2x
Language:  en-US
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved


import the nzPacemodule into module of demo, to make tests pass

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
import NzSpaceModule

I will submit another RP ,what's function of placement


Minified CSS doesn't work in production mode

When running in prod mode for the website we get:

Need to investigate

I've done some investigation, this is in the compiled code:
  e.default.createElement(t.CS, { hash: "16zgb0s" }, [
    '@charset "utf-8"',
    ".cc-16zgb0s{position:relative;text-transform:capitalize}",
    '.cc-16zgb0s:after{content:"›";position:absolute;right:-2rem}',
  ]),

@charset isn't supported in compiled components at the moment. i might re-enable it tbh.


Set up an autoroller for expat

Currently we're rolling this manually, and very infrequently; see https://github.com/flutter/flutter/issues/114734 and https://github.com/flutter/flutter/issues/91384. We should ideally have an autoroller so that this doesn't get so outdated.
(See also https://github.com/flutter/flutter/issues/93881 which would eliminate the need for this, but it doesn't seem like that's a short-term project.)

@stuartmorgan no one on the android team has written an autoroller, so we are not familiar with the one time cost, ongoing cost, and priority.
Can you give us some guidance for what is reasonable?

I've never set one up for the engine, but based on my experience with flutter/plugins and flutter/packages:

One time cost is very low (you just file an issue describing the roller details).
Ongoing cost depends on how often the roll fails to just work. I would expect low in this case since it was trivial to roll manually even though it was very out of date. I don't know how engine roller monitoring is managed for the engine; the engine Discord channel is probably the best place to ask about that.

Based on what I saw, the priority of expat rolls seems to be very low until there's a potential security issue at which point it's suddenly extremely high. Having a roller would avoid sudden firedrills, so given the low initial cost it's probably worth trying to prioritize getting it set up.


Corrupt hover state of input.btn

If I use  then the hover over state look is messed up (part gray, part blue). However switching to Go works.
Is there something we need to do to fix the "old style" syntax?

Sorry, not sure I understand—I get that you're having problems with a hover state, but switching to what works?

 hover is broken. Switching to  works.

Taken from the bits and pieces in both descriptions, I managed to reproduce the issue in Webkit/Firefox (don't have IE at hand right now) using Bootstrap version 1.3.0. See http://jsfiddle.net/robvangroenewoud/rwv7Q/
The issue seems to occur when inputs of type button are placed inside the topbar.

Gotcha—we don't officially support styling the input element as a button. We should improve this in the future, but for now please use the button element.


Question about Status of Vehicle Command Implementation

Thanks for your library.
I note you've stated "Currently does not support the end to end encrypted telemetry or command API." I assume part of what you're referring to here is the end-to-end protobuf-based SDK for vehicle commands for which there is currently only an official implementation in Golang (https://github.com/teslamotors/vehicle-command).
I was just wondering if you are considering or working on creating a Python SDK for this so this Golang proxy is not necessary. I have done some work on this and wanted to see if my effort is wasted. Thanks in advance.

Hey @ThomasAitken
I have started work on that, but in NodeJS. You can see my incomplete efforts of that at https://github.com/Teslemetry/node-vehicle-command/blob/main/index.js
I am defintely interested in seeing how far you got in Python.


Shorten the metric log keys

What does this PR do?
Use a slightly more compact format to log the submitted metrics.
Motivation
Reduce CW log cost.

👍


Add support for array indices in key path

This PR adds support to generate an array when indices are used as part of the key path.
For example: 'nested.state.0.key' creates this state: {nested: {state: [{key: 'newValue'}]}}.
Old gzip size: 311B
New gzip size: 337B (+26B)

Hi @developit what do you think about this PR?

Hiya! Sorry for the delay here - I'm actually not sure about this one, since numeric properties are supported on objects it feels a little unsafe to infer arrays.

Got it. How about nested.state.0.key for numeric properties and nested.state.[0].key for arrays?

Arrays are just objects with numeric properties though - you can already use nested.state.0.key to access array indices.


High CPU usage and dropped requests

We are running Imgproxy Pro instance under relatively heavy load, and one strange issue happens repeatedly.
It starts by our users reporting that pictures on their sites (served by Imgproxy) are not loading. Inspecting our monitoring tools and logs, we observe high CPU usage, spikes in traffic and Imgproxy log filled with "Request was cancelled after XXXs" errors. There is not much can be done to fix this, only restarting Imgproxy helps. After that things go back to normal. Until the next occurrence. This can happen up to several times a day and is pretty annoying.
Now to the interesting stuff. Server status during the incidents looks like this (incidents highlighted by red frames).
CPU utilization:

In/Out traffic:

ENV file:
IMGPROXY_BIND=<IP_ADDRESS>:8081
IMGPROXY_NETWORK=tcp4
IMGPROXY_TTL=31556952 # 1 year
IMGPROXY_ALLOW_ORIGIN=*
IMGPROXY_LOG_LEVEL=info
IMGPROXY_QUALITY=89
IMGPROXY_STRIP_METADATA=false
IMGPROXY_DOWNLOAD_TIMEOUT=10
IMGPROXY_CONCURRENCY=16
IMGPROXY_ENABLE_VIDEO_THUMBNAILS=true
IMGPROXY_MAX_SRC_FILE_SIZE=10485760

No other services are running on the server, except Nginx to proxy and cache requests to Imgproxy.
Please, let me know if I should provide you with any additional details.
I was unable to find out what exact events causes this behavior. But it looks like Imgproxy stucks in some kind of loop, downloading something(?) and not serving incoming requests properly.
Please, please, look into this. This is currently the only thing ruining our, otherwise flawless, experience.

Hey Eugene,
The important thing we know for now:

You use Nginx to proxy requests to imgproxy
Requests are canceled, not timed out.
Things go back to normal after restart.

Here's what I suspect:
Something (probably some bad image) blocks all the processing workers, and new requests are stuck in the queue. Nginx doesn't get a response for a time and cancels the request. So we need to find out what request cause the issue.
Here's what we can do:

If you collect logs (I believe you do), you can take a look at a couple of things:

In imgproxy logs: requests that started but weren't completed. request_id should help you here.
In Nginx access logs: requests with status 504. One of the first ones before the peak is probably one we are looking for.
In Nginx error logs: things like upstream timed out. Same as above, one of the first ones before the peak is probably one we are looking for.

When the issue occurs again, kill imgproxy with ABORT signal. If you use pure Docker, you can do so with docker kill -s ABRT imgproxy_container_id. When Go apps are killed with this signal, they print their stack trace, and I'd like to look at it if we won't find the issue cause before.

We could set up a Zoom call and inspect logs together if you like.

Hi, Sergey! Thank you for the quick response and detailed explanations. It really helps!
After further investigation I think I've got some idea what might be going on (and now I feel pretty stupid for not checking all the logs myself before opening this issue): just about the incident time Nginx error log starts to fill with errors like
open() "cache/a/b/c" failed (24: Too many open files).
So, the suspected scenario is that Nginx cache hits open files limit due to random traffic peak, and Imgproxy works under heavy load without any cache. This explains CPU peak, In/Out traffic graph shape. One thing left unclear is why restarting Imgproxy helps Nginx cache to start working back again.
Anyway, I've increased worker_rlimit_nofile in Nginx config. Will monitor this situtation and come back with updates.
Thanks again!

As we know, everything is a file in Linux including network connections. Due to peak traffic and missed cache, lots of connections to imgproxy are opened, and they flood your ulimit. When you restart imgproxy, all the connections are dropped and your ulimit is cleaned a bit.
If you're an Nginx Plus user, I'd recommend you to do the following:

Set max_conns of the upstream server to the same value as IMGPROXY_CONCURRENCY. Thus Nginx won't create more connections to imgproxy than imgproxy can process simultaneously. imgproxy does a little bit of work before checking the concurrency limit (like a signature check, processing options parsing, etc), so you may want to increase max_conns a bit.
Set keepalive option of the upstream to make Nginx reuse connections instead of creating new ones.
Set queue of the upstream to some reasonable value so Nginx won't return 502 if upstream server is busy. Unfortunately this option only available in Nginx Plus, and all previous steps are pretty useless without it :(

Also, it's a good idea to put a caching CDN in front of your server. This will dramatically reduce the headache ;)


How does driver connections work at scale

When we create driver we can provider some configuration values like what should be the connection pool size, so if applications scales will it open multiple driver?

Hello, this kind of question is better suited for https://community.neo4j.com/.
Each driver instance encapsulates its own connection pool.
What generally needs to scale is the max number of connections (default: 100) in the connection pool, not the number of drivers. You only need multiple drivers if:

you target different Neo4j servers/clusters in the same application
you need to run queries with different Neo4j users in the same application

Note that point 2 is not true with Neo4j 4.4 Enterprise Edition, since you can impersonate users at the session level now, so you don't need to instantiate 1 driver per user anymore.
Does that help?

Closing but feel free to reopen or ask in https://community.neo4j.com/


Move scatter histograms code to JS function

Turns the D3 scatter histograms plot code into a set of JS functions

Looks good! Thanks for organizing everything in a nicer way!


Performance discrepancy between the paper and codebase in GRF environment

Dear authors,
Thank you for your awesome work.
When I was running experiments for GRF experiment, I noticed a performance discrepancy between the paper(or the figure in the data folder) and the codebase. For example, I was running CDS on Qmix with main.py --config=CDS_QMIX --env-config=academy_3_vs_1_with_keeper and I only got 27.5% (averaged over 5 seeds) test average score after 4M environment timesteps. After I remove the CDS part, the performance drops to 7.5%. So this proves that CDS is indeed very useful in improving the QMIX performance.
However, it would be really helpful if you could advise on the discrepancy in settings (for examples, batch size, number of parallel runs) between this codebase and the paper. Thank you very much.

Influenced by the uncontrolled stochastic random seeds that govern enemy behavior within the environment, the performance of the GRF algorithm can exhibit significant variability across different random seeds, and each run may even produce different results. I struggled to tune a set of hyperparameters two years ago with 5 random seeds, and running with this set of hyperparameters may produce worse or better results, as reflected in many papers comparing my algorithm.
Based on my current understanding, GRF in a random setting is not a good environment for verifying algorithms. The variance of this environment is large, which will cause great interference to the judgment of algorithm performance. If I want to propose a new algorithm now, I would turn off the randomness in the environment to verify the algorithm, or use SMAC and the updated SMAC V2 to verify the algorithm. The impact of different seeds in the SMAC environment will be significantly lower, and each run will give similar results

Thank you very much for your kind reply. It surely helps a lot.


Question/feature request: simple switch for on/off status for automations

As the title says I am trying to create some automations with the TVs power status as condition which you can't set in 3rd party apps. Would it be possible to have an optional simple on/off switch as status indicator?

Hmm, not sure if a dedicated switch would make sense since there are other ways to do that like a soundOutputButton if you do not switch sound outputs that often. Would that not work for you?

Oh I see, yes I can use that as I am only using TV output or arc. As I am planning to use it in a automation converted to shortcut I simply will do to IFs.


Remove onwarn compiler option

The onwarn handler has been deprecated and removed from Svelte v3: sveltejs/svelte#2093

Hi!
Is the project still alive?

sorry, didn't have notifications on for this repo for some reason. this was fixed within #7
Thanks


feat(Makefile): enable immutable (git-based) Docker tag publishing

ping @sgoings; your PR is good to go. :shipit:


Charger Voltage variable and its description is not the correct for its purpose

Hi @flashg1,
thank you for this blueprint, it had saved me a lot of time and motivated me to better understand HA automation!
In my case I am using it with Tesla Model S and Tesla Wall Connector gen 3 in the EU.
Issue:
Charger Voltage variable and its description is misleading.
Initially I have set it to 400V and found out that automation always overshoot and started to oscillate.

In the same time, this was the FVE output:

Based on the Tesla in the EU we have 400V Wye grid.
Based on the this post  Tesla in the EU uses 230V built in/onboard car charger and even in case when Tesla Wall Connector is used, 230V is used to charge the car. On the other side the car is able to stack/combine the energy from phase1, phase2 and phase3 aka (L1, L2, L3). Moreover to balance the load between phases the same current is always used on each of three phases.
The long story short, even in case when 3 phases are available, the difference in power when charging current is increase by 1 amp is  (3(230*1))=690W*
When only one phase is available the difference is 230*1=230W
Workaround:
After I have changed the value of Charger Voltage to 690V (230*3) the automation works fine:

This was the output from the FVE in the same time:

Proposal:

Maybe it will be better if there is another input field:

Number of lines
Desc:
Number of lines provided by the EVSE aka Wallbox for the onboard charger?.
Eg: In the EU the Tesla Wall Connector and UMC gen 1 can utilize 3 phases, UMC gen2 utilizes single phase, only.
Then, the value that represent the minimal step should be computed as Charger Voltage * Number of lines

Change the description of Charger Voltage, to smth like:
The Line to N voltage.

Hi PVi1,
Thank you for the information.  Glad you found the blueprint useful.
I've updated the description in the blueprint, ie.
  description: Specify charger voltage in Volt. In Australia, single phase is 230V, and three phase is 400V due to 120 degree phase angle between phases. This can differ between countries.

Interesting that your 3 phases are in sync.  Which country is this in EU?

Hi @flashg1,
I am from Slovakia.
Here you can find more info about voltages per country.
I am sure we have 120 degree phase angle between phases in Slovakia.
Tesla always measures voltage between Line and Neutral. That's the reason you cannot see 400V on tesla MCU. 400V is the voltage between Lines in 3phase wye(star) networks.
Today I started A/C while the car was still plugged to charger. I could see two phases were used at first and after few minutes the current on the second phase dropped to 0.

This means that car can selectively use one or more lines. But maybe that is not the case during the ac charging.
Check pages 7-9 in wall connector manual.
Then check page 10.There are power outputs based on the line type and current.
Here can be found more about how apparent and active power are computed in delta and wye networks.
Based on the facts above it looks like in 3 phases networks you cannot compute one_amp_watt_step via "car_charger_voltage * 1"
In case of 3 phase networks the formula is different and is more like this:
S = √3 × Vline × Iline
Regards,
Peter

Hi Peter,
Thank you for the detail information.  I'll need time to digest this.

I had the same issue with 3 phase charging causing oscillation when set to 400V, but I'm actually in Australia. Using a wall connector 3. As above, when set to 690V it now seems to work, hovers around 0-300W net grid power default settings. Thanks for the automation.

Thanks @BM183.  Glad it is working for you.  Added special note to this thread in the README file.


Implement a mechanism for resolving cyclic dependencies.

Currently, Nexus is not able to resolve cyclic dependencies.  It is necessary to work out the mechanism of lazy initialization of initialization. The problem is that it has to support the asynchronous nature of dependency resolution.

Referrence: https://docs.nestjs.com/fundamentals/circular-dependency


Feature/enchancements

FIXME:

Too much prioritized component styles
something wrong with ctc in toasts, e. g. can't access to $t, or $route, so custom components can't be fully implemented in toast popup
Modal props warnings
Fields emit change & input events twice
UICollapse ain't work properly if we call it in fields


Remove tabs from smoking pipes yml

About the PR
TAAABS
Screenshots

Changelog

this should probably get linted somehow (editorconfig?)


Fix --pretrained

'' is None evaluates to False, so this is needed for the conditions in your code.

Thanks for pointing it out. I updated the code to show the originally intended checking.


[DOCS]: digitalocean/terraform: .env file not passed to deployed instance

How are you running AnythingLLM?
Docker (remote machine)
What happened?
I have followed the guide to deploy to DO via Terraform. I have created .env file from example and added relevant variables.
Terraform creates the instance. But when I ssh into the droplet and run cat /home/anythingllm/.env there is no output at all.
When I access the application on port 3001, I need to go through onboarding.
Are there known steps to reproduce?
Follow instructions on https://github.com/Mintplex-Labs/anything-llm/blob/master/cloud-deployments/digitalocean/terraform/DEPLOY.md

When I access the application on port 3001, I need to go through onboarding.

You should always go through onboarding on the first boot - this is not unexpected behavior?

When I access the application on port 3001, I need to go through onboarding.

You should always go through onboarding on the first boot - this is not unexpected behavior?

Thank you for letting me clarify:
Yes, onboarding is expected behaviour BUT there are no values taken from .env, hence the onboarding is default.I suppose in case the .env is populated as expected, than onboarding should only ask for values that are missing?
The actual issue is that terraform somehow does not pass the /docker/.env to the instances working directory.
Relevant code is here but I am not proficient with terraform as well, so maybe someone else knows what is odd here:
https://github.com/Mintplex-Labs/anything-llm/blob/296f04156455346a35cec4440239325523265d33/cloud-deployments/digitalocean/terraform/main.tf#L29-L49

@tertek created a quick fix here https://github.com/Mintplex-Labs/anything-llm/pull/2075 could you please test it now and let me know?

@saravanan30erd tested and it worked. Thanks. Closing this the PR will follow up on this.


index.js has very little in it

After successfully creating several batches of 10k images I finally looked in my index.js and there is nothing in there (maybe 8 lines). Is this normal and how do I fix?

I've got the same issue with my index.js. Is that how it is supposed to be now?
This is all it has in it:
const basePath = process.cwd();
const { startCreating, buildSetup } = require(${basePath}/src/main.js);
(() => {
buildSetup();
startCreating();
})();


[Feature Fix]  Delete Indication of Save for Editor

Purpose
Disable the warning message --There are no changes to save
Resolved #3171
Changes

Delete  class wiki-panel-title since it is never defined and used in any places.
Delete the checking for changes

Side effects
When clicking unchanged file, it will still reload the file. This is just a temporary solution.  Big changes on wiki and editor in the future will apply a better way to reflect the status.

Nice. Merged into develop.


add building bench_dbms to tiflash ci pipeline

/hold

wait for https://github.com/pingcap/tiflash/pull/8194

replay test passed  https://ci.pingcap.net/blue/organizations/jenkins/tiflash-build-common/detail/tiflash-build-common/30799/pipeline/166

/unhold


Metadata caching

Adds caching options for external metadata.

[ ] In-memory caching

Based on allegro/bigcache
Uses eko/gocache as adapter

[ ] Cache extension to Redis
[ ] Tests

Verification steps
Build and deploy based on this branch:
make local-setup
kubectl -n authorino port-forward deployment/envoy 8000:8000 &

Apply the AuthConfig:
kubectl -n authorino apply -f -<<EOF
apiVersion: authorino.kuadrant.io/v1beta1
kind: AuthConfig
metadata:
  name: talker-api-protection
spec:
  hosts:
  - talker-api-authorino.<IP_ADDRESS>.nip.io
  identity:
  - name: anonymous
    anonymous: {}
  metadata:
  - name: talker-api
    http:
      endpoint: http://talker-api.authorino.svc.cluster.local:3000/metadata/{context.request.http.path}
      method: GET
    cache:
      key:
        valueFrom: { authJSON: context.request.http.path }
      ttl: 60
  response:
  - name: x-authz-data
    json:
      properties:
      - name: cache-id
        valueFrom: { authJSON: auth.metadata.talker-api.uuid }
EOF

Send requests:

To /hello

curl http://talker-api-authorino.<IP_ADDRESS>.nip.io/hello
# […]
#  "X-Authz-Data": "{\"cache-id\":\"92c111cd-a10f-4e86-8bf0-e0cd646c6f79\"}",
# […]

To a different path

curl http://talker-api-authorino.<IP_ADDRESS>.nip.io/goodbye
# […]
#  "X-Authz-Data": "{\"cache-id\":\"37fce386-1ee8-40a7-aed1-bf8a208f283c\"}",
# […]

To /hello again before the cache entry expires (60 seconds from the first request sent to this path)

curl http://talker-api-authorino.<IP_ADDRESS>.nip.io/hello
# […]
#  "X-Authz-Data": "{\"cache-id\":\"92c111cd-a10f-4e86-8bf0-e0cd646c6f79\"}",  <=== same cache-id as before
# […]

To /hello again after the cache entry expires (60 seconds from the first request sent to this path)

curl http://talker-api-authorino.<IP_ADDRESS>.nip.io/hello
# […]
#  "X-Authz-Data": "{\"cache-id\":\"e708a3a6-5caf-4028-ab5c-573ad9be7188\"}",  <=== different cache-id
# […]

Closes #21

A couple things with allegro/bigcache that I'm not very happy with:

The GetWithTTL function always returns ttl = 0 (same with dgraph-io/ristretto) → it is not possible to evict a cache entry on access; we need to setup a goroutine that takes care of evictions in a loop
There's no safe way to check if the goroutine in charge of evictions is active, and force-closing it can panic

The above does not happen when using coocood/freecache.


Update workflow action versions

I updated the python version to 3.9.x across all actions to match what was set in functional-tests.yml. Not sure if this version discrepancy was intentional though.
Changes

Updates actions dependencies to v3 (which uses node 16 by default).
Downgrade "functional-tests.yml" actions' python versions to 3.8 to match version set in other actions.

How to test this PR

I think we need to merge it and see how it goes.

For Python, we should be using 3.8 everywhere for now.

For Python, we should be using 3.8 everywhere for now.

:+1: Thanks @willbarton, I downgraded the version set in functional-tests.yml to match the other actions. Let me know if that's wrong.


Wrap dispatch_async tests in an autoreleasepool

Should hopefully help with the swift tests failing due to leaked realm instances

:+1:


Support for tailwindcss?

Hi, thanks for this great work.
Description of the Error
I have tried to drop your library in my Next.js 13 App router + Tailwindcss boilerplate (for which you don't have test coverage for, so if it's not relevant or supported let me know) (you have coverage for Next.js Pages router without tailwindcss).
First, I try running a simple example without any changes to the next.js config. I get the following warning and errors:
- warn ./node_modules/web-worker/cjs/node.js
Critical dependency: the request of a dependency is an expression

Import trace for requested module:
./node_modules/web-worker/cjs/node.js
./node_modules/geotiff/dist-module/worker/decoder.js
./node_modules/geotiff/dist-module/pool.js
./node_modules/geotiff/dist-module/geotiff.js
./node_modules/ol/source/GeoTIFF.js
./node_modules/ol/source.js
./node_modules/rlayers/dist/layer/RLayerTile.js
./node_modules/rlayers/dist/index.js
./src/app/page.tsx
- error node_modules/ol/Map.js (365:0) @ new Map
- error ReferenceError: document is not defined
null

Then, I follow your documentation, I do this:
const nextConfig = { experimental: { esmExternals: "loose" } };
const withTranspile = require("next-transpile-modules")(["ol", "rlayers"]);
module.exports = withTranspile(nextConfig);

at which point I start getting this error and the app doesn't start:
- error ./src/app/globals.css
Module parse failed: Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> @tailwind base;
| @tailwind components;
| @tailwind utilities;

Import trace for requested module:
./src/app/globals.css

Hint
I'm guessing tailwindcss needs preprocessor that the withTrabspile removes.
How to reproduce
# answer Yes to all defaults
npx create-next-app@latest
npm install rlayers ol react react-dom
npm install next-transpile-modules
npm run dev

change your src/app/page.tsx to this
"use client";
import React from "react";
import { fromLonLat } from "ol/proj";
import "ol/ol.css";

import { RMap, ROSM } from "rlayers";

const center = fromLonLat([-1.4982172, 47.2517975]);
const zoom = 14;

export default function Home() {
  return (

              Dashboard

            <RMap
              initial={{ center: center, zoom: zoom }}
              className="w-full h-96">
              <ROSM />
            </RMap>

  );
}

I have never used tailwindcss, but I have used rlayers in projects with both Next.js 13 app mode and Next.js 13 pages mode, so this is supported.
From what I see of your output:

The geotiff dependency on webworker comes from OpenLayers and it is not a huge problem, though you might report it to them - it is caused by a stub that is needed only when unit-testing in Node.js
I agree that your CSS probably needs special handling - that is probably overridden by withTranspile. Whether you transpile rlayers or not is up to you - rlayers comes with both ESM modules and a pre-transpiled version. If you switch to using the ESM modules, there should be a way to make it work with Next.js 13 without any special configuration. Or you can try to find whatever configuration tailwindcss adds to Next.js and add it manually to the config file.

I have included a test for a setup without withTranspile: https://github.com/mmomtchev/rlayers-npm-tests/tree/main/next13-esm
The alias is needed because otherwise webpack will always select the CJS over the ES6 module because rlayers is not marked as ES6-only.
OpenLayers have decided to go ES6-only which by nw is probably the better solution, as almost no browser software uses anything else in 2023.
Maybe I will do the same in a future release.

thank you sir 🙏


Awareness of a related open source project

[pygeoapi](https://pygeoapi.io) has possible overlap and relevance to us for this API for the long term.  Keep in mind that we may want to adapt our code to live within this framework in the future.  There's others, too, including the STAC things!

Also OWSLib


Return a 400 if Identity guest creation errors on a long email address

Identity can’t handle addresses longer than 100 characters in its guest creation endpoint, and returns a 500. Since we don’t want alerts in this case, but we do want alerts on 500s, this change returns a 400 instead.
I also considered blocking email addresses that long up front in the email validation, but wondered about the possibility that someone might successfully create a non-guest Identity account with an email address that long, and then try to set a reminder: then we’d incorrectly fail the validation.
Also, doing it after the call to Identity means that if they fix the guest creation endpoint so it can handle email addresses that long, we won’t be blocking them.
Trello card: https://trello.com/c/An7oJD1k/410-stop-alarms-on-bad-email-addresses-for-support-reminders
The address<EMAIL_ADDRESS>mentioned in the card doesn’t cause any problems in my testing, so I think it’s been handled on Identity’s end.

 Stop alarms on bad email addresses for support-reminders

Is the identity restriction specifically on guest accounts? I would have thought it would be enforced on all email addresses. In which case maybe we should validate the length on the front end as well?

Is the identity restriction specifically on guest accounts? I would have thought it would be enforced on all email addresses. In which case maybe we should validate the length on the front end as well?

I don’t know which endpoints behave like this: the user/type endpoint correctly returns a 404 for a test address that’s that length, but there may be others that return a 500 like this one. I get the sense it’s more of a bug than an intended restriction, you know? We could confirm whether it’s possible to sign up with Identity with an address longer than 100 characters, and then if not we could reject those email addresses in frontend and backend validation steps.
I’m inclined not to bother, though – the main objective here is to stop us getting unnecessary alerts, and I don’t think it’s worth that extra time. Although, I suppose from a user’s point of view it would be nicer if we could tell them sooner that a long email address wasn’t supported, and not waste effort going to our backend.
What do you think, shall I try and find out the maximum acceptable length?

Looks like signing up at https://profile.theguardian.com/register works for emails 100 characters long but not 101.

Ok, I’ve decided I will add client-side validation – will mark as draft until I’m done


bug: Fix Hubble Peer Service Helm File Location

For 1.10 Hubble Peer Service needs to live at hubble-peer-service.yaml
in the root template directory and not ./hubble/peer-service.yaml
Signed-off-by: Nate Sweet<EMAIL_ADDRESS>

/test-backport-1.10

/test-upstream-k8s


Please update documentation to explicitly say that OAuth2 Implicit Flow is not supported

The fact that Implicit Flow isn't supported is explained in one of the closed issues, but I can't find it mentioned at all in the documentation / downloaded files.
In my case, I didn't think to check the "issues" list until after I'd been working on the problem for a few days. I'm new enough to OAuth and GAS that I couldn't tell at first whether I was using the library wrong or the library simply didn't support what I was doing.
Adding the information about Implicit Flow to the documentation would probably save time for other folks, too.

Done!


kubernetes - fixed client name

This is to make client name in SDKs inline with usual client naming conventions.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.4.168",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4ed9f5c511ce95cb8db05ff82026ea901f45fd76"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "4ed9f5c511ce95cb8db05ff82026ea901f45fd76",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "xen/blkfront: harden blkfront against event channel storms\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.4.168 by commit 4ed9f5c511ce95cb8db05ff82026ea901f45fd76. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002684


fix(@angular/pwa): correct paths for manifest and icons

Fixes #706, and the path to manifest.json in index.html was also wrong.
@hansl @filipesilva @Brocco
2 side notes:

beyond my skills, but those errors show tests are missing, because currently @angular/pwa was just not working at all,
manifest.json being in assets is risky, it may produce scope problems. src would be a better place. It would need custom config like the favicon in angular.json (to copy the file when building) and in ngsw-config.json (to cache the file).

manifest.json being in assets is risky, it may produce scope problems. src would be a better place. It would need custom config like the favicon in angular.json (to copy the file when building) and in ngsw-config.json (to cache the file).

I verified with @alxhub and it seems that this is fine. "Risky" maybe, but not buggy.

beyond my skills, but those errors show tests are missing, because currently @angular/pwa was just not working at all,

I'm going to file an issue for that. Our test coverage is basically "generate a schematics, check that files are where we think they should be". We have build tests on the CLI repo, but no run tests for PWA. We need to fix.

I'm going to let @brocco do this review.

This is the first time I've ever seen the manifest not be in the root. Folks are going to look at this schematic as a "gold standard" of sorts for PWAs. I think we should adhere to the pattern that already exists.


Make update to support latest stellar-core (10.0.0 release)

The https://github.com/stellar/stellar-core/pull/1533 (BumpSeq) PR got merged into master.
Most notable changes that need to be supported in Horizon and SDKs:

addition of the new BUMP_SEQUENCE operation
move to signed int64 type from uint64 for SequenceNumber (I expect this one to be a search replace type of thing - no data was ever emitted that cannot be converted into the signed value)
(Horizon only) meta data format changed

We now use meta.v1().operations instead of m.operations() , but code should be able to import both versions as we don't convert the old data
Additional meta data per transaction may be emitted in meta.v1().txchanges (for example this is where sequence number processing will appear instead of txhistory starting in v10 of the protocol). Those side effects are happening before operations but during the tx processing.

We now use meta.v1().operations instead of m.operations() , but code should be able to import both versions as we don't convert the old data

Do you recommend we switch on the protocol version of the ledger header to decide what path to inspect?  or should we simply prioritize the new form over the old form?

no: TransactionMeta has a discriminant v, switch on its value instead (if 0 -> old path, 1 -> new path).
New stellar core is going to always generate the new format, even for old ledgers:
I did it like this such that we keep our options open and should be able to remove support for old meta format.

What is the target date for a "testing" version of this work?
We announced that this will be available to developers this week in testing environments (ie quickstart "testing" image).
As for the "stable" version, the "stable" release of core will land later this month, and a stable version of Horizon is a prerequisite to deploy it.


Kahoot Rand no longer working

Title says it all, when I got to use Kahoot-Rand on a kahoot they bots never connect and the console window closes.

I tried it just now, and it worked for me. Can you check if it is still broken for you?

It's fixed! Thanks1


Separate predictions are 4x slower than bulk predictions

I have data containing 883k instances. Also I have ready XGBooster. I predict all the instances as one matrix and all the instances one by one with separate prediction call. For separate prediction call I need to create separate matrix which contains one instance only. Here is my code:
int main() {
	BoosterHandle h_booster;
	XGBoosterCreate(0, 0, &h_booster);
	XGBoosterLoadModel(h_booster, "C:/ro/server33/ro_cluster/PrXgb.save/f.sit1.2.obj");
	XGBoosterSetParam(h_booster, "nthread", "1");

	const int instLen = 22;
	int dataLen = 883567;
	DMatrixHandle h_test;
	XGDMatrixCreateFromFile("C:/ro/server33/ro_cluster/cache_data/st3.sit1.h2", 0, &h_test);

	LONG st = time();
	bst_ulong out_len;
	const float *out;
	XGBoosterPredict((void*)h_booster, h_test, 0, 0, &out_len, &out);
	printf("Bulk predict: %dms\n", time() - st);

	LONG tp = 0;
	st = time();
	for (int j = 0; j < dataLen; j++) {
		// Just take first line of the data
		float inst[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 2, 2, 0, 0, 0, 0, 0, };

		DMatrixHandle hm;
		XGDMatrixCreateFromMat((float*)inst, 1, instLen, -1, &hm);
		LONG stp = time();
		XGBoosterPredict((void*)h_booster, hm, 0, 0, &out_len, &out);
		tp += time()-stp;
	}
	printf("1 by 1 predict total %dms, pure %dms\n", time() - st, tp);

    return 0;
}

Output:
C:\>XGBoostTest.exe
[23:19:25] 883566x23 matrix with 19438452 entries loaded from C:/ro/server33/ro_cluster/cache_data/st3.sit1.h2
Bulk predict: 550ms
1 by 1 predict total 2373ms, pure 945ms

What we see is that one by one prediction is 2x slower. Also matrix creation gives 2x overhead. It's 4x in total. Multi-threading is not an issue here because of nthread=1.
If matrix creation is so slow isn't it better just to use float[] representation of the instance?
Why is pure prediction is 2x slower? How can existence of other instances in the matrix improve the performance of the prediction of one particular instance?
Is it possible to have fixes for the above problems in the visible future?

Could you show your bulk prediction code?

Bulk prediction code is in the original message above right before the line:
printf("Bulk predict: %dms\n", time() - st);

Why is pure prediction is 2x slower? How can existence of other instances in the matrix improve the performance of the prediction of one particular instance?

Aren't you calling XGBoosterPredict once in one case and 883567 times in the other? I don't think it's surprising that making a single prediction on one million rows of data is more efficient than making one million separate predictions on one single row each time. What were your expectations?

Is there anyone know that how xgoost do prediction in bulk mode? I read http://scikit-learn.org/stable/modules/computational_performance.html , for logistic regression or SVM, it is easy to think the prediciton in bulk in matrix computation way. It is interesting to know how to do bulk prediction in tree mode.

Aren't you calling XGBoosterPredict once in one case and 883567 times in the other? I don't think it's surprising that making a single prediction on one million rows of data is more efficient than making one million separate predictions on one single row each time. What were your expectations?

My expectation is that two codes below do the same and with the same performance.
Code 1:
int x = 0;
for (int i = 0; i < 1000000; i++) {
	x = x + 1;
}

Code 2:
int x = 0;
void inc() {
	x = x + 1;
}
for (int i = 0; i < 1000000; i++) {
	inc();
}

Why do you think function call should take meaningful time?
My guess is that XGBoost does some preparations inside predict() function which are not meaningful in case of 1mln matrix prediction, but decrease performance in case of single prediction. Production use cases are single usually. Imagine I need to recognize faces of the people entering the building or give an answer whether to approve credit for some person. There is no 1mln data matrix in advance in the real life.

I think that case 1 and case 2 are different , if they have equal performance. I guessed that C++ compiler have done the opimisation.

I guessed that C++ compiler have done the opimisation
Yes it could. But this optimization will not change the performance significantly.

Why did not compiler do the same optimization in case of XGBoost predict() method? Actually this is the root of my original question. To do the prediction XGBosst needs to go thru several trees and sum the result (roughly speaking). Why is doing this for 1mln instances matrix is faster than for 1 instance matrix 1mln times? In any case for each instance we have float[] as an input and the same trees to go thru.
Please do not say that function call takes time in C++. This is not relevant for our case.

After jumping through several hoops, you end up running a loop over the rows in the matrix. The extra time comes from the overhead of getting to that point one million times instead of just once. There is no need to guess what happens, you can see the code.

After jumping through several hoops, you end up running a loop over the rows in the matrix. The extra time comes from the overhead of getting to that point one million times instead of just once. There is no need to guess what happens, you can see the code.

Yes you are right. And my original issue is that XGBoost code should be changed to avoid this single predict() function call overhead. Do you think this is possible?
Actually there two steps:

Avoid matrix creation overhead (use float[]?)
Avoid predict() call overhead

Are you using an OMP enabled version ?
Internally I assume xgboost uses OMP to run the prediction in parallel on the rows. While your for loop is written without OMP and uses only 1 thread. Now, if you have 4 cores ... it would be 4 times slower.
2 tests to understand better:

Compile xgboost with USE_OPENMP=0 ( https://github.com/dmlc/xgboost/blob/master/make/config.mk#L30 )
Use the time unix command and check the "system time" for both parts.

I'm using XGBoosterSetParam(h_booster, "nthread", "1"). This is to narrow the issue to the code and algorithm. Multi-threading increases performance, really. But this is not the reason to write code that decreases performance. The issue we are discussing is about algorithm, not about multi-threading.

I suspect (without looking at the source code) this is the difference between running calculation on a single row ('for' loop) versus optimised calculations using processor optimised libraries that are far superior when performed on matrices/vectors.  Lookup "BLAS library" for an example of such an optimisation.  I assume the c++ compiler will use BLAS or some kind of equivalent... my guess at least!

Good guess. Should be confirmed by XGBoost developers. But this is related to 2x predict() method slowdown. Also I see that one row matrix creation takes time and gives 2x slowdown too. Is it any normal reason for this?


Weave multi-cluster pod network

Allows multi-cluster pod network overlay if all clusters have the same shared secret. Pod network is protected with IPSec by default.
Example
cluster1.yml
network:
  provider: weave
  weave:
    passwd: sharedsecretzz

cluster2.yml
network:
  provider: weave
  weave:
    passwd: sharedsecretzz
    known_peers:
      - <cluster1_ip1>
      - <cluster1_ip2>

Related https://github.com/kontena/weave-flying-shuttle/pull/1

@jnummelin PTAL


Support field validation?

Figment works great for loading, parsing, and assigning the values to Rust structs. Currently, it also does some validation (as part of serde) for stuff like invalid type, invalid value, etc (see errors::Kind).
It would be nice if Figment supported custom validation rules that we could easily apply to our fields, which in turn would be handled by Figment's built in error. Maybe a new enum variant like Kind::InvalidField(fieldName, errorMessage)? Could be applied using field attributes:
struct Foo {
  #[figment(validate = "validate_range")]
  field: i64;
}

fn validate_range(value: i64) -> Result<(), Error> {}

The reason I'm asking for this, is that it's currently a lot of overhead to integrate something like validator or another serde validation lib, because of the difference in error's that are used. I'm currently having to do a lot of mapping between errors, and for the errors to be returned as a collection (instead of 1-by-1). It would also be nice for the validation to be ran in the same flow that figment uses, instead of being done in a secondary flow manually.
Also open to any other solutions out there.

While possible, I think supporting it directly would be nice for the following reasons:

A simple validator function will always be nicer to write and utilize over everything that's required for serde.

fn validate_range(value: i64) -> Result<(), Error> {}
// vs
fn validate_range<'de, T, D>(deserializer: D) -> Result<T, D::Error> where T: DeserializeOwned, D: Deserializer<'de> {}

It's of my opinion that validation should happen after deserialization (if possible), and not part of it. For validation, it's nice to collect all validation failures at once, instead of only 1. Correct me if I'm wrong, but deserialization stops after the first failure.

Having an all-in-one solution to a problem (configuration in this case) is always preferred.

The problem is that there's nowhere nice for Figment to hook in, aside from doing so at the deserialization point, which is akin to the non-figment solution I've proposed. We would need to create our own set of traits for deserialization. Perhaps if Rust had specialization, such a trait could be opt-in, but alas we do not.
One thing you could do is extend Figment with an extract_validated() method of sorts that 1) calls extract, and then 2) calls a validation method of your desire. Something like:
use figment::Figment;
use figment::error::Result;

use serde::Deserialize;

trait Validate: Sized {
    fn validate(self) -> Result<Self>;
}

trait ValidatedFigment {
    fn extract_validated<'a, T: Deserialize<'a> + Validate>(&self) -> Result<T>;
}

impl ValidatedFigment for Figment {
    fn extract_validated<'a, T: Deserialize<'a> + Validate>(&self) -> Result<T> {
        let value: T = self.extract()?;
        value.validate()
    }
}

Then you can do:
    #[derive(Debug, Deserialize)]
    struct Foo {
        field: i64,
    }

    impl Validate for Foo {
        fn validate(self) -> Result<Self> {
            if !(0..10).contains(&self.field) {
                return Err(figment::Error::custom("`field` must be in [0, 10)"));
            }

            Ok(self)
        }
    }

    let foo: Foo = Figment::new()
        .merge(("field", 20))
        .extract_validated()?

Because of the reasons above, I don't see the requested feature in scope for Figment. I hope my responses are helpful to you, however.