[SPARK-6237][NETWORK] Network-layer changes to allow stream upload.

These changes allow an RPCHandler to receive an upload as a stream of
data, without having to buffer the entire message in the FrameDecoder.
The primary use case is for replicating large blocks.  By itself, this change is adding dead-code that is not being used -- it is a step towards SPARK-24296.
Added unit tests for handling streaming data, including successfully sending data, and failures in reading the stream with concurrent requests.
Summary of changes:

Introduce a new UploadStream RPC which is sent to push a large payload as a stream (in contrast, the pre-existing StreamRequest and StreamResponse RPCs are used for pull-based streaming).
Generalize RpcHandler.receive() to support requests which contain streams.
Generalize StreamInterceptor to handle both request and response messages (previously it only handled responses).
Introduce StdChannelListener to abstract away common logging logic in ChannelFuture listeners.

Test build #90693 has started for PR 21346 at commit 49e0a80.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3272/
Test PASSed.

Test build #90694 has started for PR 21346 at commit fa3ac4e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3273/
Test PASSed.

It's been a little while since I've thought about this issue, so I have a few clarifying questions to help me understand the high-level changes:

I recall that the problem with large shuffle blocks was that the OneForOneBlockFetcher strategy basically read the entire block as a single chunk, which becomes a problem for large blocks. I understand that we have now removed this limitation for shuffles by using a streaming transfer strategy only for large blocks (above some threshold). Is this patch conceptually doing the same thing for push-based communication where the action is initiated by a sender (e.g. to push a block for replication)? Does it also affect pull-based remote cache block reads or will that be handled separately?
Given that we already seem to have pull-based openStream() calls which can be initiated from the receive side, could we simplify things here by pushing a "this value is big, pull it" message and then have the remote end initiate a streaming read, similar to how DirectTaskResult and IndirectTaskResult work?
For remote reads of large cached blocks: is it true that this works today only if the block is on disk but fails if the block is in memory? If certain size limit problems only occur when things are cached in memory, can we simplify anything if we add a requirement that blocks above 2GB can only be cached on disk (regardless of storage level)?

Test build #90694 has finished for PR 21346 at commit fa3ac4e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90694/
Test FAILed.

All good questions and stuff I had wondered about too -- I should actually be sure to comment on these on the jira as well:

I recall that the problem with large shuffle blocks was that the OneForOneBlockFetcher strategy basically read the entire block as a single chunk, which becomes a problem for large blocks. I understand that we have now removed this limitation for shuffles by using a streaming transfer strategy only for large blocks (above some threshold). Is this patch conceptually doing the same thing for push-based communication where the action is initiated by a sender (e.g. to push a block for replication)?

yes

Does it also affect pull-based remote cache block reads or will that be handled separately?

that was already handled by https://issues.apache.org/jira/browse/SPARK-22062 (despite the title saying its something else entirely).  That said, I recently discovered that my tests doing this for large blocks was incorrect, so I need to reconfirm this (I need to rearrange my test a little, and I've got a different aspect of this in flight so will take a couple of days probably).

Given that we already seem to have pull-based openStream() calls which can be initiated from the receive side, could we simplify things here by pushing a "this value is big, pull it" message and then have the remote end initiate a streaming read, similar to how DirectTaskResult and IndirectTaskResult work?

its certainly possible to do this, and I started taking this approach, but I stopped because replication is synchronous.  So you'd have to add a callback for when the block is finally fetched, to go back to this initial call -- but also add timeout logic to avoid waiting forever if the destination went away.  It all seemed much more complicated than doing it the way I'm proposing here.

For remote reads of large cached blocks: is it true that this works today only if the block is on disk but fails if the block is in memory? If certain size limit problems only occur when things are cached in memory, can we simplify anything if we add a requirement that blocks above 2GB can only be cached on disk (regardless of storage level)?

Correct; I'm currently investigating what we can do to address this.  (sorry, again I discovered my test was broken shortly after posting this.)  It would certainly simplify things if we only supported this for disk cached blocks -- what exactly are you proposing?  Just failing when its cached in memory, and telling the user to rerun with disk caching?  Changing the block manager to automatically cache on disk also when the block is > 2gb?  Or when sending the block, just write it to a temp file, and then send from that?
The problem here is on the sending side, not the receiving side; netty uses an int to manage the length of a  ByteBuf based msg, but it uses a long for a FileRegion based msg  (code is a little different in the latest on branch 4.1, but same problem is still there).  I'm investigating making a "FileRegion" that is actually backed by a ChunkedByteBuffer.
But that would go into another jira under SPARK-6235

btw I may have made the pull-based approach sound more complex than I meant to, I'm happy to take that approach if you think its better.  The fact the replication is synchronous doesn't really matter, I just meant its not a fire-and-forget msg, we have to setup the callbacks to confirm the block has been fetched (or a failure).  It just seemed like extra indirection to me, and I thought it would be better to stay closer to the UploadBlock path.
Are there particular reasons you think that approach would be better?  I guess the receiver can throttle the requests, but on the other hand the task on the sender will block waiting for the replication to finish (whether its success or failure), so we really don't want it to wait too long.

Test build #91056 has started for PR 21346 at commit 3098b9c.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3518/
Test FAILed.

Test build #4188 has started for PR 21346 at commit 3098b9c.

Test build #91056 has finished for PR 21346 at commit 3098b9c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91056/
Test FAILed.

Test build #4188 has finished for PR 21346 at commit 3098b9c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #91121 has started for PR 21346 at commit 2fef75f.

Test build #91121 has finished for PR 21346 at commit 2fef75f.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91121/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3560/
Test PASSed.

Test build #91122 has started for PR 21346 at commit 54533c2.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3561/
Test PASSed.

Test build #91122 has finished for PR 21346 at commit 54533c2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91122/
Test FAILed.

Test build #91136 has started for PR 21346 at commit 32f4f94.

Test build #91136 has finished for PR 21346 at commit 32f4f94.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91136/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3570/
Test PASSed.

Test build #91138 has started for PR 21346 at commit 331124b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3571/
Test PASSed.

Test build #91138 has finished for PR 21346 at commit 331124b.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91138/
Test FAILed.

Merged build finished. Test FAILed.

Test build #4189 has started for PR 21346 at commit 331124b.

Last failures are known flakies.
A few updates here from my last set of comments.  I've posted an overall design doc, and shared the tests I'm running on a cluster.  I think the tests cover all the cases care about, but would appreciate review on that tests too.  I can change this to use the existing pull approach for large blocks, rather than updating the push one if you want.  If you're OK with this, there will be one more PR on top of this to make use of the new uploadStream functionality.
There will be another PR as well to cover reading large remote blocks in memory for SPARK-24307

I've posted an overall design doc, and shared the tests I'm running on a cluster.

Where did you post those? Couldn't find them on the bug, nor the bug linked from that bug.

Test build #91192 has started for PR 21346 at commit f4d9123.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3612/
Test PASSed.

Test build #91195 has started for PR 21346 at commit 7bd1b43.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3615/
Test PASSed.

Test build #91195 has finished for PR 21346 at commit 7bd1b43.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91195/
Test FAILed.

Test build #4190 has finished for PR 21346 at commit 7bd1b43.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

So, one thing that I was thinking about is whether it would be worth it to make error handling a little better here. I think this is no worse than the current status quo, and looking at the related PR I'm not sure how much better this would make things, but...
The current implementation sends a  "header" message + the streamed payload as a single RPC, so there's a single opportunity for the receiver to return an error. That means that if, for example, the receiver does not have enough space to store a block that is being uploaded, it can return an error, but the sender will still try to send all the block data to the receiver (which will just ignore it).
I'm wondering if it would be worth to try to implement this as a couple of "chained RPCs", one that sends the metadata and a second one that streams the data. That way the receiver can error out on the first RPC and the sender can just throw away the second RPC, instead of having to transfer everything.
It might create the "some state needs to be stored somewhere" problem on the receiver side, though. Haven't really thought that far yet.

I'm going to be starting a more detailed review pass on this now and will be getting caught back up with the discussion that's happened so far.
One high-level point I'd like to keep in mind: what are the major risks of this change in terms of introducing performance or correctness issues? If we identify risks (e.g. "this is a historically tricky area of code?"), can we mitigate those risks through correctness testing /  load testing?

Summary of key changes (WIP; notes to self):

Summary of changes:

Introduce a new UploadStream RPC which is sent to push a large payload as a stream (in contrast, the pre-existing StreamRequest and StreamResponse RPCs are used for pull-based  streaming).
Generalize RpcHandler.receive() to support requests which contain streams.
Generalize StreamInterceptor to handle both request and response messages (previously it only handled responses).
Introduce StdChannelListener to abstract away common logging logic in ChannelFuture listeners.

Question: is this effectively dead code at this point? In other words, this PR just adds the lower-level pieces but there's nothing currently using the new API? So this patch as of now has no behavior change and actual functional changes impacting queries / actual usage will come later when we wire this up to the block replicator?

is this effectively dead code at this point?

yes, thats right.  this PR by itself is not useful.  Its a step towards https://github.com/apache/spark/pull/21451
This is a good point to put in the PR summary -- I'll do that, and also your summary notes above, if you don't mind.

