[BUG?] Paths not being tracked properly

When we try to add a Node to a parent Node a second time, we expect an error like this, as in
var logo = scene.addChild();
scene.addChild(logo);

, we expect an error like this:
Uncaught Error: Node is already mounted at: body/0

However, I've got some complex code that is removing and adding child nodes often, and at some point, when I use Node#addChild to add a Node to a parent Node, I'm getting this error from PathStore instead:
Uncaught Error: item already exists at path: [data-reactid=".0"][data-scene-id="1"]/0/97/0/0/0/0/0/1

The "item" in question happens to be a Transform who's path is being (re)added TransformSystem#registerTransformAtPath, based on the stack trace:
ncaught Error: item already exists at path: [data-reactid=".0"][data-scene-id="1"]/0/97/0/0/0/0/0/1
    at PathStore.insert (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:2117:16)
    at TransformSystem.registerTransformAtPath (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:240:21)
    at Node.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:3503:26)
    at Dispatch.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:1644:64)
    at Node.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:3512:15)
    at Dispatch.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:1644:64)
    at Node.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:3512:15)
    at Dispatch.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:1644:64)
    at Node.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:3512:15)
    at Dispatch.mount (http://localhost:3000/client/lib/_famous/famous.entry.js?bab126b262ed37f8bcf79944013b074b89476f49:1644:64)

This leads me to believe that the path system might have a bug because I'm strictly using only Node#addChild/Node#removeChild. At some points between those calls I'm adding and removing Position and Rotation components.

I tried reproducing with this simple example:
var scene = FamousEngine.createScene()
var logo = scene.addChild()
var node2 = scene.addChild()
scene.removeChild(logo)
node2.addChild(logo)
new Position(logo)
node2.removeChild(logo)
scene.addChild(logo)

but that works. In my case, I'm removing and adding hundreds of nodes at a time.

Alright, so I did an experiment to double check that I'm not accidentally adding nodes to the same node. I've got code like this:
                    if (viewNode === cardFamousNode.getParent()) {
                        console.log('viewNode already parent...')
                        debugger
                    }
                    viewNode.addChild(cardFamousNode)

The console.log and debugger statements never fire, and the error happens on the line after the conditional check.

Sorry, this is really hard to debug without the specific code.  Not much we can do here.

I was having this issue too and noticed that after removing a node from root, the node's path was gone from the pathstore, but not the nodes children. I looked into the code, and I believe the problem may be in TransformSystem.deregisterTransformAtPath(path) which is called by Node.prototype.dismount. This removes the node's path from the pathstore, but it does not remove the paths of its children nodes. So if you are adding and removing nodes which themselves have children, you will come upon this error.

Here is the situation in which this bug occurs for me:
class MyNode extends Node
 constructor: ()->
        super
        @.nextBtn = new NextBtnNode() #this class also extends Node
        @.addChild( @.nextBtn )
        @.moduleNodes = []
    #remove all of the current module nodes and insert the new modules
setModules: (modules)->
    @.modules = modules
    for node in @.moduleNodes
       @.removeChild node
    for module in @.modules
       newNode = new ModuleNode(module)
       @.moduleNodes.push newNode
       @.addChild newNode

myNode = new MyNode()
myNode.setModules( [1, 2, 3] )
myNode.setModules( [4, 5, 6] ) #ERROR item already exists at path

On the last line, the node's TransformSystem tries to register a new node at the path of the current NextBtn node, which was never removed. If I remove all the nodes including the NextBtn and then add all of the nodes, I don't receive an error. Thus, the path to the NextBtn node needs to update itself to reflect that it has moved from being at index 1 among all the children (for example) to index 0.

@artichox Is that code who's repo you don't mind sharing?

I have this problem in another project now. My case is simple. I've got some code like this:
// This must contain React components that extend from react-famous/Node
let loginlayouts = {
    SplashScreen, SignUpScreen, LoginScreen
}

class Login extends Node {
    render() {
        return (
            <Node _famousParent  = {this} id="rootNode">

                {React.createElement(this.data.loginLayout)}

            </Node>
        )
    }

    getMeteorData() {
        console.log('login root data changed.')
        return {
            loginLayout: loginlayouts[Session.get('loginlayout')]
        }
    }
}
reactMixin(Login.prototype, ReactMeteorData)

export default Login

When the value of this.data.loginLayout changes, the Login component is re-rendered (in React's sense of rendering). The Node instance in the return function creates a Famous Node behind the scenes, and that instance remains instantiated across React renders. What changes is the value of {React.createElement(this.data.loginLayout)}. The value of that is a component that looks like this:
export default
class SplashScreen extends Node {
    render() {
        return (
            <Node _famousParent={this} id="SplashRoot">
                ...
            </Node>
        )
    }
}

When the value of {React.createElement(this.data.loginLayout)} in the Login component changes, that causes the (React) component to be unmounted, which behind the scene unmounts the Famous Node that it represents. Then, the new value of {React.createElement(this.data.loginLayout)} is another React component that, when mounted (in React's sense of mounting) goes a head and creates a new Famous Node and adds that with addChild to the Login component's Famous Node.
So, in my case, all that is happening (when the value of this.data.loginLayout changes) is a single node is removed (and all it's sub-nodes along with it) and a single node is added (and all it's sub-nodes along with it), and that's when I get the error.
Maybe the index in one of the loops in the path logic is off by one or something?

@artichox I'm gonna look into fixing this today. Thanks for the tips.

Great thank you @trusktr
Here is the repo
client/modules/base/ModulesView.coffee is the node class. setModules is called in client/Scene.coffee
Also, I was mistaken: the bug still persists if I remove all of the child nodes including the NextBtn

@artichox I didn't get to solve this today. I found a temporary workaround to the problem in my case: I'm swapping views by positioning them off screen or on screen instead of adding/removing nodes. It's lame, but that'll do for now.

@trusktr this should be one of the highest priorities to fix

@talves @michaelobriena @alexanderGugel As mentioned on Slack in #engine, the current workaround is to manually remove child nodes before removing parent nodes, in post-order. I'm gonna test that out.

Manually removing all of the child nodes in the tree does prevent path collisions, but unfortunately the recycling of DOM elements will sometimes result in some of the node's content being retained. So when I make a new node, it occasionally will have the content of one of my previous nodes in its background. Pretty funky looking. Preemptively setting content to "" in the node constructor doesn't fix the issue. Anyone found a workaround for this?

@artichox Maybe we can override a method in the dom renderer to not recycle anything, for now?


Rethinking_2 - Converting Chapters 2-4 to PyMC v4

Since Chapter 5 updates have been already merged to main, I wanted to get a PR up for Chapters 2 through 4 as soon as possible. My apologies for going out of order.

No apologies needed! This is great no matter what order you do it in. Thanks much!


replace remaining fnv with repo's default hash

Motivation

Closes #1508

The last remnants of FNV were in the hare package.
Changes

Replaced usage of FNV with truncated SHA256 (what's used everywhere else)
Test Plan

No extra tests. Existing tests must continue to pass.

bors try

certificates map was changed to use Hash32 key. does it make sense to change the other map as well and remove cast to uint32?

Yep, makes sense to remove confusing casting that doesn't have a good reason.

bors try

bors merge


GitBridge.add expects a repo, not a path.

This fixes another "Undefined is not a function" bug that crops up when you use the stage button in the MergeConflictsView, as referenced in #169.

A more thorough developer might have written a spec to catch the original crash. Oh well, too late, :shipit:


[Question] Why not create Control.xaml.cs File

Why is the usual Control.xaml.cs file not included when creating UI?  For example, when creating the Tool Window the following is generated:

MyToolWindowControl.xaml
MyToolWindowControl.cs    // One in question.

Seems like it would be:

MyToolWindowControl.xaml
MyToolWindowControl.xaml.cs

Is this the new normal for extensibility going forward or are there plans to update in future release?
Update:
Understanding this is more related to the complexities of Remote UI, seems like there could be some niceties around VS structure in the Solution Explorer.  Not sure how it would work since similar files are used elsewhere.
Would be nice to have the code and data files grouped together, albeit, still separate.  For example...

MyToolWindowControl.xaml

MyToolWindowControl.cs
MyToolWindowControlData.cs

There is no particular reason, except the fact that the MyToolWindowControl.cs is not a code behind file (Remote UI doesn't have any support for code behind).
We may look into grouping files in the future but probably not the data context file (since it can have an arbitrary name).


Support elixir 1.7

Overview

Reformat mix.lock, and suppress elixir 1.7 warnings.
Testing recommendations

Using elixir 1.7, mix test --trace should not reformat the mix.lock file, and should not generate warnings like:
warning: found quoted keyword "_id" but the quotes are not required. Note that keywords are always atoms, even when quoted, and quotes should only be used to introduce keywords with foreign characters in them
  test/test_helper.exs:178

Related Issues or Pull Requests

Checklist

[x] Code is written and works correctly;
[x] Changes are covered by tests;
[ ] Documentation reflects the changes;

Can you confirm this doesn't break support for 1.6.6? We currently have 1.6.6 in our regression testing environment and plan to start running make elixir as part of our test suite soon.
The regression environment is Erlang 19 so I don't even know if we can upgrade to 1.7 with that or not...

@wohali, yes, I also ran the tests with elixir 1.6.6, and they all pass except for this one test (which also fails on 1.7.4):
  * test Standard config options are present (2.0ms)

  1) test Standard config options are present (ConfigTest)
     test/config_test.exs:70
     Expected truthy, got nil
     code: assert context[:config]["daemons"]["httpd"]
     stacktrace:
       test/config_test.exs:72: (test)

I hope to have a fix for that test shortly.
As for erlang/elixir version compatibility, there's this nice table which indicates elixir 1.7 should be compatible with OTP 19.


Add query_mut and headers_mut to S3Action

This will allow to customize the query parameters and headers of any action.

Implemented in 17418ebce493a4bb028fede52c18d2b900c8520f and a324c1ff805e8c667e441d8e7bf10bf3b3e27865


Sharing to facebook messenger

Hi, how could sharing to facebook messenger be added as a network?

That would be nice indeed but from what I've seen it is not permitted by Facebook, see #204.
If you find a way, let me know!


Store flow state permanently

Hi everyone!
I'm using node-RED to design asynchronous chain of tasks which may take a lot of time. And I need an ability to store flow state permanently for those moments when server shutdown and restore that flow state on server startup.
Let's say I have 4 asynchronous tasks in my chain, each of this task depends on previous, and what I need is to resume tasks execution from that task on which server restarts.
Is some sort of such feature planned?

Hi, thanks for raising an issue.
If you check out our contribution guidelines you'll see we prefer to handle this sort of question on the mailing list, slack team or you could ask a question on Stack Overflow and tag it node-red. That way the whole Node-RED user community can help, rather than rely on the core development team.
Thanks!


Item not marked as completed after performing 'Receive and Close' operation during order receipt.

Current behavior
The item is not marked as completed until the page is refreshed or reloaded.
Expected behavior
Upon performing the 'Receive and Close' operation, the item should be marked as completed without needing to refresh or reload the page.
Steps to reproduce the issue
Go to the PO section.
Open a PO having multiple items.
Scan any one item of the PO.
Perform the 'Receive and Close' operation.
Observe that the item is not marked as completed.
Refresh/reload the URL.
Check if the item is now marked as completed.
Environment details
App version : v2.27.0
App environment : UAT
Additional information
https://jam.dev/c/5eb34534-9f93-470f-93d4-5224c6e3773d

When we receive and close an item, we are thrown to the list page of the Purchase orders and there we refetch the order info using Solr. The issue is coming cause Solr is not giving updated order item status.

Also it is observed that 'Upon 'Receive and Close' of a PO order containing a single item, the order doesn't get removed from the list page, allowing the user to open and receive the same PO item again.'

Will be fixed in this PR: https://github.com/hotwax/receiving/pull/381

Issue verified and working fine in release v2.28.1. Hence, closing this issue.


Add an parameter to eliminate the object list comparison

By default, the finder process will list all objects in both source and destination and find the delta collection. Add a parameter to eliminate the list action in destination bucket. It can save up some time on finder process.
The typical user scenario is migration or one-time transfer.

Thanks Joe.
This feature has been released in v2.1 .
Customers can set the parameter Need Data Comparison before Transfer to  No to eliminate the comparison.


is authentication by jwt not a security issue ?

If you do
app.authenticate({
  strategy: 'jwt',
  accessToken: 'current access token'
});

You get a new access token every time, with new expiresIn etc, so theoretically, you no longer need the users password to know, because you can simply refresh your token before expiration, by this method.
So if a bad guy steals one of my clients jwt, I'm no longer able to block the user account.
If I blacklist the jwt, I need a database lookup. However if the bad guy already refreshed the jwt, I need to know the whole chain, to block every jwt he generated, so I can't simply block the first stolen jwt...
So I can't blacklist him, nor will the jwt ever expire. The only solution would be, to change my servers secret, however, this would invalidate ALL my others client's session.
So should authentication by jwt not simply verify and return the original jwt, and not generate a new one everyone ?

Here is a hook, I currently created, to solve the problem
const {checkContext} = require('feathers-hooks-common');

module.exports = function () {
 return async context => {
   checkContext(context, 'after', ['create', 'update', 'patch'], 'jwtAuthentication')
   if (context.path === 'authentication' && context.data && context.data.strategy === 'jwt') {
     context.result.accessToken = context.data.accessToken
   }
   return context
 }
}

I was under the impression that JWT auth will just verify and return the existing token but it appears that it creates a new one, so you are correct. Your hook is definitely the way to go at the moment, I created a similar fix in https://github.com/feathersjs/authentication/pull/664. Unfortunately it will probably have to be a major release since people probably depend on this behaviour.
I am also working on a new version of the authentication library that will be framework independent, support refresh tokens and blacklisting and not have this issue.

Ok, that would be great!
That would also close the issue which I referenced above.
I said also a few words about an access/refresh pattern there :
https://github.com/feathersjs/authentication/issues/22#issuecomment-380859393

nice!

Do the token expire date is renewed in this case?

This issue was moved to feathersjs/feathers#960


Flask version parsing not compatible with prereleases

  File ".../env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 71, in setup_once
    raise DidNotEnable("Unparsable Flask version: {}".format(FLASK_VERSION))
sentry_sdk.integrations.DidNotEnable: Unparsable Flask version: 2.0.0rc1

https://github.com/getsentry/sentry-python/blob/927903e3b354a42e427d91129c399d64d480a6b9/sentry_sdk/integrations/flask.py#L69
This assumes the version number only contains digits, so anything else that's valid in a Python version breaks the check.

not a problem atm since flask isn't in rc phase but not stale since it would break again in case of a future update that includes beta/rc...


runtime: qemu-arm fails to emulate go user programs

qemu-arm fails to emulate go user programs due to how qemu handles certain signals.
The original issue/diff that seems to solve the issue is here:
https://codereview.appspot.com/124900043/diff/60001/src/pkg/runtime/os_linux.c
The qemu code is here:
http://git.qemu.org/?p=qemu.git;a=blob;f=linux-user/signal.c;h=1141054be2170128d6f7a340b41484b49a255936;hb=HEAD#l82
Test Case:
Build this on an non-arm platform such as x86.
test.go:
package main

import "fmt"

func main() {
 fmt.Println("Hi")
}

GOARCH=arm go build test.go
qemu-arm test

This will fail with the following error:
qemu-arm test
fatal error: rt_sigaction failure

runtime stack:
runtime.throw(0x106d68, 0x14)
	/usr/lib/go/src/runtime/panic.go:527 +0x78
runtime.setsig(0x40, 0x6f8b0, 0x1)
	/usr/lib/go/src/runtime/os1_linux.go:297 +0x148
runtime.initsig()
	/usr/lib/go/src/runtime/signal1_unix.go:67 +0x180
runtime.mstart1()
	/usr/lib/go/src/runtime/proc1.go:717 +0xd4
runtime.mstart()
	/usr/lib/go/src/runtime/proc1.go:691 +0x84

goroutine 1 [runnable]:
runtime.main()
	/usr/lib/go/src/runtime/proc.go:28
runtime.goexit()
	/usr/lib/go/src/runtime/asm_arm.s:1036 +0x4

Testing with the aforementioned patch solves the issue, but I'm unsure its the best approach to solving this. I can re-propose that patch if there isn't a better solution, but this would be a very useful feature for using qemu user space emulation with go.
--chris

/cc @minux who wrote CL 124900043.
I'm not sure how/why that code got lost/reverted. It seems fine to put in again.

Could this be backported to 1.5.2 ?

Probably not critical enough, we never supported
running binaries under qemu user emulation before.

@davecheney, if you can make a case for why it's important, it's certainly
simple enough that I am OK with putting it in 1.5.2.

Thanks @rsc. Canonical have gone through a lot of internal bureaucratic pain to get up to Go 1.5, if this patch could make it into 1.5.2 that would be much appreciated.

:+1: for the patch
/cc @minux
Can someone tell which go version had the original patch? or when 1.5.2 is scheduled to be released?
I'm having the same problem trying to compile code in qemu
thanks

No released Go version has had this patch, as far as I understand. Go 1.5.2 should be out by the end of the calendar year, probably sooner.

@rsc thanks
I thought I understood the patch was there but was 'reversed' at some point. the very first link mentioned by @arges seems to be it, but there is no clear indication of what the version was at the time.

AIUI the fix was committed to the C version of the runtime on the dev.power64, but I don't think it ever got to master. Perhaps it got lost as part of the transition of the runtime to pure go? Doesn't really matter now anyway.

@streamnsight FWIW I originally reproduced this issue in go1.5.1

I compiled a binary on ARM (etcd) with latest go1.5.2.
However, now this issue came up instead (on amd64):
# On host machine
$ qemu-arm-static etcd
Segmentation fault (core dumped)

# Running in docker
$ etcd
/build/buildd/qemu-2.0.0+dfsg/tcg/optimize.c:362: tcg fatal error
Aborted (core dumped)

$ etcd
/build/buildd/qemu-2.0.0+dfsg/tcg/tcg.c:1693: tcg fatal error
Aborted (core dumped)

I'm using https://github.com/moul/docker-binfmt-register for running ARM docker images on amd64
I'll try to reproduce what @arges did

@luxas this is probably a different issue. Please open a new issue, but note that qemu is not reliable when running go programs. qemu's emulation is too glibc specific.

Yep, I'm fine with creating a new issue. Just said it here first, so you guys know about it.

Yeah, I think we lost the ability to run Go binaries with
qemu-arm long time ago. tcg fatal error also seems to
suggest that it's a qemu bug. (the arm port used to be
developed with qemu-arm, but then as the port is able
to run on real hardwares, we no longer test on qemu-arm.)
The signal patch is originally intended for qemu-ppc64,
btw. I doubt that even qemu-ppc64 is able to run Go
binaries, other than the most trivial one.
As beefy arm boards are widely available, I don't think
we should invest into qemu usermode emulation any
more. It's slower than the more powerful arm boards,
and it doesn't support multithreaded programs well.


Unable to upload program from Aduino IDE on Mac

When I try and upload a program, such as the Blink example, via USB, I get:
Open On-Chip Debugger 0.10.0-dev-gdc53227 (2016-04-09-13:45)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
debug_level: 0
swd
cortex_m reset_config sysresetreq
adapter speed: 1000 kHz
Error: unable to find CMSIS-DAP device
Error: No Valid JTAG Interface Configured.
Error: No Valid JTAG Interface Configured.

I'm using the Arduino IDE 1.8.12 on a MacBook Pro running MacOS High Sierra (10.13.6). I have no problems trying the same thing on a BBC Micro:bit.
Any suggestions?

Since posting this I discovered the issue by @tatzelbrumm:
Is there a maximum USB cable length for reliable transmission? #9
No USB cable was supplied with the Sino:bit, but I also have a Calliope mini and tried the cable that came with that, and at last I can upload programs successfully to the Sino:bit.

Even with a short USB cable (4" or 100mm) I'm still having problems. After using the Sino:bit for 5 or 10 minutes the USB port disconnects, and the MICROBIT drive is ejected from the computer.
Does anyone have any suggestions for fixing this? Perhaps there is a modification I can make to the board to make the USB port more reliable?


Craft 4 support

Closes #6

Hello,
please pull... I need it for Craft CMS 4

Hello,
please pull... I need it for Craft CMS 4

@samuelbirch updated to contain the latest changes

@boboldehampsink Thanks we'll get this reviewed and merged this week.


Update token amounts and time periods

Change amounts of tokens (and time periods) for each pool according to the values listed in the article https://forum.poa.network/t/update-stake-formerly-dpos-token-incentives-and-distribution/2469
Please fix unit tests accordingly.

Done in https://github.com/poanetwork/dpos-token/pull/55.


[Caveat] What are not working right now in NeuronModel(s)

Here summarize some issues we encountered when validating neuron models on different tasks. There are typically two types of issues:

Performance drop

Currently for INF2: atol=1e-3; INF1: atol=1e-2 compared to PyTorch models on CPU.
Above results are obtained with the default setting. The accuracy might be improved after twisting compilation args. Here we listed model architectures with higher max differences than other models.

Compilation error

Failure during the compilation phase.

INF2 Performance

Architectures
feature-extraction
fill-mask
question-answering
text-classification
token-classification
multiple-choice

ALBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

BERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

CamemBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

ConvBERT
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)

DeBERTa (INF2 only)
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED

DeBERTa-v2 (INF2 only)
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED

DistilBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

ELECTRA
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

FlauBERT
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)

MobileBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

MPNet
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED

RoBERTa
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

RoFormer
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:x: (atol=1e-1)

XLM
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)
:x: (atol=1e-2)

XLM-RoBERTa
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

INF1 Performance

Architectures
feature-extraction
fill-mask
question-answering
text-classification
token-classification
multiple-choice

ALBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

BERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

CamemBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

ConvBERT
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)

