Print error message if the adopt api returns one

Sometimes we get an "adoptopenjdk" file back from the adopt api
when we request a binary via curl. This change assumes that's an
error message html file and prints the contents.
Signed-off-by: Adam Farley<EMAIL_ADDRESS>

Being discussed in https://github.com/AdoptOpenJDK/openjdk-api-v3/issues/341
Do not merge until the debate is complete, please.

Being discussed in https://github.com/AdoptOpenJDK/openjdk-api-v3/issues/341
Do not merge until the debate is complete, please.

That was so we only assume that adoptopenjdk is an api error message file is we're using the api to return the build.
I didn't want to assume adoptopenjdk was an error file unless we're trying to get the binary from the api. That way nobody else can use adoptopenjdk as a file name and accidentally trigger the logic.

That was so we only assume that adoptopenjdk is an api error message file is we're using the api to return the build.
I didn't want to assume adoptopenjdk was an error file unless we're trying to get the binary from the api. That way nobody else can use adoptopenjdk as a file name and accidentally trigger the logic.

If the SDK_RESOURCE is nightly or release it's using api to get binary.  If the return is file adoptopenjdk it means jar|zip file isn't downloaded correctly, which will fail the build by following unzip step. https://ci.adoptopenjdk.net/view/Failing Test Jobs/job/Test_openjdk11_j9_extended.external_ppc64le_linux_scala/24/console
What the purpose of this PR?

If the SDK_RESOURCE is nightly or release it's using api to get binary.  If the return is file adoptopenjdk it means jar|zip file isn't downloaded correctly, which will fail the build by following unzip step. https://ci.adoptopenjdk.net/view/Failing Test Jobs/job/Test_openjdk11_j9_extended.external_ppc64le_linux_scala/24/console
What the purpose of this PR?

Sophia: The purpose of this PR was to retry the download if it failed the first time or two. Since the entire code chunk already catches curl failures and retries, I believed it wasn't too big of a leap to imagine other errors handled in the same way.
Shelley: This isn't an API Healthcheck, but rather some code to give us the right error message in the event of a failure, coupled with (what I previously believed) was some improved retry logic.
Let's focus on the improved error message, and remove the bit about the retry.

Sophia: The purpose of this PR was to retry the download if it failed the first time or two. Since the entire code chunk already catches curl failures and retries, I believed it wasn't too big of a leap to imagine other errors handled in the same way.
Shelley: This isn't an API Healthcheck, but rather some code to give us the right error message in the event of a failure, coupled with (what I previously believed) was some improved retry logic.
Let's focus on the improved error message, and remove the bit about the retry.

Changes made. In the event that we fail to download the build, we provide a useful error message and handle it like a normal failure, except now we do not attempt to retry the download.

Changes made. In the event that we fail to download the build, we provide a useful error message and handle it like a normal failure, except now we do not attempt to retry the download.

@adamfarley got it. Do you know why the download fails and return with 0? If it's the jar unavailable or it's the network issue? I've tried with a wrong url ( change correct one curl -OLJSks  https://api.adoptopenjdk.net/v3/binary/latest/11/ea/linux/ppc64le/jdk/openj9/normal/adoptopenjdk to wrong one curl -OLJSks  https://api.adoptopenjdk.net/v3/binary/latest/11/ea/linux/ppc64le/jdk/openj/normal/adoptopenjdk ) and got the same file with return code 0.   If it's network issue or server issue it makes sense to retry. If it's some other reasons it may not be helpful to retry.

@adamfarley got it. Do you know why the download fails and return with 0? If it's the jar unavailable or it's the network issue? I've tried with a wrong url ( change correct one curl -OLJSks  https://api.adoptopenjdk.net/v3/binary/latest/11/ea/linux/ppc64le/jdk/openj9/normal/adoptopenjdk to wrong one curl -OLJSks  https://api.adoptopenjdk.net/v3/binary/latest/11/ea/linux/ppc64le/jdk/openj/normal/adoptopenjdk ) and got the same file with return code 0.   If it's network issue or server issue it makes sense to retry. If it's some other reasons it may not be helpful to retry.

@sophia-guo - We're having the "why is this happening" conversation here: https://github.com/AdoptOpenJDK/openjdk-api-v3/issues/341
Right now I think the problem is that the curl command is successfully returning a data stream from the URL in all cases, so it declares success even if we didn't get the file we wanted. I'm not sure curl knows the difference between returning the file we're after, and returning a html file containing an error message, as in both cases it's just a data stream.

@sophia-guo - We're having the "why is this happening" conversation here: https://github.com/AdoptOpenJDK/openjdk-api-v3/issues/341
Right now I think the problem is that the curl command is successfully returning a data stream from the URL in all cases, so it declares success even if we didn't get the file we wanted. I'm not sure curl knows the difference between returning the file we're after, and returning a html file containing an error message, as in both cases it's just a data stream.

Right now I think the problem is that the curl command is successfully returning a data stream from the URL in all cases

I do not care for this at all, for us to compensate in the test script for what appears to be incorrect behaviour from the API.  I would prefer the API to 'fail to serve' if it has no build artifacts to serve up based on the query (and I would think that redistributors using the API would have similar expectations).

Right now I think the problem is that the curl command is successfully returning a data stream from the URL in all cases

I do not care for this at all, for us to compensate in the test script for what appears to be incorrect behaviour from the API.  I would prefer the API to 'fail to serve' if it has no build artifacts to serve up based on the query (and I would think that redistributors using the API would have similar expectations).

This specific behavior seems to be a CloudFlare thing rather than an API thing. The two http return codes we're getting seem to imply either: "The api you're trying to access didn't return anything intelligible." or "The service you're trying to access isn't available."
The headers we've identified express clear error messages. This appears to be what "fail to serve" currently looks like.
If we'd like to change that behaviour, I expect we'd need to modify CloudFlare settings if possible. I'm not sure you can fix this in the API, especially if the problem is a genuine "service is not available", as there's no difference between a modified and unmodified api if they're both genuinely unavailable.

This specific behavior seems to be a CloudFlare thing rather than an API thing. The two http return codes we're getting seem to imply either: "The api you're trying to access didn't return anything intelligible." or "The service you're trying to access isn't available."
The headers we've identified express clear error messages. This appears to be what "fail to serve" currently looks like.
If we'd like to change that behaviour, I expect we'd need to modify CloudFlare settings if possible. I'm not sure you can fix this in the API, especially if the problem is a genuine "service is not available", as there's no difference between a modified and unmodified api if they're both genuinely unavailable.

Can I get you to resolve the conflict @adamfarley ?
Also I am removing the 'bug' label from this, as it is not addressing a test bug, but printing out more details when the API and/or is not working as expected.

Can I get you to resolve the conflict @adamfarley ?
Also I am removing the 'bug' label from this, as it is not addressing a test bug, but printing out more details when the API and/or is not working as expected.

They all appear to be transient, and during a big grinder (where we download over and over again, wiping the tar.gz each time) I checked and no more than 2 seemed to be right next to each other.
However, Stewart proposed that we should fix the underlying issue rather than work around it, as download failures make us look bad. I can see the reasoning there.

They all appear to be transient, and during a big grinder (where we download over and over again, wiping the tar.gz each time) I checked and no more than 2 seemed to be right next to each other.
However, Stewart proposed that we should fix the underlying issue rather than work around it, as download failures make us look bad. I can see the reasoning there.

Merge conflict resolved.

Merge conflict resolved.