what are the major risks of this change in terms of introducing performance or correctness issues? If we identify risks (e.g. "this is a historically tricky area of code?"), can we mitigate those risks through correctness testing / load testing?

I've made an effort to make minimal modifications to all existing code paths, to minimize the risk of introducing bugs in current functionality.  My intention is to only turn it on by default initially for cases we know would fail with the old code -- when the data is > 2gb (SPARK-24297).  I've added unit tests and shared the test I'm doing on a cluster just to find holes in functionality (posted on the parent jira here: https://issues.apache.org/jira/browse/SPARK-6235?focusedCommentId=16484069&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16484069).  I have not done load testing yet but plan to.  Extra testing, of course, would certainly be good.

Test build #91324 has started for PR 21346 at commit 83c3271.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3716/
Test PASSed.

Test build #91324 has finished for PR 21346 at commit 83c3271.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91324/
Test FAILed.

Test build #4192 has started for PR 21346 at commit 83c3271.

Test build #4192 has finished for PR 21346 at commit 83c3271.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #4193 has started for PR 21346 at commit 83c3271.

Test build #4193 has finished for PR 21346 at commit 83c3271.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #4194 has started for PR 21346 at commit 83c3271.

Test build #4194 has finished for PR 21346 at commit 83c3271.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Test build #91450 has started for PR 21346 at commit 6c086c5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3796/
Test PASSed.

Test build #91450 has finished for PR 21346 at commit 6c086c5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91450/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/105/
Test PASSed.

Test build #91791 has started for PR 21346 at commit 3d28a1b.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91791/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3996/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/106/
Test PASSed.

Test build #91792 has finished for PR 21346 at commit cf991a9.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91792/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/107/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3997/
Test PASSed.

Test build #91793 has started for PR 21346 at commit 8a18da5.

Test build #91793 has finished for PR 21346 at commit 8a18da5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91793/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/146/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4036/
Test PASSed.

Test build #91854 has started for PR 21346 at commit 1a222aa.

Test build #91854 has finished for PR 21346 at commit 1a222aa.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91854/
Test PASSed.

Test build #91925 has started for PR 21346 at commit ea4a1f5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4090/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/199/
Test PASSed.

Test build #91925 has finished for PR 21346 at commit ea4a1f5.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91925/
Test FAILed.

Test build #92101 has started for PR 21346 at commit fd62f61.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/329/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4223/
Test PASSed.

Test build #92101 has finished for PR 21346 at commit fd62f61.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92101/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/487/
Test PASSed.

Test build #92347 has started for PR 21346 at commit 58d52b9.

Merged build finished. Test PASSed.

Test build #92349 has started for PR 21346 at commit cd11abc.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/489/
Test PASSed.

Test build #92347 has finished for PR 21346 at commit 58d52b9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #92349 has finished for PR 21346 at commit cd11abc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92347/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92349/
Test PASSed.

Merging to master.


feat!: split package into description and launch

Since this breaks the package paths written in autoware_launch, we need to merge the PR to autoware_launch at the same time.
Related: https://github.com/tier4/autoware_launch/pull/213

Also, we have to change other vehicles as well.

@kenji-miyake "!" in the title is typo?

@wep21 No, it tells people there is a breaking change.
https://www.conventionalcommits.org/en/v1.0.0/

@kenji-miyake I got it. Thanks!

LGTM :+1:

Rebased to avoid conflicts.

I'll close and make another PR to do same thing for latest.


Fixes an issues reference in Makefile

@m1kola Would you please also update the PR message to have the same info as the commit, to save the info in the PR? Thank you


Short sad story: Spyder 5 installer?

I was happily running the latest minor of the Spyder 4 app on Windows 10. Then, today, I get a message saying Spyder 5 is available and asking me if I want to update. Since
1- letting your app update itself has never been a good idea;
2- I really wanted the new version
3- I am running out of hd space
I uninstalled spyder 4 and went to get the installer for the new version. I could not find it because the dropdown menu on the upper left here https://docs.spyder-ide.org/current/installation.html says Spyder 4 and 3. So I selected Spyder 4.
I started downloading again the Spyder 4 installer and came here to fill a formal complain. While here, I noticed that it is not yet a good idea to download Spyder 5 and became happy not to have found it.
When the downloaded completed, I found out that, despite I selected Spyder 4, the installer was for version 5.
So now I am sad again.
Please sync your web pages with the current version.

Hey @thistlillo, we understand your confusion. Unfortunately, we haven't had time to update our docs but we plan to do that in the next couple of months.
For now, please go to our Releases page to download Spyder 4.2.5:
https://github.com/spyder-ide/spyder/releases


About the test coverage of Lang-57

I tested the test coverage of bug Lang-57 and the results are as follows:

I manually checked the results and found the test cases for this bug are adequate enough. So why the branch coverage is 0 and the statement coverage is rather low.
Does it mean that the failing tests are ignored when calculating test coverage?
Anyone can help me?

Hi @Kaka727,
Can you please post the content of the failing_test file? Is the defect-triggering test case the only failing test case?
Thanks,
René

@rjust Hi

In the failing_test file, there are totally 11 test cases. Note that only one test case in this test file is passed. Thus, I guess the failing tests are ignored when calculating coverage.
Is this right?

I looked a little closer at this bug and the triggering tests. The observed behavior and coverage results seem correct and expected to me.
The tests fail with a NullPointerException in the test suite's setUp method, which means that they don't contribute to the coverage of the test suite -- the generic setUp method fails essentially before the "actual" test code is executed.
To answer your question, failing tests are not ignored for the coverage computation. The issued warning, however, indicates that the coverage results need to be properly interpreted. In this case the test suite's coverage on the buggy version is very low because the raised exception terminates the failing tests before (any) code of the class under test is executed.
Let me know if I am missing something.
Thanks,
René

@rjust
Thanks a lot!
I think you are right after a detailed review.


allow to pass a yaml file as content field definition

Allows to import array of flexible components (for example) fro external yaml file, e.g.
author:
  type: relation
  content_type: user
featured:
  type: boolean
page_content: flexible-components.yaml

Good idea @maries24
Can you add a test please.
2. Could you have an explicit key name for this. It will help if we ever look to support other config styles in Symfony. E.g.
author:   type: relation   content_type: user featured:   type: boolean page_content:    config: flexible-components.yaml

Hi @simonrjones I've made the change (introduced a 'config' key) and added tests. What do you think? Thanks.


How deal with String with zerocopy?

For AsBytes macro, the String type is not supported. So how workaroud this?
Use ffi Cstring? or something else?
I have some structure which have field other the example zeorcopy support, So how should workaround all those types and just use the zerocopy crate.

Can you show me a code snippet that you're hoping would work? We can't do String: AsBytes because its layout is not guaranteed. But perhaps you're just looking for str: AsBytes? That we have. If you have s: String, you can do s.as_str().as_bytes().

I'm gonna close this so it doesn't show up in our active issues, but feel free to continue the conversation.

how about convert String into usize + u8 arrays ?

Since String is a buffer of dynamic length, there's no general way to turn it into an array of static length. You can turn String into a slice of dynamic length with .as_bytes().

Since String is a buffer of dynamic length, there's no general way to turn it into an array of static length. You can turn String into a slice of dynamic length with .as_bytes().

yes,you are right. i mean we can transfer String in to [u8,n1] prefix and [u8,n2]. [u8,n1] is serialized from usize and represents the length of aString，and [u8,n2] is deserialized from the content of this String.


Remove ProtoBuf from SignalR Hub Protocol spec

We're not doing it for v1 (doing MsgPack for binary instead). We can always get it back from older versions when we are ready to add it and I want to make sure the spec is clear.
/cc @davidfowl @BrennanConroy @moozzyk
(The only reason this is an issue and not just a PR is that @BrennanConroy has a PR out for spec updates and I don't want to conflict)

It was not removed because we were thinking about creating ProtoBuf HubProtocole as a sample.

But would it be part of the official set of protocols? I just want to make sure it stays clear that it is not officially supported at the moment. And we can always pull it from source control history ;)

Lets not remove it just yet


More examples for custom fragments

Description
It would be great if the documentation had more examples of custom fragments that show how to use popular plugins like:

Link Field: Show us how to resolve the element field for multiple element types
Verbb's Navigation: Show us how to resolve the element field for multiple element types
SEOMatic: Show us how to include the seomatic field on entries with the asArray: true param

If you were to add these examples, it would also be great if you had end-to-end examples that show how to use this data in Gatsby.
I feel like i'm too often missing all the different pieces, and hitting roadblocks. Mind that this is partially due to migrating from the old GraphQL source plugin.

+1 for SEOMatic.
I had an absolute nightmare today figuring out how to query SEOMatic data as an array so that I could use this React package to parse it on the front end.
In the end I used the gatsby-source-graphql plugin separately with a custom schema to achieve this, e.g.:
  resolve: "gatsby-source-graphql",
  options: {
    typeName: "CraftCMS",
    fieldName: "craftcms",
    url: process.env.CRAFTGQL_URL,
    headers: {
      Authorization: `Bearer ${process.env.CRAFTGQL_TOKEN}`,
    },
    createSchema: async () => {
      const sdl = fs
        .readFileSync(`${__dirname}/src/schema/seomatic.sdl`)
        .toString()
      return buildSchema(sdl)
    },
  },
}