DeBERTa (INF2 only)
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1

DeBERTa-v2 (INF2 only)
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1
NOT WORKING on INF1

DistilBERT
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)

ELECTRA
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

FlauBERT
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED

MobileBERT
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:

MPNet
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED

RoBERTa
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)
:x: (atol=1e-1)

RoFormer
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:x: (atol=1e-1)

XLM
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED
NOT TESTED

XLM-RoBERTa
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
NOT TESTED

Stable Diffusion Models
Text to image is supported right by the PR #116
Some caveats by July 20th:

:white_check_mark: works well on neuronx-cc 2.6
:white_check_mark::black_square:works on neuronx-cc 2.7

but can’t replace the compute of optimization score

:x: not working on neuronx-cc 2.8 (while I always using 2.11 driver as I did not succeed in finding 2.12) the compilations are failing.


Argument value should take precedence over subcommand with the same name

rustc 1.18.0 / clap 2.26.0
When using the argument value notation (as opposed to argument=value), when a top-level argument has a value with the same name as a subcommand, Clap parses this as running the subcommand and using the top-level argument with no value (even though one is required).
Sample Code / Steps to Reproduce the Issue
App::new("My program")
    .arg(Arg::from_usage("--ui-path=<PATH>"))
    .subcommand(SubCommand::with_name("signer"))
    .get_matches();