@adamfarley - I think I am going to park this PR (without merging it).  It has however been useful, thank you.
It made us aware that we should actually be using SDK_RESOURCE=upstream (instead of SDK_RESOURCE=nightly) for external tests, to ensure we are testing the 'rea'l nightly build, (as noted, when the API misbehaves, it can end up serving stale builds as nightly (which can be out of date, when the API needs to be kicked ... this would mean we may run the same tests against the same build which is not a good use of resources).    Related: https://github.com/AdoptOpenJDK/openjdk-tests/issues/1802
I will make the necessary change to pass along the UPSTREAM params to the external test jobs that get launched.

@adamfarley - I think I am going to park this PR (without merging it).  It has however been useful, thank you.
It made us aware that we should actually be using SDK_RESOURCE=upstream (instead of SDK_RESOURCE=nightly) for external tests, to ensure we are testing the 'rea'l nightly build, (as noted, when the API misbehaves, it can end up serving stale builds as nightly (which can be out of date, when the API needs to be kicked ... this would mean we may run the same tests against the same build which is not a good use of resources).    Related: https://github.com/AdoptOpenJDK/openjdk-tests/issues/1802
I will make the necessary change to pass along the UPSTREAM params to the external test jobs that get launched.

@smlambert - I don't understand the resistance to including this code change.
Currently, when we are given an error message this way, we hide/ignore the error message (so the user doesn't see it), and we continue until some other bit of code figures out it's not a tar.gz file and fails with an unrelated error message that doesn't help the debugging much.
Why would we not want to display this error message?

@smlambert - I don't understand the resistance to including this code change.
Currently, when we are given an error message this way, we hide/ignore the error message (so the user doesn't see it), and we continue until some other bit of code figures out it's not a tar.gz file and fails with an unrelated error message that doesn't help the debugging much.
Why would we not want to display this error message?

Some of the reasoning I chose not include this change:

won't get exercised: Our main automation will not use this code path (so it won't inform us at the project of anything, as the path won't be run from build pipelines)
real problem lives elsewhere: It is already stated the real issue exists not in the test code, a real fix/solution will happen elsewhere.  This was debugging code that helped locate where the real issue was.  If you want to continue to verify the proper functioning of the API, then perhaps useful to add smoke or operational tests elsewhere (re: https://github.com/AdoptOpenJDK/openjdk-tests/issues/1802#issuecomment-729499753)
sets up a condition for confusion and issue bloat: For the use case that exercises the code path, personal grinders and/or local runs... there is no useful action to take with knowing the http error code.  It would only serve to confuse a developer, and best case they raise an issue against test on a problem outside of our control to fix.
for debugging, not production: This PR helped for debugging, but I do not really wish to clutter the code base with debugging code, especially does not lead to an actionable task.
test pipelines already do the 'right thing': The current code states the problem clearly enough ("hey, you did not download a tar.gz file as we expected, we can not unpack it and so we fail/exit immediately").
extra noise in console: This PR adds extra output to the console (runs cat on a file called adoptopenjdk... of unknown size/content which will get printed to and add clutter the console (depending on its content, which is 'unknown', though we make an assumption its got an http error code somewhere in it).

Some of the reasoning I chose not include this change:

won't get exercised: Our main automation will not use this code path (so it won't inform us at the project of anything, as the path won't be run from build pipelines)
real problem lives elsewhere: It is already stated the real issue exists not in the test code, a real fix/solution will happen elsewhere.  This was debugging code that helped locate where the real issue was.  If you want to continue to verify the proper functioning of the API, then perhaps useful to add smoke or operational tests elsewhere (re: https://github.com/AdoptOpenJDK/openjdk-tests/issues/1802#issuecomment-729499753)
sets up a condition for confusion and issue bloat: For the use case that exercises the code path, personal grinders and/or local runs... there is no useful action to take with knowing the http error code.  It would only serve to confuse a developer, and best case they raise an issue against test on a problem outside of our control to fix.
for debugging, not production: This PR helped for debugging, but I do not really wish to clutter the code base with debugging code, especially does not lead to an actionable task.
test pipelines already do the 'right thing': The current code states the problem clearly enough ("hey, you did not download a tar.gz file as we expected, we can not unpack it and so we fail/exit immediately").
extra noise in console: This PR adds extra output to the console (runs cat on a file called adoptopenjdk... of unknown size/content which will get printed to and add clutter the console (depending on its content, which is 'unknown', though we make an assumption its got an http error code somewhere in it).


github(summary): remove preview title and tidy download link

Before

After

Looks good. But the semicolon looks a bit odd. Why don't we just say (6KB and includes 1 build record)

Looks good. But the semicolon looks a bit odd. Why don't we just say (6KB and includes 1 build record)

semicolon was to link closely related independent clauses but dash seems to be a better alternative for readability while giving a slight emphasis on the additional information about the build record: (5.88 KB - includes 1 build record)

LGTM


Issue in annotation attachment validation of enums

Description:
The spec says the attachment point for module-enum-decl is type.
But this seems to be matching for consts now.
public annotation X on type;
public const annotation Y on source const;

@X // should work, doesn't
@Y // should fail, doesn't
public enum Color {
    RED,
    BLUE
}

Also there is an issue with grammar.
Spec says at least one enum-member is required.
Hence the grammar should be changed from:
(enumMember (COMMA enumMember)*)? RIGHT_BRACE
to
 enumMember (COMMA enumMember)* RIGHT_BRACE

The issue with annotations is still present with slp4.
But, the issue in the grammar (not requiring at least one member) has been fixed with the new parser.
The following fails with error: .::qwe.bal:1:19: missing enum member.
public enum Color {
}

May have to fix https://github.com/ballerina-platform/ballerina-lang/issues/25872 to properly validate annotations.

This seems to work as expected now, keeping the issue open to add some tests.


New possible feature

Hello,
A new possible feature would be to have the client side in angular2 since the releases are stable now.
Thanks

This issue is created for the v0.x version of the project, which is no longer support nor maintained as of January 16th 2017. I'm therefore closing this issue.
All development effort will be put in the new version of the project that is named Colmena CMS.

Btw, Colmena CMS will be using Angular 2 :)


Bug: Flipper Doesn't work with newer Versions

Describe the bug
Flipper network plugin works with RN 1.24.5 | iOS = 0.7.7-alpha0 and stopped working with RN 1.26.0 | iOS 0.7.8-alpha0
Expected behavior
Flipper network plugin should work
Steps to reproduce the bug
No response

This works when also adding XMTPRust pod when flipper is enabled
Since React Native is moving away from Flipper support I think this a viable solution, happy to reopen if others run into the same issue and want a more thorough fix


File Download: Create destination path when not existing

Is your feature request related to a problem? Please describe.
When we download files the destination folder has to exist before the file is downloaded. If we download multiple files where they happen to have the same name that will overwrite the file.
So the feature will be
box files:download <file_id> --destination=<path_that_does_not_exist>
That will download the file after the path was created if it doesn't exist.
Describe the solution you'd like
We  use a bulk file and it would be good to be able to define the path and if the path does not exist, then the CLI should create the path
Describe alternatives you've considered
Create the complete folder structure before the download, but it adds a step that is cumbersome. Or we have to wrap the CLI commands in Powershell scripts
Additional context
There is a matching request for folder https://github.com/box/boxcli/issues/267

Thanks Jacques for your proposal. I agree that if CLI resolve certain errors or missing parts, it should support it.
We'll definitely take a look at this use case and evaluate other situation where CLI can handle errors instead of user making extra step.
In term of timeline, I believe we'll pick this up in the second half of 2022.

Thanks @mgrytsai just linked the counterpart for folders above. For reference https://github.com/box/boxcli/issues/267
That should be similar to the file path request

Thanks. For internal reference, I created a ticket for SDK team to look at - SDK-2170

Hi @jacquesvandermerwe ,
I'm trying to understand how the creation of destination path should work.
So far I can imagine two situations:

Single file download (e.g box files:download<PHONE_NUMBER>20 --destination=~/Desktop/1) If folder 1 doesn’t exist and CLI will just create it when the create-path flag is passed.
Bulk file download. In this case we provide a file with list of IDs and those files named the same. Currently, you can define only one destination path for your download command and if files named the same they will be overwritten.

Possible scenarios for bulk file download:

What we can do is add new column destination to the bulk-file-csv input which will behave similarly to --destination param in single command. So for every file you could download to different locations.
In addition to an individual destination, we can have  a way to define file name for download. So in input CSV, you will provide ID and Destination, where destination is the full path to the downloaded file (e.g --destination=~/Desktop/1/myfile.csv)

In terms of interface, i think we need to expose a flag (e.g. --create-path=yes) to make sure user explicitly agrees to create folder if that doesn’t exist.

Hi @mgrytsai
I think the create-path flag is ideal to allow the CLI to create the directories.
I'm split between the destination being a folder or file. I can see a use case for both.
For exporting files and renaming them on the destination, it can also be quite useful if the destination is a file name. Would to flags work? destination which drives the path and destination-filename which drives the files final name on the system?

I think it will be a bit complex to handle situation when both flags (destination and destination-filename) are provided.
However, I can imagine that destination will contain only path (e.g. $HOME/my-folder') and destination-filenameonly file name ( e.g.myfile.txt) and then CLI with concatenate destinationanddestination-filename` to get the final path to the file.
There are already param --save-to-file-path (file download) so we might use it for destination equivalent.
In the end, it could work like this for single and bulk action:

For folder download: box folder:download<PHONE_NUMBER>20 --save-to-file-path=~/Desktop/1 --create-path=yes (destination-filename isn't available in this case - you can't rename folder at download)
For file download: box file:download<PHONE_NUMBER>20 --save-to-file-path=~/Desktop/1 --create-path=yes --destination-filename=myfilename.txt

Above is my ideal state scenario, we'll need to explore if that technically possible and if we can use flags like that. At this moment, the behaviour is important for me.

Done under #393


[RFC] Add Paseo NetworkId

This RFC proposes adding the Paseo testnet as a NetworkId, for easier identification.

I will prefer to leave out testnets as they are less stable. We can have a library defines all the known networks to aid devs specify them.

In that case, we could remove all testnets, Rococo, Wococo and Westend

Closing in favor of https://github.com/polkadot-fellows/RFCs/pull/108


Unexpected results for german text with umlauts

The following small sample program demonstrates the problem
import RAKE
Rake = RAKE.Rake(['da']);
print(Rake.run(u'und da\xdfselbe nochmal'))
as it returns [(u'\xdfselbe nochmal', 4.0), (u'und', 1.0)]
Tested with python 2.7.6
The issue seems to be, that the regex for word spliting and stopword removal are not unicode.

The following changes solved the issue for me
diff --git a/RAKE/RAKE.py b/RAKE/RAKE.py
index a147f04..e8263ae 100644
--- a/RAKE/RAKE.py
+++ b/RAKE/RAKE.py
@@ -64,7 +64,7 @@ def separate_words(text):
     @param text The text that must be split in to words.
     @param min_word_return_size The minimum no of characters a word must have to be included.
     """
-    splitter = re.compile('\W+')
+    splitter = re.compile('(?u)\W+')
     words = []
     for single_word in splitter.split(text):
         current_word = single_word.strip().lower()
@@ -89,7 +89,7 @@ def build_stop_word_regex(stop_word_list):
     for word in stop_word_list:
         word_regex = r'\b' + word + r'(?![\w-])'
         stop_word_regex_list.append(word_regex)
-    return re.compile('|'.join(stop_word_regex_list), re.IGNORECASE)
+    return re.compile('(?u)'+'|'.join(stop_word_regex_list), re.IGNORECASE)

Just to humor me before I start looking into this, could you pip uninstall
and pip install it again and confirm the issue persists? A week or so ago
we pushed a fix that should've addressed that exact issue, and we've
historically had problems with pip doing proper upgrades.
On Wed, Nov 29, 2017, 5:34 AM Jürgen Bernau<EMAIL_ADDRESS>wrote:

The following changes solved the issue for me
diff --git a/RAKE/RAKE.py b/RAKE/RAKE.py
index a147f04..e8263ae 100644
--- a/RAKE/RAKE.py
+++ b/RAKE/RAKE.py
@@ -64,7 +64,7 @@ def separate_words(text):
@param text The text that must be split in to words.
@param min_word_return_size The minimum no of characters a word must have to be included.
"""

splitter = re.compile('\W+')

splitter = re.compile('(?u)\W+')
words = []
for single_word in splitter.split(text):
current_word = single_word.strip().lower()
@@ -89,7 +89,7 @@ def build_stop_word_regex(stop_word_list):
for word in stop_word_list:
word_regex = r'\b' + word + r'(?![\w-])'
stop_word_regex_list.append(word_regex)

return re.compile('|'.join(stop_word_regex_list), re.IGNORECASE)

return re.compile('(?u)'+'|'.join(stop_word_regex_list), re.IGNORECASE)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fabianvf/python-rake/issues/33#issuecomment-347819608,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AShd7Kxo1-olQPef84lE3wYWf2doab8Iks5s7TNMgaJpZM4Quu-w
.

--
Thank you for your time,
Justin Terry

Thanks for the quick reply!
I uninstalled/reinstalled. Problem persists.
I noticed the recent issue. The fix addressed the sentence_delimiters regex. My change fixes the word_splitter and the stop_word_regex. Which - to me - have the similar problem with unicode.

Awesome, you're right. Can you test your fix in python 3.7 and create a PR?


MZ_ environment variables

introduced MZ_ environment variables, mirroring LOGDNA_ ones
LOGDNA_ env vars  are still functional

In regards to tests that use the legacy prefix, are we okay leaving those as is and only using new prefix going forward? For example, in ..test/it/k8s.rs. This more of a style question since, as you mention, the legacy format will still work.

In regards to tests that use the legacy prefix, are we okay leaving those as is and only using new prefix going forward? For example, in ..test/it/k8s.rs. This more of a style question since, as you mention, the legacy format will still work.

we will keep old vars for awhile.  so need to test them too.
https://github.com/logdna/logdna-agent-v2/tree/LOG-13041-introduce-mz-environment-variables#logdna-agent


Report received rt instead of just throwing an assertion error.

https://github.com/wsmoses/Enzyme.jl/blob/d89a4e8e7fa56651b5e584ede0ea4eefefb9991e/src/compiler.jl#L89

hotfix in #42


The dashboard UI is too old.

Hi , contributors
@mstine @royclarkson @jstrachan @rmorgan @jvalkeal
I have installed the spring-cloud-dataflow-server-kubernetes with the lastest version(1.3.0.M1) and create the docker images with command
./mvnw package docker:build -pl :spring-cloud-dataflow-server-kubernetes
and login the system with

http://:80/dashboard

but the dashboard UI is older than 'Local Server' deploy type. here is the stream tab shotscren.

So i want to confirm with you that
1.the version of dashboard UI is different from 'Local Server'.
2.On which version do you plan to update the new dashboard UI version.
Thanks.

Hi,
The dashboard UI uses 1.3.0.M1 version of the Spring Cloud data flow UI which is being migrated to Angular 4. You can find more information on this here. The upcoming version 1.3.0.M2 will have more updates to the UI.

Thanks for trying this out. The 1.3.0.M1 release is an early milestone release with the only real change being the UI which is still in development. We included the most recent milestone of the UI when we made the release, but as you noticed you would have to use the Data Flow shell to create streams and tasks. I would recommend staying with 1.2.2.RELEASE for now, until the 1.3.0.M2 release, when we will have a more complete new UI implementation. Now, we also have a Helm chart for the 1.2.2.RELEASE to make it easier to install, see - https://spring.io/blog/2017/08/31/simple-installation-of-data-flow-for-kubernetes-with-helm

Got it .
@ilayaperumalg @trisberg ,thanks for your reply and your hard work.


TST: Add 32-bit testing to CI

As recently noted, it has been ages (or never?) since SciPy has had 32-bit testing in its development CI, and Ralf (and more recently I) have been doing this manually, especially when there are wheels issues.
I've added 32-bit Linux testing using Azure and the base approach is the Docker approach used by NumPy for the same purpose. However, SciPy proved more sensitive to the exact version of openblas, so I was forced to use the same pre-built openblas binary we use for 32-bit Linux wheels at the moment along with an older version of gfortran. I think that's a good thing in the end as it better matches wheels workflow.
This should help close one of the major sources of dissonance with our wheels testing, which has many 32-bit matrix entries. I'm not claiming that this build is identical to what we do for wheels just yet (I'm not building a wheel in this new job just yet), but the linked openblas should match and the gfortran should be very similar.
This may be useful to backport to the 1.2.x branch along with the original Azure PR to reduce the likelihood of undetected 32-bit breaks seeping through to the wheels on that LTS branch.
My other idea is that this approach will eventually be augmented with post-mortem openblas build version confirmation using the machinery from https://github.com/numpy/numpy/pull/12523 when it is ready / merged. Likewise, NumPy should be able to benefit from the approach used here to better match wheels instead of using apt-get version of openblas on Linux Azure. So the projects can continue to build each other up.

presumably pypy3 CI issues unrelated

Awesome, thanks @tylerjereddy!

This may be useful to backport to the 1.2.x branch along with the original Azure PR to reduce the likelihood of undetected 32-bit breaks seeping through to the wheels on that LTS branch.

yes, makes sense


Updated SQLAlchemy version to 1.3.0

Fixes #2749

Do we need to keep this PR open or can you close it. I believe you were just testing if we could cleanly just upgrade the package which say unit tests break?


feat(besu): add prometheus metrics support to the OpenAPI specs of the plugin

Description
As a developer, I want to integrate Prometheus Exporter for the Hyperledger Besu Cactus plugin, Issue #458 details the description in depth and covers up for all the underlying plugins.
cc: @petermetz @takeutak @sfuji822 @hartm @jonathan-m-hamilton @AzaharaC @jordigiam @kikoncuo

I want to pick this issue


Suggestion for "CopyLocal" issue

This problem also exists for WPF "only" referenced libraries.
A simple solution for this would be to add a simple attribue to the library and refernence it, for exampel in the AssemblyInfo.cs
The attribute:
using System;
namespace MyNamespace
{
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
public class ReferencedLibraryAttribute : Attribute
{
}
}
in AssemblyInfo of the using project:
[assembly: ReferencedLibrary]

I like this because you can hide it out the way in the AssemblyInfo. Fancy sending a PR?

Fixed by b235183170904ba1070999ecf7e829d9754fb51a . Packages pushed to NuGet as <IP_ADDRESS>


The improvement of social information is not signifcant

As in paper, SSR-GNN(a session-based model neglecting social information ) 's performace as:
45.46 24.97 52.95 25.49 39.92 21.10 49.35 21.81 61.04 33.47 69.50 34.06
while the performace of proposed SERc is:
46.01 25.14 53.72 25.67 40.02 21.29 49.53 21.98 61.66 34.03 70.05 34.62
Does this means social information is not important or not well employed?

Thank you for your interest in our work.
Actually, SSR-GNN is a social-aware model. You need to compare SR-GNN and SSR-GNN to see the effect of considering social information. From the results in Table 2, SSR-GNN significantly outperforms SR-GNN, so social information is important and well exploited.

Thanks for your repeating. I get it.


Maybe Some more adjustment with Temperature？

Thanks for your support on Primal Winter，I'm happy playing with it.
But Something I found I don't know if it is owning to Primal Winter.

It's warmer in Frozen Water:
It was -17℃ on the ground, however, when I jump into water, the environment rise up to -2℃. Therefore, players will not afraid to hunt under water. And the whole thing is not realistic.

Snow Storm is not scary:
The normal temperature is -17℃. While when snow storm is coming, the temperature is just -18℃. What I want to say is the snow storm is not scray enough to prevent players to go out without consideration.

In the <IP_ADDRESS> Version, I found the hunger is dropping so fast, while I tried <IP_ADDRESS> version which is  much rational, I appriciate :) And here is the thing, are there any posibility to let myself adjust some parameter in config?
Because I don't know in what data would make the game funny, maybe i'll test it multiple times.

Parameter to adjust in what body temparature will player reduce HP.
Parameter to adjust the hunger reducing speed.
Parameter to adjust the body temparature dropping speed at day / at night
Parameter to adjust the body temparature dropping speed during the storm, maybe it could be a number that multiply to the normal dropping speed?
Parameter to adjust the Campfire affect range.

These are so many changes, and I feel bad asking u to do so much works, it may make you overload, but I really love your mod, I want to play your mod with my friend, I'll do what I can if you need anything.

I'm not trying to dismiss your request, but this is actually really silly. If you started out in a t-shirt in the middle of winter, you'd die within the first day. Asking me to basically make a magical temperature system by basically being able to remove the entire temperature system through configurations is just not going to happen. I know you are trying to make a fun survival experience, but this is just not something that will work well with this mod.
Please read the documentation in the wiki before making more requests on basically what amounts to breaking the mod: https://github.com/wendall911/Homeostatic/wiki/Temperature-Calculations
Primal Winter is a really poorly implemented mod that doesn't really do anything to expose storms, etc. Also, if things are covered in snow, it is WARMER (please look this up, it is basic science). Also, the water, when not frozen is WARMER.
All of the parameters you are requesting would basically just invalidate all of the work to make a balanced mod for 99.99% of people wanting a temperature system that isn't TAN.  I considered the hunger thing a bug. But now it is also nerfed to the point that changing this more will basically just remove the mechanic. Also, changing the body temperature to be something alien just sounds goofy. There are links on the main page, as well as the wiki that explain this.
It sounds like you want a peaceful mode for temperature. That doesn't make sense. The mod should be something folks can react to based on their every day experiences outside. It also uses real body temperature values for a reason. That way all of the math works out. If you start to override basic things, the math no longer works at all. Again, please read the wiki.
Range isn't a thing with thermal radiation. You can increase the thermal radiation of the campfire via datapack. This is also documented in the wiki. There are a lot of things that could have some increases to suit this, like torches.

Sorry for my dumb askings, it is warmer under water for sure, I should have watch the wiki first.
But I found something today, because, when I create a new world, its -17℃ on the ground, but it's 20+℃ under water, it's totally different from what I have mentiond in this post which have only 1℃ difference. And I was in a very shallow place, like merely burried my head.
I think this can be a bug?

I'm not trying to dismiss your request, but this is actually really silly. If you started out in a t-shirt in the middle of winter, you'd die within the first day. Asking me to basically make a magical temperature system by basically being able to remove the entire temperature system through configurations is just not going to happen. I know you are trying to make a fun survival experience, but this is just not something that will work well with this mod.
Please read the documentation in the wiki before making more requests on basically what amounts to breaking the mod: https://github.com/wendall911/Homeostatic/wiki/Temperature-Calculations
Primal Winter is a really poorly implemented mod that doesn't really do anything to expose storms, etc. Also, if things are covered in snow, it is WARMER (please look this up, it is basic science). Also, the water, when not frozen is WARMER.
All of the parameters you are requesting would basically just invalidate all of the work to make a balanced mod for 99.99% of people wanting a temperature system that isn't TAN. I considered the hunger thing a bug. But now it is also nerfed to the point that changing this more will basically just remove the mechanic. Also, changing the body temperature to be something alien just sounds goofy. There are links on the main page, as well as the wiki that explain this.
It sounds like you want a peaceful mode for temperature. That doesn't make sense. The mod should be something folks can react to based on their every day experiences outside. It also uses real body temperature values for a reason. That way all of the math works out. If you start to override basic things, the math no longer works at all. Again, please read the wiki.
Range isn't a thing with thermal radiation. You can increase the thermal radiation of the campfire via datapack. This is also documented in the wiki. There are a lot of things that could have some increases to suit this, like torches.

Sorry for my dumb askings, it is warmer under water for sure, I should have watch the wiki first.
But I found something today, because, when I create a new world, its -17℃ on the ground, but it's 20+℃ under water, it's totally different from what I have mentiond in this post which have only 1℃ difference. And I was in a very shallow place, like merely burried my head.
I think this can be a bug?

It isn't a bug. Winter ground temperatures are around 25C. Water freezes at 0, so if you are in freezing, below 0 temperatures, any liquid water will be warmer. I do the calculation based on the volume of the surrounding water. Yes it is warmer. The on the ground temperature is not related to the underground temperature, which is what affects cold water. This is why only water surfaces freeze in the winter.
The coldest oceans on earth range from -2 to about 10C. Based on the view you've given, all water would be frozen solid. That really makes the game unplayable. I'm not sure primal winter mod should make it colder than the antarctic ocean.

It isn't a bug. Winter ground temperatures are around 25C. Water freezes at 0, so if you are in freezing, below 0 temperatures, any liquid water will be warmer. I do the calculation based on the volume of the surrounding water. Yes it is warmer. The on the ground temperature is not related to the underground temperature, which is what affects cold water. This is why only water surfaces freeze in the winter.
The coldest oceans on earth range from -2 to about 10C. Based on the view you've given, all water would be frozen solid. That really makes the game unplayable. I'm not sure primal winter mod should make it colder than the antarctic ocean.

Oh, I've learned alot, you did really good :)

But I still think we should check this picture? my body temperature is 96℃, and I touched the water only by foot, then the environment temperature is 19℃..... oh..... I think you mean the 19℃ is the water temperature, it's no longer the air temperature when I touch water... is that right?

It isn't a bug. Winter ground temperatures are around 25C. Water freezes at 0, so if you are in freezing, below 0 temperatures, any liquid water will be warmer. I do the calculation based on the volume of the surrounding water. Yes it is warmer. The on the ground temperature is not related to the underground temperature, which is what affects cold water. This is why only water surfaces freeze in the winter.
The coldest oceans on earth range from -2 to about 10C. Based on the view you've given, all water would be frozen solid. That really makes the game unplayable. I'm not sure primal winter mod should make it colder than the antarctic ocean.

Oh, I've learned alot, you did really good :)

But I still think we should check this picture? my body temperature is 98.5℃, and I touched the water only by foot, then the environment temperature is 18℃..... oh..... I think you mean the 18℃ is the water temperature, it's no longer the air temperature when I touch water... is that right?

For some reason I don't see your last question. Yes, being in water has different calculations, but one is for partial submersion, the second is for full submersion. So even if you are partially in water, it affects the temperature. This is also true if not playing Primal Winter and in a desert environment where it is really warm.
I know it is counterintuitive, but water, when not frozen can be warming (even if you'll freeze to death in a short amount of time).

Oh, I haven't included the body calculation stuff. I will add to the Wiki when I have time. It is pretty complicated. Does different stuff in many different situations.

Oh, I haven't included the body calculation stuff. I will add to the Wiki when I have time. It is pretty complicated. Does different stuff in many different situations.

Thank u, I just feel that I'll still making dumb questions so I deleted my post, I've learnd alot from u, thanks for your kind and patience :)


review qtp validations for low hanging speed ups

during today's meeting @wasade pointed out that it seems like the validation steps for demux and bioms takes longer than some of the processing steps. A possible improvement is to not use skbio for reading files but reading them directly ...

Can the improvement be done directly in skbio to improve the performance globally rather than just in the qtp? Will help to reduce duplication of efforts.

Closing as during the last couple of deployments we have improved performance of all the qtp.


No such package 'tensorflow/tensorflow/tools/docs': BUILD file not found on package path

I am trying to generate docs locally as g3doc now recommends after the documentation change from about 2 weeks ago, but the command it says to run is failing.
I am running bazel run -- tensorflow/tools/docs:generate \ --src_dir=tensorflow/docs_src/ \ --output_dir=/tmp/tfdocs/
But it fails with the error:
ERROR: no such package 'tensorflow/tensorflow/tools/docs': BUILD file not found on package path.
INFO: Elapsed time: 0.112s
ERROR: Build failed. Not running target.

I have the latest version of bazel installed, and my repo is up to date, so I'm not sure why this would be failing.  The tools/docs/BUILD file definitely exists, so it seems strange that it would tell me 'BUILD file not found on package path'.
I figured since this change to the docs is very recent, there could potentially be some problems here...although I'm not sure why this would impact bazel.  Or is there something I'm missing?

I just tried that command on the latest master checkout and it worked for me. Can you verify that you're running the bazel command from the latest master branch, at the root of the repo, etc.?

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


请求为 Raspberry Pi 4B 编译对应的版本

Raspbian buster armv7l+
@tindy2013

apt install libcurl4-openssl-dev libfreetype6-dev libpng-dev libyaml-cpp-dev rapidjson-dev libevent-dev libssl-dev libpcre3-dev -y

cd /opt
git clone https://github.com/pngwriter/pngwriter
mkdir pngwriter-build
cd pngwriter-build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../pngwriter
make -j4
make install

cd /opt
git clone https://github.com/tindy2013/stairspeedtest-reborn -b dev
mkdir stairspeedtest-reborn-build
cd stairspeedtest-reborn-build
cmake ../stairspeedtest-reborn
make -j4

./stairspeedtest

ARMv7l(armhf) auto build has been added in commit 6187596.

v0.6.0-beta


Lerna

Tried installing Lerna but couldn't get the workspace up and running. Is this the kind of framework that'll only ever work nicely on UNIX ?
Might as weel get my dual boot going sometime if that's the case. Would love to help you out on this project :-).

Maybe you can wait for Docker to be something available, someone else said they're working on it on issue https://github.com/birkir/prime/issues/118

I will boot a windows machine and make the required changes.
I don't want to be exclusive to unix 👍


Redo #2601

Only check whether routed data sources belong configured data sources.

Pull Request Test Coverage Report for Build 375

3 of 4 (75.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 63.933%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/sharding-core-route/src/main/java/org/apache/shardingsphere/core/route/type/standard/StandardRoutingEngine.java
3
4
75.0%

Totals

Change from base Build 387:
0.0%

Covered Lines:
9411

Relevant Lines:
14720

💛  - Coveralls


[Docs] Platform Compatibility Matrix: Test Summaries with N/A should not display -100%

Current State
On https://docs.meshery.io/installation/platforms, entries in the Platform Compatibility Matrix with "N/A" test summaries display a tooltip with"-100%".

Desired State
These should display a tooltip with the text "Not Applicable" instead.

Contributor Guides and Handbook

📚 Instructions for contributing to documentation

Meshery documentation site and source

🛠 Meshery Build & Release Strategy
🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Hey @leecalcote I'll take up on this.

Done @leecalcote
PR #7144  does the job.


Setup additional tls port

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@bjorncs, @andreer  fyi


Context cleanup

Hopefully this PR adds a little more rigor to the initialization of resources. By requiring the context to be set for initializing a resource we can prevent cases where users inadvertently create resources without the associated context. It would be an easy mistake to make when, for example, the find_by_key method is overridden to forget to pass in the context from the options hash.
This will require a minor version bump because it's potentially a breaking change.
May fix #458

This will probably require many users to update their tests, but it's worth it IMO to avoid resources that inadvertently have a context. Good to merge from my perspective.


Upgrade to Angular 11

https://blog.angular.io/version-11-of-angular-now-available-74721b7952f7

Done


Upgrade E2E testing to check for compile warnings, to prevent unnoticed regression in testing

There have been a fair number of GH issues opened recently regarding the appearance of incorrect compile warnings: #3093, #3067, #3012. My memory is telling me (but haven't confirmed) that some of these incorrect cases are new regressions.
Even if these particular cases are not new regressions in specific compile warnings, we should consider upgrading E2E testing to check to compile warnings, to prevent any potential unnoticed regression in the future.
From my understanding, the way that we have set up most of the test.toml files with the filecheck crate that we are using for failure testing will check to see if there are regressions in the output of compile errors (depending on the directives given to filecheck it seems ?), but I haven't looked into it deeply.
We should consider solving this problem by introducing a user-facing compile-time flag to promote compile warnings to compile errors  #3190. Although I imagine that it is also possible to check with filecheck directly on the compile warnings themselves.

forc build now has a --error_on_warnings flag.
To ensure that there are no new warnings introduced in a test, we need to consider the following scenarios.

A test expects a particular warning and looks for it. Here, it doesn't matter if --error_on_warnings is set or not.
A test doesn't care about warnings and is looking to just successfully compile or compile and run.
a. This test may already have warnings. If --error_on_warnings is now set by default in our testsuite, this test will fail. We must first fix those warnings.
b. The test has no warnings. In this case, we should go ahead and set --error_on_warnings for that test.
A test checks that a particular warning isn't thrown. Even in this case, it wouldn't matter if --error_on_warnings is set or not. That's because filecheck ensures that that particular warning isn't in the output.

So effectively, this Issue boils down to 2a and 2b. i.e., manually checking every test and either fixing warnings (if present) and setting the flag, or not setting the flag for that test, if fixing warnings isn't possible.
Is that correct? @emilyaherbert @otrho @mohammadfawaz .

If --error_on_warnings is on, and we get a new warning then the compilation will fail, and so won't 1 and 3 then fail too?

If --error_on_warnings is on, and we get a new warning then the compilation will fail, and so won't 1 and 3 then fail too?

But that's what we want right? To catch unexpected new warnings. If it's expected, then we've to modify the test.

OK, wrong question... it does matter for 1 and 3 whether the flag is on.  We do want it on else we'll miss the unexpected warning.
I think this is what you're meaning, but saying 'it doesn't matter if it's set or not' isn't quite right, yeah?
So, the idea of catching unexpected warnings is good, but the idea of removing all warnings in tests especially for DCA sounds painful, because often you do have a struct or enum with fields that you don't use.  But I guess you can just put those into test.toml.  I don't think fixing the warning altogether is feasible or desirable.

OK, wrong question... it does matter for 1 and 3 whether the flag is on. We do want it on else we'll miss the unexpected warning.
I think this is what you're meaning, but saying 'it doesn't matter if it's set or not' isn't quite right, yeah?
So, the idea of catching unexpected warnings is good, but the idea of removing all warnings in tests especially for DCA sounds painful, because often you do have a struct or enum with fields that you don't use. But I guess you can just put those into test.toml. I don't think fixing the warning altogether is feasible or desirable.
I'm not sure if this is possible at the moment though, is it? I haven't looked at the test stuff for a while.
Maybe --error_on_warnings is the wrong solution to this problem. Just grepping for unexpected output might be better.

I think this is what you're meaning, but saying 'it doesn't matter if it's set or not' isn't quite right, yeah?

Yes, you're right.

But I guess you can just put those into test.toml

You mean as if you're expecting those warnings? but in that won't work because, with --error_on_warnings set, the test will fail to compile.

Maybe --error_on_warnings is the wrong solution to this problem. Just grepping for unexpected output might be better

I considered this too, and we could just do something like grep for number of warnings thrown AND the "expected warnings" (so that one doesn't go out and another replaces it, keeping the count same). This will be a lot of manual changes in the testsuite, but I think will eventually solve the problem.


fix: metrics when half-open to open or closed

In current implementation, stats is not always from old state. change to only use old state stats.

Thanks for this!

This has been released in 0.6.6.


Modify to use embed package instated of raw string literals

resolve: https://github.com/topolvm/topolvm/issues/289
ref: https://github.com/topolvm/topolvm/pull/285#discussion_r603927908

No additional comment. Would you reflect the comments by @toshipp

@toshipp @llamerada-jp Thank you for your review. I fixed the points of your comment.
Would you check this PR again?


Adding login page and add tests

The changes that were made:

Add login page

Add tests to the login page

Update landing/base.html and delete  templates/base.html
Resolve #78

Not working for me,
[23/May/2023 12:30:23] "GET /accounts/login/ HTTP/1.1" 404 5335 Not Found: /login [23/May/2023 12:30:42] "GET /login HTTP/1.1" 404 5296 Not Found: /accounts/login/ [23/May/2023 12:31:14] "GET /accounts/login/?next=/ HTTP/1.1" 404 5342 Not Found: /accounts/login

I think you entered the wrong url

It is failing also in tests
Please refer the 2nd get /login returned 404

Not working for me,
[23/May/2023 12:30:23] "GET /accounts/login/ HTTP/1.1" 404 5335 Not Found: /login [23/May/2023 12:30:42] "GET /login HTTP/1.1" 404 5296 Not Found: /accounts/login/ [23/May/2023 12:31:14] "GET /accounts/login/?next=/ HTTP/1.1" 404 5342 Not Found: /accounts/login

I think you entered the wrong url

It is failing also in tests Please refer the 2nd get /login returned 404

Done.

Please add Login Form validation

Done @Yarboa .


Traces

Trace is a new system entity that track an execution sequence
Trace sequence
TriggerInstance emitted into StackStorm
If a matching Rule is found this TriggerInstance will lead to an ActionExecution therefore the Trace will contain
TriggerInstance (original) -> Rule -> ActionExecution -> TriggerInstance (ActionTrigger)
ActionExecution Requested
No rule ends up being matched but there is still a Trace.
ActionExecution -> TriggerInstance (ActionTrigger)
Linking automation on the basis of ActionTrigger
A useful pattern is to use an ActionTrigger to initiate next action and so on. In this case all the Rules , ActionExecution and TriggerInstance that form a logical chain/ automation will be part of the same Trace.
trace_id
When a TriggerInstance is emitted into the system the Sensor can provide a TraceContext which will contain a trace_id. This trace_id if unique can be used to track the resulting Trace.
Similarly, a TraceContext and therefore a trace_id can be provided given on starting of an execution.
Design and impl choices

A Trace points to various entities like triggerinstance, rule and actionexecution. These entities do not hold a bi-directional reference to a Trace. It is possible to lookup a Trace given the id of one of these entities.
A Trace can be looked up by trace_id. Since trace_id is externally provided StackStorm cannot assume uniqueness therefore StackStorm maintains its own unique id.
All child executions  of a workflow belong to the parent execution Trace.

Tasks

[x] DB models, persistence, API models and REST endpoint
[x] Basic unit tests for all these layers
[x] Service methods to make interaction simple
[x] Manual tests from API with and without a sensor

For design and requirements see https://github.com/StackStorm/discussions/issues/89

In general, this is not what I had in my mind in terms of implementation. I thought trace information would be like a context object in each model themselves. One problem with the current solution is we might forget to add things to trace object (programmer error). There are advantages to current solution. Querying basically is looking up one db object. We'll have to evaluate how this works for us in the long run.

I thought trace information would be like a context object in each model themselves

We talked through why this does not really work for our use-cases. Shadowing the trace_tag in the model will have to be done to provide other features but the links will be from TraceDB particularly to be able to query.

Took away WIP.
I have addressed comments other tasks will be covered in independent PRs.

I know this has already been merged, but we still need to update changelog and add a documentation section on tracing (what it is, how to use it, etc.).

but we still need to update changelog and add a documentation section

Should've been clearer when I merged the PR. I merged this into master so @lakshmi-kannan could add some extra features that I had not originally planned. Will be working on docs, examples and changelog today.


make the file tree traversal algorithm concurrent

Summary
The file traversal algorithm currently runs in a single iteration. We can split it into goroutines, or use a worker pool, etc.
The algorithm performance should also be tested with a new benchmark test with profiling enabled.

Can I work on this ?


UART Receiver and Transmitter Not Functioning on Olimex GateMate Board

Description
While testing the UART receiver and transmitter on the Olimex GateMate board, we encountered an issue where input typed in the terminal was neither received nor transmitted.
Steps Taken

Firmware Check: Verified the RP2040 firmware to ensure UART communication was enabled. The firmware confirmed that UART communication was enabled.
Documentation Review: Consulted the documentation for the Olimex board to verify if the Receive and Transmit Debug pins were declared and connected to the RP2040. The documentation confirmed that the pins were correctly declared and connected.

Expected Behavior
Input typed in the serial communication terminal should be received and transmitted correctly.
Actual Behavior
No input typed in the terminal is being received or transmitted.
Additional Information

Baud Rate: 115200
Port: /dev/ttyACM0

The problem was that the documentation for the GateMate Olimex board was wrong.
The pins were declared like:
Pin_out "o_Tx_Serial" Loc = "IO_SA_A6";
Pin_in "i_Rx_Serial" Loc = "IO_SA_B6" | PULLUP=true;

Which when looking at the documentation is correct.
But in actuality they pins are reversed and the correct way to declare them is:
Pin_out "o_Tx_Serial" Loc = "IO_SA_B6";
Pin_in "i_Rx_Serial" Loc = "IO_SA_A6" | PULLUP=true;

@TsvetanUsunov, take note


fa-pull-... prefix

for new css class
https://github.com/rmrevin/yii2-fontawesome/blob/master/assets/css/font-awesome.css#L67
pull-left and pull-right is  Deprecated as of 4.4.0

Merge two pr, please.


Add gas estimates to buildAndSign, add checks to log

Closes #109
Unfortunately can't use github.com/cosmos/cosmos-sdk/client/tx#Factory since not all ibc types are supported, but for now this should make it work if gas-adjustment is added to the configuration.

What do you think of removing "omitempty" in the gasAdjustment field's tag.
type Chain struct {
  ...
  GasAdjustment  `yaml:"gas-adjustment,**omitempty**" json:"gas-adjustment,**omitempty**"`
  ...
}

This will automatically set the "gas-adjustment: 0" in the config even if people didn't set the gas adjustment manually, which will allow people to know that the gas-adjustment field can be configured.

LGTM!


[WIP] Windows Support

Some changes to make it work on windows with MSVC...
Build setup:
Windows 11 x64
Visual Studio 2019 (v16.11.25) - MSVC x64 v19.29.30148
Anaconda 3 env. with GnuRadio installed
GLFW in pkg-config
Vulkan 1.3.241 on windows path variables
Meson
Build steps:
git clone https://github.com/luigifcruz/CyberEther --recursive
cd Cyberether
git checkout development
from the conda env run:
meson setup . ./build --buildtype=release
cd build
ninja

Thanks for the PR! I implemented some of the patches here with MinGW-W64 and they appeared to work well.


Group Extended_partial

Dear developers. Could you clarify please. Why is the group Extended_partial based on checkV results circularized (with DTR)? Can I take these sequences as putative complete genomes?

Hi,
Thank you for using COBRA.
Generally, if a COBRA "Extended_partial" sequence was recognized as
"circularized" by CheckV because of DTR, then usually, the length of DTR is
not equal to the maximum kmer size you used. In such cases, I would prefer
seeing it as a partial genome, you could assign it as a circular genome as
well at your own risk. I hope this helps.
Please let me know if you have any other questions.
Have a good day.
LinXing Chen, Ph.D.
Special Researcher (特任研究员),
University of Science and Technology of China (USTC), HeiFe, Anhui, China
Phone: (+86)176-0730-1276
Email: @.***
Sergey Potapov @.***> 于2024年7月7日周日 10:55写道：

Dear developers. Could you clarify please. Why is the group
Extended_partial based on checkV results circularized (with DTR)? Can I
take these sequences as putative complete genomes?
—
Reply to this email directly, view it on GitHub
https://github.com/linxingchen/cobra/issues/39, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALEPRGNWCOPHPTJDMZX6GA3ZLCUZRAVCNFSM6AAAAABKO6PN6OVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM4TGOBWHEZDINY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Bug report: user name verification issues when creating users

Describe the bug
The length and format of the user name were not verified when the user was created, and the user name parameter was forcedly verified when obtaining user information and deleting the user.
Therefore, when a user with an invalid user name is created, the Master cannot modify or delete such operations due to API parameter verification.
Environment
$ ./chubaofs-server -v
ChubaoFS Server
Branch: master
Commit: 456760f9e46abb8d9928dd10cc0ecd390d16700c
Build: go1.12.14 linux amd64 2020-03-30 14:49

To Reproduce
Create a user with a username of more than 21 characters, and then try to view the user information or other operations on the user.
Expected behavior
When creating a user, it is prompted that the user name is invalid and the user cannot be created.
Or you can perform operations such as viewing information deletion authorization for this existing user.
Additional context
NONE.

This issue have been fixed by pull request #465.


Control over theme / css classes

Is there a way of altering the theme for specific elements, I understand that the background color of the date pickers toolbar is using theme.palette.primary[500], if the theme is light, but if I wanted to use a different color how would I go about doing this (aside from altering the palettes primary color)?

There is no way currently.
I`ve known that some time we would need to implement the classes api for pickers.
Actually I cant promise you anything, but will try to implement that in one of beta releases)
If you wont to open pull request, you are welcome)

As the variant you can override the whole theme of picker, by wrapping it in the custom MuiThemeProvider

@all 🎉  We have such ability, but I didn`t know about that - just refer  here is an example of how to override particular control


Viability of adding a new Structured Volume type

Hi,
I'm trying to visualize a large volume stored in a cylindrical coordinate system (its cartesian shape is an annulus, with inner and outer radius, but its raw voxels are stored with 256 voxels radially, 384 voxels circumferentially, and anywhere from 1024 up to 60.000 slices axially).
We have our own in-house volume renderer that can draw this kind of dataset. Here's an example:

To deal with the large amount of slices (up 60.000 in our current datasets) we have your typical streaming LOD/mipmap/clipmap system that loads whatever is nearest to the camera. That's not really what this question is about.
Mine is more about the cylindrical coordinate system. Here's an example slice in Cartesian space (image downsized):

All the black pixels in this image (the inner circle, and the four corners) are all black (zero). That's why we store the dataset in its cylindrical raw form, where a slice might looks like this (not the same slice as the one above):

All raymarching happens in cartesian space, and only as the very last step, when we're trying to get the scalar value of a voxel in the innermost loop inside a pixel shader, do we convert to a polar coordinate-system to sample the texture. This works great; we get to keep the size of our dataset on disk and in GPU memory significantly smaller, and we can thus load more of it at once. Furthermore, any raymarch steps that step through the zero voxels can very quickly skip this empty space (well before sampling the texture).
Strictly speaking the texture sampler's bilinear interpolation is no longer 'mathematically correct', since neighbours aren't perpendicular like they are in Cartesian space, but the results are visually close enough. We do some extra math for our gradient approximation using central differences to handle the Cartesian/Polar issue.
The reason we're looking at OSPray is because we'd like to bring some "physically based rendering" qualities to our visualizations -- for some definition of "physically based" anyway, considering we're drawing ultrasound datasets captured deep underground where there is no light, heh 😄.
We've done some test renders with "scan-converted" subsets of our data (i.e., converted from cylindrical to cartesian space, with all the empty space taking up valuable memory), and the results are promising.
These two images were actually taken using Mitsuba and Exposure, but OSPray got similar ones (sorry I don't have any at hand), and we feel OSPray is the most malleable open-source project of those three:

Anyway, all that brings me to my final question (sorry for the long winded introduction).
I'm considering to add a new type of structured volume to OSPray (and obviously contribute it back to the project if the implementation ends up good enough for your taste) that would do its sampling in a cylindrical space. It may also handle the streaming aspects for large number of slices, although that's not my initial priority.

Totally doable, just copy-paste the existing structured volume code, add some extra parameters that specify how the X and Y dimensions map to an annulus ring with inner and outer diameter, and run atan2 on the voxel's X and Y location whenever OSPray asks for its value... (I'm hand-waving here, but you get the gist, maybe. I'm the guy that wrote the in-house raymarch visualizer, using DirectX 12, so there's some experience there.)
May be possible, but don't expect any help from us -- nor would we have an interest in such a thing since it's fairly niche.

Note, I don't expect help with it -- my company allows me to spent time on this. Judging from a quick look at the code, I'm fairly certain this is doable. The main thing I'm after is a quick confirmation that there are no immediate deal-breakers that blow this idea out of the water.
So thoughts are welcome, but I understand your time is valuable and you guys are plenty busy.
Thanks,
Jaap Suter

I would say this is totally doable! Basically volumes in OSPRay have the following 2 questions to answer for the renderer:

Given a 3D point in world coordinates: what is the volume's interpolated sample value for that point?
Given a ray and a distance along the ray: what should be the distance to the next sample point given a user supplied sampling rate?

If whatever type of data is able to answer those two questions then you can easily fit inside everything OSPRay has to offer, including our scaled out MPI offload rendering (where scene gets replicated on all nodes to scale up performance)...for free :)
This is EXACTLY what we want users to do: implement the one (or couple of) missing parts inside OSPRay that you need for your specific application and let us do everything else. Thanks for being able to take the lead on it...but know we are here to help you if you get stuck fitting into the bigger picture. ISPC can certainly have some "gotchas", but if you have shader experience with DX12 then you should feel right at home.
Note that this can be done either as a stand alone "module" or done right inside your client application. The module approach makes it easier to share with others, but that decision is totally up to you, no pressure! We can help in guidance (and even bug fixing our stuff) in either approach.

Cool!  To add a little to Jeff's comments - I would say the implementation is fairly "trivial", beyond the unfortunately requirement for writing ISPC code as Jeff mentioned.  It should be mostly copy and paste.  The structuredvolume_sample() function already maps from world coordinates to cartesian- you will need to modify that mapping of world to local coordinates and vise versa.  You will also likely need to modify the interpolation in that same sample function.  That in theory should be it really, the underlying OSPData storage and other interactions with the volume shouldn't know or care about how you are representing the data.

And also as far as modules go - I would highly recommend using the module interface even if you do not decide to share your code.  It will make maintaining your code contribution with the latest OSPRay updates far easier.

Option b - quite doable, using pretty much the math you outlined :-).
The abstraction to a volume is “sample(world sample pos) -> scalar field value”, so as long as you can map that 3D world pod to a value everything is easy...
Sent from my iPhone

On Jul 17, 2018, at 2:29 PM, Jaap Suter<EMAIL_ADDRESS>wrote:
Hi,
I'm trying to visualize a large volume stored in a cylindrical coordinate system (its cartesian shape is an annulus, with inner and outer radius, but its raw voxels are stored with 256 voxels radially, 384 voxels circumferentially, and anywhere from 1024 up to 60.000 slices axially).
We have our own in-house volume renderer that can draw this kind of dataset. Here's an example:
To deal with the large amount of slices (up 60.000 in our current datasets) we have your typical streaming LOD/mipmap/clipmap system that loads whatever is nearest to the camera. That's not really what this question is about.
Mine is more about the cylindrical coordinate system. Here's an example slice in Cartesian space (image downsized):
All the black pixels in this image (the inner circle, and the four corners) are all black (zero). That's why we store the dataset in its cylindrical raw form, where a slice might looks like this (not the same slice as the one above):
All raymarching happens in cartesian space, and only as the very last step, when we're trying to get the scalar value of a voxel in the innermost loop inside a pixel shader, do we convert to a polar coordinate-system to sample the texture. This works great; we get to keep the size of our dataset on disk and in GPU memory significantly smaller, and we can thus load more of it at once. Furthermore, any raymarch steps that step through the zero voxels can very quickly skip this empty space (well before sampling the texture).
Strictly speaking the texture sampler's bilinear interpolation is no longer 'mathematically correct', since neighbours aren't perpendicular like they are in Cartesian space, but the results are visually close enough. We do some extra math for our gradient approximation using central differences to handle the Cartesian/Polar issue.
The reason we're looking at OSPray is because we'd like to bring some "physically based rendering" qualities to our visualizations -- for some definition of "physically based" anyway, considering we're drawing ultrasound datasets captured deep underground where there is no light, heh 😄.
We've done some test renders with "scan-converted" subsets of our data (i.e., converted from cylindrical to cartesian space, with all the empty space taking up valuable memory), and the results are promising.
These two images were actually taken using Mitsuba and Exposure, but OSPray got similar ones (sorry I don't have any at hand), and we feel OSPray is the most malleable open-source project of those three:
Anyway, all that brings me to my final question (sorry for the long winded introduction).
I'm considering to add a new type of structured volume to OSPray (and obviously contribute it back to the project if the implementation ends up good enough for your taste) that would do its sampling in a cylindrical space. It may also handle the streaming aspects for large number of slices, although that's not my initial priority.

Totally doable, just copy-paste the existing structured volume code, add some extra parameters that specify how the X and Y dimensions map to an annulus ring with inner and outer diameter, and run atan2 on the voxel's X and Y location whenever OSPray asks for its value... (I'm hand-waving here, but you get the gist, maybe...)
May be possible, but don't expect any help from us -- nor would we have an interest in such a thing since it's fairly niche.
Note, I don't expect help with it -- my company allows me to spent time on this. Judging from a quick look at the code, I'm fairly certain this is doable. The main thing I'm after is a quick confirmation that there are no immediate deal-breakers that blow this idea out of the water.
So thoughts are welcome, but I understand your time is valuable and you guys are plenty busy.
Thanks,
Jaap Suter
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Great to hear guys. I'll start taking a stab and it and share updates here. Feel free to close this issue for now if you don't want to clutter the open-issue list. Thanks for the positive comments, very encouraging.


Editing a measure shouldn't be possible if it is part of a strategy

FloodAdapt version checks

[X] I have checked that this issue has not already been reported.
[X] I have checked that this bug exists on the latest version of FloodAdapt.

Reproducible Example
Add a measure to a strategy and then edit/delete the measure
Current behaviour
Measures can still be edited even though they are part of a strategy
Desired behaviour
If you add a measure to a strategy, it should not be possible to edit the measure anymore. This holds for both the parameters and the geometry. Also, just to be sure, check the connection between the strategy and scenario. Otherwise, that would break the connection between the measure and scenario
Task list

[ ] Implement
[ ] Check that the geometry is not editable
[ ] Check that the parameters are not editable
[ ] Check the connection between strategies and scenario's

Additional context
No response

Marked as done so closing


Update Java dependency to >= 1.8

Updated the deb/rpm Java dependencies, to require Java >= 1.8, as needed by Marathon v0.11.0.
Java 8 is available in Ubuntu >= 14.10, so we might have to stop supporting Ubuntu 12.04 (Precise) and Ubuntu 14.04 (Trusty), or document somewhere that Java 8 has to be installed from an unofficial repository.

@lingmann: I talked with Lukas a while ago about that topic. I can't remember the details, but the general outcome was: java 8 on our supported linux versions should not be a problem. Can you say something to ubuntu 12.04?

@gkleiman LGTM

Ubuntu 14.04 LTS is also interesting, because it is the current LTS version.

Currently, our list of supported distros is discussed here:
https://mesosphere.com/blog/2014/07/17/mesosphere-package-repositories/
And I suspect that these changes will break building Marathon packages in Teamcity:
https://teamcity.mesosphere.io/viewType.html?buildTypeId=Oss_Marathon_SnapshotPackages
Before these changes can be merged, we will need to verify that the Marathon packages build for all of our supported distributions. I suspect it might break things on CentOS6/RHEL6 and perhaps some of the other distros we support. So to get this merged in, we'll need to test and develop an alternative java install solution for those distros. Also, documentation will need to be updated on the website, etc. etc.

cc/ @aquamatthias
Our TC agents have Java 8 installed and they have been using it to compile Marathon since we changed the SBT configuration weeks ago.
This commit only changes the dependencies of the native packages, so that they cannot be installed if Java 8 is not there.
We changed the list of the supported distros with the release of Mesos v0.23: https://mesosphere.com/blog/2015/07/09/deprecating-support-for-older-linux-distros-with-mesos-0-23/. We have to update the blog post you linked.
The following currently supported distros don't have an official package for Java 8:

Ubuntu 12.04 (LTS)
Ubuntu 14.04 (LTS)
Debian 8 (Jessie)

We will have to include a reference to the Oracle Java 8 packages in our docs.
It is possible to install the java-1.8.0-openjdk package in CentOS 6, so no change should be needed for CentOS/RHEL.

@lingmann The packages can be build. TeamCity should be set up to build that.
The packages generated will have a dependency to java8.
As mentioned by Gaston: Ubuntu 12.04 (LTS), Ubuntu 14.04 (LTS) and Debian 8 (Jessie) don't have java8 in the default repo. To use the packages there the java8 ppa has to be installed manually.
That means it is perfectly possible to use Marathon on those systems, but an additional step has to be taken.
My suggestion:

[ ] Merge this PR, build packages and try on those platforms.
[ ] Describe how to install Marathon (and any other java based framework) on Ubuntu 12.04 (LTS), Ubuntu 14.04 (LTS) and Debian 8 (Jessie). Is that something the Marathon team should do?
[ ] Part of the Release Notes will be a link to the updated installation guide.

For point 2 see https://github.com/mesosphere/marathon/issues/2214


Resolution changed to 64X64

In the CPP problem, after only modifying the environment map to a resolution of 64X64, the generated coverage results are not good. Why is this? Do you need to modify the original parameters of the program?
The generated cpp results do not cover as much of the target area as possible.

It seems like the power budget is not enough. You should increase the movement budget range

It seems like the power budget is not enough. You should increase the movement budget range

The power setting is sufficient, but the coverage is only 20%. When inputting a 64X64 map, do you need to modify some hyperparameters or increase the number of training steps?

Probably you will need to adapt some parameters like the local map size, global map scaling, training steps. I would in any case highly recommend to use the latest code as it outperforms the previous one.


[Feature] upload a full directory

Hi !
Is there a way to implement the directory html5 attribute :
http://www.w3bees.com/2013/03/directory-upload-using-html-5-and-php.html
The idea is to select a client-side directory, this will create a new album with the same name and upload all pictures in it.
Thanks for the job :)

This issue will be closed because I'm not actively working on Lychee anymore. The repository of Lychee will stay available, but the main development continues under the Lychee Organisation. A fork maintained by the community. Important issues have been migrated. Feel free to re-add your issue(s) when necessary.


How to create a vue component similar to v-for.

Version
2.2.6
Reproduction link
http://nolinkavailable.com
Steps to reproduce

What is expected?
How to inject parent-component's pmodel into child element's scope.
What is actually happening?
How v-for sending the item to the child elements?

{{item}}

This is a question, not a bug report.


creates marker dropdown animation

see title

I like it!
Just a thought--not for this pull request, but in general--we need to have somehting happen when none of our results match the search. I thought it wasn't working at first, before I realized that my income search was too limiting...


Would it be better to add some Chinese fonts?

Hi LoeiFy,
I find this blog theme can not well support Chinese characters. In Windows rather than Mac OS, all Chinese characters will be shown in sans-serif which is not very beautiful.
To optimize the display of Chinese characters both in Windows and Mac OS, I just add PingFang SC and Microsoft YaHei into the font-family both in article list page (frontpage) and content page of my blog as follows:
font-family: apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, PingFang SC, Microsoft YaHei, sans-serif
Hope the further version of Mirror can support Chinese characters better. Thanks!
Best,
Donglei

@dongleizhang thanks, v0.3.1 has added the font microsoft-yahei

@LoeiFy I notice that you just added PingFang SC and Microsoft YaHei into the font-family of article list page, but the article content pages still show sans-serif font for Chinese characters.

@dongleizhang v0.3.2 has been fixed


28add date range

closes #28 - adds a timePeriod object to the trendData method allowing a user to specify hour, day, month, or year
by default, trendData will return all trend data results if no timePeriod object is provided

Coverage increased (+0.9%) to 84.889% when pulling a199e5f6b7b81de86678ab19ab3a4044092a32cd on 28addDateRange into 9212145cbc37f99e21bd5848cafe010d8b3b4ec0 on master.


Non-monotonically increasing PTS, frame index #

Hello! I made this code mix from server-h264-save-to-disk and client-read-format-h264-convert-to-jpeg to implement an RTSP server that converts input h264 stream into images (comments not updated):
package main

import (
	"fmt"
	"image"
	"image/jpeg"
	"log"
	"os"
	"strconv"
	"sync"
	"time"

	"github.com/pion/rtp"

	"github.com/bluenviron/gortsplib/v3"
	"github.com/bluenviron/gortsplib/v3/pkg/base"
	"github.com/bluenviron/gortsplib/v3/pkg/formats"
	"github.com/bluenviron/gortsplib/v3/pkg/formats/rtph264"
	"github.com/bluenviron/gortsplib/v3/pkg/media"
)

func saveToFile(img image.Image) error {
	// create file
	fname := strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10) + ".jpg"
	f, err := os.Create(fname)
	if err != nil {
		panic(err)
	}
	defer f.Close()

	log.Println("saving", fname)

	// convert to jpeg
	return jpeg.Encode(f, img, &jpeg.Options{
		Quality: 60,
	})
}

// This example shows how to
// 1. create a RTSP server which accepts plain connections
// 2. allow a single client to publish a stream, containing a H264 media, with TCP or UDP
// 3. save the content of the H264 media into a file in MPEG-TS format

type serverHandler struct {
	mutex      sync.Mutex
	publisher  *gortsplib.ServerSession
	media      *media.Media
	format     *formats.H264
	rtpDec     *rtph264.Decoder
	h264RawDec *h264Decoder
}

// called when a connection is opened.
func (sh *serverHandler) OnConnOpen(ctx *gortsplib.ServerHandlerOnConnOpenCtx) {
	log.Printf("conn opened")
}

// called when a connection is closed.
func (sh *serverHandler) OnConnClose(ctx *gortsplib.ServerHandlerOnConnCloseCtx) {
	log.Printf("conn closed (%v)", ctx.Error)
}

// called when a session is opened.
func (sh *serverHandler) OnSessionOpen(ctx *gortsplib.ServerHandlerOnSessionOpenCtx) {
	log.Printf("session opened")
}

// called when a session is closed.
func (sh *serverHandler) OnSessionClose(ctx *gortsplib.ServerHandlerOnSessionCloseCtx) {
	log.Printf("session closed")

	sh.mutex.Lock()
	defer sh.mutex.Unlock()

	sh.publisher = nil
	sh.h264RawDec.close()
}

// called when receiving an ANNOUNCE request.
func (sh *serverHandler) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx) (*base.Response, error) {
	log.Printf("announce request")

	sh.mutex.Lock()
	defer sh.mutex.Unlock()

	if sh.publisher != nil {
		sh.publisher.Close()
		sh.h264RawDec.close()
	}

	// find the H264 media and format
	var forma *formats.H264
	medi := ctx.Medias.FindFormat(&forma)
	if medi == nil {
		return &base.Response{
			StatusCode: base.StatusBadRequest,
		}, fmt.Errorf("H264 media not found")
	}

	// setup RTP/H264 -> H264 decoder
	rtpDec, err := forma.CreateDecoder2()
	if err != nil {
		panic(err)
	}

	// setup H264 -> MPEGTS muxer
	h264RawDec, err := newH264Decoder()
	if forma.SPS != nil {
		h264RawDec.decode(forma.SPS)
	}
	if forma.PPS != nil {
		h264RawDec.decode(forma.PPS)
	}
	if err != nil {
		return &base.Response{
			StatusCode: base.StatusBadRequest,
		}, err
	}

	sh.publisher = ctx.Session
	sh.media = medi
	sh.format = forma
	sh.rtpDec = rtpDec
	sh.h264RawDec = h264RawDec

	return &base.Response{
		StatusCode: base.StatusOK,
	}, nil
}

// OnSetup called when receiving a SETUP request.
func (sh *serverHandler) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) (*base.Response, *gortsplib.ServerStream, error) {
	log.Printf("setup request %s", ctx.Path)

	return &base.Response{
		StatusCode: base.StatusOK,
	}, nil, nil
}

// OnRecord called when receiving a RECORD request.
func (sh *serverHandler) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*base.Response, error) {
	log.Printf("record request %s", ctx.Path)

	// called when receiving an RTP packet
	ctx.Session.OnPacketRTP(sh.media, sh.format, func(pkt *rtp.Packet) {
		nalus, pts, err := sh.rtpDec.Decode(pkt)
		if err != nil {
			return
		}

		// encode H264 NALUs into MPEG-TS
		for _, nalu := range nalus {
			// convert NALUs into RGBA frames
			img, err := sh.h264RawDec.decode(nalu)
			if err != nil {
				panic(err)
			}

			// wait for a frame
			if img == nil {
				continue
			}

			log.Printf("Image pts: %s", pts)

			// convert frame to JPEG and save to file
			//err = saveToFile(img)
			//if err != nil {
			//	panic(err)
			//}

			//saveCount++
			//if saveCount == 5 {
			//	log.Printf("saved 5 images, exiting")
			//	os.Exit(1)
			//}
		}
	})

	return &base.Response{
		StatusCode: base.StatusOK,
	}, nil
}

func main() {
	// configure the server
	s := &gortsplib.Server{
		Handler:           &serverHandler{},
		RTSPAddress:       ":8554",
		UDPRTPAddress:     ":8000",
		UDPRTCPAddress:    ":8001",
		MulticastIPRange:  "<IP_ADDRESS>/16",
		MulticastRTPPort:  8002,
		MulticastRTCPPort: 8003,
	}

	// start server and wait until a fatal error
	log.Printf("server is ready")
	panic(s.StartAndWait())
}

If I uncomment the err = saveToFile(img) part in OnRecord(), I do get frames saved as pictures.  I need to process frames in the correct order to apply a Computer Vision algorithm.
As a side note, is there a way to get the frame number? Or I should compute it from pts and fps?
Thanks!

I think I understand what is happening here. The RTP packets are being sent in monotonically increasing DTS order, the order in which frames are decoded. And this differs from PTS order when there're B-frames present. When I disable B-frames in the ffmpeg command, the PTS are in the right order:
ffmpeg -re -i video.mp4 -an -c:v libx264 -bf 0 -f rtsp -rtsp_transport tcp rtsp://localhost:8554/live/stream

Probably when we have a real live stream, B-frames aren't used anyways, so this shouldn't be a problem.
The second question persists though: how do I get the frame number? Is there a proper way to do this via the API?
Thanks!

Looks like we can store frame index # in userdata field in the session:
type MyUserData struct {
	Index int64
	Path  string
}
//.....................................................................................................................................................................................
func (sh *serverHandler) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) (*base.Response, *gortsplib.ServerStream, error) {
	log.Printf("setup request %s", ctx.Path)
	ctx.Session.SetUserData(MyUserData{Path: ctx.Path, Index: 0})

	return &base.Response{
		StatusCode: base.StatusOK,
	}, nil, nil
}
//.....................................................................................................................................................................................
func (sh *serverHandler) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*base.Response, error) {
	log.Printf("record request %s", ctx.Path)

	userData := ctx.Session.UserData().(MyUserData)

	// called when receiving an RTP packet
	ctx.Session.OnPacketRTP(sh.media, sh.format, func(pkt *rtp.Packet) {
		nalus, pts, err := sh.rtpDec.Decode(pkt)
		if err != nil {
			return
		}

		// decode H264 NALUs into image.Image
		for _, nalu := range nalus {
			// convert NALUs into RGBA frames
			img, err := sh.h264RawDec.decode(nalu)
			if err != nil {
				panic(err)
			}

			// wait for a frame
			if img == nil {
				continue
			}

			log.Printf("Image session_path: %s, index: %d, pts: %s", userData.Path, userData.Index, pts)

			userData.Index = userData.Index + 1

			// convert frame to JPEG and save to file
			//err = saveToFile(img)
			//if err != nil {
			//	panic(err)
			//}

			//saveCount++
			//if saveCount == 5 {
			//	log.Printf("saved 5 images, exiting")
			//	os.Exit(1)
			//}
		}
	})

	return &base.Response{
		StatusCode: base.StatusOK,
	}, nil
}

