Celestia-appd export is panicking after export command

Summary of Bug
After using command celestia-appd export, our app is panicking due to UnmarshalJSON error

Version
d255f0ce461e8cc72f48282593a876cca9cb6c91

Steps to Reproduce

Init the app
Add key with backend test
Add genesis account
Gentx
Collect-gentx
Export

Note: I've tried exporting after step 3. Then after 4/5 - the same result(panic)
 celestia-appd export                                                                                bidon4@MacBook-Pro-8
panic: UnmarshalJSON cannot decode empty bytes

goroutine 1 [running]:
github.com/cosmos/cosmos-sdk/x/params/types.Subspace.Get({{0x5af1c78, 0xc000ffe810}, 0xc00060ee90, {0x5a9cd40, 0xc000f02840}, {0x5a9cd90, 0xc000f02920}, {0xc0000be3e0, 0x4, 0x1a}, ...}, ...)
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/x/params/types/subspace.go:109 +0x319
github.com/cosmos/cosmos-sdk/x/params/types.Subspace.GetParamSet({{0x5af1c78, 0xc000ffe810}, 0xc00060ee90, {0x5a9cd40, 0xc000f02840}, {0x5a9cd90, 0xc000f02920}, {0xc0000be3e0, 0x4, 0x1a}, ...}, ...)
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/x/params/types/subspace.go:222 +0x145
github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper.GetParams(...)
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/x/auth/keeper/params.go:15
github.com/cosmos/cosmos-sdk/x/auth.ExportGenesis({{0x5accda8, 0xc00011e008}, {0x5af6cc0, 0xc0002371c0}, {{0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, ...}, ...}, ...}, ...)
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/x/auth/genesis.go:32 +0x125
github.com/cosmos/cosmos-sdk/x/auth.AppModule.ExportGenesis({{}, {{0x5a9cd40, 0xc000f027d0}, {0x5af1c78, 0xc000ffe810}, {{0x5af1c78, 0xc000ffe810}, 0xc00060ee90, {0x5a9cd40, 0xc000f02840}, ...}, ...}, ...}, ...)
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/x/auth/module.go:151 +0xb8
github.com/cosmos/cosmos-sdk/types/module.(*Manager).ExportGenesis(_, {{0x5accda8, 0xc00011e008}, {0x5af6cc0, 0xc0002371c0}, {{0x0, 0x0}, {0x0, 0x0}, 0x0, ...}, ...}, ...)
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/types/module/module.go:328 +0x125
github.com/celestiaorg/celestia-app/app.(*App).ExportAppStateAndValidators(0xc000648000, 0x0, {0x694de20, 0x0, 0x0})
	/Users/bidon4/go/src/github.com/celestiaorg/lazyledger-app/app/export.go:33 +0x20f
github.com/tendermint/spm/cosmoscmd.appCreator.appExport({{{0x5ad5ba8, 0xc00012b5f0}, {0x5afbeb8, 0xc000ffe810}, {0x5ae6cd8, 0xc000dfd440}, 0xc00060ee90}, 0x58aac60}, {0x5acda90, 0xc001245bc0}, ...)
	/Users/bidon4/go/pkg/mod/github.com/tendermint/spm@v0.1.9/cosmoscmd/root.go:409 +0x255
github.com/cosmos/cosmos-sdk/server.ExportCmd.func1(0xc001200280, {0x694de20, 0x0, 0x0})
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/server/export.go:71 +0x31c
github.com/spf13/cobra.(*Command).execute(0xc001200280, {0x694de20, 0x0, 0x0})
	/Users/bidon4/go/pkg/mod/github.com/spf13/cobra@v1.3.0/command.go:856 +0x60e
github.com/spf13/cobra.(*Command).ExecuteC(0xc000f6cc80)
	/Users/bidon4/go/pkg/mod/github.com/spf13/cobra@v1.3.0/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
	/Users/bidon4/go/pkg/mod/github.com/spf13/cobra@v1.3.0/command.go:902
github.com/spf13/cobra.(*Command).ExecuteContext(...)
	/Users/bidon4/go/pkg/mod/github.com/spf13/cobra@v1.3.0/command.go:895
github.com/cosmos/cosmos-sdk/server/cmd.Execute(0x58aac60, {0xc000f69c00, 0x1b})
	/Users/bidon4/go/pkg/mod/github.com/celestiaorg/cosmos-sdk@v1.0.1-sdk-v0.44.2/server/cmd/execute.go:36 +0x1eb
main.main()
	/Users/bidon4/go/src/github.com/celestiaorg/lazyledger-app/cmd/celestia-appd/main.go:26 +0x7d

For Admin Use

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

I will try to repro on linux, but doubt that this is osx specific bug

yeah, I don't think its a mac thing, we've just never used the export functionality before. It has probably never worked tbh. This might be fixed in #399 but I'll check this out after the testnet dry run

Is the export sub-command needed for testnet? Or for setting up a testbed or sth?

Well, this commands just gives you the genesis in a more convenient way comparing to finding genesis in config -> ctrl+c / ctrl+v
https://github.com/cosmos/cosmos-sdk/blob/main/server/export.go

wait, @Bidon15 I think the issue is that the chain isn't started. If you start the chain first, then export works for me. I'm not sure that the export command is expected to work without starting it, as you should use the genesis file at that point.

Well, this commands just gives you the genesis in a more convenient way comparing to finding genesis in config -> ctrl+c / ctrl+v

Are you just trying to load the genesis file into the standard output? perhaps some more context with what is trying to be accomplished would help resolve the issue

wait, @Bidon15 I think the issue is that the chain isn't started. If you start the chain first, then export works for me. I'm not sure that the export command is expected to work without starting it, as you should use the genesis file at that point.

It will be very weird to assume that export won't work by design if the chain is not started/set up. Genesis is created after you init the chain(no gentx), so it is expected to work at any stage upon the first start (from ux pov as well as code is not properly pointing that the chain should be started first - correct me if I'm wrong 😅 )

Well, this commands just gives you the genesis in a more convenient way comparing to finding genesis in config -> ctrl+c / ctrl+v

Are you just trying to load the genesis file into the standard output? perhaps some more context with what is trying to be accomplished would help resolve the issue

Yes, I've tried to use the standard output, which is causing the panic. In addition, I tried triggering the export through code and failed, too (this approach might be wrongly done from my side, so take it with a grant of salt)

It will be very weird to assume that export won't work by design if the chain is not started/set up. Genesis is created after you init the chain(no gentx), so it is expected to work at any stage upon the first start (from ux pov as well as code is not properly pointing that the chain should be started first - correct me if I'm wrong sweat_smile )

I'm not sure I follow. Why should it be weird? If the chain isn't started, then there is no state. If there is no state, then what is the export command supposed to export? This explains the panic message, where the decoder doesn't know how to decode empty bytes.

Yes, I've tried to use the standard output, which is causing the panic.

can you point me to some code where this is being done? I'm guessing you tried the obvious of cat ~/.celestia-app/config/genesis.json ?
We should also be able to load the genesis file in process if we know the path

I'm not sure I follow. Why should it be weird? If the chain isn't started, then there is no state. If there is no state, then what is the export command supposed to export? This explains the panic message, where the decoder doesn't know how to decode empty bytes.