$ program --ui-path signer

error: The argument '--ui-path <PATH>' requires a value but none was supplied

USAGE:
    toast --ui-path <PATH> [SUBCOMMAND]

For more information try --help

Thanks!

Agreed. Sorry for the delay, I've been traveling for work for the past month and a half. I'll mark this as a bug.
A workaround in the meantime is to use Arg::require_equals which requires --ui-path=signer and disallows --ui-path signer
Another workaround is to disallow subcommands when a valid arg has been found. I.e. disallow the program <arg> <subcommand> <arg> structure making it program <args> or program <subcommand> args but not mixing. This is done with AppSettings::ArgsNegateSubcommands](https://docs.rs/clap/2.26.2/clap/enum.AppSettings.html#variant.ArgsNegateSubcommands)


SAKIII-4689 - Stop auto coercion of numbers in a browser

Jira: https://jira.sakaiproject.org/browse/SAKIII-4689

Hi, we're keen to get an official fix in for this as some of our courses use codes like 3E6 which currently breaks when searching. Is there something preventing this from being merged in? Does croby's comment mean an amendment to the patch is required?

@msn : This should be merged today if I can get search to work again on my local machine :)

@nicolaasmatthijs / @christianv: thanks very much for the updates!

@christianv yes, that's all correct. I just wanted to raise the question to ensure that the element existed when you were doing the .on() call on it, as when I was transforming some .live() calls to .on() i was bitten by that myself. If it does exist, then we're good to go.