I just don't know if it's the best way :sweat_smile:

Hello, video streams have two timestamps: PTS (presentation time stamp) and DTS (decode time stamp).
PTS can be unordered when there are B-frames, while DTS is ordered.
There's an utility that allows to convert PTS into DTS that is h264.NewDTSExtractor(), its usage is shown here:
https://github.com/bluenviron/gortsplib/blob/main/examples/client-read-format-h264-save-to-disk/mpegtsmuxer.go


Picture-in-picture API types

https://w3c.github.io/picture-in-picture/#document-extensions

pictureInPictureEnabled, pictureInPictureElement, exitPictureInPicture not supplied to Document
'enterpictureinpicture', 'exitpictureinpicture` events not supplied to HTMLElement.addEventListener

Please respect the issue templates for bug reports and feature requests. :-) This will make the work for the TypeScript team much easier and they can focus on improving the language, instead of deciphering GitHub issues.
I honestly don't understand why that step is so difficult. 😕

Experimental features (it's an early draft) are usually not added to the standard type library. browser-compat-data lists it as unsupported. You should check out: https://github.com/microsoft/TypeScript-DOM-lib-generator#additions.
You can always add the types yourself for your own project using definition files.


ElementTree errors on parsing "&"

Receive the error: File "/usr/local/lib/python3.6/xml/etree/ElementTree.py", line 1314, in XML     parser.feed(text) xml.etree.ElementTree.ParseError: reference to invalid character number: line 35, column 20
While trying to download and/or parse our scripts. It seems to be only breaking on &. I have been doing some research on how to mitigate this. The only thing I could see is to read the XML for each line and handle the & before the ElementTree gets it.

Figured it out, have to replace any & with &. I will do a PR with my fix :)