It is weird as the export genesis is following up on gen accounts, which we have created during gentx/collect-gentx(like we should have the state, shouldn't we?) and not explicitly looking into either the chain is started or not.
https://docs.cosmos.network/master/building-modules/genesis.html#exportgenesis

It is weird as the export genesis is following up on gen accounts, which we have created during gentx/collect-gentx(like we should have the state, shouldn't we?) and not explicitly looking into either the chain is started or not.

perhaps ideally? Something has to fill the initial state database, and if the chain is never started, then how is that supposed to occur? I'm still not sure why anyone would design for this case, as the genesis file is the most minimal and portable state at that height. As you've mentioned, exporting would be the same as copying and pasting the genesis file.
I've tried this with other binaries and the same panic happens, so while this exact case is not documented in the cosmos-sdk, I do not believe that is was created to support this case.
osmosisd export
panic: UnmarshalJSON cannot decode empty bytes

goroutine 1 [running]:
github.com/cosmos/cosmos-sdk/x/params/types.Subspace.Get({{0x2601db8, 0xc00028f520}, 0xc0001fe018, {0x25a2630, 0xc00028f5f0}, {0x25a2680, 0xc00028f6f0}, {0xc00053e3c0, 0x4, 0x1a}, ...}, ...)
	github.com/cosmos/cosmos-sdk@v0.44.5/x/params/types/subspace.go:109 +0x319
github.com/cosmos/cosmos-sdk/x/params/types.Subspace.GetParamSet({{0x2601db8, 0xc00028f520}, 0xc0001fe018, {0x25a2630, 0xc00028f5f0}, {0x25a2680, 0xc00028f6f0}, {0xc00053e3c0, 0x4, 0x1a}, ...}, ...)
	github.com/cosmos/cosmos-sdk@v0.44.5/x/params/types/subspace.go:222 +0x145
github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper.GetParams(...)
	github.com/cosmos/cosmos-sdk@v0.44.5/x/auth/keeper/params.go:15
github.com/cosmos/cosmos-sdk/x/auth.ExportGenesis({{0x25d9f68, 0xc000128000}, {0x2606f60, 0xc00028d000}, {{0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, ...}, ...}, ...}, ...)
	github.com/cosmos/cosmos-sdk@v0.44.5/x/auth/genesis.go:32 +0x125
github.com/cosmos/cosmos-sdk/x/auth.AppModule.ExportGenesis({{}, {{0x25a2630, 0xc00028f580}, {0x2601db8, 0xc00028f520}, {{0x2601db8, 0xc00028f520}, 0xc0001fe018, {0x25a2630, 0xc00028f5f0}, ...}, ...}, ...}, ...)

The state DB gets only written into after the chain is started. Before that there is nothing to export as there is no state (besides the representation in the genesis file). Why don't you just copy around the genesis file?

I'm going to close this issue.
The docs for ExportGenesis clearly explain what its use is (exporting the most recent state; mainly to be used for hard-forks s.t. they can use it as a new genesis). Similarly with the command (though the docs could be better here–which is not an app issue). If there is no app state there is nothing to export.


Close a support request

At https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-manage-azure-support-request you expecto find out how to close a support request.
Can someone tell me how to close a support request??
Thanks...
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d765ab6f-aa80-3df6-c8a0-5e1675bc2519
Version Independent ID: ce21a008-6fdd-97dc-65fa-b4ece7c965e7
Content: Manage an Azure support request
Content Source: articles/azure-portal/supportability/how-to-manage-azure-support-request.md
Service: azure-supportability
GitHub Login: @mgblythe
Microsoft Alias: mblythe

@AtesSolutions Thanks for your comment. The feature to allow the user to close support request is under review. For now, kindly send a message to support team in the support ticket to close the issue on behalf of you.
I also would recommend you to navigate here and share your feedback or suggestions directly with the responsible Azure feature team and clicking the vote button of your suggestion to raise visibility and priority on it.

@AtesSolutions Hope you had chance to view my previous comment. As there are no further documentation changes, we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.

@AtesSolutions - I added a sentence to that article about sending a message to close a request - will be live this afternoon. I'll update the info if there are feature changes.
@SwathiDhanwada-MSFT as FYI


Add proxyID parameter to edsz

Right now edsz isn't very useful since its using the legacy eds output
that isn't even accurate often. We are also doing a lot of processing
after the code we call, so it doesn't have info like locality lb, etc.
This adds both of those.

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
9a215192954240d6d88e661ece5d5630c692cbbe
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Why is proxyID just for  edsz?  We donot get proxy specific listeners/route/clusters/endpoints from pilot.

the proxyID concept is not completely new, we use it in the config_dump endpoint as well.
the important difference is that EDS response is different for each proxy, so before it was impossible to debug things like locality lb, and the new transport socket match field. I added this because this was the only way for me to debug an issue I was having, so I think it's useful

But there is a possibility that this proxy is not connected to the current pilot if we have multi instances.

That is a good point... I copied the code from config_duml which istioctl uses, so I wonder how that works. Maybe istioctl queries all pilots?

istioctl pc xxx calls the kube-apiserver, and exec into the pod

There is also proxy-status that calls pilot config dump and compares to proxy config dump

Interesting, also did not consider multi pilot

@hzxuzhonghu @rshriram I don't think we can really fix the multi-pilot scenario, but this is still useful for debugging. Do you think its worth merging as is?

With explicit note, I think it makes sense.

@hzxuzhonghu sgtm, I added a note that it may be connected to another replica

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
51eb2afd9d4889e36dd10b5bb9266968dfa2ff2e
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pilot-multicluster-e2e_istio
a73e53d8df1246a28eecaa6686869128a5866029
link
/test pilot-multicluster-e2e_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


fix: don't look for parent package.json on init

Description
@huv1k is having trouble using npx nexus-future. The current code must probably be finding some package.json in some of its parent directories, that he cannot find.
The goal is not to create a single hotfix for him, but rather to generally make the checks less strict.
I think it's important that we don't block people as much as possible on the init command.
This PR makes the init command only look for a package.json in the CWD.
Question for you though @jasonkuhrt: What do you think could be the problems resulting from not looking at parent directories? Hoisted deps to parent node projects?

Question for you though @jasonkuhrt: What do you think could be the problems resulting from not looking at parent directories? Hoisted deps to parent node projects?

If the user is inside a node project, but not at the root of that node project, and we go ahead and anyway permit creating a project there, I don't think it is going to be the intention most of the time. As to what exactly problems are going to occur... Well IIUC this is a bit like shadowing--the most local node project will be considered the _only) local node project.
I'm willing to be convinced that we should permit nested node projects. But right now I think the solution to

The current code must probably be finding some package.json in some of its parent directories, that he cannot find.

Is just a [much] better error message.

Hm, I think I would be satisfied if we:

Improve the error message
Add a prompt for the user to force/confirm that Nexus should carry on
Add a flag that pre-answers the prompt (or for now, ENV var like the others)

Note: when CWD is a node project, then we should continue to consider that fatal for now.


Visio Stencils are also needed with SVG version.

Please include something that can be used by native Microsoft tools.

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

ID: 6624d44c-f9f6-02f8-2c67-0f0637fed62e
Version Independent ID: 9346a8ff-bab5-be2c-9dc1-d546fda1efa9
Content: Azure Icons - Azure Architecture Center
Content Source: docs/icons/index.md
Service: architecture-center
GitHub Login: @doodlemania2
Microsoft Alias: pnp

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#282882

For sure, we are tracking that at this open issue #2249.  Feel free to follow along with that one, and we'll close this one as a duplicate.  Thanks!


Difficulty, Similarity and Order of Java Exercises

Hi posted this is the Github Education forum and was asked by @kytrinyx to re-post it as an issue here:
(original post - https://education.github.community/t/fluency-vs-proficiency-when-teaching-learning-programming-and-ready-made-assignments-for-your-classroom/2479/3?u=rcraggs)

Hi Katrina
I love the idea of exercism.io. When I started to create a bootcamp for our students who had not yet picked up Java sufficiently well (our university's core teaching language) my idea was to use the exercises there as key way to learn.
In trying to work out what order the students should attempt the exercises I tried to map which concepts were required to complete each exercise. This was my attempt - https://docs.google.com/spreadsheets/d/1-jHZex1oMRk2eJxCkHfWK1MXaIFkVWQt2hUhDUih198/pubhtml?gid=0&single=true
What I found was

There are relatively few exercises that are accessible for an absolute beginner. A fairly high proportion of them require string manipulation or use of Maps, which in the teaching material we use, aren't introduced until later.
A lot of the exercises are similar, e.g. processing a string to calculate some properties of the text within it.

What I did to combat this was to create exercises that a student can complete to introduce the more basic concepts (loops, conditions) and build up to their first exercism exercise. I also curated and ordered the exercism exercises so that they could avoid doing multiple similar exercises. The results is this - https://github.com/rcraggs/learn-some-java/
A similar idea is Koans https://github.com/ahmdrefat/awesome-koans although this lacks the social aspect that exercism.io does so well.

Thank you @rcraggs.
@exercism/java There are a few things I wonder if we can do to improve the track.

That spreadsheet! Can we use this as a basis for assigning topics?  #125
Can we make up some new exercises inspired by the ones that @rcraggs created in order to provide a more gentle on-ramp?
Should we do some measurements with respect to the exercises with duplication? Are there sharp drop-offs? Do people suffer from exercise fatigue? Should we try to temporarily deprecate some of the exercises that are too similar to others? (Or try to make them more different?)

@rcraggs I do think it makes sense to revisit the ordering of exercises here.
@kytrinyx

Spreadsheet is a good idea.
@rcraggs' exercises do provide a lower barrier to entry.  If it seems like a good idea to add these,  is this something that belongs in x-common generally, rather than just in Java?
I think the stats graphs could help us understand the answers to these questions.  It might also be interesting to compare a track that adheres fairly closely to the spreadsheet referenced in (1), like EcmaScript (I think!) to the Java track.

Spreadsheet is a good idea.

Sorry, I was unclear. @rcraggs already did a bunch of work in the spreadsheet he linked to.

If it seems like a good idea to add these, is this something that belongs in x-common generally, rather than just in Java?

Yepp, that would be general exercises that any of the tracks could implement if they wanted to.

@matthewmorgan and I are going to take a first cut at reordering in #142.

@matthewmorgan and I took some time this morning to review the stats pages on exercism.  We're going to use those metrics to see what affect re-ordering is having on engagement.

I'm a bit confused here if I don't understand context, but I thought the first few exercism.io exercises in JavaScript were in a reasonable order. But in Java, going straight from hello-word into Etl was too huge of a leap.... Where is leap? hamming? 14 missing exercises before Etl in JavaScript. I'm writing the leap one now, just so I can spare my students the deep dive. Is there something I'm missing? Why so many missing exercises? Is it just missing labor, or is there another reason? Thanks!

We could absolutely use the help in implementing exercises.  @hajush , you've caught us right in the middle of an effort of evaluating the track of exercises.  We expect to add more, get rid of a few and reorder many.
We're painfully aware of the bumpy road along this track and very happy to collaborate with those who can help.
Helping us implement exercises is a HUGE help.

If it helps, there's a bit of documentation about how to port exercises: https://github.com/exercism/exercism.io/blob/master/docs/porting-an-exercise.md

Now that basic ordering is implemented, is it time to close this issue? cc @jtigger @matthewmorgan

There are two aspects to this issue.  The first is the difficulty rating.  The second are the topics.  We've taken the first (big) step to address difficulty.  But the second remains.  That said, I'm not sure that the Java track is the right place to flesh-out what "topics" are and how they are used.
For the topics aspect, I'm going to go look to see if there are other conversation happening around the topic of ... topics. :)  I know there was some when the idea first emerged...  At the very least, I'll reposition references to @rcraggs's work there as well.
For xJava, I'm going to open up a question-issue to serve as a backbone for general track "health".  From there, I think we'll spawn additional efforts around establishing ways for us to navigate...
With those in place, we can consider this issue "done."

Sounds good! I wasn't looking forward to the effort involved in adding topics to the track given there's no current value-add.


LabelComponent label width

What to do if axis label text width is more how to adjust it.

Hi @asifbadeghar54 👋
There are 2 ways to handle this-

You can make the x axis labels multiline using the xAxisTextNumberOfLines prop.
You can rotate the labels using the rotateLabel prop.


Setting global back to system installed Swift

I get the error
unable to invoke subcommand: /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-05-03-a.xctoolchain/usr/bin/swift-global (No such file or directory)

Never mind. You need to do swiftenv global system instead of swiftenv global 2.2. You might wanna add this to the README.md


kdtree help: preanalysed dataset location

In the grand scheme of sharing pre-baked datasets for demo examples across CCE (which is a great idea) I think we should put them in the core repo for 2 reasons

like in https://github.com/flucoma/flucoma-max/pull/110 it saves duplication
like anything that will rely on audio loading like this, we could make it sturdy to changes in the audiofile folder by making a labelset of the actual files loaded in that dataset so we are consistent upon reload.

I agree. How does this work for iterating on a local version of the package? I usually run ninja not ninja install so I don't get a release-packaging version. Would misc (the location of these datasets for Max) be able to be populated by that?
I don't think I have the CMake-fu to make it all work by myself so I would need some help from @weefuzzy or he could do it himself if its faster than holding me hand. Or he might have other ideas alongside @tedmoore.

Solved in #126


Avoid unnecessary allocations

Avoid unnecessary delegate allocations (static cached delegates via C# compiler)
Avoid unnecessary enumerator allocations when enumerating List<T> and Dictionary<TKey, TValue>
Specify TaskCreationOptions.DenyChildAttach when calling Task.Factory.StartNew to prevent child tasks attaching to the parent task (details)
Thread safe delegate invocation (via null-propagation operator)

Hi @justinvp, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

In your other comment you said Task.Run could also be used. Is there any reason you choose one over the other?

In your other comment you said Task.Run could also be used. Is there any reason you choose one over the other?

I mentioned Task.Run because it uses the DenyChildAttach option under the covers, but I couldn't actually use Task.Run here because it doesn't have an overload that takes the state parameter, and we want to use that to avoid the closure.

To clarify: previously ScanForExpiredItems was a private method. So I could have used Task.Run to call that method. But then the delegate to call ScanForExiredItems would be created each time. I could have written code to create the delegate instance once and cache it in a field, but that adds an extra field to the class. So Instead, I changed ScanForExpiredItems to be static, and used a lambda to call it (passing the instance as the state), which allows the C# compiler to cache a static instance of the delegate.

To better illustrate what I mean, I could have written it like this:
public class MemoryCacheAllocating
{
    private void RemoveEntries()
    {
        Task.Run(() => ScanForExpiredItems()); // this will allocate a new Action instance each time
    }

    private void ScanForExpiredItems()
    {
    }
}

To avoid allocating the Action instance each time, I could have manually created it once and cached it like this:
public class MemoryCacheAllocatingFix
{
    private Action _scan;

    private void RemoveEntries()
    {
        if (_scan == null)
            _scan = ScanForExpiredItems;

        Task.Run(_scan);
    }

    private void ScanForExpiredItems()
    {
    }
}

But this requires adding a new instance field. Not a huge deal, but it can be avoided. Instead I opted for the following:
public class MemoryCache
{
    private void RemoveEntries()
    {
        Task.Factory.StartNew(state => ScanForExpiredItems((MemoryCache)state), this,
            CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);
    }

    private static void ScanForExpiredItems(MemoryCache cache)
    {
    }
}

Making ScanForExpiredItems static and calling it like above allows the C# compiler to lazily create and cache the delegate (in a static field of a private class that the compiler generates). ScanForExpiredItems needs to use some of the instance fields, so the state parameter is used, passing this as the state to avoid a closure allocation. Task.Run doesn't have an overload that accepts a state parameter, so Task.Factory.StartNew is used, passing this as the state parameter along with the same options that Task.Run uses.
You can see the code that Roslyn generates in the above examples here.

From a maintenance perspective I'd rather use the second approach. That's the pattern we already use elsewhere, and MemoryCache is a long-lived object with few instances.
The 3rd approach requires understanding additional concepts (i.e. looking up every time what DenyChildAttach means).

MemoryCache is a long-lived object with few instances.

What about CacheEntry? Presumably not as long-lived (expiration) and many instances.

Oh, good point.
:shipit:

Thanks @justinvp I have merged your changes now


Template warn "__completionsTag' is declared but its value is never read."

This should be fixed by #35. Reopen if not fixed.


Doc link doesn't work

Hello,
The documentation page doesn't work :
http://docs.quorum-key-manager.consensys.net/
Thanks

Docs can be deployed locally from the repo. Thanks


One way clipboard - new feature request/contribution

Hi all :)
I have the business case in which I want to limit the user's ability to use clipboard, but without cutting it off entirely.
In particular, the user should be allowed to copy something on the client host, and paste it inside the xrdp session, but no the other way around .
This feature does not exists yet and all there is is the option to disable the clipdr channel entirely.
That is fine, meets the minimum criteria I have, but makes for a horrible user experience :)
So I took a look at your code and made my own change to this, but I'm no C developer and I am not sure how you guys think it should be done.
What I did is:

added a feature flag in sesman.ini
made the clipboard.c module inside chansrv aware of the config (reads the flag in sesman.ini)
discard the events I do not want to take action on:

clipboard_xevent(void *xevent)
{
   // [..some stuff I did not touch..]

    switch (lxevent->type)
    {
        case SelectionNotify:
            if (restricted == 0) {
                log_debug("clipboard_xevent: clipboard SelectionNotify event on xorg.")
                clipboard_event_selection_notify(lxevent);
            } else {
                log_debug("clipboard_xevent: clipboard restricted, ignoring xorg event.")
                return 1;
            }
            break;

  //   [..some more stuff I did not touch..]

}

What do you think? did I go the completely wrong way? I would like to contribute this and make a pull request but I would like to discuss it first.
Cheers!

I believe any patches that cripple xrdp functionality should not be considered for inclusion in xrdp. Some patches are better left outside the mainline codebase.

It's feature flagged (under the security section), why does it cripple it?
It's a feature in other RDPs, xrdp is only missing it.
In NoMachine, as an example, you can enable the 2 directions the clipboard goes separately (client to server or server to client).
it's a use case for any organization having data on the servers that need not leave the datacenter for legal reasons.

So the feature is a reasonable request (not crippling it), and I'm willing to do the code part, discussing the architecture of it with you guys, please take it seriously :)

I see. Maybe it's not that unreasonable as it seemed initially. Maybe some users don't want their local clipboard to be polluted with the remote data accidentally. Especially if it can get them in trouble.

That is the point. :)Plus, it would not be the default behaviour. It's up to the administrator that sets up xrdp to enable this feature manually.

+1, under that argumentation!

pull request is in :)
https://github.com/neutrinolabs/xrdp/pull/581

This issue's scope was already implemented via https://github.com/neutrinolabs/xrdp/pull/1298


When regression values are not set, the warning message is not clear when doing curve fit

Fixed indirectly due to creating regression group table and reworking backend to given surfaces default regression values instead of strings.


Main path in bower.json

Path was incorrect, thus not allowing usage of tools like "main-bower-files"

Thank you very much!
Do you have an estimate when it will be available via bower?

check it again 3.0.1 should be there


Traffic Server - 6.2.1: Client streams count not updated in Http2ConnectionState.

The client_streams_count member is incremented when a new stream is created, but never decremented. This causes a protocol error leading to "Connection closed" errors in the client.
Traffic Server details:
Branch: 6.2.x
Platform: Linux, 64-bit, compiler g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
Steps to repro:
Enable http2 in records.config.
Fetch from Chrome an HTML resource that references several other resources (javascript or css), all proxied by the same ATS instance.
Most of the fetched resources should be reported by Chome as cancelled or report a net::ERR_CONNECTION_CLOSED error.
The fix is just one line, to decrement the client_streams_count member of Http2ConnectionState when a stream is released. I shall send a pull request.

@jaaju Does this happen on 7.x?

I confirmed that this issue happens only 6.2.x.

@masaori335, yes that's right. It's only seen in 6.2.x.

@jaaju Thanks!
It looks like the code is dropped accidentally, when back port TS-4813 to 6.2.x.


[Sbt over BSP] Extension points implementation

The current PR is huge, it might be due to including changes that happened on the base branch. I think you need to rebase your own changes on 233.x

The current PR is huge, it might be due to including changes that happened on the base branch. I think you need to rebase your own changes on 233.x

to be clear: what Justin meant was updating your base branch (no-idea) and then rebasing this PR on that updated one


On route changes, scroll to top of page

Currently, the application doesn't scroll all the way to the top of the page on route changes. Setting scrollPositionRestoration='enabled' doesn't seem to be sufficient. See also https://angular.io/api/router/ExtraOptions#scrollPositionRestoration

A potentially useful resource
https://indepth.dev/demystifying-angular-router-what-is-routerscroller-and-why-is-it-useful-2/

Addressed in dev-simulators-2 branch.


[Bug]: Docker compose doesn't work

What happened?
Race condition between server and database resulting in server failing.
I added a time.Sleep, then it failed because it couldn't find a websocket agent on port 8000.
Please advise.
How can we reproduce this?
run docker-compose
Search

[X] I did search for other open and closed issues before opening this.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Additional context
No response

@galt-tr can you take a look at this?


[Build Script] Remove 'clangd' from list of default-installed LLVM components

Otherwise when using --install-swift we have been hitting:
ninja: error: unknown target 'install-clangd', did you mean 'install-clang'?
ERROR: command terminated with a non-zero exit status 1, aborting

for a while.

@gottesmm am I missing something or is this target just no longer something we build so there is nothing to install?


hlc_clock_device_linux.go

github.com/auxten/postgresql-parser/pkg/util/hlc
../../auxten/postgresql-parser/pkg/util/hlc/hlc_clock_device_linux.go:51:11: cannot use ctx (type context.Context) as type string in argument to logrus.Infof
Using arch. Commented out that single log write on line 51 and 'log' import and the example worked.
Thanks!

Fixed


Hotfix: kusama statemint upgrades

❗ TODO before merging:

[x] Apply governance proposal on chopsticks, then
[x] Test in chopsticks that sample xcm tx extrinsic (see below) works, sending KSM from Kusama to Kintsugi
[x] Rebase from master once #74 is merged and reenable disabled xcm tests.

Test extrinsic KSM from Kusama to Kintsugi, receiving account id is Alice: 0x630203000100b1200300010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d030400000000821a060000000000
Edit: ^ The amount in the extrinsic above was too low. Had to increase it so it was larger than the xcm fees.

Re-ran manual chopsticks tests after adding more dynamic handling to identify V0/V1 vs V2/V3 xcm multi locations.
Tests passed for statemine and kintsugi.


Fix #154

64 since /usr/include/sysexits.h uses exit code 64 for usage.

Thanks for the catch! I'll take care of fixing the test.


Make the FAQ questions/answers translatable

This will facilitate localization of FAQ messages and maintenance of text by storing them in a single location.

[ ] Honour faq.properties for backward-compatibility.

The same should apply to login.properties with backward-compatibility for existing instances.

Nevermind for login.properties, this is a different issue.

This is not going to work because of the dictionary-like structure of the FAQ. Instead, the FAQ should be translatable like messages.

Fixed in a516d12.


Loosing Drafts in parallel/forked sync reality

I am suffering from tricky to catch draft loss from 1.0.0 Surfer release up to 1.1.11
First I was thinking it's because I have too many versions of Surfer (I have Mac, Windows and Ubuntu and everywhere I have release versions and dev versions pulled from git so I have 6 eSteem Surfers installed and logged in using same @esteemapp account on each to write news/drafts).
But last 2 weeks I've stopped creating drafts in dev versions and used only releases to prevent this bug to occur. Tonight I've caught it again. I've created a post in Surfer 1.1.11 from Windows 10 (Surface Pro 2017 tablet), saved it as draft and opened it on my Macbook Pro Surfer 1.1.11, finished editing there and then saved again as a draft. After that I've lose my draft and looks like I've switched to different sync branch or fork (I don't know how to call it). And I see no regular @esteemapp drafts there but I see all the drafts I was loosing during last 2 months - they are there. Imagine if there are two rooms and you are coming inside room #1 every time, creating furniture there and once you come back home again you see there is no more table there in room #1. You think it's a hallucination, close the door, open it again and see room #2 instead of room #1 without that furniture but with that lost table.
Something similar happens to me for last 2 months but I am not smoking anything 😆
Hope this story is clear. This bug is pretty random and I can not reproduce it in 90% cases but sometimes it occurs. Do you have any thoughts how to fix it? Sometimes it is really time consuming to rewrite the post which was ready to be published but lost.
P.S. Now I even can go back to room #1. In past these rooms was switching back in 1-2 hours but now I see only room #2 only for last 12 hours...

Hey, I've just got back our lost drafts sync branch by accident.
All that I've done was just opened old draft, changed few lines there, then opened feed (without saving draft). Then pressed New post button and saved draft from there. It saved into old forked sync branch and lost there but all other drafts are switched back to new fork again!
I hope this will help to find out the reason...

I think starting from Surfer 2 we don't have this issue anymore


Ruff makes triple sure the user is aware an error code has been remapped when it has explictly been ignored

Summary
When ignoring a remapped error code, ruff is very insistent in error logs that the error code has been remapped.
Steps to reproduce
pyproject.toml:
[tool.ruff]
select = ["RUF"]
ignore = ["RUF004"]

command: ruff .
There does not need to be any python files in the current directory.
Screenshots

I think we used to show this once, but a refactor made it more difficult to enforce that it appears "exactly once".

IMO it would be better at the end of cli output rather than the beginning

It seems that this warning is coming from https://github.com/charliermarsh/ruff/blob/bb3bb24b59d8f0da5c42972b177cd29db9390d6f/crates/ruff/src/settings/mod.rs#L362-L369
Is the issue that the function (RuleTable::from) is being called multiple times or is it just that there are multiple instances of the value in redirects? If it's the latter it shouldn't be hard to deduplicate, although the fact that it seems to be iterating over a hashmap makes me doubtful that this is the case.

I think it's that we may call RuleTable::from multiple times. We actually do have a mechanism to show a warning "exactly once", but it doesn't work with dynamic warnings (i.e., warnings like this that depend on data), since it basically inlines a one-time static boolean into the code via a macro.

Yeah I looked into that macro but realized that it wouldn't fix it. I think that it could be adapted for dynamic warnings like these by using a static hashmap with the appropriate locks, but I'm not sure if the overhead from that is worth it.

I think it's probably worth it, since this isn't a high-performance codepath. Are you interested in giving that a try?

I started on a kind of ridiculous change to use macros in rule_redirects.rs, like:
/// Returns the redirect target for the given code.
pub(crate) fn get_redirect_target(code: &str) -> Option<&'static str> {
    redirect(code).map(|(_, target)| target)
}