In gatsby-config.js
type Query {
  seomatic(
    uri: String
    siteId: Int
    site: String
    asArray: Boolean
  ): SeomaticInterface
}

type SeomaticType implements SeomaticInterface {
  metaTitleContainer: String
  metaTagContainer: String
  metaLinkContainer: String
  metaScriptContainer: String
  metaJsonLdContainer: String
  metaSiteVarsContainer: String
}

interface SeomaticInterface {
  metaTitleContainer: String
  metaTagContainer: String
  metaLinkContainer: String
  metaScriptContainer: String
  metaJsonLdContainer: String
  metaSiteVarsContainer: String
}

in src/schema/seomatic.sdl
Unfortunately I then found out that React Helmet only accepts HTML elements as children, so I wasn't able to use the React Seomatic component and eventually went with this strategy of parsing HTML to React: https://gist.github.com/rjgux/1a7ec4993c8e0a18b51322c9a8c6eed9.
So that's all working nicely now, but what a journey 😅

@moa-crypto take a look at my Craft + Gatsby article. It shows how to pass SEOmatic tags to Helmet using html-react-parser.


Extraneous vendor/eh directory in distribution

There is a directory, vendor/eh, in the files linked from https://pypi.org/project/swagger-ui-bundle/#files (https://files.pythonhosted.org/packages/a4/73/7e2f7e104586277a6838543a600bf837a52d052b1341e1661f1f120eaa25/swagger_ui_bundle-0.0.4-py3-none-any.whl and https://files.pythonhosted.org/packages/28/f3/21c81652f03115c3c6e28a643bc5c7a83963facc785dadded3084f19cb49/swagger_ui_bundle-0.0.4.tar.gz), that contains the following:
swagger-ui-3.22.3
swagger-ui-3.22.3.tar.gz

Diffing the contents, it looks like this is a staging directory for the swagger-ui distribution:
>diff -ur vendor/swagger-ui-3.22.3 vendor/eh/swagger-ui-3.22.3
Only in vendor/eh/swagger-ui-3.22.3: .agignore
Only in vendor/eh/swagger-ui-3.22.3: .babelrc
Only in vendor/eh/swagger-ui-3.22.3: .dockerignore
Only in vendor/eh/swagger-ui-3.22.3: .editorconfig
Only in vendor/eh/swagger-ui-3.22.3: .eslintrc
Only in vendor/eh/swagger-ui-3.22.3: .gitattributes
Only in vendor/eh/swagger-ui-3.22.3: .github
Only in vendor/eh/swagger-ui-3.22.3: .gitignore
Only in vendor/eh/swagger-ui-3.22.3: .npmignore
Only in vendor/eh/swagger-ui-3.22.3: CONTRIBUTING.md
Only in vendor/eh/swagger-ui-3.22.3: Dockerfile
Only in vendor/eh/swagger-ui-3.22.3: LICENSE
Only in vendor/eh/swagger-ui-3.22.3: README.md
Only in vendor/eh/swagger-ui-3.22.3: composer.json
Only in vendor/eh/swagger-ui-3.22.3: cypress.json
Only in vendor/eh/swagger-ui-3.22.3: dev-helpers
Only in vendor/eh/swagger-ui-3.22.3: dist
Only in vendor/eh/swagger-ui-3.22.3: docker
Only in vendor/eh/swagger-ui-3.22.3: docs
Only in vendor/eh/swagger-ui-3.22.3: flavors
Only in vendor/swagger-ui-3.22.3: index.j2
Only in vendor/eh/swagger-ui-3.22.3: make-webpack-config.js
Only in vendor/eh/swagger-ui-3.22.3: package-lock.json
Only in vendor/eh/swagger-ui-3.22.3: package.json
Only in vendor/eh/swagger-ui-3.22.3: postcss.config.js
Only in vendor/eh/swagger-ui-3.22.3: release
Only in vendor/eh/swagger-ui-3.22.3: snapcraft.yaml
Only in vendor/eh/swagger-ui-3.22.3: src
Only in vendor/eh/swagger-ui-3.22.3: swagger-config.yaml
Only in vendor/eh/swagger-ui-3.22.3: swagger-ui-dist-package
Only in vendor/eh/swagger-ui-3.22.3: test
Only in vendor/eh/swagger-ui-3.22.3: webpack-dist-bundle.config.js
Only in vendor/eh/swagger-ui-3.22.3: webpack-dist-standalone.config.js
Only in vendor/eh/swagger-ui-3.22.3: webpack-dist.config.js
Only in vendor/eh/swagger-ui-3.22.3: webpack-hot-dev-server.config.js
Only in vendor/eh/swagger-ui-3.22.3: webpack-watch.config.js
Only in vendor/eh/swagger-ui-3.22.3: webpack.check.js
Only in vendor/eh/swagger-ui-3.22.3: webpack.config.js
Only in vendor/eh/swagger-ui-3.22.3: webpack.dist-style.config.js

Why is this directory in the release? My application relies on minimizing the size of this dependency - can this package be released without this staging directory? Thanks.

Thanks @kislyuk - good catch.
That was my mistake in the package upload step.
I'll bump the version and do the upload properly this time...
My apologies for the inconvenience.

This should now be resolved with v0.0.5.
Please reopen if I missed something.

Thanks @dtkav, I can confirm that the extra directory is gone.


gh-1876 - replaced aggregationFunction with aggregateFunction

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@d4e787d). Click here to learn what that means.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##             develop    #1879   +/-   ##
==========================================
  Coverage           ?   66.73%
  Complexity         ?     1779
==========================================
  Files              ?      740
  Lines              ?    26115
  Branches           ?     3372
==========================================
  Hits               ?    17428
  Misses             ?     7304
  Partials           ?     1383

Impacted Files
Coverage Δ
Complexity Δ

.../gaffer/store/operation/handler/ReduceHandler.java
100% <100%> (ø)
0 <0> (?)

...java/uk/gov/gchq/gaffer/operation/impl/Reduce.java
90.62% <85.71%> (ø)
11 <3> (?)

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 d4e787d...5ab732b. Read the comment docs.


Template review feedback

Thanks for submitting a template to the gallery, there were a few issues in your template that needed to be resolved ahead of approving the template for the gallery.

encodeUriComponent should be used on user provided values that are then used as parameters in your url. These methods take in a single text argument and return a URI Encoded string. You should use this method on data.siteId when generating the url
const url = 'https://scripts.witstroom.com/one/' + data.siteId + '?' + generateRandom(1, 99999);

Thank you for the correction. EncodeUriComponent added.


[Plugins CI] Generate 1.4.0 artifact to unblock CIs

Security-dashboards-plugin CI for 1.x branch is currently blocked due to security plugin <IP_ADDRESS> artifact not being available[1]. All security-dashboards plugin PRs currently pointing to 1.x branch are blocked.
I understand that the 1.3 is the last minor version in 1.x line and there will not be 1.4.0 however OpenSearch and OpenSearch Dashboards seems to already been incremented to 1.4.0. So this is request to publish 1.4.0 artifact to unblock merging changes in 1.x line to then be backported to 1.3.
If we think that is not the best solution, an alternative approach is to announce it to plugins to stop basing PRs against 1.x, and directly push the changes to 1.3 which will unblock changes going into 1.3.
Thoughts?
[1] - https://github.com/opensearch-project/security-dashboards-plugin/pull/1750

[Triage]
Hey @DarshitChanpura I have added 1.x series to version increment automation this should have PR's created with 1.4.0 version increment.
Thanks

Hey @DarshitChanpura I have added 1.x series to version increment automation this should have PR's created with 1.4.0 version increment.
Thanks

Thank you @prudhvigodithi . This did create PRs however the CI build seems to not have run for 1.4.0 even though security plugin is added to 1.4 manifest

@jordarlu @prudhvigodithi windows 1.4 artifacts are not available yet. This is blocking this PR: https://github.com/opensearch-project/security-dashboards-plugin/pull/1951, can we generate those?

Hi @derek-ho @DarshitChanpura was this issue resolved?

@gaiksaya not yet. The windows artifact is not yet available: https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/1.4.0/1389/windows/x64/zip/builds/opensearch/plugins/opensearch-security-<IP_ADDRESS>.zip

Hi @DarshitChanpura I can access it now https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/1.4.0/latest/windows/x64/zip/builds/opensearch/plugins/opensearch-security-<IP_ADDRESS>.zip
Can you please check and close the issue if it is resolved?
Thanks!

yes, I can too. Thank you for fixing it @gaiksaya !


Support other objects than image

It would be nice to be able to display 3D objects such as in this example among others: https://kitware.github.io/vtk-js/examples/SphereMapper.html

:+1: This is on the agenda!

I'd be keen on this functionality and able to help to, The viewer class seems intimatly linked to the ITKImage would there be a way to abstract this? I've had a quick look at creating just the vtk.js viewer without passing the data through. Then the next steps I believe would be to workout how to serialize some of the other VTK classes. @thewtex is this along the right lines?

@WesleyTheGeolien fantastic! The help would be appreciated!
Yes, your assessment is correct: the next steps are serializing the data for consumption in vtk.js.
If you want to start pushing it forward, functions in JavaScript to serialize / deserialize the itk.js Mesh data structure would help. We will use this to efficiently (in compressed form) transmit the data from the kernel to the browser. There are not any JavaScript tests, but this could be a good time to start :-).