I think this issue may already be fixed in the dev branch but not merged in. Can you test the dev branch and see if it is still broken?

Sure thing, will test now

It is the same file in tools/, I am looking in the dev branch. Is there another branch the might have this fix?

Figured it out, have to replace any & with &. I will do a PR with my fix :)

In fact, the library xml doesn't read "&". If you see in its code https://lxml.de/api/xml.etree.ElementTree-pysrc.html line 1061 it escapes "&" before writing it into xml.


Parse .travis.yml files

relates to: #82 & #85

Going to parse source code to determine references. No more building.


GD-413: Allow to spy on a class with enum as constructor argument

Why
The spy runs into an error when try to spy on an instance where has an Enum argument in the constructor.
What
Fixed the spy builder by evaluate the arg_type is an Enum and set the respective argument type.

Restore for test reason


Fixes a bug that prevent PartitionHiveParquetScroogeSource from being able to read files with the correct path.

This closes #82 and supersedes #83.

:+1:

:+1:

There is an eviction warning in the build, not sure how important it is to cleanup this dependency?
    [warn] 	* com.twitter:scrooge-core_2.10:3.6.0 -> 3.14.1

Yeah, I am looking at dependencies. (Or at least, I was, and I will start again tomorrow.) This is one of many we have to look at.

@SamRoberts ah great. I've got some dependency issues in my current project which I will hope will disappear once you're done ;-)