/// Returns the code and the redirect target if the given code is a redirect.
/// (The same code is returned to obtain it with a static lifetime).
pub(crate) fn get_redirect(code: &str) -> Option<(&'static str, &'static str)> {
    redirect(code)
}

fn redirect(code: &str) -> Option<(&'static str, &'static str)> {
    macro_rules! redirect {
        ($src:expr, $dst:expr) => {{
            if code == $src {
                crate::warn_user_once!("`{}` has been remapped to `{}`.", $src, $dst);
                return Some(($src, $dst));
            }
        }};
    }

    redirect!("SIM111", "SIM110");

    return None;
}

That actually does work, but the issue is that the redirect itself is done before we set up the logger (e.g., if the codes are provided as command-line arguments), so the warning doesn't show up in all cases because it's "too soon".

I think it's probably worth it, since this isn't a high-performance codepath. Are you interested in giving that a try?

I can give it a shot, but I should say I'm not too familiar with atomics (might be a good opportunity to learn, though).
Since this function is not async, things like Mutex and RwLock are out. I'm thinking that the best option would be to use a static FxHashSet to keep track of which redirects have already been printed and a static AtomicBool to act as a lock on the hashset. From there I believe that it would be necessary to use a spinlock (again, because this function is not async); while this isn't great, the lock will be held only briefly, so there shouldn't be much time wasted spinlocking. What do you think about this solution?