Sounds great I'll try and take a look in the next few weeks and reach out if / when I need help

An update: we will store a vtk.js PolyData instead of an itk.js Mesh client-side.

We now have support for geometry / meshes and point sets -- please see the examples, and create an issue if anything is missing that you need :-).


Fix remote.autoForwardPortsSource sometimes not respected from machine settings

Fixes https://github.com/microsoft/vscode/issues/184859

Nice find, thank you for the fix!


Add additional methods to Item

This PR adds methods for manipulating the pickup delay and despawn time of an Item.
Vanilla has a concept of an owner, which can be set through vanilla commands as the Owner NBT tag. Only an owner can pick up an item, except until 10 seconds before the item despawns. Then, anyone can pick it up.
The concept of an owner wasn't added, as this can be done through events. However, I'm concerned that this might cause plugins to interact badly with command blocks, which might set an owner. This would be opaque to plugins

Does anyone object to me merging this into the API completeness branch?

Ping @SpongePowered/developers

Who exactly are the core devs? I always get confused as to who I should be discussing this stuff with.
I know it's me, Zidane, gabizou, ...

Me, anyone in the @SpongePowered/developers group :P As a member of the
group you can see all the members. It's actually a fair number of people.
Good thing for a project like ours.

Oh, wow, okay. That's a lot.

Yep, its good because we all get busy with life from time to time. I know I
will be a lot less active after today since I will be going to class again
and robotics will be in session. So most of my energy is going to be
focused on studies and robots.
On the other hand, when we are all active, making decisions becomes pretty
difficult, but that's fairly rare.


Reformatted code and added javadoc comments to particles enums.

Reformatted all classes for easier reading.
Organised imports in all classes in an attempt to avoid my brain hurting more.
Added javadoc comments for the particles enums, I plan to add javadoc comments to all files if they are wanted but I only did a few of the simple and fast ones until it is confirmed that i can add javadocs.
Added the scr/main/javadoc folder, this will contain package-info files and additional javadoc resources.
Added javadoc comments to all classes within the me.blackvein.quests.exceptions package.

@GregZ123 Wow, thank you for taking the time to do this! Especially the comments <3
I intend to accept this PR once I look over everything later today.

@FlyingPikachu Seeing as you seem to want javadoc comments I will go through and add them to the rest of the classes. Just as a warning they may not all get written in time for this PR as there are a hell of a lot of classes with no comments.

@GregZ123 You're more than welcome to, as I'm sure it will encourage our fellow coders to lend a hand, but don't lose sleep over it! I appreciate your work thus far.

@FlyingPikachu Within the item util the compareItems method currently ignored chat color when comparing the items names, is this meant to be the case?

@GregZ123 You're referring to this line? https://github.com/FlyingPikachu/Quests/blob/master/src/main/java/me/blackvein/quests/util/ItemUtil.java#L67
I would assume it's intentional. Comparing display name colors would've been easy, so I have to wonder why Blackvein didn't just use .equals() or ItemStack.isSimilar()

@FlyingPikachu does the method at https://github.com/FlyingPikachu/Quests/blob/master/src/main/java/me/blackvein/quests/util/MiscUtil.java#L27 need to support ms (milliseconds) or is this not used? If it is not used then this method can be easily simplified with a regex matcher.

@GregZ123 The only place I see it being used is here https://github.com/FlyingPikachu/Quests/blob/master/src/main/java/me/blackvein/quests/prompts/CreateStagePrompt.java#L4452
Having just checked on v2.8.6, the Delay option in stage creation does still accept "7d 4h 3m 5s" format with a minimum of 1s (no milliseconds). So I can see the point in explaining this format should invalid input be entered, but it's certainly not mandatory. I'll leave the decision of whether to axe or improve the method up to you.

Planning to accept this PR tomorrow evening :)

In that case I will try and get the rest of the docs finished for then but I will likely have to make another PR later to finish them off.

@GregZ123 No rush! If you'd like more time that's fine too, but a separate PR is welcome.

Sorry that is is taking so long it is just that there is a hell of a lot of undocumented code and I have not had as much time as I had hoped between exams.

It's really no problem at all! Just don't want any conflicts to develop. In fact, I'm going to accept this now. Focus on your exams lol


Update the error to detect when the server only has v1beta1 CRDs

It's unclear what package upgrade prompted this change, however, the existing error detection no longer worked when running on OpenShift 3.11.
For further context, this is the error this is now detecting:
https://github.com/kubernetes-sigs/controller-runtime/blob/6747c42ce33966b0e77cac278c6b9087cc2f51c7/pkg/client/apiutil/restmapper.go#L189-L194
Relates:
https://issues.redhat.com/browse/ACM-9533

FWIW, it was added in controller-runtime v0.16.2. 🙂
Release: https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.2 PR: kubernetes-sigs/controller-runtime#2492

Ah, nice find!


Reduce size of the profile image

Feature request-
Reduce size of the profile image

Note:

Do mention if your are working under GSSoC'21.
If you want to work on an issue, you should check if it has already been assigned to anyone. If the issue is free you can comment /assign to get the issue assigned to you.
If you are raising a new issue and want to work on it then also you should comment /assign under the issue to get it auto assigned.
Please refrain from adding labels to your issue/pull-request on your own. It is the job of the Project Admin and the Mentors to review your issue/pull-request and add labels accordingly.
According to the level of the issue, respective time will be allotted under which the task needs to be completed/resolved by the assigned person. If the issue is not resolved within the given time, it will be assigned to the next person. In case of any discrepancies, the decision of the maintainer will be final.

level - 0: 2 days
level - 1: 3 days
level - 2: 4 days
level - 3: 5 days

/assign

@Pranav016 which one is the size you want ?

@Pranav016 which one is the size you want ?

first one 👍


Update Octicons

This updates the Octicons to 4.4.0 (almost newest). Some of the old icons from 2.1.2 that got removed in the meantime will still be available in Atom, so no packages should have missing icons.

Before
After

Here the 20 new icons that will be available:

Concerns
All icons should be fine except that the GitHub wordmark is much smaller. We can update the font size in places where we use that icon, like on the About page. The "Gist" icon is also quite small, but since it's a new one, it hasn't been used anywhere.
Remaining tasks:

[ ] Add icons to the Style Guide
[ ] Update the GitHub icon on the About page (and maybe more)

Closes https://github.com/atom/atom/issues/8314

Btw. this will probably be the last update because the newer Octicons 5.0 only support SVG.
And we should also move to SVG icons.. @joefitzgerald already got an etch version here: https://github.com/joefitzgerald/etch-octicon

Needs more padlocks:

Don't think we can ship with only four.


micro components

Let's take micro components discussion here.
To make live easier I'm pasting original comments about the micro component way of working here:

I already mentioned "micro components". In this case two micro components would have to share state (using Rc<RefCell> which usually works fine). If micro components then had an update_view() method, you wouldn't even need to send a message but could just call that method.
For this a tracker that supports multiple views would also be interesting for efficient UI updates.

Anyway, to make my idea more tangible, I've written down some Rust-like code that represents the concept of "micro-components". Micro-components are "loose" so they need the parent to attach the root widget to its widgets. They don't need to store a clone of their parents sender but have a "data" field that holds (currently immutable) data that can be used to store senders and other stuff according to the needs of the user (to make them more flexible). They can easily be modified by their parent component and also handle messages. The view function can be called manually by using update_view(). Of course there are some possible panics but they should be easy to debug and the only other option to RefCell would be unsafe code.
What do you think? Would that make things easier for you? Is there a use-case that isn't properly covered?
struct MicroComponent<Model: MicroModel> {
   model: Rc<RefCell<Model>>,
   widgets: Rc<RefCell<Model::Widgets>>,
   data: Mode::Data, // for additional data such as senders to other components
   sender: Sender<Model::Msg>,
}

impl<Model: MicroModel> MicroComponent<Model> {
   fn new(model: Model, data: Model::Data) -> Self { ... }
   fn update_view(&self) { ... }
   fn model(&self) -> &Model { ... }
   fn model_mut(&self) -> &mut Model { ... }
   fn widgets(&self) -> &Model::Widgets { ... }
   fn send(&self, msg: Model::Msg) { ... }
   fn sender(&self) -> Sender<Model::Msg> { ... }
}

trait MicroModel {
   type Msg;
   type Widgets: MicroWidgets<Self>;
   type Data;

   fn update(&mut self, msg: Self::Msg, data: &Data, sender: Sender<Self::Msg>);
}

trait MicroWidgets<Model: MicroModel> {
   type Root;

   fn init_view(&mut self, model: &Model, sender: Sender<Mode::Msg>) -> Self;
   fn view(&mut self, model: &Model, sender: Sender<Mode::Msg>);
   fn root_widget(&self) -> Self::Root;
}

For data store I've ended up writing my own variation about it. Without experiencing micro components I would not be able to do it again so either way they were useful.
@AaronErhardt I think all is ready in micro components. Can you review?

Code was merged by @AaronErhardt 3 days ago, so I'm closing this issue


BUG Binary Artifacts False positive scripts/Makefile.lib