@SamRoberts FYI as for dependencies, noticed that bijection-scrooge and scrooge-core in uniform cause the eviction warning, bijection-scrooge depends on scrooge-core 3.6.0 (through serializer, runtime) while uniform defines 3.14.1 for scrooge-core.


Creating datastore key with a string identifier that looks like scientific notation fails when making request

Environment details
N/A

OS: Mac OSX
PHP version: 7.4
Package name and version: google/cloud (0.27.0 - 0.33.1)

Steps to reproduce

Create a Datastore key with a string value that looks like scientific notation. When determining the identifier type in DatastoreClient::determineIdentifierType() there is an is_numeric check which passes (and should not) for such a value. This causes the key to use the TYPE_ID type, and fail when making API calls.

An example of this happening is using the sha1 of an id when passing an id along to datastore, such as 6343380.
Code example
$client = new DatastoreClient();
$key = $client::key('someKind', '2064604570134051894773724236582524834e84');
$client->lookupBatch([$key]);

Making sure to follow these steps will guarantee the quickest resolution possible.
Thanks!
As a workaround we are appending a constant string to the ids of such cases, but to a fix a better check might be to specifically check for this scientific notation case and default to the TYPE_NAME type by extending the is_numeric check to something like is_numeric($id) && strpos(strtolower($id), 'e') === false.