That actually does work, but the issue is that the redirect itself is done before we set up the logger (e.g., if the codes are provided as command-line arguments), so the warning doesn't show up in all cases because it's "too soon".

If a refactor is necessary than I also think it might be better to show warnings like this near the end of the output.

We could make the redirects FxHashMap static (and do the whole spinlocking thing while writing to it), then wait until all of the linting is done to print it out. This would require more refactoring than my solution, but probably less than @charliermarsh's current solution.

I can help with this one.


wrong skin in championship race after result import

Describe the bug
After I imported results from previous races, championship still shows correct skin in entry list, but next race gets wrong skins.
To Reproduce
Create a championship
let users register and choose skins
create a race
load results with different skins
create a new race
when users log in to new race, they get different skins than the ones shown in championship entry tab.
Expected behavior
No championship entrants data should be changed after importing results (had same issue with names)

Hi, is the Championship an Open Championship? If so, this is by design. If it is not, then we have a bug!

Nope it isn't.
Some drivers had different (no longer existing) skins in the imported results, and they got a new random skin assigned. And some had same and still existing skin, but still ended with a randomised one.
Let me know if you need more details, i can provide you with the different files later today.


Differentiate prod orgs in import menu

Is your feature request related to a problem? Please describe.
Sometimes when we have several orgs opened, it can be helpful to differentiate production orgs in import menu.
Describe the solution you'd like
A different design on the import page
ie

Based on the query SELECT Id, IsSandbox from Organization

Delivered


Pesto home stack

Navigator.popUntil() applies pop() until predicate(currentRoute) returns true.
Revised pesto route popping and pushing procedures

Fixes #5159
Fixes #5103

add a gallery test that checks that the drawer works as expected in pesto (i.e. that the bugs are fixed, and that routes don't stack up).
add a framework test that checks that popUntil works correctly around local history routes.


no-irregular-whitespace enforces strings/comments despite contrary documentation

Bug Report

TSLint version: 5.7.0
TypeScript version: 2.5.2
Running TSLint via: (pick one) CLI/NPM: tslint -p ./tsconfig.json -c ./tslint.json -e '**/node_modules/**/*'

TypeScript code being linted
Note - the claims in the 'code' below are untrue because GitHub is replacing nbsp chars with standard spaces. To repro, you must supply your own nbsp chars.
// this comment contains nbsp chars
const s = 'this string contains nbsp chars';

with tslint.json configuration:
{
  "rules": {
    "no-irregular-whitespace": true
  }
}

Actual behavior
Lint failures occur on nbsp chars in string literals and comments.
Expected behavior
Per docs: Disallow irregular whitespace outside of strings and comments

I'm less bothered by the actual behaviour & more-so by the incorrect documentation - disabling the rule when irregular whitespace belongs in a string literal is a perfectly acceptable solution to me.

As you already noted: this is a bug in the docs and should be fairly easy to fix.


Refactor BEM scss to use scope variable

Description

BEM in SCSS is complex due to the behavior of &.
Following trick can be used to make stylesheets more legible:
https://css-tricks.com/using-sass-control-scope-bem-naming/

All global SCSS styles have been refactored, application working as expected


ElasticsearchStorage already support dependency links?

The README says ElasticsearchStorage is the newest option, and does not yet support dependency links. But the linked issue has already been closed.

thanks for the note. just fixed the readme


QV uses wrong threshold for statistical test

Informations

Qiskit Ignis version:<PHONE_NUMBER>1743a30d74005433e588a48d570691
Python version: n/a
Operating system: n/a

What is the current behavior?
qiskit-ignis/qiskit/ignis/verification/quantum_volume/fitters.py line 326 compares the probability of the HOP being above 2/3 to 97.5 %  ..  The QV paper (https://arxiv.org/abs/1811.12926 ) specifies that the single-sided 2-sigma probability should exceed 2/3, re-iterates this in supplemental equation C3, and then includes the 97.5% number (which contradicts the text and equation C3; it should be ).  Lev Bishop confirms 2-sigma was the intent, and the threshold should be 0.9772498680518208
( 1-(1-0.5*(1+erf(2/(sqrt(2))))) ) ; 97.5% was a rounded typo.  Pyquil implements this correctly.
Steps to reproduce the problem
read the code and paper
What is the expected behavior?
Compare to ( 1-(1-0.5*(1+erf(2/(sqrt(2))))) ) not 97.5%
Suggested solutions
Compare to ( 1-(1-0.5*(1+erf(2/(sqrt(2))))) ) not 97.5%, and update the qiskit docs to be correct as they repeatedly say 97.5% .  Lev should probably also update the arxiv paper.. :)

I am not an expert in statistics but I think 97.5% is the right threshold for one-sided two-sigma confidence interval. What needs to be changed is the z value in equation C3. It should be 1.96 for 97.5% CI.

@dcmckayibm @levbishop @awcross1 Any comments?

See also: https://github.com/qiskit-community/qiskit-textbook/issues/687

I think both of these are tackled in appendix c of the QV paper; >100 trials, z=2 ; https://arxiv.org/pdf/1811.12926.pdf , but I'd be happy for someone else to weigh in

The intention was definitely z=2 and >=100 trials. Algorithm 1 from the paper was supposed to be the definition and everything else discussion and clarification. Unfortunately in the process of clarifying, we mentioned 97.5% instead of 97.7% and added this confusion. That was the original intention - we could revisit it, but others (eg pyquil) have gone with the original so I would prefer to keep that.

In that case I think we should follow PyQuil’s implementation and algorithm 1 to use equation C3 directly rather than using the confidence interval as the criterion. I can take this one and fix it.

Thank you!

Fix QV threshold
I read the new QV64 paper and see the merit of being able to report confidence level as opposed to only reporting success or failure. In this case, we can just do a simple fix changing 97.5 to (0.5*(1+erf(2/(sqrt(2)))))) ~ 0.977.
I have some doubts about how the confidence level is calculated
cfd = 0.5 * (1 + math.erf((hmean - 2/3) / (1e-10 + self._ydata[1][depth_ind])/2**0.5)) which is