Hi, any chance someone can merge (assuming it hasn't been merged already given the pull request is still open?) this please? Thanks!

Sorry for this @msn . We are currently experiencing major delays in reviewing and merging pull requests.

Ah, ok - no worries thanks, just wanted to make sure this didn't slip off the radar :)


WIP: socket IO support

#57 followup (was aiming at wrong branch)

Scala 2.12.2 unleashed new (picky) warnings; breaking quite a few projects.
The socket.io wrapper fails with a weird "unused private method" warning.
Workaround: disable -Xfatal-warnings.


update flameshot script to be universal

wayland support
experimental local screenshots if domain & key are left empty

Checklist

[x] I have read the Contributing Guidelines
[x] I acknowledge that any submitted code will be licensed under the ISC License
[x] I confirm that submitted code is my own work (partially)
[x] I have tested the code, and confirm that it works

Enviroment

Operating System: Arch Linux 5.17.5-arch1-2
Tested On:

Fedora 36, Arch Linux 5.17.5-arch1-2
Sway, GNOME, i3wm, qtile and KDE Plasma

Description
(PR made on behalf of Skye#2411 on Discord, under his permission)
The work is the collaborated effort of @EPNero & @NotAShelf
Description:
The script now supports Wayland through the help of wayland native tools instead of attempting to get Flameshot to work on Sway and other wl-roots based compositors. Additionally, it fixes a possible bug that went unnoticed with the if [[ -f $FILE ]] condition check. Lastly, support for local screenshots are added and any screenshot taken with the script while KEY and DOMAIN values are null will be copied to the clipboard directly instead of throwing an error and exiting the script.
tl;dr:

wayland support
error turned into feature (local screenshots)
bug fix
logic and syntax improvements
script is now more verbose

Dependencies: (Wayland)

grim
slurp
wl-clipboard

Current problems:
Local screenshots only work on Wayland due to wl-clipboard providing functionality that xclip does not, an alternative could be to unify the clipboard utilities by using wl-clipboard for wayland and wl-clipboard-x11 for xorg, but wl-clipboard-x11 seems to be abandoned. An xclip-based solution to the problem is also possible, but apparently works only on GTK environments according to askubuntu
Found a fix, applying soon. (Previous comments left in for documentation reasons)
Local screenshots are implemented on Xorg as of the 2nd commit.

I have been using this pretty much daily and works great. Thank you.

I'll do some tweaking to the script, please do give me a headsup before merging

@tycrek https://github.com/tycrek/ass/pull/135#issuecomment-1762988176

should be ready now


Visual issue. Cards styling is off

Issue: Styling of the cards is off across the app.
Solution: Make sure height of the card, padding and arrow size are correct. https://zpl.io/bWOzkyk

fixed, avail in next build

Great work.  Merci


Enhanced verification flow

Description
I think a typical use case will be a project that has N people who are authorized to sign artifacts (releasers in the case of the Node.js project -  https://github.com/nodejs/node#release-keys) and the end user wants to be able to easily validate that one of those people have signed an artifact.
I think in the simplest flow where ephemeral keys have been used (which I think is really nice in that certificates don't have to be stored/managed), the equivalent is that the user will want to verify that the artifact has been signed by any one of a list of emails.
sigstore-python has the option -cert-email but that only validates against a single email which does not quite fit this use case.  Instead something like a --cert-emails that allows you to provide a list or file containing a list of emails would simplify the verification.

I'm working now to beef-up the verification flow right now and will definitely be adding support for signer identity verification (including the ability to supply a list of "authorized" signers).

@bdehamer thanks for the update :)


RMT resolution divider rounding error (IDFGH-14301)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.3.2
Espressif SoC revision.
ESP32
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-Wroom
Power Supply used.
USB
What is the expected behavior?
I need very precise RMT output frequency, so I would like to configure the RMT with a resolution of 720721Hz (based on 80MHz APB clock)
=> this give a theorical divider of 110.999956
=> expected to choose the nearest divider (111) in order to minimize the resolution loos
What is the actual behavior?
The divider is not round to nearest, but truncated to int.
in my case, i get lot of loss !
727272Hz (+7kHz !) instead of<PHONE_NUMBER>Hz (-0.2793Hz)
Steps to reproduce.
rmt_tx_channel_config_t tLocTxChannelConfig = {
.clk_src = RMT_CLK_SRC_DEFAULT,
.gpio_num = xxx,
.mem_block_symbols = 64,
.resolution_hz =720721,
.trans_queue_depth = 10,
.flags.invert_out = false,
.flags.with_dma = false,
.flags.io_loop_back = true
};
ESP_LOGI(TAG, "Init RMT for %s (res=%i)", psInContext->cpsConfig->cpcName, (int)tLocTxChannelConfig.resolution_hz);
ESP_ERROR_CHECK(rmt_new_tx_channel(&tLocTxChannelConfig, &psInContext->tTxChannelHandle));
Debug Logs.
I (4700) Motors: Init RMT for RA (res=720721)
W (4700) rmt: channel resolution loss, real=727272

More Information.
suggestion to round to nearest integer:
uint32_t real_div = group->resolution_hz;
real_div <<=1;
real_div +=config->resolution_hz;
real_div /=config->resolution_hz;
real_div >>=1;

or something like that: 🤢
uint32_t real_div= (uint32_t)(((float)group->resolution_hz/config->resolution_hz)+0.5)

@rickou you are right, thanks for your report, we will fix soon


Hrefs on .govuk-error-summary__list item links do not match IDs on .govuk-error-message elements

Using:
Ruby 3.1.2
Rails 7.0.4
FormBuilder 3.1.2
With a pre-generated scaffold for an 'Article' model.
With an model object that looks like this:
class Article
  include ActiveModel::Model
  include ActiveModel::Attributes

  attribute :title, :string
  validates :title, presence: true
end

And a form partial that looks like this:
<%= form_with(model: article) do |form| %>
  <%= form.govuk_error_summary "Errors" %>

  <%= form.govuk_text_field :title, width: 20, label: { text: "Title" } %>

    <%= form.submit %>

<% end %>

When the form is submitted with the title field empty, the resulting error message summary snippet is as follows:
can't be blank

And the text field snippet is as follows:

Error: can't be blank

I believe the expected behaviour is that the ID on the latter snippet should be article-title-field-error, not article-title-error. Otherwise the anchor href doesn't have anywhere to point to.

Ignore me - misunderstood how this works.

Was just mid way through replying 😄 Thanks Patrick!


topic management refactor + add changelog topics

Topic Manager
Scope/Goal:
The outcome of this PR is:

Consolidating topic management (especially quix vs non-quix topics)
Adding the auto-creation of changelog topics (made easier by the above)
Adding auto topic creation for non-quix (and work the same way as quix)
adding/consolidating topic validation approach.

Details
Organization-related
There were numerous things shuffled around and cleaned up as part of this, most
of which was consolidated to below:

New TopicConfig object

stores all topic attributes (partition, rep_factor) and optional
configs necessary to create a topic.
Typically stored on Topic.configs but is used in other spots

New Admin class

handles "admin"-level requests like getting topic metadata from Kafka
handles creation requests for non-quix topics
generally used by the TopicManager class but can be used stand-alone

New TopicManager class

The core of most changes
by default, handles non-Quix topics.
has all the proper defaults for a topic and changelog
stores all Topic objects (external and internal "changelog")

divides "topics" from "changelogs"

has simple interface for creating these Topics from the Application (or other sources)

Can be used directly to make generating topics without an Application easier.

Has a "Quix" extension called QuixTopicManager

called the same way as Application.Quix() (TopicManager.Quix())
has defaults and functions adjusted accordingly (uses Quix API to generate topics)

Changelog-related

StateStoreManager

Now uses TopicManager to generate changelog Topic objects

TopicManager passed from Application
If changelogs are disabled, will not be passed a TopicManager

Intention behind organizational changes
In current state, managing Quix vs non-Quix topics is a bit of a pain,
especially since they have different default configurations, and are not
generated in the same fashion (there's currently no sanctioned way to
auto-create topics for a non-Quix Application with desired settings).
This matter is only further compounded with managing "changelog" topics, which
are intended to largely be "behind-the-scenes" and have strict requirements
around how they are configured (including dependencies on other topics!)
To not have users have to manage this no matter their platform, I went ahead
and implemented a more generalized approach to topic creation that keeps all
functionality centralized to one primary class regardless of quix vs non-quix,
the TopicManager.
Recovery
Goal
We want to add recovery behavior for stateful processing via changelog topics.
Also, it is desirable to avoid creating large/complex coupling's between State (which primarily concerns itself with local DBs) and Kafka changelogs, including making it easy to turn off changelogs if desired, and not have a bunch of if/then branching logic.
Obviously some coupling is unavoidable since it all relates, but I think this solution keeps it very minimal.
Overview
The recovery process is facilitated by producing state changes via changelog topics, where each Store has a corresponding changelog topic (as a reminder, there can be multiple Stores due to windowing). The changelog topics are now the source of truth for state.
As state changes happen, they get produced to their corresponding changelog topic before being written to state.
Then, as rebalances (due to new assignments) happen during normal Application operation (including init), a recovery check is performed.
The recovery check confirms whether the recorded changelog offset in state corresponds to the actual changelog topic highwater; if not, we will pause normal Application operation to instead read and update the state store until it is up-to-date with said changelog. Once complete, we resume normal operation.
Also, for clarification, it's fair in general to say that "recovery" == "changelogs", as they are basically interdependent, but recovery refers to the more broad operation around using changelog topics to rebuild state.
Changes to Application
In order to perform recovery, there were a few new methods added to Application so that it could swap between _processing mode and _recovery mode, where the current method is stored on _run_mode. The general looping approach has remained the same, and changes were overall fairly minimal in this respect.
You can also choose to not use changelog topics via use_changelog_topics=False.
Also, the default consumer assignment_strategy was changed to "cooperative_sticky".
Changes to StateStoreManager
The StateStoreManager essentially added a new attribute to store a new ChangelogManager instance, automatically generated unless you specified not to use changelogs. StateStoreManager only interacts with the ChangelogManager at a few points (rebalances and creating stores), so the coupling remains fairly light.
Changes to StorePartition
A changelog offset is now stored on each DB.
Some other very minor changes, mostly around allowing the ChangelogManager to hand it ChangelogWriters and the RecoveryManager to initialize a special recovery transaction (RocksDBPartitionRecoveryTransaction).
You can learn about all of these below.
NEW - ChangelogManager
Meant to be the primary, simple interface for all changelog-related operations (including kicking off recovery). Used for:

generating changelog topics,
handling assigning/revoking of those changelogs concurrently with StateStoreManager adding/revoking its respective StorePartitions,
handling the RecoveryManager.
generating ChangelogWriters, which are used to produce messages to the changelog during a PartitionTransaction.

NEW - ChangelogWriter

generated by ChangelogManagers via Stores, which will hand them off to a PartitionTransaction

basically, Store.start_partition_transaction(ChangelogWriter) -> StorePartition.begin(ChangelogWriter)
this allows StorePartition, which solely concerns itself with DB-level management, to remain agnostic/ignorant to anything related to changelogs other than this argument handoff,
writer then has access to all the information it will need to produce state changes with through the normal PartitionTransaction process.

NEW - RecoveryManager

kicked off with ChangelogManager via the Application anytime a new partition is assigned.
handles all the "kafka-related" operations, including everything related to consuming messages from changelog topics and all the partition assignments/revokes necessary to do so.
uses RecoveryPartitions to make tracking the recovery status of various changelog partitions easier.

NOTE: only partitions that require recovery will get their changelog partitions actually assigned in order to reduce unnecessary rebalancing overhead.
NEW - RocksDBPartitionRecoveryTransaction
This is used solely by the RecoveryManager as an easy way to write to the DB during recovery, which has its own simplified consume/produce flow (compared to a normal transaction).
Detailed Breakdown/Example of Recovery Flow
Lets say we have 3 partition topic named "source_topic" with two stores, "default" and "window-10s", and p[2]'s state was corrupted somehow, oh no! So we delete the store and we start our app up to recover it.
Here is the process flow for recovery.
NOTE: changelog partition assignments DO NOT trigger a consumer group rebalance!

(app init) StateStoreManager registers all the stores and changelog topics (via ChangelogManager).
Applications consume loop begins in "processing" mode:

it polls, triggering an assignment for "source_topic"s partitions.

on_assign callback is triggered,

"source_topic" partitions are officially assigned
StateStoreManager assigns its StorePartitions.
The ChangelogManager adds all the respective changelog partitions to a "pending" queue in the RecoveryManager.

RecoveryManager mode changed to "assign pending partitions" from "recover", for later
"source_topic" partitions are all PAUSED.

Application processing loop type is set to "recovery" mode

Resuming from the initial poll that triggered the assignment, the poll now returns None since all the partitions are paused. So, this loop iteration finishes.
Application consume loop starts next iteration, now calling "recovery" instead of "processing", which calls the RecoveryManager

RecoveryManager is in "assign pending partitions" mode, so it:

checks pending partition queue to see what actually needs recovery by checking highwaters
it finds only p[2] needs recovery, so it ditches the rest
changelog__default and changelog__window-10s are officially assigned to consumer
RecoveryManager mode changed to "recover"

Next consume iteration begins. Application still in "recovery" mode, so it calls RecoveryManager like before

RecoveryManager is in "recover" mode, so now it will consume a changelog message and write its contents to state

Step (6.) above repeats until all changelog messages are read.

when a changelog partition matches the highwater, it is unassigned.
when no more changelog partitions remain, RecoveryManager raises a RecoveryComplete exception
the exception is caught by Application, which changes its mode back to "processing"

loop iterations continue on via "processing" mode, consuming normal messages until the next rebalance, which would go back to Step (3.)

Remaining work as of Jan 24:

Review changes
Cleaning up variable/argument name consistency (i.e. topic vs topic_name vs source_topic_name, etc)
adding more tests, especially at the Application level
doc strings
documentation summarizing the recovery procedure
cleaning up little odds and ends

Note: added the PR here https://github.com/quixio/quix-streams/pull/275 that has this rebased with main (and thus windowing and etc).
Rebasing was getting a little hairy with all the PR's and rebasing I had already done, so I started a fresh one over there in case it would mess this PR's history up.

Most of what's left is:

doc strings
adding changelog functionality to the windowing
more tests
converting the summary here into more official docs.

@tim-quix
topic_manager.py should be separated into multiple files.
It has too many things inside, and I don't think they all need to be in the same file:

A Protocol
A base type
2 concrete types
Multiple Exception types

Changes suggested here have been implemented on another branch, and features have been split up as well. Closing.


Fix EUnit tests.

Need couch_log. In one case mock it becuase no other apps are started.
In another use application:ensure_all_started() -- R16B02+ feature.

+1


FormatException: Input string was not in a correct format

When working on replicating the TabSet component from the last Blazor community standup I got this exception with VS 2017 15.9 and the Blazor 0.7.0-preview1 build:
System.FormatException: Input string was not in a correct format.
 at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
 at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
 at System.String.Format(IFormatProvider provider, String format, Object[] args)
 at Microsoft.AspNetCore.Razor.Language.DefaultRazorDiagnostic.GetMessage(IFormatProvider formatProvider)
 at Microsoft.VisualStudio.Web.Editors.Razor.RazorCodeGenerator.NotifyOnCodeGenerationComplete()
 at Microsoft.VisualStudio.Web.Editors.Razor.RazorCodeGenerator.<>c__DisplayClass67_0.<OnDocumentStructureChanged>b__0()
 at Microsoft.Web.Editor.Utility.GuardedOperations.InvokeExtensionPoint(Object errorSource, Action action)
 --- End of stack trace from previous location where exception was thrown ---
 at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

Here's the component file I was working on:

    @foreach (var tab in tabs)
    {

             SelectTab(tab))" class="nav-link @(tab==)

    }

@functions {

}

@danroth27 The anchor tag is not complete...is that just a copy and paste error?

@andoband Nope, that's the state of the Razor editor when I was hacking away at this component and then I hit this exception.


ANF needs mentioning here

It seems rather odd that Azure NetApp Files (ANF) is not mentioned in this page at all, particularly since it's being used very commonly in Azure HPC deployments now.

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

ID: a7cf67b7-8d94-d7a2-97ef-1387e252109c
Version Independent ID: 0d3a72a7-6600-5682-6be1-6c333192bbd6
Content: High Performance Computing (HPC) on Azure
Content Source: docs/topics/high-performance-computing.md
Service: architecture-center
GitHub Login: @adamboeglin
Microsoft Alias: pnp

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

We've taken this item to our internal backlog for further research and will update as necessary!


Added C++ Variadics in Hackerrank folder

Hey there!, Thanks for submitting a PR to this repo
Please complete the following checklist for your PR to be approved. Mark the items by adding an x.
Example:  - [ ] Mark me as completed
To mark: - [x] Mark me as completed

[x] My Pull Request adheres to the Contribution guidelines.
[x] I have added readme.md and solution files in the appropriate folder.
[x] The solution I have given is my own and not plagiarized in any form.
[x] My solution passes all the testcases.
[x] I have properly indented and documented my solution using comments.

If any of the above is unmarked, please make the necessary changes and then mark them so that you're PR can be approved and merged.

change the name of your folder too CPP variadics.. to avoid special characters

Done

@tomthomasvempala I have made the required changes


Different ancestries are not separated by a delimiter in the download CSV file

This is a bug in the construction of the CSV file generated from the Studies table in the GWAS Catalog UI.
Reported by Yue Ji from Aoife's group, so I will copy Yue's email below:

Recently, I am trying to extract studies from the GWAS catalog website and I think there could be a bug in the downloaded CSV file. Here are the details:
Summary: Different ancestries are not separated by a delimiter in the download CSV file.
Submit Date: 14-09-2021
Reporter: YUE JI
Platform: GWAS catalog
Operating System: macOS Big Sur (version 11.5.2)
Browser: Google Chrome
URL:  https://www.ebi.ac.uk/gwas/efotraits/EFO_0003770
Description
I am interested in the studies of diabetic retinopathy (EFO_0003770), so I searched the EFO_0003770 in the GWAS catalog and downloaded CSV files of one study (GCST007292) from the studies table.
In the downloaded CSV file, multiple ancestries in the column of "Discovery sample number and ancestry" are not separated by any delimiters. It is the same in the "Replication sample number and ancestry" column.
I also tried downloading all studies of this trait, and this problem repeatedly happened to studies "GCST007289" and "GCST003042".
Another try is I downloaded all studies of another trait "EFO_0004574"(https://www.ebi.ac.uk/gwas/efotraits/EFO_0004574). There is no separator in these two columns for multiple ancestries.
Steps to reproduce

Search "EFO_0003770" on GWAS catalog main page (https://www.ebi.ac.uk/gwas/home).
Click the trait interested in and go to the page https://www.ebi.ac.uk/gwas/efotraits/EFO_0003770.
Moved to the table of studies and searched the study "GCST007292" in the search box
<Screenshot 2021-09-14 at 15.17.43.png>
Clicked data export to export this study as a CSV file.
<Screenshot 2021-09-14 at 15.18.21.png>
Expected result

multiple ancestries in the column of "Discovery sample number and ancestry" should be separated by a separator, like "1852 African American or Afro-Caribbean; 3094 European" or as same as what is present in the webpage search result

multiple ancestries in the column of "Replication sample number and ancestry" should be separated by a separator, like "984 South Asian; 2710 Hispanic or Latin American; 15918 European; 771 South East Asian; 13703 East Asian" or as same as what is present in the webpage search result
<Screenshot 2021-09-14 at 16.13.25.png>
Actual result

There is no separator in the column to distinct multiple ancestries.

"1852 African American or Afro-Caribbean3094 European" in "Discovery sample number and ancestry”, and there is no delimiter.

"984 South Asian2710 Hispanic or Latin American15918 European771 South East Asian13703 East Asian" in the column of "Replication sample number and ancestry” and there is no delimiter.

If a solution is found, we should inform Yue<EMAIL_ADDRESS>


Implement d func command

Codecov Report
Attention: 35 lines in your changes are missing coverage. Please review.

Comparison is base (0222068) 87.82% compared to head (1782edf) 88.03%.

:exclamation: Current head 1782edf differs from pull request most recent head 4cf4941. Consider uploading reports for the commit 4cf4941 to get more accurate results

Files
Patch %
Lines

lib/workspace/src/workspace.ts
82.00%
9 Missing :warning:

lib/workspace/src/workspace_yaml.ts
43.75%
9 Missing :warning:

lib/command/src/func/func_command_runner.ts
80.00%
7 Missing :warning:

lib/util/src/run_shell_command.ts
86.00%
7 Missing :warning:

lib/concurrency/src/traversal_api.ts
93.61%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #47      +/-   ##
==========================================
+ Coverage   87.82%   88.03%   +0.20%
==========================================
  Files          65       67       +2
  Lines        2925     3100     +175
  Branches      291      311      +20
==========================================
+ Hits         2569     2729     +160
- Misses        354      369      +15
  Partials        2        2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Migrations: NullRef when no migration name supplied when adding a migrations (k cmd)

k ef migration add --context UnicornStoreContext

System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Framework.Runtime.Common.CommandLine.CommandLineApplication.ShowHelp(String commandName)
at Microsoft.Data.Entity.Commands.Program.AddMigration(String name, String context, String startupProject)
at Microsoft.Data.Entity.Commands.Program.<>c__DisplayClass8_1.b__6()
at Microsoft.Framework.Runtime.Common.CommandLine.CommandLineApplication.Execute(String[] args)
at Microsoft.Data.Entity.Commands.Program.Main(String[] args)

Not sure if this is something we should be doing differently in our code or if it's a bug in the cmd line library we use.

This is a dupe of #980 (Closed as fixed by @lukewaters)

I'll look into this

I have beta4-12528 referenced (3 days old) and am seeing the issue

fixed in #1834


redirect to this address http://<IP_ADDRESS>:8000/user/login

after install redirect to this address http://<IP_ADDRESS>:8000/user/login 404 Not Found
how to solve this?

Are you using docker, or a simple installation? Can you paste here your virtualhost definition?

no simple installation on ubuntu 23.10 server
My VPS have Nginx and php 8.2 and Mysql 8

Are you using docker, or a simple installation? Can you paste here your virtualhost definition?

this my real  ip address http://<IP_ADDRESS>:8080/user/auth

And the nginx server definition?

ok thanks this error is about my nginx confix So thanks


Feat/19 improve readability of the table format

Added a nice_data attribute to Table to display a reformatted data table
Resolves #19

I did not offer a parameter raw=False to choose between data tables as we suggested but rather added a new attribute.  This is in line with how we call the raw_data and metadata but it could be good if this was the default.
I couldn't think of a neat way of adding this parameter but let me know if you think of another way of doing this :)


Error in download document

When a file arrived either txt or pdf I would get the error of:
AttributeError: 'Message' object has no attribute 'save_media
I noticed that when the "type" of the message comes as "document" the "isMedia" field comes as false so in the "factory_message" function I changed it to include the document as media.
    """Factory function for creating appropriate object given selenium JS object"""
    #print("ok",js_obj)
    #print("dir",dir(js_obj))
    if js_obj is None:
        return

    if "lat" in js_obj and "lng" in js_obj and js_obj["lat"] and js_obj["lng"]:
        return GeoMessage(js_obj, driver)

    if js_obj["isMedia"] or js_obj["type"] == 'document':
        return MediaMessage(js_obj, driver)

    if js_obj["isNotification"]:
        return NotificationMessage(js_obj, driver)

    if 'isMMS' in js_obj and js_obj["isMMS"]:
        return MMSMessage(js_obj, driver)

    if js_obj["type"] in ["vcard", "multi_vcard"]:
        return VCardMessage(js_obj, driver)

    return Message(js_obj, driver)```

This is already in another issue, don't forget to include type ptt.

This is already in another issue, don't forget to include type ptt.


log files not written in dev environment

I have the latest install of symfony 4.2 using flex and symfony/monolog-bundle": "^3.3"
Log files write correctly on production but not on my local dev environment. The config for dev is:
monolog:
    handlers:
        main:
            type: stream
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            channels: ["!event"]

If I delete the var/log folder and then trigger the logger it does not get recreated.
If I change override the log directory in Kernel.php to /var/local/log and then trigger the logger the folder gets created but no log file.

If you can send a link to a repo containing a minimal setup which demonstrates this issue I'm happy to help debug this.
Worth noting that since this is about the monolog bundle then this issue would probably get more attention in https://github.com/symfony/monolog-bundle


[Edge] It broken when I receive a video at packet loss

Browsers and versions affected

Edge 15063

Description
I use Mux Server. (connected Edge to MUX server)
I want to know the difference below.
case 1. include adapter.js

It intermit when I receive a video at packet loss

case 2. not include adapter.js

It broken when I receive a video at packet loss

Where in the adapter.js does this control?
I want to solve this symptom, not include adpater.js

This is not a support forum for Edge. My hunch would be that something is wrong with your https://tools.ietf.org/html/rfc4585 -- in particular NACK handling.


Arrays are now marked as dirty

As a result updating an array of subdocuments behaves differently than an array of strings

This is related to the convo we had earlier right?

This is related to the convo we had earlier right?

@Abhijith1995 it is, going with the simple solution and going to try and clean it up via a plugin


Room directories: show all the federated directories

User story: Android-sp3-18

Rename "répertoire des salons" with "répertoire des discussions".
Show all the federated directories (-> hide matrix option)
Remove the + in the selection screen

Maybe we need to :

create an API to retrieve the list of all the federated room repositories
keep the "+" button to add a new one if new HS are set up


Will link and download API Buttons get supported soon for the Webassembly?

Hey guys, I am working on my project that has a version that run on the web, But my problem is that I need to allow the user to download files from my backend API with a button just like the normal website, But it seem that there is no support for it right now.
Will this feature released soon or at least a feature that allow the button to open new link in the browser. or there is no plan right now?

Yes I am leaving this as the last option

"download API" won't be a part of the UI framework. Why would it be? Just use HttpClient.
HyperlinkButton might be part of the UI framework though, which either opens a link or you process the click.


SR4R Re-design: Check and save rejection reasons

Context
The re-design of structured reasons for rejection introduces a different form and wizard flow.

Changes proposed in this pull request

Add the check step to the new rejections flow.
Saves the rejected application and displays the rejection reasons in the feedback tab.
Resets any deselected reasons including clearing child details text.

Guidance to review

Link to Trello card
https://trello.com/c/aWL85oDv/4931-sr4r-redesign-save-rejection-reasons

Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] Required environment variables have been updated added to the Azure KeyVault

@cwrw Should be up to date with comments so far. Some design tweaks also added.

@cwrw I think this is up to date with comments. Agree we need to discuss naming as it's not consistent.


fix: On testnet some tokens have no name at all and clicking on their copy button looks broken

Description
fixes #260
Demo
https://github.com/aeternity/aescan/assets/15363559/daa58018-abd7-4275-a1bc-ebb90145bc28
Checklist:

[x] I have read and followed the Contributing Guide
[x] fix blank copy chip

@Liubov-crypto I think you cannot successfully test this, as the deployment preview taking data from mainnet, and this is a testnet issue.

@Liubov-crypto I think you cannot successfully test this, as the deployment preview taking data from mainnet, and this is a testnet issue.

@janmichek correct. I have tested on mainnet and it works fine.


Release 2.6

Pelion Edge 2.6 release related changes (w LmP v85).

Use df for partition size checks instead of df -h.
Update node and npm versions to fix npm audit issues.
Drop HW variant tests.
Sanit checks and better info to to install_kubelet.sh to avoid end-user issues.

The commit log is different than the one we've been reviewing, https://github.com/PelionIoT/pelion-edge-ready-test-suite/pull/12, what happened?

I've been tweaking the history a bit, the amount of commits etc. was becoming messy. I'm tempted to do a bit more of git rebase -i magic and squash a few ones out still even on this one.

You should have let us approve it before tidying up the commit log! 😄

Can we squash the commits a bit?


refactored logger to separate concerns

Refactored the ILogger interface and MachineLogger implementation to improve the design, separate the concerns and support custom logging/formatting during systematic testing.
To summarize, there are now two logging-related interfaces: the IRuntimeLogFormatter interface for formatting messages, and the ILogger interface for logging messages. The previous MachineLogger has now become RuntimeLogWriter, which owns these two interfaces, and is used by the runtime to format and log all runtime messages. In some sense, the ILogger interface is now runtime-agnostic and only contains the methods for actually writing the log (so someone who is interested in intercepting and using their own log mechanism only needs to customize this interface). On the other hand, IRuntimeLogFormatter allows customization of how the RuntimeLogWriter formats messages (e.g. a language like P on top of P# can change the log messages to its own versions). Finally, the RuntimeLogWriter can be subclassed (similar to how MachineLogger could be subclassed previously) to intercept log messages, filter them, change them, etc.
Although this slightly breaks backwards compatibility, the change is minimal, as someone just needs to separate their logger, and set the interfaces calling the corresponding runtime APIs (as seen in the guide below), but most of the implementation remains the same.
The details are in the updated documentation here.
The nice thing is that now someone can easily customize logging output during testing (not possible before), and the logging interface complexity is reduced, since if someone just wants to override Write/WriteLine do not have to deal with a complex runtime logging interface.

@ankushdesai this will allow custom logging support for P to P#. The interfaces have changed slightly (see PR description above and link to the doc). Will review PR internally and let you know when its ready for merging.


runelite sidebar is blurry - lots of dots lines and purple green color

Type
Incorrect behavior
Operating System
Windows
OS Version
windows 10
Bug description
when i deploy the runelite sidebar it's all blurry - green pruple color and a lot of dots and lines cover the text. Any idea what causes this problem and what i can do to fix it pls? I deleted runelite and reinstalled it but nothing changed
Screenshots or videos
No response
RuneLite version
<IP_ADDRESS> runelite version
2.6.7 launcher version
Logs
No response

Can you provide a screenshot of what you're seeing?

https://snipboard.io/iqTeoQ.jpg

Do you have AMD image sharpening enabled? If so, disable it

ok thanks, that was the problem.


⚠ otzivi-tut has degraded performance

In 08cc0ed, otzivi-tut (https://отзывы-тут.рф/) experienced degraded performance:

HTTP code: 200
Response time: 8234 ms

Resolved: otzivi-tut performance has improved in 5a4f931.


PLS Help with the Programm

Hi
iam new to github and dont know how to start this programm. Would be nice ,if someone could help me.
Jakob

Hi,
Please refer to the Release tab and download the zip file. The latest version is 0.6.8 Alpha (https://github.com/yangyuan/hearthrock/releases/download/0.6.8/hearthrock-0.6.8.zip). Unzip it and run Hearthrock.Client to patch the hearthstone application and then just try as you like. Sadly there's little docs for this repo. I think you may need some programming experience to make more comprehension.
Unfortunately, 0.6.8 is out of date. I'm just waiting for @yangyuan to publish a new version.

Thank you @lanhin
BTW, I've updated the project.


broken link

https://learn.microsoft.com/en-us/python/api/overview/azure/iot/management

Hi thanks for the feedback, we will get back to you asap.

@krisrajzlive How did you come to this link?

@krisrajzlive Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.


Create pigeonholesort.cpp

(This user is opening spam PRs for the DigitalOcean Hacktober event in the hopes of getting a free t-shirt. You can deny them that by applying a label named invalid or spam).


An example of title

An example of content

Yeah my bad, we are working on a prototype which use the Github automation, this PR should not have been created.
We used Stencil and Ionic for the demo application of the prototype, so I guess it's cool ;)


false positive: no-shadowed-variable

tslint: 3.7.1
export default function applyMixins(
    derivedCtor: new (...args: any[]) => any,
    baseCtors: Array<new (...args: any[]) => any>): void {
    // ...
    });
};

error: shadowed variable: 'args'

Have another set of reproduction steps if it helps. Presumably the same issue:
class MyClass { };

declare type MyConstructor = new (myVariable: any) => MyClass;

function MyFunction(constructor: MyConstructor)
{
	const myVariable = 1;
	console.log(myVariable);
}

@bencoveney which identifier is reported as shadowed in that example?

Sorry, the error message is:
Shadowed variable: 'myVariable'

@adidahiya, @JKillian looks like parameters from ConstrustorType and FunctionType nodes shouldn't be added to scope. What do you think on this kind of fix?

@IllusionMH sounds reasonable. I assume that those syntax kinds are distinct from constructor/function declarations? i.e. this would still produce a lint failure:
function MyFunction(x: any) {
  let x: string;
      ^ Shadowed variable 'x'
}

Fixed by #1482


TypeScript not recognizing Sass modules

I have Sass Modules setup and am currently importing my styles like this: import s from '../styles/style.scss'
next.config.js
const withTypescript = require('@zeit/next-typescript')
const withSass = require('@zeit/next-sass')
module.exports = withTypescript(withSass({
  cssModules: true,
  cssLoaderOptions: {
    importLoaders: 1,
    localIdentName: '[local]__[hash:base64:5]'
  },
  sassLoaderOptions: {
    includePaths: ['styles']
  }
}))

TS (at least in VScode) is complaining that [ts] Cannot find module '../styles/style.scss'., but the Sass file is imported find and I can see it reflected in the browser. How can I get TS to recognize the file?

I fixed it by adding this to typings/declarations.d.ts
declare module '*.scss' {
  const content: {[className: string]: string};
  export = content;
}

I did this step, and I no longer see the error, and my page loads normally, and I do see the class applied to the element, but the styles did not apply because they were not included on the page!!

@mohammedzamakhan was your problem fixed?

I have An export assignment cannot be used in a module with other exported elements.ts(2309) error on export = content line. Does anyone have any ideas how to overcome this?

I have An export assignment cannot be used in a module with other exported elements.ts(2309) error on export = content line. Does anyone have any ideas how to overcome this?

you can change the export = content to export default content,
or you can just use
declare module '*.scss' {
  export const content: {[className: string]: string};
}

Or even
declare module '*.scss' {
    const content: { [className: string]: string };
    export default content;
}

The file can also go in root as typings.d.ts.

I fixed it by adding this to typings/declarations.d.ts
declare module '*.scss' {
  const content: {[className: string]: string};
  export = content;
}

declare module '*.scss' module makes it applicable globally. Can I make the module applicable only to .scss files in particular directory ie' something like './myFile.scss'??

I also added readonly to prevent accidental assignment:
declare module '*.scss' {
  const content: { readonly [className: string]: string };
  export default content;
}


traceSeq, traceValSeq, deprecate strict

Helpful debugging functions for seeing what attribute sets evaluate to, see https://github.com/NixOS/nixpkgs/issues/13631.
Deprecate the superseded function strict while replacing its implementation with the “new” builtin seq.

Any reason to not merge this?

From my side not really, no.


Drop gemnasium badge, service closed

This PR removes the gemnasium badge, that service closed.

Fixed in 3588d35328bd4ac1d869af409a6fd884a8ce0cbe.


Plugin dialog requests

🚀 Feature

While working on #5198, there were a few requests that were outside of the scope of the PR or were "nice to have" items.  I wanted to document them here so they are not lost.

[ ] Align plugin name and summary in the installed plugins section.
[ ] Use display name instead of package name.
[ ] Fix install spinner and move plugins to available/installed list when uninstalled/installed.  see: https://github.com/napari/napari/pull/5198#pullrequestreview-1189305476
[ ]  refactor code, one example is cleaning up the code that toggles which widgets are visible or not:
https://github.com/napari/napari/pull/5198#discussion_r1028817033

The following Originally posted by @DragaDoncila in https://github.com/napari/napari/pull/5198#pullrequestreview-1223755876

[ ] Align installation info,  Make a standard size?  ( I know this button adjusts by the sizes on the drop down menus held within.  Eliding may help here (see item below).

[ ] Ensure author names are aligned. (maybe misaligned only with many authors and in the presence of an update button?)

[ ] Ensure very long descriptions and author lists are not cut off.

[ ] Elide version numbers when long.
When users have a plugin dev version installed the Installation info button & section is very long. We probably want to elide this

[ ] Set height of each item.

        if item.widget.install_info_button.isExpanded():
            item.widget.setFixedHeight(int(height * SCALE))
        else:
            item.widget.setFixedHeight(int(height / SCALE))
        item.setSizeHint(item.widget.size())

see https://github.com/napari/napari/pull/5198#discussion_r1108801401

[ ] set size of widget in settings.  see: https://github.com/napari/napari/pull/5198#discussion_r1108805490
[ ] In the plugin dialog, this was listed: TODO: add error icon and handle pip install errors
[ ] do not refresh plugin lists after install/uninstall operation.  Just remove/add item after action is finished.

Motivation

Pitch

Alternatives

One request I would like to add.

[ ] The developer defines the channels proposed for the plugin, and the GUI allows the user to activate those channels with a single click when they install it.

This is very useful for plugins that rely on very important but released libraries in their own channel, such as pytorch, for example.


CB 19575 determine free space on a database backup node

Motivation:
We want to prevent backups which will fail. One of the reasons backup can fail is a lack of temporary storage space on a database backup node. We want to send information about free available space on a node - we know which node performs database backup - to Thunderhead where it will be checked against required storage.
Implementation
Available space is collected by a Salt script using Linux df command in POSIX compatibility mode (so higher chances output is uniform at different installations).
We reuse "determine datalake_data_sizes" call to feed this information into Thunderhead Datalake DR since it belongs to that process.
Test approach:

Start database backup

cdp datalake backup-datalake --datalake-name sartyukh-045-dl-db-backup --debug`

"backupId": "34f563d0-a975-424c-b02c-48a99ae28157",

call cb/api/v4/1/stacks/$DATALAKE$/determine_datalake_data_sizes

https --json --headers POST http://localhost:9091/cb/api/v4/1/stacks/sartyukh-045-dl-db-backup/determine_datalake_data_sizes operationId==$OPERATION_ID x-cdp-actor-crn:$ACTOR_ID x-cdp-request-id:`uuidgen`

HTTP/1.1 204

monitor progress in the CBDB database, table stackstatus, row DETERMINE_DATALAKE_DATA_SIZES_FINISHED
verify thunderhead database datalakedr table statusentity_internalstaterecords for data

datalakdr=# select substatetype, size_in_bytes from datalakedrstatusentity_internalstaterecords where datalakedrstatusentity_droperationid = '34f563d0-a975-424c-b02c-48a99ae28157';

|  DATABASE_BACKUP_STORAGE_VALIDATION |  81828952 |

If the init.sls file is empty then is it just not necessary? If so, then we should just get rid of it completely.


Translate to French

What language do you want to translate the website into?
French
What is the language code for the language?
FR
What is the locale code for the language?
fr
What help will you need?
Can't think of anything right now, but maybe something will come up later.
Implementation Checklist

[ ] Create new site file
[ ] Set up Netlify project
[ ] Register new domain name
[ ] Set up Google Analytics
[ ] Set up Carbon Ads

Participation

[X] I am willing to submit a pull request for this change.

Additional comments
No response

Thanks, we would love a French version. @Brack0 was also interested. Perhaps you could work together?

@Brack0 Wanna split it in half and review each other's parts? I already translated a few blocks from the top.

Sure :)

Hey folks, are you still working on this?

Hey folks, are you still working on this?

Hey, I did something like 20%, but I've put this on hold for health reasons. I didn't check with @Brack0 though.
I might be able to pick this up next week.

Thanks for the update. Take care of yourself!

@nzakas Just letting you know, I started to work on it again.

Great, thanks! If you ever want to submit a partial pull request, we can also ask the community to help by adding suggestions to it.

Hey, (some update)
I'm pushing FR translations to @darahak (https://github.com/darahak/new.eslint.org/pull/1).
@nzakas Is there any linter for yml files ? Or at least a max line length ? (No worries, I just want to provide a clean file)

We don’t have a longer set up at this point. Generally we wrap files at around column 80, but you can do whatever makes it easiest for you to read.

@nzakas I finished translating the file. I'm gonna run a local version to make sure I didn't break anything and open a PR right after.

The new site is now live!
https://fr.eslint.org/
I've submitted #221 to add Google Analytics.
I'll check on the ads.

#221 is merged, and I'm seeing ads on the live site, so closing as complete!


Publish kubectl-cnpg plugin on Krew

Currently, users need to manually download our plugin using the command line that we have in the README of the kubectl-cnpg project, but this doesn’t work well on Windows and makes it hard for users to find our plugin.
The idea is to use Krew as the official plugin distribution of Kubernetes, which seems to be the best idea.
A couple of tasks need to be done:
Write the Krew plugin manifest following this documentation, one good example is here
Test the install process locally
Manually submit the plugin to the krew-index following this documentation
Create the automated process recommended by the Kew community
After doing these tasks, there’s an interesting link that you can follow to get some stats of the plugin: stats.krew.dev
This issue was originally submitted in the EnterpriseDB ticketing system by @sxd.

No we're waiting for the PR to publish the first version on Krew which is required to publish any new version.
Here's the PR https://github.com/kubernetes-sigs/krew-index/pull/2241

The PR was merged, but currently we will not be listed with the GitHub stars icon because we don't have the GitHub URL in the homePage field but https://cloudnative-pg.io site, probably we should add the GitHub page? this will point the users directly to the GitHub instead of the webpage and then jumping into the GitHub repo... Something to think about it, what do you think @gbartolini ?

@leonardoce We already discussed that with @gbartolini and @mnencia in Slack around here https://cloudnativepg.slack.com/archives/C03D68KGG65/p1652348675498369 we agree on use GitHub url as the homepage since this is the plugin =)


Istiod SDS doesn't wait for informer cache sync

https://github.com/istio/istio/blob/9aa291cd1fa4f987924e7859e1856bce02ba8241/pilot/pkg/secrets/kube/secrets.go#L81
We need some wait here to ensure we don't startup too early

cc @stevenctl


Added charliekassel/vuejs-datepicker to the UI Components section

sorry,
can you resolve conflict please ?

Hey @kazupon. I'll try

@kazupon Done. Please review.

Thanks!!

Thanks @kazupon for reviewing and merging my PR. A separate thanks for the awesome list of Vue resources ;)


CSRF failure doesn't pass ActionData to enhanced form callback nor supplies form.error.

Describe the bug
I'm noticing odd behaviour when CSRF fails - when the form is submitted no error message is given.
I see the server is returning code 403 with {message: "Cross-site POST form submissions are forbidden"} which doesn't comply with ActionResult type in the enhance callback function and form.error isn't updated.
{#if form?.success}

Success

{:else if form?.error}

{form.error}

{/if}

use:enhance={async ({ formData }) => {
	return async ({ result, update }) => {
		await update();
	};
}}

Is this intended?
How can one catch the 403 error in the callback and/or display a custom message upon CSRF failure?
Right now I can do the following, but cannot force an error message into form.error:
if (result?.type !== 'success' && result?.message) {
	console.log(result.message);
}

Expected format of the CSRF failure would probably be:
{ type: 'error'; status: 403; error: "Cross-site POST form submissions are forbidden"}

Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-f1rj2m?file=src%2Froutes%2F%2Bpage.svelte
Logs
No response
System Info
System:
    OS: Linux 5.15 AlmaLinux 8.8 (Sapphire Caracal)
    CPU: (2) x64 Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
    Memory: 852.82 MB / 2.00 GB
    Container: Yes
    Shell: 4.4.20 - /bin/bash
  Binaries:
    Node: 16.14.0 - /usr/bin/node
    npm: 8.3.1 - /usr/bin/npm
  npmPackages:
    @sveltejs/adapter-node: ^1.3.1 => 1.3.1
    @sveltejs/kit: ^1.22.3 => 1.22.3
    svelte: ^4.1.1 => 4.1.1
    vite: ^4.4.7 => 4.4.7

Severity
serious, but I can work around it
Additional Information
No response

I agree. We should update the object shape returned from the CSRF failure to align the ActionResult type.
As an aside, the $page.form store is only updated when returning data from the action (or with the fail() helper).
https://kit.svelte.dev/docs/form-actions#anatomy-of-an-action
A hacky workaround for now:
<form
	method="POST"
	use:enhance={async ({ formData }) => {
		return async ({ result, update }) => {
			if (result?.message === "Cross-site POST form submissions are forbidden") {
				result.data = {
					error: ":( submission failed"
				};
			}
			await applyAction(result);
		};
	}}
>

https://stackblitz.com/edit/sveltejs-kit-template-default-rarbe5?file=src%2Froutes%2F%2Bpage.svelte


History compare/diff is broken

Volto 3.2.7
Plone 5.1.6
When trying to view the diff of a former revision, volto throws an error:
Sorry, something went wrong with your request
value is null
    in DiffField (at Diff.jsx:298)
    in div (created by Container)
    in Container (at Diff.jsx:217)
    in DiffComponent (created by ConnectFunction)
    in ConnectFunction (created by InjectIntl(Connect(DiffComponent)))
    in InjectIntl(Connect(DiffComponent)) (created by Context.Consumer)
    in Route (created by withRouter(InjectIntl(Connect(DiffComponent))))
    in withRouter(InjectIntl(Connect(DiffComponent))) (created by Context.Consumer)
    in Route (created by AppComponent)
    in Switch (created by AppComponent)
    in main (at App.jsx:121)
    in div (created by Segment)
    in Segment (at App.jsx:120)
    in AppComponent (created by ConnectFunction)
    in ConnectFunction (created by ConnectFunction)
    in ConnectFunction (created by Context.Consumer)
    in Route (created by Context.Consumer)
    in Switch (created by Context.Consumer)
    in Route (created by AsyncConnect)
    in AsyncConnect (created by Context.Consumer)
    in AsyncConnectWithContext (created by ConnectFunction)
    in ConnectFunction (created by Context.Consumer)
    in Route (created by withRouter(Connect(AsyncConnectWithContext)))
    in withRouter(Connect(AsyncConnectWithContext)) (at start-client.jsx:32)
    in ScrollToTop (created by Context.Consumer)
    in Route (created by withRouter(ScrollToTop))
    in withRouter(ScrollToTop) (at start-client.jsx:31)
    in Router (created by ConnectedRouter)
    in ConnectedRouter (created by Context.Consumer)
    in ConnectedRouterWithContext (created by ConnectFunction)
    in ConnectFunction (at start-client.jsx:30)
    in IntlProvider (created by ConnectFunction)
    in ConnectFunction (created by Provider)
    in Provider (created by Provider)
    in Provider (at start-client.jsx:29)

On volto 4.0.0-alpha.10 / Plone 5.2 volto sometimes shows the diff page, but it is empty or some random error is thrown.
The Plone server logs this error:
aborting transaction due to no CSRF protection on url http://localhost:8080/Plone/test-block/@history/3

I was checking this error. And it appears to me too, I have a related problem because the split function inside react-dom is splitting more than needed, and I can't read the error log :(  Seems that the history view from Plone takes the Text field  (https://github.com/plone/plone.app.contenttypes/blob/127b18e5ee8685f421f3adb3c5657ac2b65a1585/plone/app/contenttypes/browser/templates/document.pt#L14) to make the history diff, but when it is empty then throws the error. I will continue on that.

Step to reproduce (Volto 4.0.0-alpha.42 & Plone 5.2.1):

Add & Save Page with title
Edit & Add Block
See History & Click Edited

https://volto.kitconcept.com/page/diff?one=0&two=1
TypeError: Cannot read property 'pathname' of undefined
(anonymous function)
node_modules/@plone/volto/src/components/theme/View/DefaultView.jsx:54
  51 |     id={block}
  52 |     properties={content}
  53 |     data={content[blocksFieldname][block]}
> 54 |     path={getBaseUrl(location.pathname)}
     | ^  55 |   />
  56 | ) : (
  57 |   <div key={block}>

I'll take a look into this...

Fixed and merged by #1242


how to create new annotations in polygonal format?

I add new image and open it by cityscapesLabelTool.py.
Then I draw one polygonal in image, but can not save it and generate JSON file.
Any suggestion?

Yes me too. Please help. same issue.

Are you getting any error after drawing the polygon ?

On line 2360, change CsObject into CsPoly.

Is fixed now.


[Bug]: table widget's filter attributes are blurry

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Open the table filter, and expand the attributes. See that the font is blurry

Steps To Reproduce

Go to any app where the table widget has some columns.
Open the table filter and expand the attributes
You can use this example app: https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master&environment=production

Public Sample App
No response
Environment
Production
Severity
Low (Cosmetic UI issues)
Issue video log
No response
Version
Cloud

@rohan-arthur Which browser are you using? Please share the version number as well.


System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (in v3.0.423)

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

System Information

OS: [e.g. Windows 10 2004]
Game version [e.g. Stream, GOG and please include the CS]
Version of the editor: [e.g. 3.0.347]

Additional context
Please also attach a save file that exhibits the issue.

Please attach a save or describe how you got this error?


FormData methods sample

Currently fails linting checks:
3.95s$ npm run lint
><EMAIL_ADDRESS>lint /home/travis/build/GoogleChrome/samples
> eslint .
/home/travis/build/GoogleChrome/samples/formdata-methods/demo.js
  12:7   error  use `Number(dateOfBirth)` instead              no-implicit-coercion
  12:22  error  use `Number(t)` instead                        no-implicit-coercion
  25:2   error  Newline required at end of file but not found  eol-last
✖ 3 problems (3 errors, 0 warnings)

Fixed both.

@addyosmani

Reviewed. Thanks for putting this together, @samthor!

Thanks. Sorry about the void element sadness :frowning:


Validator whitelist feature

Summary
For the composition of the consortium chain, a validator whitelist feature is required so that only authorized accounts can register the validator.
For this, two functions are required.

[staking] Check whitelist while it does CreateValidator
[gov] following 3 new proposals

ProposalAddToValidatorWhitelist
ProposalDeleteFromValidatorWhitelist
ProposalDisableValidatorWhitelist: If it passed, the whitelist is deleted. It is required for changing the chain to public.
ProposalEnableValidatorWhitelist

Problem Definition

Proposal

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

I think a query for viewing the validator whitelist should also be implemented.

I think we can use same proposal for ProposalDisableValidatorWhitelist and ProposalEnableValidatorWhitelist with a boolean flag (e.g. enable), so if it is true it enables the feature, otherwise, it disables the feature.

I think we can use same proposal for ProposalDisableValidatorWhitelist and ProposalEnableValidatorWhitelist with a boolean flag (e.g. enable), so if it is true it enables the feature, otherwise, it disables the feature. If my suggestion looks fine, we can go further, using same proposal for ProposalAddToValidatorWhitelist and ProposalRemoveFromValidatorWhitelist. We can name it ProposalModifyValidatorWhitelist and add operation enum which contains add and remove.

It's like a matter of choice. If the proposal type is various, one option can be reduced, and if the type is reduced, an option will be added. I think you can choose one that is easier to implement.


Critical bug: GUI and WINDOWS commands on Windows 10 22H2 no longer work

Hello,
I tried setting up the hello world example on the newest 1.12 firmware and it just types out the letters and doesn't open run on any of the two machines I tested.
Cheers

That's odd. And it works again if you flash the v1.1.1 firmware?

Backflashing is fully supported?
I'd rather not flash it, never change a running system as they say. I received the USB Nova with a v1.1.2 firmware already on it.

yes you can backflash the usbnova since its still an arduino

Just published a new version 1.2.0 as well. I recommend you try that one.

@spacehuhn just flashed it. Seems like it still doesn't work :( The only setting that I changed in the settings is that I set my locale to de in the preferences.json...
A friend of mine seems to have gotten some functionality by using Ducky Script, but I want to use this kind of code...

Can you share your script?

Yes. It's the following:
# USB Nova (v1.1.2->1.2.0)
DEFAULTDELAY 200
DELAY 2000
GUI R
DELAY 2000
STRING notepad
ENTER
STRING Hello World!

# USB Nova (v1.1.2->1.2.0)
DEFAULTDELAY 200
DELAY 2000
GUI r
DELAY 2000
STRING notepad
ENTER
DELAY 2000
STRING Hello World!

I changed r to R and added another delay. Does this work for you?

Awesome. I updated the docs already :) Sorry for the problems.
With GUI R, it's like pressing windows shift and r at the same time, because the R is upper case. It does something different (or nothing at all) than just pressing windows and r.

Changing R to r solved the issue!


Was this supposed to be built on windows only?

I am trying to build it on CLion Linux with errors upon compilation :
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function _start':
(.text+0x20): undefined reference to main' collect2: error: ld returned 1 exit status CMakeFiles/src.dir/build.make:276: recipe for target 'src' failed make[2]: *** [src] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/src.dir/all' failed make[1]: *** [CMakeFiles/src.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

The only way to build it is using emscripten. This file contains the command line:
https://github.com/shooshx/BoardingBarcode/blob/master/em_debug_build.bat
I've built it on windows but there's no reason it should not build on linux.


lib/rspec/pride.rb doesn't require rspec/core

This is causing a NameError as follows:
.rvm/gems/ruby-2.2.3/gems/rspec-pride-3.1.0/lib/rspec/pride.rb:1:in `<top (required)>': uninitialized constant RSpec::Core (NameError)

Thanks for the patch. I cut a release (v 3.1.1).


Dynamic SceneMap re-renders on each tab switch

Current behaviour
So I have dynamic tab render (depending on number of players) and dynamic SceneMap.
        state = {
            index: 0,
            routes: new Array(this.players_count).fill().map((e, i) => ({ key: 'player' + i, title: this.props.players_names['player' + i].toUpperCase() }))
        };

    makeRoute = (player) => (
        <View style={{ flex: 1 }}>

            <ScrollView>

                <View style={{ flex: 1 }}>
                    {this.renderInputs(player)}
                </View>

            </ScrollView>
        </View>
    )

    makeSceneMap = () => {
        const all = {};

        for (let i = 0; i < this.players_count; i++) {
            all['player' + i] = this.makeRoute.bind(this, 'player' + i)
        }

        return all;
    }

    render() {
        return (
            <View style={styles.mainContainer}>

                <TabView
                    navigationState={this.state}
                    renderScene={SceneMap(this.makeSceneMap())}
                    onIndexChange={index => this.setState({ index })}
                    initialLayout={{ width: Dimensions.get('window').width, height: Dimensions.get('window').height }}
                />

            </View>
        )
    }

This renders fine, but on tab switch, it all rerenders, and makeSceneMap() gets called again, and resets each tab.
Expected behaviour
I want to keep the previous entered words of previous tabs.
Code sample

Screenshots (if applicable)
http://recordit.co/sKzjJ8N1fo
Your Environment

software
version

ios or android
23.0.1

react-native
0.55.4

react-native-tab-view
1.0.2

node
9.9.0

npm or yarn
5.6.0

Solved this by calling makeSceneMap() inside constructor and putting it in one variable, and giving real SceneMap(this.sceneMap)

@satya164 As I tried what you wrote: all['player' + i] = <MakeRoute player={player} />
But there is an error that says it needs to be string. What is the problem?


Prefer flat_map to inject.

It’s faster and simpler.

this is all LGTM.

The implementation for RSpec::Core::FlatMap.flat_map is incorrect for 1.8.7:
array.map { |item| yield item }.flatten

MRI's flat_map isn't a full flatten. It is just a concat so we should use flatten(1):
array.map { |item| yield item }.flatten(1)

I noticed that the benchmark-ips gem isn't in our Gemfile. Should it be?

The implementation for RSpec::Core::FlatMap.flat_map is incorrect for 1.8.7:

Good point. Corrected in cd52601a7fe0ea4c3f4f3f290f4336921afa11f7.

I noticed that the benchmark-ips gem isn't in our Gemfile. Should it be?

I don't think it needs to be.  I have it in my Gemfile-custom (along with relish, byebug and allocation_stats).
Since benchmark-ips isn't needed by our build or for the normal things our contributors do, I don't think it needs to be in the Gemfile.  It's trivial for anyone who wants to write or run a benchmark to add it to their Gemfile-custom.

https://github.com/rspec/rspec-core/blob/15de144e/lib/rspec/core/flat_map.rb#L6-L8
def flat_map(array)
  array.flat_map { |item| yield item }
end

AFAIK, in this case using &block should be faster.
def flat_map(array, &block)
  array.flat_map(&block)
end

Ref: https://github.com/yujinakayama/astrolabe/blob/8b6d5babb42c95475ef07b727cac21fa2c74fb38/benchmark/performance_spec.rb#L65-L119

Yes, using &block removed most of the overhead.
Calculating -------------------------------------
            flat_map    11.481k i/100ms
          inject (+)     8.493k i/100ms
     inject (concat)    10.477k i/100ms
    FlatMap.flat_map    10.199k i/100ms
FlatMap.flat_map_via_block_pass
                        11.171k i/100ms
-------------------------------------------------
            flat_map    124.072k (± 5.4%) i/s -    619.974k
          inject (+)     91.350k (± 4.9%) i/s -    458.622k
     inject (concat)    116.069k (± 4.9%) i/s -    586.712k
    FlatMap.flat_map    117.650k (± 5.1%) i/s -    591.542k
FlatMap.flat_map_via_block_pass
                        125.773k (± 5.7%) i/s -    636.747k

AFAIK, in this case using &block should be faster.

That's odd.  I've always heard that yield is faster and our benchmarks confirm that:
https://github.com/rspec/rspec-core/blob/master/benchmarks/capture_block_vs_yield.rb
Any idea what causes the difference between your benchmark and ours?

Any idea what causes the difference between your benchmark and ours?

block.call (used in the benchmark in rspec-core) and &block are different.

Using block.call converts the given block to a Proc instance and then invokes #call.
Defining &block as a method parameter and passing it to another method as &block directly passes the block without conversion. (I read about this somewhere, but cannot remember right now)

This LGTM, can it be merged as is or do you want to factor in @yujinakayama's findings?

This LGTM, can it be merged as is or do you want to factor in @yujinakayama's findings?

I'm going to try to reproduce his findings in our own benchmarks first.

OK, I updated our benchmarks.  The reality appears to be even more complicated than what @yujinakayama explained above:

Capturing the block (e.g. &block) has a high constant cost, regardless of whether or not the block is used.  Using &block and block.call (or even &block and yield) is about 5x slower than a single simple yield.
@yujinakayama is right that forwarding a captured block is much faster than using block.call.
Whether or not yield is faster than forwarding a captured block appears to depend on the number of times the block is called.  My benchmark shows that the break-even point is at about 20-25 times....beyond that, and forwarding a captured block clearly wins, outweighing the constant cost of capturing &block.  By the time we get to calling the block 10K times, it's approaching twice as fast as using yield.
For the specific case of flat_map it acts a bit different -- regardless of array size, I found that forwarding &block was faster than using yield in spite of the prior benchmark suggesting that would only happen with enumerables of 20+ items.  This really confuses me and I don't have a theory as to why this is.

I went ahead and changed to capturing-and-forwarding the block.

LGTM so merged :)