Describe the bug
The file scripts/Makefile.lib from Linux Kernel forks is triggering as a binary artifact, when it is a Makefile.
Reproduction steps
Example repo:
https://github.com/google/capsicum-linux/blob/capsicum/scripts/Makefile.lib
Run scorecards, scripts/Makefile.lib is reported as a binary artifact.
Expected behavior
Not to be reported.

Is this a standard naming convention Makefile.lib, or that's what they picked?


[DOC] Feedback on Docker installation

What do you want to do?

[x] Request a change to existing documentation
[ ] Add new documentation
[ ] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
Feedback from community:
20230805 | /docs/latest/install-and-configure/install-opensearch/docker/ | Many small errors like:

[ ] docker prune but should be docker container prune
[ ] 20230706 | /docs/2.8/install-and-configure/install-opensearch/docker/ | where is the pluginId, can you give a discribe or link for this?
[ ] 20230720 | /docs/latest/install-and-configure/install-dashboards/docker/ | Is there a link to documentation for configuring using opensearch_dashboards.yml ? (This is in progress - https://github.com/opensearch-project/documentation-website/pull/4058)
[ ] 20230727 | /docs/latest/install-and-configure/install-opensearch/docker/ | This is too complicated. These instructions should be broken up.

What other resources are available? Provide links to related issues, POCs, steps for testing, etc.

Hi @hdhalter ,
docker container prune is right to use when trying to remove stopped containers: https://docs.docker.com/engine/reference/commandline/container_prune/

Meeting with Peter next week to update this topic.


Change UtunIfname sockopt type to CString

What does this PR do
As discussed in https://github.com/nix-rust/nix/commit/7badbee1e388618457ed0d725c1091359f253012, CString is a more appropriate type to represent the value of the UtunIfname sockopt, since the string returned by the kernel is always null-terminated.
In addition to changing the UtunIfname type, this PR introduces an implementation of GetCString to facilitate reading CString-typed sockopts.
Checklist:

[x] I have read CONTRIBUTING.md
[x] I have written necessary tests and rustdoc comments
[ ] A change log has been added if this PR modifies nix's API

I am uncertain about creating another changelog entry, considering this PR only modifies the yet-to-be-released UtunIfname sockopt from PR #2325.

Appreciate ya putting the effort

Hi @friedrich, seems that you need to rebase your branch:)

I just rebased 👍


The python script to extract json from pdf data is a mess - should it be refactored? Alternative libraries?

Currently the script works pretty well. But since the pdfs that we get from dhs kerala is very inconsistent, I had to use a lot of hacks to make the script work as intended. Also the pdftotext library used, is not very effective to all pdfs(say example pdf of date 02/12/2020). So what are your thoughts on refactoring the whole script? What other alternative libraries are there to extract tabular data from pdfs in a much better way? Also just manually adding the data for missing dates is the only solution(which destroys the purpose of this repo, but sitll)?

Camelot is an awesome library to extract tabular data from pdf. Camelot is built on top of pdfminer and it works well in most of the cases.
https://camelot-py.readthedocs.io/en/master/
What makes camelot different from others libraries are

each table is extracted as a pandas dataframe which will make the post extraction processes very easy
we can control the extraction using lot of parameter

@sreehari1997 Currently the repo uses 'pdftotext' for text extraction from the tables and have lots of caveats. Camelot is an amazing suggestion. I tried it out. But:-

Text from some of the pdf files are not extracted properly. For example check this pdf from 10-03-2020. Neither pdftotext nor camelot has been able to extract the table in page 3. I tried both the Lattice and Stream flavor with no positive results.

On the plus side, annex2 table has been extracted out pretty neatly.
             0                  1                                                  2               3                4
0         Date  No. of \npatients                                           District  Present Status          Remarks
1                               3                    Thrissur \nAlappuzha \nKasargod        Negative       Discharged
2    9.03.2020                  5                                     Pathanamthitta        Negative       Discharged
3    9.03.2020                  1                          Ernakulam (Kannur native)        Negative       Discharged
4   10.03.2020                  8  Kottayam-2 \nPathanamthitta –3 \nErnakulam -2 ...        Negative
5                                                                  Pathanamthitta– 1        Positive  Under treatment

I'll tweak more on this.


chore: run k8s/generate_code.sh

Same reason as https://github.com/longhorn/longhorn-manager/pull/1585.

cc @derekbit @shuo-wu


Cannot codesign Flutter.framework, replacing existing signature, Permission denied

Steps to Reproduce
cd dev/
SHARD=add2app_test dart bots/test.dart

Logs
https://cirrus-ci.com/task/6430807339565056?command=test_all#L54
total size is 94542653  speedup is 1.00
Stripped /Users/m/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Build/Products/Debug-iphonesimulator/ios_add2app.app/Frameworks/Flutter.framework/Flutter of architectures: armv7 arm64
Code Signing /Users/m/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Build/Products/Debug-iphonesimulator/ios_add2app.app/Frameworks/Flutter.framework with Identity -
/usr/bin/codesign --force --sign -  --preserve-metadata=identifier,entitlements '/Users/m/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Build/Products/Debug-iphonesimulator/ios_add2app.app/Frameworks/Flutter.framework'
/Users/m/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Build/Products/Debug-iphonesimulator/ios_add2app.app/Frameworks/Flutter.framework: replacing existing signature
/Users/m/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Build/Products/Debug-iphonesimulator/ios_add2app.app/Frameworks/Flutter.framework: Permission denied
Command PhaseScriptExecution failed with a nonzero exit code

Test session results, code coverage, and logs:
	/Users/m/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Logs/Test/Test-ios_add2appTests-2019.08.29_11-37-54--0700.xcresult

Testing failed:
	Command PhaseScriptExecution failed with a nonzero exit code
	Testing cancelled because the build failed.

** TEST FAILED **

The following build commands failed:
	PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/magder/Library/Developer/Xcode/DerivedData/ios_add2app-btprswwixqqclofvuogmdxvymovu/Build/Intermediates.noindex/ios_add2app.build/Debug-iphonesimulator/ios_add2app.build/Script-7FADF19EC61F97E525982780.sh
(1 failure)

git bisect says it's caused by https://github.com/flutter/flutter/commit/78cca6250a7104cc1dd89edf1982878530e55ee6.

The Flutter.framework/Flutter binary is made read-only, so can't be signed:
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/bin/xcode_backend.sh#L145
But that was added with https://github.com/flutter/flutter/commit/cb2b89c389e06c2cceb1a3361d520eaccb4cec8c (and changed with https://github.com/flutter/flutter/commit/e22d0e603c13b6d54cc3e4e567a434c6471be81a) back in 2017, with the intention of making the headers (not the binary) read-only.  So how did this ever work?  What recently changed with signing?  Why does this only seem to happen in modules and not for other Flutter apps using CocoaPods?
@christopherfujino Do you have any insights?

On a normal Flutter app:
$ ls -la DerivedData/Runner-bccqvzuansojwlfqejmweubuujjs/Build/Products/Release-iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter
-rwxr-xr-x   1 m  primarygroup  339098928 Aug 29 17:37 Flutter

In the module app:
-r-xr-xr-x  1 m  primarygroup  33486788 Aug 29 17:35 Flutter

Why is the app version writable (and therefore signable) but the module one isn't?

ummm this is really curious... I have no idea. Maybe @cbracken knows.

I am equally surprised :(

And now I can't reproduce on my machine even on master.

Reopening, PR was reverted.

I'm hitting this exact same error:
$ flutter build ios -t lib/main_qa_ios.dart --flavor=qa --release
...
/usr/bin/codesign --force --sign ...  --preserve-metadata=identifier,entitlements
'/Users/.../app/build/ios/Release-qa-iphoneos/Runner.app/Frameworks/Flutter.framework'
/Users/.../app/build/ios/Release-qa-iphoneos/Runner.app/Frameworks/Flutter.framework: replacing existing signature
/Users/.../app/build/ios/Release-qa-iphoneos/Runner.app/Frameworks/Flutter.framework: Permission denied
Command PhaseScriptExecution failed with a nonzero exit code

A reboot did nothing.
I tried:

channel dev build fails with above error.
Changed channel to beta, flutter upgrade, flutter clean, build still fails with above error.
Changed to Flutter 1.9.1+hotfix.6 • channel stable and build fails with above error.
Changed to Flutter 1.10.7 • channel beta.  Builds but fails to install because of #42877 whose fix landed in 1.10.15.
Changed to Flutter 1.12.4 • channel dev. Build succeeds.

Something about the process of switching channels master -> dev -> beta -> stable -> beta -> dev solved it on my machine.
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.12.4, on Mac OS X 10.15.1 19B88, locale en-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
[✓] Android Studio (version 3.5)
[!] IntelliJ IDEA Community Edition (version 2019.2.4)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

Checkouts time to time resolves the problem. No matter if it is stable, master or dev. At a certain moment it builds and runs. Than fails again. Incredible annoying.

Checkouts time to time resolves the problem. No matter if it is stable, master or dev. At a certain moment it builds and runs. Than fails again. Incredible annoying.

I reopened https://github.com/flutter/flutter/issues/40146, I'm going to remove the chmod.

Bit of update: for some reason Frameworks become read-only in the last build step "[CP] Embed Pods Frameworks".  So permissions are fine after Flutter shell scripts.
I edited the file and added chmod -R +w $1 inside "code_sign_if_enabled" method. Now it looks like this:
code_sign_if_enabled() {
  if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
    # Use the current code_sign_identity
    echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
    chmod -R +w $1
    local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"

    if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
      code_sign_cmd="$code_sign_cmd &"
    fi
    echo "$code_sign_cmd"
    eval "$code_sign_cmd"
  fi
}

The app installs and starts at least.

code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
chmod -R +w $1
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
  code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"

fi
}