($$cfd = \frac{1}{2}(1+erf(\frac{ \frac{\bar h - 2/3}{10^{-10} +\sigma}}{\sqrt{2}}))$$)
According to this page on Wolfram MathWorld, the probability in the [0,z] interval can be calculated as:

($$\frac{1}{2} erf(\frac{z}{\sqrt{2}})$$)
for QV, we need to calculate the probability (confidence level) in the [-z,+infinity], which is

($$\frac{1}{2} (1+erf(\frac{z}{\sqrt{2}}))$$)
When z = 2, this is the threshold provided by @oliverdial. Z can be calculated using the following equation

($$z = (X-\mu)/\sigma = (\bar h - 2/3)/\sigma$$)
, which yields

$$cfd = \frac{1}{2}(1+erf(\frac{ \frac{\bar h - 2/3}{\sigma}}{\sqrt{2}}))$$
So my question is, what is the purpose of adding 1e-10 to sigma in the code? @dcmckayibm @levbishop Any idea?


Adding retry logic around service updates

#8892
Sometimes we can get a conflict when updating a service, and the e2e tests just wait in this case. This adds logic to retry up to 2 times in case of timeouts and conflicts to reduce flakes.
• Failure [115.700 seconds]
Services
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/service.go:792
  should be able to change the type and nodeport settings of a service [It]
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/service.go:490

  Expected error:
      <*errors.StatusError | 0xc208bd9880>: {
          ErrStatus: {
              TypeMeta: {Kind: "", APIVersion: ""},
              ListMeta: {SelfLink: "", ResourceVersion: ""},
              Status: "Failure",
              Message: "service \"mutability-service-test\" cannot be updated: 101: Compare failed ([3877 != 3885]) [3887]",
              Reason: "Conflict",
              Details: {
                  Name: "mutability-service-test",
                  Kind: "service",
                  Causes: nil,
                  RetryAfterSeconds: 0,
              },
              Code: 409,
          },
      }
      service "mutability-service-test" cannot be updated: 101: Compare failed ([3877 != 3885]) [3887]
  not to have occurred

  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/service.go:462

cc @quinton-hoole

@ixdy I tested one of these locally since I don't think the PR builder runs them.
• [SLOW TEST:138.675 seconds]
Services
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/service.go:806
  should be able to change the type and nodeport settings of a service
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/service.go:499
------------------------------
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Ran 1 of 98 Specs in 138.678 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 97 Skipped PASS

LGTM

cc @thockin


Request queue

Create a queue that when a configurable size is reached it rejects requests with a 503.

https://github.com/zellige/hastile/issues/5


Links from tracker/website pages to blog posts mentioning them

When a tracker/website is mentioned in a blog post, we could auto-generate a section on the tracker page 'Posts mentioning this page'.

scriptable:///run/Random%20Scriptable%20API%201


Create requirements-linting.txt to separate linting dependencies

Looks like the linting workflow doesn't require other dependencies like jupyter, papermill etc.

Codecov Report
Patch coverage has no change and project coverage change: +0.26% :tada:

Comparison is base (ccb9493) 87.46% compared to head (eb415b0) 87.73%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #572      +/-   ##
==========================================
+ Coverage   87.46%   87.73%   +0.26%
==========================================
  Files          62       62
  Lines        3988     4075      +87
==========================================
+ Hits         3488     3575      +87
  Misses        500      500

Flag
Coverage Δ

unittests
87.73% <ø> (+0.26%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 23 files with indirect coverage changes

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


Not a problem, but a GREAT idea!

conbining mysql and file.
Allowing some perms to be shered trough sql, while some are for each server.^
Lets say i want the same prefix on all servers: MySql
i want perm1 for rank1 on server 1, but not on server 2: file
Hope you can find a way to do this :)

Wouldn't it be easier to have something like "rank1-1" for server 1 and "rank1-2" for server 2?  That way you can change the nodes in each group separate on each server.
I have nodes for 20+ mod/plugin set for three servers in one database.  Players can have the same "rank" on each server, but only have access to fly on server 2, and worldedit on server 3.
This is just how I handled the problem.  Someone else might have another suggestion.

This is supported in PEX 1.x with the multi backend, and in PEX 2.x with server-tag contexts.


Will Mamba2 be integrated in vim?

Hello, will Mamba2 be integrated in vim?

Yes, Mamba2-based Vim is on the way :)

@Unrealluver Hello,  How about the performance of Mamba2 in your work? And When will your Mamba2-based Vim release?


Fix(useVirtual): real-time dynamic size not working

Fix(useVirtual): real-time dynamic size not working

Pull Request Test Coverage Report for Build 870178217

0 of 6 (0.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+1.3%) to 2.32%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/useVirtual.ts
0
6
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/useVirtual.ts
2
0%

Totals

Change from base Build 870169902:
1.3%

Covered Lines:
7

Relevant Lines:
234

💛  - Coveralls


It's impossible to upload file thru attachment functionality opened from chat panel if new chat or chat based on not DIAL RAG is opened

Click on "+ New conversation"
Click on three dots at the bottom of the chat panel -> click on Attachment
Note that Supported types are not mentioned -> bug

Click on Upload from device and select any file -> error appears -> bug

Note: it works fine if DIAL RAG app is on the screen
Expected result: user should be able to upload files from attachment functionality on chat panel no matter what is opened on the screen (new chat or chat based on any other model)

Verified on staging successfully. Please see also #366


chore(upgrade): deno/std v0.116.0

Codecov Report

Merging #16 (4a1f03b) into main (0474d80) will decrease coverage by 0.11%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
- Coverage   84.66%   84.55%   -0.12%
==========================================
  Files          14       14
  Lines        1363     1366       +3
  Branches      129      129
==========================================
+ Hits         1154     1155       +1
  Misses        204      204
- Partials        5        7       +2

Impacted Files
Coverage Δ

deps.ts
100.00% <100.00%> (ø)

dev_deps.ts
100.00% <100.00%> (ø)

encoding_process.ts
83.94% <100.00%> (-2.19%)
:arrow_down:

ffprobe.ts
95.83% <0.00%> (-1.39%)
:arrow_down:

ffmpeg.ts
71.68% <0.00%> (+0.44%)
:arrow_up:

_assertions.ts
52.38% <0.00%> (+9.52%)
:arrow_up:

Continue to review full report at Codecov.

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


Bug report: FirebaseReferenceManager incorrectly store references for Firebase Query

Is the bug present in the demo Chat SDK project?
N/A
What modifications have you made to the Chat SDK?
N/A
Android Version:
N/A
Steps taken to reproduce the problem:
N/A
Expected result:
N/A
Actual result:
N/A
Comments:

I was debugging the code for FirebaseReferenceManager class and realized that if the
argument of the various methods of the class is an actual Firebase Query, and not a DatabaseRerefence (that inherits from Query) the toString() method is not defined, and the
reference stored is not the firebase path but instead the  result of the default Object.toString() method.
In order to fix this, it is necessary in ALL methods of FirebaseReferenceManager that take a query parameter, to do something like this:
    public void addRef (Query query, ChildEventListener l) {
        DatabaseReference ref=query.getRef();
        references.put(ref.toString(), new Value(ref, l));
    }

instead of the original code
    public void addRef (Query ref, ChildEventListener l) {
        references.put(ref.toString(), new Value(ref, l));
    }

This has been fixed and will be released with the next version.


Propagate exceptions

We refactored heavily stream processing loop in releases 0.6.0. One of the supported features is exception handling and this is no longer needed.


Bot Keys not working

I've got some information about some of these keys not working. I'm setting both of these as follows in my config file:
  "botUsername": "Review Bot",
  "botEmoji": ":star:",

However when the message to Slack posts, it looks like this:

What else can I provide to help debug?

I think I may have found the issue. It seems like this is no longer supported when you create a Slack App:

The majority of your legacy code for sending messages using incoming Webhooks should continue to work within a Slack app without much modification; the only thing you can no longer do is customize the destination channel and author identity at runtime.

https://api.slack.com/custom-integrations/incoming-webhooks

ah, that's a pain. I guess we'll need to add that information to the readme.


Give step functions there own mix task

So you can more easily test, and run steps in isolation
ie
mix mandrag.prepare
mix mandrag.build
mix mandrag.start
mix mandrag.upgrade

Fixed https://github.com/cschiewek/mandrag/commit/4c99bfecbc1d7920596629f558ccea0c7020e807


Migrate into factory design

Requested by @ulmitov

The design pattern - pystorcli uses singleton when creating the StorCLI object. while pysmart just creates it once and then passes to all rest of objects (somewhat a factory design). I think the factory is much better.

Also :

if you can please make this runner same for pystorcli and pysmart :)

(related with cmdrunner)