Hi @willieowens, apologies for the delayed response.
You can manually set the identifier type when creating keys:
use Google\Cloud\Datastore\Key;

$datastore->key('someKind', '2064604570134051894773724236582524834e84', [
    'identifierType' => Key::TYPE_NAME
]);

In cases where ambiguity is possible, this is certainly recommended.

It has been some time since I encountered this issue, but I believe I had tried what you suggested but internally keys got copied around somewhere (I think they were paged or something when issuing requests with a large number of keys), and during that copy operation the identifierType was overwritten w/ either some defaults or a heuristic do determine the key type (I think there was a determinKeyType fn at play...). Hope that helps.

Hey @willieowens,
I ran some tests and wasn't able to find a place where the key type switched after being manually set. I'll keep digging, and if you are able to track down a specific example I could use that demonstrates the issue, I'll be more than happy to get a fix out quickly.

I'm going to close this pending further information. Still have not been able to replicate.


Where is the picographics module for my Display 2 module - for use with the Micropython examples now available

Hi
Please provide a link to this module, so I can test the Pimoroni Display 2 on my pico
I have uploaded to the pico the latest 1.19 uf2 firmware, with Badger2040

Picographics is included in the pre-built MicroPython images available on the 'Releases' page, you don't need to download the module separately.
I don't think it's included in the Badger 2040 build though, if you're using a Pico you'll want the plain 'pimoroni-pico' one - here's a link!