This gets overwritten every time flutter clean is run

code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
chmod -R +w $1
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
  code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"

fi
}

This gets overwritten every time flutter clean is run

Yes it does. What I do I keep open terminal with vim running. Then I save the file again typing ":w"
This is not a solution but we can work at least until Flutter never ending beta test fixes this.

Open Xcode -> Pods File on the left bar -> build settings -> on Install permissions, set the value to -R +w $1
its not going to replace after flutter run..
poke @endrelovas @TheBestMoshe

Open Xcode -> Pods File on the left bar -> build settings -> on Install permissions, set the value to -R +w $1
its not going to replace after flutter run..
poke @endrelovas @TheBestMoshe

Nice catch if works. I will revert you back when I am in trouble again with this "feature".

Open Xcode -> Pods File on the left bar -> build settings -> on Install permissions, set the value to -R +w $1
its not going to replace after flutter clean..
poke @endrelovas @TheBestMoshe

It does not work for me.

Still getting this issue 12/9/19
I am on a Mac using 10.15.1. Something to note which changed in macOS Catalina is that Apple became more strict on what app they allow you open, so now the only options in Security and Privacy settings are "App Store" and "App Store and identified developers". If you follow the steps in this article to allow apps that are downloaded from anywhere this issue seems to go away
https://www.imore.com/how-open-apps-anywhere-macos-catalina-and-mojave

Still getting this issue 12/9/19
I am on a Mac using 10.15.1. Something to note which changed in macOS Catalina is that Apple became more strict on what app they allow you open, so now the only options in Security and Privacy settings are "App Store" and "App Store and identified developers". If you follow the steps in this article to allow apps that are downloaded from anywhere this issue seems to go away
https://www.imore.com/how-open-apps-anywhere-macos-catalina-and-mojave

I experience issue on both Mojave and High Sierra. IMO it is either flutter or cocoapods related bug.

I was hitting this after downgrading from v1.12.13+hotfix.5 to v1.9.1+hotfix.6 and cleaning the Pods resolved the issue. (cd ios && rm -rf Podfile.lock Podfile Pods)

I was hitting this after downgrading from v1.12.13+hotfix.5 to v1.9.1+hotfix.6 and cleaning the Pods resolved the issue. (cd ios && rm -rf Podfile.lock Podfile Pods)

FINALLY a working solution! Thank you, I also downgraded from 12 to 9

You can try to change configuration item，Build Phases->Thin Binary
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" thin

@ZQ1297089376 Depending on what version you are on, if you remove the embed part Flutter and your compiled dart code will not actually be embedded in your app.  You are likely hitting some different problem than this issue, please file a new GitHub issue and completely fill out the template.

I was hitting this after downgrading from v1.12.13+hotfix.5 to v1.9.1+hotfix.6 and cleaning the Pods resolved the issue. (cd ios && rm -rf Podfile.lock Podfile Pods)

it work

I was hitting this after downgrading from v1.12.13+hotfix.5 to v1.9.1+hotfix.6 and cleaning the Pods resolved the issue. (cd ios && rm -rf Podfile.lock Podfile Pods)

I did this , but after that if I run pod install , its says "Podfile not found"

Moved from v1.9.1+hotfix.6 to v1.11.0 .
To change flutter version to 1.11.0 just run
flutter version v1.11.0
This fixed this issue for me , tried all other other highly voted solutions but none worked.


Fix Snapshot Extensions References

Summary
Based on #1650, I wanted a way to add a ios / android / whatever text to snapshot's extension.
The first take was to fix the many places that snap and .snap are defined to avoid a repeated work.
Test plan
Still WIP as I would like maintainers' input about how to tackle this issues.

Codecov Report

Merging #5842 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5842      +/-   ##
==========================================
- Coverage   63.74%   63.72%   -0.03%
==========================================
  Files         216      216
  Lines        7941     7942       +1
  Branches        3        4       +1
==========================================
- Hits         5062     5061       -1
- Misses       2878     2880       +2
  Partials        1        1

Impacted Files
Coverage Δ

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

packages/jest-resolve-dependencies/src/index.js
97.82% <ø> (-2.18%)
:arrow_down:

packages/jest-runtime/src/index.js
73.23% <ø> (-0.36%)
:arrow_down:

Continue to review full report at Codecov.

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

@SimenB I was checking the coverage effects... it reduced in two files, but it sounds like a false negative... Trying to figure out how to improve...


CONTRIBUTING.md

A reminder about commit message.

How about giving this PR a better title and description 😄 ?
It's important to practice what you preach...


WRFSES-254 Implement base user validations

This ticket is to build the architecture for validations. This gets complicated with the use of short names and mapping from product details to objects in respect to the component that is being validated (ie: cabinets or tops).

This change is

@mikecokingtin I'm merging this because I need these changes for the next complex ticket. Ask me about changes if you're curious.


Style for build page

This page needs some formatting: http://functionlibrary.azurewebsites.net/build.htm

working, and better.


Preloader Missing on Other Pages

Describe the bug
The preloader, which displays a loading indicator while pages are loading, is not consistently present across all pages of the website. When navigating to certain pages, the screen becomes blank for a noticeable period before the content appears. This can negatively impact user experience, especially on slower connections.
To Reproduce
Steps to reproduce the behavior:

Go to leading blog , start writing , category, contact us , and feedback
Reload
See blank screen when loading

Expected behavior

The preloader should be visible on all pages of the website
The preloader should be designed to provide a smooth and informative loading experience.
The preloader should disappear once the page content is fully loaded.

Screenshots

Additional context
@ANSHIKA-26 can you assign this issue to me with labels "gssoc-ext" and "hacktoberfest-accepted";

not needed !

Ok mam


iOS: Bottomsheets are not hidden in the screenshot/ recording with EnableSecureView