Depends on what do you mean with "on my side".
We can move the project to "naudit/xx" repository and maintain it for a while. (Or at least try, as said I don't have such hw, so many tests would be impossible to make from my side).
In the other hand, if you mean "on my side" to merge into pystorcli/pysmart, I see too much work for the time I have to "open source projects" right now... I would leave that for september/onwards +/-


⚠ Bofrost.at has degraded performance

In 0317d7b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1631 ms

Resolved: Bofrost.at performance has improved in be47c8e.


Release/upstream 0.10.7

@PiotrKozimor
This is the only resolved conflict I don't feel completely confident about. I accepted both in this case:


Update mellanox dpdk example files

@Mmduh-483, can you fix also https://github.com/intel/sriov-network-device-plugin/blob/master/docs/rdma/configMap.yaml to have the prefix.

@ahalim-intel @zshi-redhat Can you please review?

@zshi-redhat  Can you please re-review?

Overall i think this looks Good.

/lgtm


Add derived index: NOAA heat index

This PR builds off the fire branch, which adds in the structure for derived indices. Please review that PR before reviewing this one!
Add NOAA heat index as a derived variable option for hourly WRF data. To find this option, select "Dynamical" (WRF) and "hourly". Then pick "Derived Index" and select "NOAA heat index" from the dropdown! :D

The regression equation used to compute the heat index is "not valid for extreme temperature and relative humidity conditions beyond the range of data considered by Steadman" according to the reference, and it's unclear to me if using the simpler equation when the regression equation gives an index below 80F makes it valid. That to me warrants a check for the data range Steadman considered.

The regression equation used to compute the heat index is "not valid for extreme temperature and relative humidity conditions beyond the range of data considered by Steadman" according to the reference, and it's unclear to me if using the simpler equation when the regression equation gives an index below 80F makes it valid. That to me warrants a check for the data range Steadman considered.

The additional documentation clears this up I think (you just need to scroll down the page): "The Rothfusz regression is not appropriate when conditions of temperature and humidity warrant a heat index value below about 80 degrees F. In those cases, a simpler formula is applied to calculate values consistent with Steadman's results"

Yeah, that's my first reaction too, that using the simpler equation would make the index valid, but that part is not crystal clear to me. The quote about data range appears after it, and makes no reference about the quote about the simpler equation. I could be reading too much into this, but the data range may potentially be something different than the regression equation giving an index less than 80F.

The regression equation used to compute the heat index is "not valid for extreme temperature and relative humidity conditions beyond the range of data considered by Steadman" according to the reference, and it's unclear to me if using the simpler equation when the regression equation gives an index below 80F makes it valid. That to me warrants a check for the data range Steadman considered.

The additional documentation clears this up I think (you just need to scroll down the page): "The Rothfusz regression is not appropriate when conditions of temperature and humidity warrant a heat index value below about 80 degrees F. In those cases, a simpler formula is applied to calculate values consistent with Steadman's results"

Yeah, that's my first reaction too, that using the simpler equation would make the index valid, but that part is not crystal clear to me. The quote about data range appears after it, and makes no reference about the quote about the simpler equation. I could be reading too much into this, but the data range may potentially be something different than the regression equation giving an index less than 80F.

Sorry to belabor this point, but I'm having a hard time following. It seems clear to me from the wording that when the heat index, given my the first equation (given by regression equation of Rothfusz ) gives a value of below 80 deg F, you should instead replace that value with a heat index computed by the simpler equation.
Can you clarify where you are confused? You may be correct that there is some ambiguity here, but I'm just having a hard time following.

The regression equation used to compute the heat index is "not valid for extreme temperature and relative humidity conditions beyond the range of data considered by Steadman" according to the reference, and it's unclear to me if using the simpler equation when the regression equation gives an index below 80F makes it valid. That to me warrants a check for the data range Steadman considered.

The additional documentation clears this up I think (you just need to scroll down the page): "The Rothfusz regression is not appropriate when conditions of temperature and humidity warrant a heat index value below about 80 degrees F. In those cases, a simpler formula is applied to calculate values consistent with Steadman's results"

Yeah, that's my first reaction too, that using the simpler equation would make the index valid, but that part is not crystal clear to me. The quote about data range appears after it, and makes no reference about the quote about the simpler equation. I could be reading too much into this, but the data range may potentially be something different than the regression equation giving an index less than 80F.

Sorry to belabor this point, but I'm having a hard time following. It seems clear to me from the wording that when the heat index, given my the first equation (given by regression equation of Rothfusz ) gives a value of below 80 deg F, you should instead replace that value with a heat index computed by the simpler equation.
Can you clarify where you are confused? You may be correct that there is some ambiguity here, but I'm just having a hard time following.

@nicolejkeeney @Tianchi-Liu, If this helps, the NWS has its own handy web-based calculator (https://www.wpc.ncep.noaa.gov/html/heatindex.shtml) for Heat Index. Testing values below 80F confirms that the simpler equation is how Heat Index values are calculated with temps below 80F (I tested this against the simple formula and got identical answers). While it is fair that we typically don't see Heat Index values below 80*F in the usual charts, this may just be not clear references ultimately, but is coded correctly here and matches the official method.

On a different topic, the reference page also noted at the bottom a different "practical" way to compute the index. The web calculator seems to be using the practical way instead (https://www.ncl.ucar.edu/Document/Functions/Heat_stress/heat_index_nws.shtml). Setting T = 60F and RH = 50% confirms this. If reproducing the results from the web calculator is desirable, the website I just linked has some more helpful information.

The regression equation used to compute the heat index is "not valid for extreme temperature and relative humidity conditions beyond the range of data considered by Steadman" according to the reference, and it's unclear to me if using the simpler equation when the regression equation gives an index below 80F makes it valid. That to me warrants a check for the data range Steadman considered.

The additional documentation clears this up I think (you just need to scroll down the page): "The Rothfusz regression is not appropriate when conditions of temperature and humidity warrant a heat index value below about 80 degrees F. In those cases, a simpler formula is applied to calculate values consistent with Steadman's results"

Yeah, that's my first reaction too, that using the simpler equation would make the index valid, but that part is not crystal clear to me. The quote about data range appears after it, and makes no reference about the quote about the simpler equation. I could be reading too much into this, but the data range may potentially be something different than the regression equation giving an index less than 80F.

Sorry to belabor this point, but I'm having a hard time following. It seems clear to me from the wording that when the heat index, given my the first equation (given by regression equation of Rothfusz ) gives a value of below 80 deg F, you should instead replace that value with a heat index computed by the simpler equation.
Can you clarify where you are confused? You may be correct that there is some ambiguity here, but I'm just having a hard time following.

@nicolejkeeney @Tianchi-Liu, If this helps, the NWS has its own handy web-based calculator (https://www.wpc.ncep.noaa.gov/html/heatindex.shtml) for Heat Index. Testing values below 80F confirms that the simpler equation is how Heat Index values are calculated with temps below 80F (I tested this against the simple formula and got identical answers). While it is fair that we typically don't see Heat Index values below 80*F in the usual charts, this may just be not clear references ultimately, but is coded correctly here and matches the official method.

@nicolejkeeney Apologize for my confusing wording. @vicford Thank you so much for sharing the calculator, super helpful! I totally agree with you both that the implementation of the logic (use Rothfusz regression equation first, if it gives a value < 80, then replace it with simpler equation) is flawless. I had been trying to point out the sentence at the bottom of the reference "The Rothfusz regression is not valid for extreme temperature and relative humidity conditions beyond the range of data considered by Steadman." It seems to be referring to something different from the 80F logic. I just delved into Steadman's paper, and it seems Steadman considered temperature in the range of 20-50C, and so the Rothfusz regression equation is not valid when the temperature is outside of the range, all based on my understanding.

Back to the discussions on the data ranges, I was going to propose setting the index to NaN when the input variables are out of range, but the current implementation can definitely serve as A version of heat index with defensible reference. The reason is that the web calculator actually spits out results when extreme temperatures are given to it, even though the results might be meaningless according to the note below the calculator. Also considering the fact that the data ranges (in Steadman's paper and in the heat index chart below the web calculator) are somewhat arbitrary, plus the fact that there are more than one ways to calculate the index, I'm recognizing that the heat index doesn't enjoy an precise definition as variables like temperature do.

Side note: Regardless of which heat index is presented to the users, I think depending on the user expectations, documentation and/or guidance might be appreciated by them, especially those who are interested in the extremes.

In terms of next steps: following the notes that @Tianchi-Liu provided

In practice, the Steadman formula is computed first and the result averaged with the temperature. If this heat index value is 80 degrees F or higher, the full regression equation along with any adjustment as described above is applied. If the ambient temperature is less the 40F (4.4C/277.65K), the heat index is set to to the ambient temperature.

Balanced by:

Steadman considered temperature in the range of 20-50C, and so the Rothfusz regression equation is not valid when the temperature is outside of the range

20-50C is 68-122F
In short, an approach:
<40F: heat index = ambient air temperature
40-68F:  Simple equation, where Rothfusz eqn is not valid, but simple eqn also follows the UCAR process
68-80F: Simple equation, where Rothfusz eqn is also valid but not used
80+: Full regression equation, where Rothfusz eqn is valid

After the changes I just made, the function works as follows:

The heat index is computed using the regression equation of Rothfusz (see NWS documentation)

HI = -42.379 + 2.04901523*T + 10.14333127*RH - .22475541*T*RH - .00683783*T*T - .05481717*RH*RH + .00122874*T*T*RH + .00085282*T*RH*RH - .00000199*T*T*RH*RH

For RH < 13% and 80F < T < 112F, HI regression equation is adjustment is subtracted from regression equation of Rothfusz

ADJUSTMENT = [(13-RH)/4]*SQRT{[17-ABS(T-95.)]/17}

For RH > 85% and 80F < T < 87, HI regression equation is adjustment is added to the regression equation of Rothfusz

ADJUSTMENT = [(RH-85)/10] * [(87-T)/5]

When the heat index from the regression equation of Rothfusz produces a value in the range 40F < HI < 80F, the simpler formula from Steadman is used instead

HI = 0.5 * {T + 61.0 + [(T-68.0)*1.2] + (RH*0.094)}

When the heat index from the regression equation of Rothfusz results in a value LESS than 40F, the ambient temperature is used (following the NCAR NCL documentation)

HI = T

Side note: Regardless of which heat index is presented to the users, I think depending on the user expectations, documentation and/or guidance might be appreciated by them, especially those who are interested in the extremes.
Happy to chat more if anything is unclear!

Excellent point, I improved the variable description in app.select and the function documentation!

Thanks @vicford and @Tianchi-Liu for this discussion, it's been interesting to follow and very helpful! Appreciate the thorough review.

https://www.wpc.ncep.noaa.gov/html/heatindex.shtml

Good catch, I will fix that now!

Thanks Nicole for improving the docs! One minor observation is that in the NCAR documentation, the 40F cutoff is based on the ambient temperature instead of the heat index. Updating the code would probably be easier than justifying the use of heat index.

Good catch, I'll fix that now :D


Use TranslatorInterface instead of specific class

Will prevent fatal error when the legacy Context will reuse the translator already instantiated by Symfony

Thank you @Quetzacoalt91


Fix create if exists live tests

Fix some tests that were consistently failing in the nightly builds.
These tests were mixing up the BlobServiceClient instance they were using. Changing the tests to be consistent in which client they use fixes the issue

API change check for com.azure:azure-storage-blob
API changes are not detected in this pull request for com.azure:azure-storage-blob

/azp run java - storage - tests

/azp run java - storage - tests

Overriding the check enforcer that is blocked on failing live tests. The tests relevant to this PR are passing and fixes for the other failing live tests will come in another PR.

/check-enforcer override


Introduce namespaceSelector

Add nex field: namespaceSelector
It is a pure label selector. For instance, setting it to: env=prod will look for resources in any namespace with label env set to prod

Fixes #52


Changelog.md not updated

This seems to be used by the vscode extension changelog view and only lists 0.5.9 as the last version.

Thanks. I often forget about the changelog. The primary new feature is support for Dancer2, and there were a couple bug fixes as well. I'll try to keep it updated. It's always good to highlight new features. Thanks!


Cucumber.yml Re-run issue

From @reach2jeyan on April 16, 2018 9:11
I want to re-run the failed scenarios in cucumber, and I understand I can do it using the command
cucumber --tags @abc --format json --out abc.json --format pretty -f rerun --out rerun.txt || cucumber @rerun.txt
Now, As I am implementing parallel tests and I am launching multiple scenarios in different devices. This is done by launching multiple cucumber profiles using cucumber.yml with rake.
def run_cucumber(profile) #Configure cucumber to run rake tasks through profiles.
  Cucumber::Rake::Task.new do |t|
    t.profile = profile
  end
  Rake::MultiTask[:cucumber].invoke
end

Now the cucumber.yml contains the profile name with re-run as
PixelXL: --tags @device2 --format json --out device2.json --format pretty -f rerun --out rerun.txt || cucumber @rerun.txt

When I run this using rake with command rake PixelXL after defining a rake task to cucumber.yml. I get this error:
bundle exec cucumber --profile MotoZ2play

    No such file or directory - ||. You can use `cucumber --init` to get started.

And hence I tried using re-run manually by removing from the cucumber.yml and adding it to at_exit with:
at_exit do
  @reruninfo = File.open("rerun.txt") {|file| file.read}
  if @reruninfo.size > 1
    system('cucumber @rerun.txt')
  end
end

This re-runs fine, but would be in loop, since the filesize is always more than 1 as the scenarios have failed once and wouldn't erase. Is there a way, I can implement re-run either with cucumber.yml or by mentioning in hooks? while running with rake?
Copied from original issue: cucumber/cucumber#362

Hey @reach2jeyan, are you still experiencing this issue?

Yes i do! I cannot use re-run using cucumber profiles. I ended up running with --tags option.


Proto4

@maximpertsov not sure why the license finder is failing on protobuf when the license hasn't changed in 4.5 years...

@maximpertsov not sure why the license finder is failing on protobuf when the license hasn't changed in 4.5 years...

I'm actually surprised it passed the first time - that license you linked isn't one that we explicitly allow-listed. It's permissive enough so we should just add it though.


Multiple className assertion fails

When asserting for multiple className separated by space I get this error.
As you can read the excpected value and the actual one are equals but somehow it fails
AssertionError: expected the node in <WithRoute[BaseLink] /> to have a 'just-a-class-name active' class, but it has 'just-a-class-name active'

HTML:

Basically, this works:
expect(output.find('a')).to.have.attr('class', 'just-a-class-name active');

But this doesn't
expect(output.find('a')).to.have.className('just-a-class-name active');

I would not expect the latter to work. I might expect that to.have.className('a', 'b') would work, however.
Working with "class" as a space-separated list is legacy and something I'd want APIs to discourage.

It seems that I have a similar issue, but without the spaces.
With this:
expect(wrapper).to.have.className('baseClass')

I get this:
AssertionError: expected <withClasses(SampleComponent) /> to have a 'baseClass' class, but it has undefined

    HTML:

But this one passes the assertion
expect(wrapper).to.have.attr('class', 'baseClass')

Sorry, just found out that I had to use .dive() as the component being tested was created using with a HOC. Here's the working code:
expect(wrapper.dive()).to.have.className('baseClass')

Thanks!

@LeonardoGentile we don't support multi value assertions (not in this assertion nor in any other I believe), you'll have to write your test as:
expect(output.find('a')).to.have.className('just-a-class-name');
expect(output.find('a')).to.have.className('active');


[Bug] WEB UI not showing workflows 'correct'

The flows are getting pushed out of the view in the dashboard.
Its a pure visual bug.
Every time i scroll down in the dashboard viewer, the loader pushes all records further down out the screen again.
To Reproduce
Steps to reproduce the behavior: difficult, it only happens on 1 of the 3 environments

Go to 'namespace workflow list'
See picture_1

Expected behavior
To be on top of the dashboard.

Desktop (please complete the following information where relevant):

OS: Windows 10
Browser Chrome/Firefox and Edge
Temporal Web Version [1.9.0]
Tctl Version [1.9.0]
docker-compose is used

Yup we have this too and in various browsers.

addition: Happens only when there is a "RUNNING"  flow, if there isnt a running flow. it works as should

@WLagemaat @bbottema this issue was fixed in v1.9.1 of Web UI. Web UI can be upgraded on its own without the server, at least up to version v1.10.0 as of time of writing

Cheers @feedmeapples
I'll go ahead and update to the latest (possible) then.

Updating to 1.10.0 fixed the issue for me. thx for pointing out @feedmeapples


Service Parameters

Hi.
I can see there are some port metrics features but no services that expose those ports :
metrics:
  # -- Enable Prometheus Metrics
  enabled: true
  # -- Metrics port for Controller Server
  controllerPort: 9090
  # -- Provisioner metrics port
  provisionerPort: 9091
  # -- Resizer metrics port
  resizerPort: 9092
  # -- Snapshotter metrics port
  snapshotterPort: 9093
  # -- Metrics port for Node Serer
  nodePort: 9094
  # -- Attacher metrics port
  attacherPort: 9095

https://github.com/weka/csi-wekafs/blob/7acb515f553b6647bf9d212ea71984fa09f27552/charts/csi-wekafsplugin/values.yaml#L113C1-L127
However, I don't see any services in values.yaml file and in the chart templates, is it possible to add template service parameters, examples as follows :
service:
    type: ClusterIP
    ports: []
    nodePorts: ""
    clusterIP: ""
    externalTrafficPolicy: Cluster
    labels: {}
    annotations: {}
    extraPorts: []

Hello,
The metrics exposed by the CSI plugin at these moments are only standard GO metrics. Since those should be scraped by Prometheus from each pod separately, there is no need to expose a service for them.
If / when additional, plugin-global metrics are published under metrics, then definitely a service will be exposed.


'sudo' required to run ceph after client is setup

After a client is setup using ceph-client role,  following are the permission on the keyring
ubuntu@mira022:~/cephtest/mnt.0/client.0/tmp$ ls -lt /etc/ceph/
total 12
-rw------- 1 ceph ceph 129 Dec  2 01:09 ceph.client.admin.keyring
-rw-r--r-- 1 ceph ceph 689 Dec  2 01:09 ceph.conf
-rw-r--r-- 1 root root  92 Dec  1 22:00 rbdmap
since the keyring is owned by ceph and the 'ceph' binary is owner by 'root', without 'sudo' ceph will not be able to read the keyring
ceph -s
2016-12-02 01:42:27.657726 7fd63d4e0700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.b
Do we have to fix any ownership change for the binary or the file? I believe 'normal' user should be able to use ceph cli and capablities decide what  the user can do?

We have to keep rw for the admin key because whoever calls Ceph using this key can do pretty bad damage to the cluster.
This behaviour is expected and won't probably be fixed. I hope you understand the concern :).
I'm closing this as a won't fix.

sure agree, I think what we did in teuthology runs for clients was we made it easy for workunits to run :), I believe this is the correct behaviour for admin keyring file. Thanks


Specification: not clear explanation of mixin application warning

Dart Language specification, 4th Edition, Dec 2015, "12.1 Mixin Application"
"Let MA be a mixin derived from a class M with direct superclass Sstatic.
Let A be an application of MA. It is a static warning if the superclass of A
is not a subtype of Sstatic."
The first sentence from the above is not clear enough. Sstatic is superclass of M or MA (in 4th edition mixins are allowed to have superclasses other than Object)? What exactly is described above?
class Sstatic {
}
class M {
}
class MA = Sstatic with M;
class SuperA {
}
class A = SuperA with MA;

Or may be
class Sstatic {
}
class M extends Sstatic {
}
class SuperA {
}
class A = SuperA with M;

Please clarify and change the spec to be more clear here.

Please clarify, what exactly is ment in specification under
"Let MA be a mixin derived from a class M with direct superclass Sstatic.
Let A be an application of MA. It is a static warning if the superclass of A
is not a subtype of Sstatic."
Could you show an example?

The mixin MA is derived from the class M, and M has direct superclass Sstatic.
That means that there is a class:
class M extends S_static {
  contentsOfMA();
}

The mixin, MA, derived from this class contains the members declared by M (e.g., contentsOfMA()).
The mixin application of MA with superclass X can, for example, be written as
class A = X with MA;

It is an error if X is not a subtype of Sstatic.
You can also write:
class Z extends X with MA { something(); }

Here the superclass of Z is the mixin application X with MA and that mixin application must satisfy that X is a subtype of Sstatic.
The description is exactIterable normalizeCase(Iterable codePoints);

I have added an explanatory comment to the spec.


feature Request: Alternate CalDav-Description Rendering

Background: I am using OpenTasks, Davdroid on Android and Thunderbird with Lightning on my Desktop to sync with a Davical-Server.
Most Clients Render the Description of a Tasks as plain text which does not result in a usable Task-Overview especially if the task is more complex. Using OpenTasks with other Clients results in strange plain_text e.g.. OpenTasks uses [ ] and [x] for checkboxes but if one line of the description text contains [ ] OpenTasks will add a [ ] to all following lines so its not possible to to something like:
"my nice description of the task. Do Following:
[ ] text1
[ ] text2
[ ] text 3
and dont forget to do:
[ ] text
[ ] text"
Would it not be a good idea to expect the description field to contain markdown and parse markdown to a UI (e.g. html on client side with marked) with this approach it is more compatible between clients.
Features needed summarized:

Add a markdown editor to modify the Task description --> replace description and checkbox field
Convert markdown client-side to UI e.g. as html
(- additionally it would be nice to weight "checkboxes" e.g.
-[ ]{1} Write this request  -> default
-[ ]{8} Implement Features
so you can calculate the overall progress with weights.)

Looking forward to a controversy. If the request is excepted I am willing to develop a Thunderbird-lightning add-on so support markdown ( Does not make sense for me atm if there is no android client which supports this feature.)

Actually we already planned that, but there are some challenges with this. It's easy to replace [ ] and [X] with check boxes in the text (and render it like markdown does), essentially preserving the original structure. However this becomes more difficult if you still want to edit the text or rearrange checklist items at the same time.
We need a different model to support that. Instead of parsing the text into two different components (description & check list) we could parse it into a single list of DescriptionItems, which can either be PlainTextItems (or maybe later MarkdownTextitems) or CheckBoxItems. The PlainTextItems could either contain all text between CheckBoxItems or optionally only span a paragraph.
That would mean instead of having two sections in the UI (description and checklist) we would have only one that contains both options. That raises the question: how would the UI to insert a check list item or a plain text item look like? The current approach wouldn't work that well anymore.
The weights feature is nice, but might be a bit overkill. Is there any other tool that supports it?

No there is no tool which supports weigths at the moment. But i am planning to add this feature
I startet developing the thunerbird + lightning addon. Basicly i use a iframe to display the html generated from the markdown and enrich the dom with functionality to pass changes to my parent "application". So i dont use a model because caldav defines it.
Aside from rearrange listitems per drag and drop and an gitlab like editor it works like a charm.
(First release soon)
Maybe using a webview and bridging functionality could be an feasible approach for you.


Update app.less

At least give them Arial instead of Times (if you can't serve the hard coded custom fonts). Authors were expecting sans-serif.

Hi @getsetbro, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@getsetbro, You can use fallback font rules in css files of custom visuals.

This pull request provides another way (my PR to serve the actual fonts was closed ) for you to support the current non-custom visualizations.

We have added fallback fonts in a separate PR. Thanks for suggestion.


httpd

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

looks like this was opened accidentally


Wont let me select a model

it downloads and launches just fine it just wont let me select a model and wont respond to prompts

It wont let you select a model as you then probably dont have any installed. Please try to remove the folder C:\Dalaix and the dalai folder in your user folder, and then try again to install, I hope that fixes your issue


[feature request] Improve log

I think it would be nice to have more information in the log file. Here is the list of the improvements I would love to see:

Result count in the title: instead of Escapes, having Escapes (120) for instance
Section with mutants not covered by tests similar to Escapes or Errors sections

Closing on the following basis: The main change noted is to list mutants not covered by tests, however that can be resolved (mostly) through Line Code Coverage analysis. It's not a Mutation Testing target and indeed we literally skip over such mutants as a performance optimisation. Logging them does no good until tests covering them actually exist.


Document the P2P parameters

What
Document the workings of the P2P parameters in the configuration
Why
When running cardano-node in p2p mode there are four parameters that influence behavior:
TargetNumberOfRootPeers, TargetNumberOfKnownPeers, TargetNumberOfEstablishedPeers, TargetNumberOfActivePeers
I have been running P2P on both testnet and mainnet and I think I have a general idea of what the parameters indicate. However, I'm not entirely sure on the behavior. I think it would be a good idea if we have an explanation of the workings of these parameters in the docs/ folder.
If someone is willing to elaborate on the exact behavior I am willing to write a bit of text and createa a PR for adding this information to the docs. The most mysterious part to me is the term "Root Peer": what is a root peer? What does the target amount indicate? What happens to inbound connections if the number of root peers has been reached, stuff like that.
I'm sorry if this documentation is already out there, I have been searching for it but have not found an explanation that clears it all up for me.
Personas - Who will this affect?

[ x ] SPO
[ no ] Dapp Devs
[ maybe ] Exchanges

Acceptance Criteria
As an operator of cardano-node I would like to see a short and concise definition of the workings of the above mentioned parameters.
Definition of done

[ ] Code review
[ ] Builds successfully on CI
[ ] Includes documentation and/or examples for the functionality
[ ] Log/record changes on Vnext (or similar depending on what we adopt)
[ ] Ticket number included in PR description
[ ] The new functionality is covered by dev/unit/property tests
[ ] Acceptance Criteria met
[ ] Test Engineering Sign-off + E2E automated tests

Sign-off

[ ] Dev
[ ] Test Engineering

Related PR

PR # here

This was explained in cardano-node-1.35.6 release notes, but we should document this somewhere in the docs or a create a wiki page for it.


Optimize Entity.addChild sanity check with application level index

Possible solution for #685

Certainly makes a big difference. I don't hit a wall now until ~16,000 entities and the wall I hit is somewhere in render(). Entity.addChild() has dropped from 60% of my total runtime to 7%.

Merge?

@guycalledfrank it shall not be merged to stable, it has a bug: add/remove to index shall be applied to each child of added entity. Otherwise children wont be in index that will lead to bugs.

Actually, it's a bit more complicated than this change. I'll fix it later on with a update.


Styling Issue in IE11

Expected Behavior
proper styling of control
Current Behavior
4/7th of dates are being displayed out of the container
Possible Solution
modify CSS
Steps to Reproduce (for bugs)
https://chmln.github.io/flatpickr/#env-browser

click on Select Data

Context
trying to display a datetimepicker control on a form
Your Environment

Version used: using latest(CDN)
Browser Name and version: IE 11
Operating System and version (desktop or mobile):Windows 7

I fired up my VM and confirmed this in IE11.
It's an "overflow" bug, that affects max-width when using flex (from what I've read).
Adding width: 100%; to .flatpickr-rContainer appears to resolve the issue.
Alternately removing display: flex from .flatpickr-InnerContainer so that it's block seems to do it, but I belive the former is the actual fix core will want to include.

Hello,
Thanks for reporting this @softdev878 , and for your feedback @jaredatch
Fix coming tomorrow in a new release :cake:

Fixed by https://github.com/chmln/flatpickr/commit/51bb31dc7db06ae01b7c35a27eea8cf0dbe8d7e5

Shall any problems arise in the future, please feel free to reopen the issue

Thank you @chmln :)


Add a blog and feature community content

@bkeepers and I discussed adding a blog to the site and featuring a new app every month and including a blog post written by the app's author.

Reopening, since I think we still wanna have a blog some day!

See #123


feat: allow setting notification read also from web notifications

Hey, I just made a Pull Request!
Allow setting notification read also from web notifications and snackbar when opening link similarly like in the #24508 for the notifications table.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Not stale, need a rebase

Not stale, needs review, @mareklibra if you have time :)

@Rugvip mind re-checking this? Thanks!

Not stale, waiting for final review, ping @Rugvip

Not stale, waiting for merge, ping @Rugvip

Can we get this merged? Ping @Rugvip / @mareklibra


Endosomal transport / results_in_transport_to_from_or_mediated_by

def: "The directed movement of substances into, out of, or mediated by an endosome, a membrane-bounded organelle that carries materials newly ingested by endocytosis. It passes many of the materials to lysosomes for degradation."
EquivalentTo:
transport and (results_in_transport_to_from_or_mediated_by some endosome)
This is the only use of 'results_in_transport_to_from_or_mediated_by', which is a leaf-node relation.  There is therefore no infered classification under this term (although there are a bunch of things that used to be inferred subclasses (see end)).
This could be fixed by moving this relation under
results_in_transport_to_from_or_in  AND mediated_by*
BUT - this would be a somewhat hacky.  It would only be safe in patterns with transport in the range.
(*mediated_by = has_agent = has_active_participant?)
ETINES:
GO:0006895 'Golgi to endosome transport' GO:0016197 'endosomal transport'
GO:0008333 'endosome to lysosome transport' GO:0016197 'endosomal transport'
GO:0043485 'endosome to pigment granule transport' GO:0016197 'endosomal transport'
GO:0045022 'early endosome to late endosome transport' GO:0016197 'endosomal transport'
GO:0045324 'late endosome to vacuole transport' GO:0016197 'endosomal transport'
GO:0048227 'plasma membrane to endosome transport' GO:0016197 'endosomal transport'
GO:0061502 'early endosome to recycling endosome transport' GO:0016197 'endosomal transport'
GO:0006895 'Golgi to endosome transport' GO:0016197 'endosomal transport'
GO:0008333 'endosome to lysosome transport' GO:0016197 'endosomal transport'
GO:0043485 'endosome to pigment granule transport' GO:0016197 'endosomal transport'
GO:0045022 'early endosome to late endosome transport' GO:0016197 'endosomal transport'
GO:0045324 'late endosome to vacuole transport' GO:0016197 'endosomal transport'
GO:0048227 'plasma membrane to endosome transport' GO:0016197 'endosomal transport'
GO:0061502 'early endosome to recycling endosome transport' GO:0016197 'endosomal transport'

Such a vague grouping should at least have a do_not_annotate tag
67 direct annotations, most annoying.

Such a vague grouping should at least have a do_not_annotate tag

Possibly - but I suspect the grouping reflects common usage in this case.

OTOH:

Perhaps we should just switch to results_in_transport_to_from_or_in and modify the def accordingly.  Should check papers annotated to first though.

Sometimes the assays aren't really good enough to say from where to where. We only feel safe with "endosomal transport" as we know it is stuffed. For instance you get accumulation  in the of a vacuole of marker which is usually exported. We don't know absolutely   which stage the problem affects....

@ValWood - Is results_in_transport_to_from_or_in sufficient - skipping the mediated_by ?
=>
label: endosomal transport
def: "The directed movement of substances into, out of, or in an endosome, a membrane-bounded organelle that carries materials newly ingested by endocytosis. It passes many of the materials to lysosomes for degradation."
EquivalentTo:
transport and (results_in_transport_to_from_or_in some endosome)

Yes I think so. I'm not even sure transport "within the endosome". I don't think there is any "within" endosome transport process. Only into or out  of....

Fixed.  (I've kept the general term valid for annotation).


WebApp reporter should always show effective license

If there is no declared license and no detected license (e.g. because the scan step is skipped due to a concluded license), the webapp reporter does not show any licenses, even though an effective license should be present and therefore I think it should be shown in the report.
Example:
We have a curation with concluded_license and authors for Protobuf:3.19.8 and even thought the correct license appears in the disclosure document, there is no information regarding the license in the WebApp. Still, the author information from the curation is shown.

The effective license was added to the evaluated model in https://github.com/oss-review-toolkit/ort/pull/8579, but probably more work is need to actually display it in the web app report.