Thank you - I didn't release its only in the pre-release .uf2

Picographics should have been included in previous releases too, I think it's just not in the Badger build (yet!)
Closing this as I think we're now sorted :)


MQTT input for sensors/automations not working after update

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.51.2
Python release (python3 --version):
Python 3.4.2
Component/platform:
MQTT
Description of problem:
MQTT events appear to be making it into homeassistant, but none of my automations, or sensors that used them work anymore. They worked fine before upgrade, no other changes.
Expected:
MQTT sensors/automations to work as they did previously
Problem-relevant configuration.yaml entries and steps to reproduce:
- alias: Motion Detected On Landing
  trigger:
    platform: mqtt
    topic: /rpi/rf433/out
    payload: 10924090
  action:
    service: script.turn_on
    entity_id: script.timed_sensor_landing

2017-08-18 14:48:34 DEBUG (MainThread) [homeassistant.components.mqtt] Received message on /rpi/rf433/out: 10924090
2017-08-18 14:48:34 DEBUG (MainThread) [homeassistant.components.mqtt] Received message on /rpi/rf433/out: 10924090

Additional info:

Are the automations turned on?  The one automation I was testing was turned off! All the others were on and I hadn't touched a thing!
Thanks Tim!


[9.4.x] ISPN-13549 EntryWrappingInterceptor data race handling expired entries