We use React Native BottomSheet(https://github.com/gorhom/react-native-bottom-sheet) in our app. Upon integrating this library we are able to see the bottomsheets in the screenshots and recording. Is there a way to fix this?

I have a similar issue. Is this because the height(Three dimensional z) of this component is too high, such as zIndex?

I have a similar issue. Is this because the height(Three dimensional z) of this component is too high, such as zIndex?

@killserver Need you help!!

Using Modal (https://github.com/react-native-modal/react-native-modal) has the same issue

Hi, Any workaround on this? As I am veiwing image in webview and pdf using react-native-pdf which needs to be secure.

Hi, Any workaround on this? I am viewing images in web view and pdf using react-native-pdf inside a modal which needs to be secure.

No yet @JigarBhanushali10 I think we need to avoid any components that are too far forward at the moment🫤


Document the type of data that the license.file accepts to use the license key

Summary
Users can specify the license key of their enterprise deployments in the configuration file using below options.

license.key: Contents of the license key
license.file: Location of the license file

When setting the license key using license.key, a base64 encoded value is used, and TTS would be able to validate the license and run without any issues. However, when we store the license in a file and specify that file path, TTS returns the below error.
stack_1 | error:pkg/license:invalid_license (invalid license)
stack_1 | --- proto: illegal wireType 7
stack_1 | error:pkg/license:invalid_license (invalid license)
stack_1 | --- proto: illegal wireType 7

This is because, when using license.file, the file must contain the raw bytes of the license instead, and not the base64 encoded string.
Ref: https://github.com/TheThingsIndustries/lorawan-stack-support/issues/494
Why do we need this?
To let users know how to set the license key when it is stored in a file.
What is already there? What do you see now?
The current documentation explains to us the configuration options available to set the license key.
What is missing? What do you want to see?
The data type that the license.file accepts. And, the commands to create a new file with raw bytes from base64 string.
Ref: https://github.com/TheThingsIndustries/lorawan-stack-support/issues/494#issuecomment-875516423
How do you propose to document this?

...
Can you do this yourself and submit a Pull Request?
@benolayinka

Does this make sense? Isn't it better to accept base64 in the file


refactor(minifier): add NodeUtil trait for accessing symbols on ast nodes

This makes monitor-oxc green again, where I can continue add more top npm packages https://github.com/oxc-project/monitor-oxc/actions/workflows/ci.yml


Enable ignoring namespace guard for handle-marcxml in flux

@blackwinter introduced the possibility to turn off the namespace guard with handle-marcxml but at the moment it only works in Java due to setting the option namespace=null. Assining null is not possible in FLUX.

So you mean that you can't use namespace="" with both records with and without
namespace? That's where namespace=null comes in, but Flux does not support
specifying null values.

Correct. We need to decide how to support this. Should I open a ticket to support this? Or is it a better idea to introduce an boolean-option that turns this test off?
Originally posted by @TobiasNx in https://github.com/metafacture/metafacture-core/issues/330#issuecomment-2470129392
hbz/Verbundgruppe has the usecase to use the same workflow for transformation marcxml WITH and WITHOUT namespace. This would require this enhancement.

Value "null" is no valid URI anyway, and from user perspective it's easier to simply always assigning anything as a String ("").
@blackwinter please explain why we don't want to just allow namespace="null" to behave like  setNamespace(null).

Are you saying that we should derive meaning from an opaque string just because of limitations in the grammar specification? Are you also saying that it should only apply to the MarcXmlHandler in this specific instance, not to Flux in general?
In that case, I would very much prefer to introduce another option to disable the namespace check (boolean). I probably shouldn't have done it this way to begin with.

... limitations in the grammar specification?

At this point I see them as guardrails.
Just setting something to null is not self-explaining. So we would have to document what the semantics of null would be, anyway.

In that case, I would very much prefer to introduce another option to disable the namespace check (boolean).

I vote for this.

I probably shouldn't have done it this way to begin with.

As your implementation is useful only to programmers I think they will cope with it. But of course it would have been the best to implement something that can be also used by flux.

Should I test this feature?

Yeah - you can give it a test. I thought this functionality too simple to need a functional review but it doesn't hurt of course.


chore: bdd-spring-1575116399 to 0.0.1

chore: Promote bdd-spring-1575116399 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


docs: mention opentelemetry example

Description
Adds a reference to the example in the OpenTelemetry docs
References

Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.72%. Comparing base (b9b1cc1) to head (27904a8).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #112   +/-   ##
=======================================
  Coverage   68.72%   68.72%
=======================================
  Files         119      119
  Lines        9665     9665
=======================================
  Hits         6642     6642
  Misses       3023     3023

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


Longer or variable interval

Currently, polling interval is set to 5 seconds:
private readonly intervalTime = 5000; // 5 second

This generates quite a bit of traffic and seems overkill.
Any chance it can be either increased (I'm thinking that 60 seconds would be acceptable) or made configurable?
Thanks.

refresh interval is configurable in v1.0.4 and it's changed to 60s as default, thanks for your suggestion


add beam.cloud deployment example

This PR shows an example of deployment an outlines API to beam.cloud.

Thank you! Could you run pre-commit locally to fix the styling issues?


Missing "Check out job at https://saucelabs.com/tests/" Text

For some reason, when running tests with sauceConnect: true, the link out to the Sauce Labs session is not written to the console.
This makes checking on error states rather tedious as you have to copy the Session ID value and type out the link yourself.
It occurs to me that this could be an issue with the spec reporter and not this extension? Here are two example outputs from spec:
sauceConnect: false
------------------------------------------------------------------
[Chrome  OS X 10.10 #0-0] Session ID: <session ID>
[Chrome  OS X 10.10 #0-0] Spec: /path/to/my/spec.test.js
[Chrome  OS X 10.10 #0-0] Running: Chrome on OS X 10.10
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0] Example Test
[Chrome  OS X 10.10 #0-0]   ✓ Url
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0] 1 passing (15s)
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0] Check out job at https://saucelabs.com/tests/<session ID>
[Chrome  OS X 10.10 #0-0]

sauceConnect: true
------------------------------------------------------------------
[Chrome  OS X 10.10 #0-0] Session ID: <session ID>
[Chrome  OS X 10.10 #0-0] Spec: /path/to/my/spec.test.js
[Chrome  OS X 10.10 #0-0] Running: Chrome on OS X 10.10
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0] Example Test
[Chrome  OS X 10.10 #0-0]   ✓ Url
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0]
[Chrome  OS X 10.10 #0-0] 1 passing (15s)
[Chrome  OS X 10.10 #0-0]

This is fixed by now.


imagecashletter: return error if CashLetterControl is missing

This change makes cashLetter.Validate() check for a valid CashLetterControl record and return an error if it's missing.
closes #228

This will likely break people's code, but not including a CashLetterControl generates an invalid fight -- right?

It's an odd one that way. It should only break peoples' code if they're currently building invalid files.

This will likely break people's code, but not including a CashLetterControl generates an invalid fight -- right?

It's an odd one that way. It should only break peoples' code if they're currently building invalid files.

Yea. In changelogs I usually phrase it as "CashLetterControl must now be valid during file build and validation."

👍


feat: Support parsing MySQL show variables

Hello!
SHOW [GLOBAL | SESSION] VARIABLES
    [LIKE 'pattern' | WHERE expr]

Thanks

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 12 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 89.964%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
9108

Relevant Lines:
10124

💛  - Coveralls

Thanks @ovr


Crash Report - 0.8.0 - java.lang.NoClassDefFoundError: appeng/api/features/IInscriberRecipe

Here is a link to a crash report:
https://www.dropbox.com/s/4tzyy7h9o5urlwm/crash-2015-04-19_16.26.53-client.txt?dl=0
I guess something is up with Applied Energistics..
I will do some more testing though.
Reverting back to 0.7.5 solves any crashing.

Update AE2.

Oh new version isn't compatible with stable release. Il update to rv2 once it hits stable. If that is all it is, then might aswell close this? although you will probably have some other reports.

Open the issue if the bug still persists :)


macOS(10.12) shadowsocks with i/o timeout

2016/10/09 22:49:21 available remote server xxx.xxx.xxx.xxx:12050
2016/10/09 22:49:21 starting local socks5 server at :7070 ...
2016/10/09 22:49:32 socks handshake: socks version not supported
1970/01/01 08:00:00 socks handshake: read tcp <IP_ADDRESS>:7070-><IP_ADDRESS>:52517: i/o timeout
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x3cf2e1f8a1a pc=0x11adb0]
tried version: 1.1.1 and 1.1.5 (downloaded from release page)
please advice

i have been using shadowsocks python version to instead :)

@nevernet share me a copy ....

其实这个问题是golang带来的，自己用最新版的golang编译一下就行了。

@devil1995 just navigate to https://github.com/shadowsocks/shadowsocks or try:
pip install shadowsocks

@bigtan yes, i have been solved it.

@nevernet thinks...I'll try..by the way ....give me a email :>....


RedissonClient.loadBucketValues() api is not find，How to use mget  ,version:3.12.5

try to use RedissonClient.getBuckets()

you can always find commands mapping here https://github.com/redisson/redisson/wiki/11.-Redis-commands-mapping


Changing a random line

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/dummypipe branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

@Klaps-bot changelog

@Klaps-bot changelog

@Klaps-bot fix linting

@Klaps-bot changelog

@Klaps-bot changelog


Do I require having multipathd enabled to use iSCSI?

Describe the bug
$subect
Environment
I'm testing Trident on top of OpenShift, and started to test iSCSI (on-san) support as a backend for Virtual Machines (OpenShift Virtualization).

Trident version: 24.06.1
Trident installation flags used:
NetApp backend types: NetApp Release 9.10.1P5
Other:

To Reproduce
Create a VM and an add a disk using the iSCSI storage class.
Expected behavior
Should just work. But I get an error message
Warning FailedMapVolume 69s (x9 over 3m18s) kubelet MapVolume.SetUpDevice failed for volume "pvc-357308a4-b673-4e90-9557-85b71f1eb525" : rpc error: code = Internal desc = rpc error: code = Internal desc = failed to stage volume: multipathd is not running

Additional context
Enabling multipathd on the host, does resolve this issue, but I'm wondering if enabling multipathd is required for iSCSI, or it is just a config on the TridentBackEnd config?

Yes, multipathing is required. You'll run into issues otherwise if any failover/maintenance occurs on the storage system. Therefore recent versions of Trident enforce multipathing.
You can set this via MachineConfig. The only setting Trident needs in multipath.conf is find_multipaths no. An example MachineConfig is provided here (please refer to the one for multipathing!): https://docs.netapp.com/us-en/netapp-solutions/containers/rh-os-n_overview_trident.html#iscsi

Thank you for the (quick) clarification.


App crashes

I have followed the Getting Started section, after starting via node app.js, I get the following error:
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Server._listen2 (net.js:1156:14)
at listen (net.js:1182:10)
at Server.listen (net.js:1267:5)
at EventEmitter.app.listen (/Users/vosahloj/ws/hspokus/node_modules/express/lib/application.js:595:24)
at Object. (/Users/vosahloj/ws/hspokus/app.js:199:5)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3

Are you running another Node.js process on port 3000?
On Tue, May 26, 2015 at 3:08 PM, vosahloj<EMAIL_ADDRESS>wrote:

I have followed the Getting Started section, after starting via node
app.js, I get the following error:
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Server._listen2 (net.js:1156:14)
at listen (net.js:1182:10)
at Server.listen (net.js:1267:5)
at EventEmitter.app.listen
(/Users/vosahloj/ws/hspokus/node_modules/express/lib/application.js:595:24)
at Object. (/Users/vosahloj/ws/hspokus/app.js:199:5)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
—
Reply to this email directly or view it on GitHub
https://github.com/sahat/hackathon-starter/issues/278.

Oh my... I can't even read the log :-(
Yes, you are right. Another app has been running on the same port. My bad!


Attempt to shard BrowserStack via project/build name

Browser stack builds appear to be establishing overlapping tunnels. This may be due to misconfiguration on our part. I'm testing out amendments to our configuration in this PR.
The new approach creates a distinct BrowserStack build (which, for the sake of pedantry, is different but related to the Github Actions build) for each group of connections we make during a Github Actions run. In theory, this will result in two BrowserStack builds for each full unit test run. You can see the difference between the original approach and this new approach here:

In the original approach, we weren't specifying a build name or a project name, and all BrowserStack browsers were lumped into the same build.
My naive hope is that now that the builds are split apart, individual builds will be isolated from each other.

Force push to kick off the build again

No dice, unfortunately. You can still see browsers connecting across overlapping sessions:

It appears as though BrowserStack tunnels require a unique ID in order to run in parallel (evidence here and here). Unfortunately, karma-browserstack-launcher does not support specifying a unique tunnel ID unless you run the tunnel separately. Luckily, its dependency browserstack-local does support configuring a unique ID. I have hacked up karma-browserstack-launcher in an attempt to forward this currently unsupported configuration.

Force pushed to kick of a build


KeyError exception when connecting to API v8.0

First of all thank you and congratulate you for your work with this library to connect to visonic, my name is Dario, nice to meet you.
I'm trying to connect to my alarm, I have visonic-go and all the parameters are well configured but I don't know why it fails and I don't know how to debug the library.
My provider's API version is 8.0, my company's panel_id is a 6-digit decimal value and not a hexadecimal value, and the endpoint I'm trying to connect to is (www.visonic.xxx.com) and the error that I get using your example script (with all the parameters correctly set) is this:
Connecting to 'www.visonic.biservicus.com'...
Supported REST API version(s): 8.0
Enter your master code:
Authenticating using<EMAIL_ADDRESS>
Successfully authenticated.

Traceback (most recent call last): File
"/home/user123/Delete/visonicAlarm/alarm.py", line 213, in <module> main() File
"/home/user123/Delete/visonicAlarm/alarm.py", line 168, in main if notconnect(): File
"/home/user123/Delete/visonicAlarm/alarm.py", line 124, in connect if not alarm.connected(): File
"/home/user123/.local/lib/python3.10/site-packages/visonic/alarm.py", line 56, in connected return self.get_status().connected
File "/home/user123/.local/lib/python3.10/site-packages/visonic/alarm.py", line 344, in get_status
bba_connected=status['connected_status']['bba']['is_connected'], KeyError: 'bba'

Thank you very much, I hope your answer.

Hi, and thanks for your input.
Can you edit the file /home/user123/.local/lib/python3.10/site-packages/visonic/alarm.py and add a simple print(status) on line 328 in that file:
...
...
def get_status(self):
        """ Fetch the current state of the alarm system. """

        status = self.__api.get_status()

        print(status) # <==== Add this line (around line 328)

        partition_list = []

        # Create the partitions
        for partition in status['partitions']:
            new_part = Partition(
                id=partition['id'],
                state=partition['state'],
                status=partition['status'],
                ready=partition['ready'],
                options=partition['options'],
            )
            partition_list.append(new_part)
...
...

Then run your test script again and give me the output of the print-statement. Should be something like:
{'connected': True, 'connected_status': {'bba': {'is_connected': True, 'state': 'online'}, 'gprs': {'is_connected': False, 'state': 'online'}}, 'discovery': {'completed': True, 'stages': 11, 'in_queue': 0, 'triggered': None}, 'partitions': [{'id': -1, 'state': 'HOME', 'status': '', 'ready': True, 'options': []}], 'rssi': {'level': 'good', 'network': 'Unknown'}}

Let me know how it goes! 😄

thanks for your answer, the output of print is:
{'connected': False, 'connected_status': {'gprs': {'is_connected': False, 'state': 'online'}}, 'discovery': {'completed': True, 'stages': 10, 'in_queue': 0, 'triggered': None}, 'partitions': [{'id': -1, 'state': 'DISARM', 'status': '', 'ready': True, 'options' : []}], 'rssi': {'level': 'ok', 'network': 'Unknown'}}

I have now updated the library to version 3.12.0 which should handle the exception you get.
The reason for the exception being raised seems to be that you don't have an ethernet module installed in your alarm panel and I'm not sure how the rest of the library will react to that, but you will see 😄

Thank you very much, I already have it implemented, I was testing the features and it works perfectly, thanks for the library and the help :+1:


Enforce String Literal Styles

closes #300
\c @k0nserv

Yay :tada: Thanks, I can't merge though that's a up for  @orta

Cool for me if green

looks like some emoji special casing

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.
You can find it at CHANGELOG.md.

          1 Warning

:warning:
.gemspec modified

  Generated by :no_entry_sign: danger

@orta Also looks like Rubocop has a bug in the string literal cop. Autocorrect works fine, but then fails lint :/. Will special case now and see if I can PR Rubocop.

cool, makes sense 👍


Why not try the actual Replit GraphQL API?

Heya! Just your friendly Furret dropping a tip!
Replit has an actual API at https://replit.com/graphql and the playground is at https://replit.com/graphql/playground. You can try making actual GraphQL queries instead of using middlemen sites and web scraping (it might be simpler too)!
For a (decent) compendium of Replit's GraphQL queries visit my repo REPLAPI.it and you'll find a decent amount of stringed queries in the src/classes/ folder (and the file names are pretty self-explanatory).
Feel free to respond with any questions or your thoughts :D

Looks good, we will definitely look into it! And you(ferret) can drop in anytime to drop in a suggestion!

@RayhanADev, can you give me an example of how to do this in python, it have no idea how to do this in python

Okay, to my knowledge you can use the requests package to fetch (sorry I'm a JS dev xD). Here's an example for fetching user info:
First install the package:
python3 -m pip install requests

This in the python file:
import requests

requests.post("https://replit.com/graphql", data={ query: "query User($username: String!) { userByUsername(username: $username) { username, karma }", variables: { username: "RayhanADev" } })

and that should fetch my cycles. Try it out (and if it throws any Python specific errors, you might know the fix).  where I got my information about requests, it might be useful too!
Good luck!

lol i understand @RayhanADev(i'm a cpp dev), but it isn't working, I'll try more things tomorrow, but if you have any ideas, keep them coming!

@RayhanADev, I got it to work, but, this isn't the desired output:
import requests
query = None
variables = None
username = None
result = requests.post("https://replit.com/graphql", data={ query: "query User($username: String!) { userByUsername(username: $username) { username, karma }", variables: { username: "RayhanADev" } })

print(result)

Result:
<Response [403]>

Oh a 403 error
You may need to set some headers:
import requests
query = None
variables = None
headers = None
username = None
result = requests.post("https://replit.com/graphql", data={ query: "query User($username: String!) { userByUsername(username: $username) { username, karma }", variables: { username: "RayhanADev" } }, headers={ "X-Requested-With": "REPLAPI", "Referrer": "https://replit.com/" } )

json_result = result.json()

print(json_result)

Hmmm, still doesn't work, but thanks for the info! I'll keep testing them and will 100% ❤ your ideas and contributions!
If you get an idea, let me know!
(also test them out in a replit python repl. cause that is where I am testing them out :)  )

Gotcha okay :)
I'll close this for now till I get some more info and Python skill

huh. i didnt see this. but kewl. thnx!

@RayhanADev, lol okay, feel free to make a pull request or an issue anytime!


Fix todos-flow example

Fix #2717
It appears updating all dependencies to the most recent fixed the problem.

Thanks!


High memory issues when using Redux DevTools

Griddle version
1.10.1
Expected Behavior
#726 added Redux DevTools extension to the internal Griddle middleware to allow tracking of Griddle's internal actions. This should allow us to view Griddle's actions when used with the Redux DevTools extension.
Actual Behavior
When I try to view any of the actions after table changes like sorting a column, Redux DevTool's memory spikes sharply up to 1GB-3GB of memory, and > 100% CPU in Chrome Task Manager. This eventually results in me having to restart the Redux DevTools extension.
I do not experience this when using Redux DevTools with my own app's middleware, and generally it's pretty performant.
Steps to reproduce
I've setup my table pretty closely modeled after the External Controlled Griddle example, with a few extra elements:
        <Griddle
          storeKey='griddleStore'
          plugins={plugins.localPlugin}
          styleConfig={{
            icons: {
              TableHeadingCell: {
                sortDescendingIcon: ↓,
                sortAscendingIcon: ↑,
              },
            },
          }}
          data={this.props.items}
          pageProperties={{
            currentPage,
            pageSize,
            recordCount,
          }}
          sortProperties={this.state.sortProperties}
          events={{
            onNext: this._onNext,
            onPrevious: this._onPrevious,
            onSort: this._onSort,
            onGetPage: this._onGetPage,
            onFilter: debounce(this._onFilter, 300),
          }}
          components={{
            Filter,
            Pagination: components.PageDropdownContainer(Pagination),
            SettingsToggle: () => ,
            NoResults: () => this.renderNoResults(),
            Loading: () => this.renderLoading(),
          }}>

Taking an action on the table like sorting a single column, will immediately spike the memory. I'm also not sure if this is normal, but sorting a single column results in 3 GRIDDLE_UPDATE_STATE actions being fired off.

Probably related: I have an app which uses griddle and also uses redux and the devtools: the devtools also tracking the Griddle state causing big spikes in memory and crashes. It would be nice to be able to turn off the tracking in some way.


Changed cursor to pointer.

The appearance of the cursor when hovered over icons and stats had to be changed to pointer to make it user interactive.

Please mention the issue number @Vaishnavigupta1312

The issue number is #101 (Improve Mouse Cursor Behavior for Better User Interaction)

hi, I have been following your project and would love to contribute, please assign me the issue.