https://issues.redhat.com/browse/JDG-5069
JDG-5069 Data race in EntryWrappingInterceptor handling expired entries
Backport of https://github.com/infinispan/infinispan/pull/9788 + #9805 for 9.4.x.
Synchronize the invocation context access after the expiration.
The test reproduces the problem but only with a huge number of keys.
I've disabled the test when the cache is transactional (ISPN-13618) or scattered (ISPN-13619).

merged! thanks @danberindei !


Allow to specify in the CCTX object a AbortRefundAddress when it gets aborted

Describe the Issue
Adding as the CCTX data a EVM address that can be used to refund the amount held in the CCTX in the event where the CCTX gets aborted for an exceptional cause.
The smart contract would need to have a new interface to allow specifying this address.

Fixed with abort refund address


Aws profile

Support specifying aws profiles in the config

I believe the AWS SDK will respect the use of the AWS_PROFILE environment variable, this seems like a much cleaner way to utilise profiles without writing any code for StackMaster to handle credentials.

@patrobinson yes by default the SDK will use the environment variable. This approach is handy though one use case the China region where you will need different credentials for that stack. Means you can throw them in the stack_master config rather than having to remember to change AWS_PROFILE in your shell.

Specifying a profile in a file that is supposed to be portable across multiple users is never a good idea.  I don't name my profile the same as you.

I'm coming from a corporate environment where when staff start part of the setup process is setting their profile for the company to be a standard string.

I worry that if you add this the next thing people will want is the ability to pass credentials via access key and secret parameters.
Then, they'll want you to have profile prompt for an MFA code if one is required.
I was on the side of wanting all these args a while back when using tools like this, but now I've learned to keep things modular and portable by just using tools like aws-runaw.  As long as the tool supports env vars for key, secret key, and session token (like stack_master does) then you can use aws-runas.

Happy to add tests if that helps get it landed.

@et304383 This is my concern too. But I'm hoping we can tackle this problem in a 2.0 release of StackMaster where we better handle "environments" to make it easier while keeping the authentication mechanisms de-coupled. I'm not sure how we'll do that yet, open to ideas!
In the mean time I think it should be OK to keep some features, like this, which do not impact other users in the 1.x release. It's likely we'll cull them though if/when there's a better way of managing it.

This PR is a bit stale. Happy to re-review when tests are added, in the mean time closing it.