[WFCORE-2663] CLI, Help match open/close characters

Issue: https://issues.jboss.org/browse/WFCORE-2663
DO NOT MERGE: https://github.com/aeshell/aesh-readline/pull/50

Core - Full Integration Build 8178 outcome was FAILURE using a merge of 550d5a6f7289360f15d3d88a5a431f269ecaad02
Summary: Compilation error: Compiler (new) Build time: 00:01:06

Core - Full Integration Build 8194 outcome was FAILURE using a merge of bb1c62d4648f4098085d74e21376b2039caab8da
Summary: Compilation error: Compiler Build time: 00:00:50

@tterem @jfdenise @rsvoboda How does this look for you, https://asciinema.org/a/uJYDiEMFqfNaluBZgvdz4v9ya?

@iweiss ,+1.

@iweiss Nice. I think it's good.

Cool. PR updated for review.

Core - Full Integration Build 8340 outcome was FAILURE using a merge of 85d1bbeb452daf725e3e4ab30963b1147236c473
Summary: Compilation error: Compiler (new) Build time: 00:01:02

@iweiss Your code doesn't compile now. I've also checked that locally.

@iweiss Your code doesn't compile now. I've also checked that locally.

It requires a new release of æsh-readline with https://github.com/aeshell/aesh-readline/pull/48

@iweiss Ok, I built it with that but I experienced this weird behaviour:
https://asciinema.org/a/H2oXrU1N34TqWJ1c36QulFQhW
Problem occurs  when moving cursor through unclosed open characters. Can you please have a look at it?
It also happened to me that I typed
( [  ]
and when I moved cursor to '[', the other ']' just vanished. Then I tried it few more times but it wouldn't happen again.
Also, last week I have prepared some tests for scenarios where all open characters have its close counterpart, but they are broken now. They check ansi code sequence describing cursor movement and highlighting, but although on screen it looks the same, ansi sequences has changed a little after your last update. So, for now, I will do only manual testing until I am sure that we have reached final version of code.

@tterem Weird. I'll take a look and thanks for taking a look at this.

@tterem I think I got it fixed. Would you mind testing it again please?

Core - Full Integration Build 8355 outcome was FAILURE using a merge of 862276825d95718565918046a7c364f3e8007abc
Summary: Compilation error: Compiler (new) Build time: 00:01:02

@iweiss It's better now but it still happens when there are two or more unclosed characters:
https://asciinema.org/a/YIPlgXE8nE2edJIQ76OXYHCId

Quick update. Apparently the line doesn't change and those extra characters popping in seem to be some terminal issue. Need to investigate more.

@tterem I'm back at it and after rebasing this onto the latest master I'm not seeing the issues we were seeing before. Do you mind taking a look at this again please?

@iweiss I looked at it but I still see it. When I type ( {{{{ ) and then go through it back and forth, I see { popping up on the right. Can you please rebase PR and confirm that you don't see that behaviour now?

@iweiss After last rebase, it works fine. I am going to update my tests.

PR updated with test cherry-picked from https://github.com/tterem/wildfly-core/commit/db8518509214bef5fafcd1bca261fec0b0998a89.

@iweiss: @tterem is OOO this week. Anyway, it seems that Windows tests doesn't work on TeamCity CI. Can you please add https://github.com/marekkopecky/wildfly-core/commit/d7dd34d57b98c625888e28abafe306dc6f3a8037 to this PR?

@marekkopecky thanks for the heads up. PR updated.

Core - Full Integration Build 8607 outcome was UNKNOWN using a merge of 4c47c279f5846e62112a8cce5ba5eb5210ee1578
Summary: Canceled (Step 4/5) Build time: 00:05:04

Core - Full Integration Build 8608 outcome was UNKNOWN using a merge of 4c47c279f5846e62112a8cce5ba5eb5210ee1578
Summary: Canceled (Step 4/5) Build time: 00:02:43

@jfdenise Can you please review this PR?
(cc @jamezp)

@tterem @iweiss , I did a quick test, ran into 2 issues:
/subsystem=keycloak/realm=master:read-resource[(()] ==> we should see '(' in red
/subsystem=keycloak/realm=master:read-resource(
foo=bar) ==> on multiple lines, move cursor back to closing ')', you got
in thread "CLI Terminal Connection (uninterruptable)" java.lang.IndexOutOfBoundsException
at org.aesh.readline.Buffer.get(Buffer.java:92)
at org.aesh.readline.cursor.Line.getCharacterAtPosition(Line.java:336)
at org.jboss.as.cli.impl.ReadlineConsole$CharacterMatcher.scan(ReadlineConsole.java:190)
@iweiss The second case implies a fix in aesh-readline and an upgrade.

@jfdenise Second issue is fixed after the fix on æsh-readline. I'm working on the first one.

@iweiss , thank-you. I should upgrade aesh quite soon.

@tterem @jfdenise I created a separate branch with a new implementation, https://github.com/iweiss/wildfly-core/tree/WFCORE_2663_v2, and the necessary modifications for the new æsh-readline packages, but some of the CLI tests are failing and I don't quite understand why. For example:
[ERROR]   BracketsHighlightingTestCase.testBasic:138 expected()> but was:<()
'()' is not a valid operation name.
[standalone@<IP_ADDRESS>:9990 /] >

@tterem could you take a look at this please?

Tests don't pass because cursor/colour operations changed so ansi sequences are different now even in cases when they produce same result. As for error message, terminal doesn't display it correctly (you can see whole ansi sequences for example in IntelliJ IDEA). I will update tests once I am sure that highlighting works correctly.
However, I tested the branch manually and I noticed an issue. Suppose we have '[(()()]'. When we move cursor on ']', first '(' is highlighted with red. Then after moving cursor to ')', '(' is still red, but it shouldn't be. According to analysis document, 'If there are unmatched brackets between the matched pair, then these brackets will be highlighted in red'. There is no other mention about highlighting with red.
@jfdenise In private chat, @iweiss mentioned that you were discussing scanning whole line for unclosed brackets, not only between the matched pair. So I want to clarify if you agree with the current proposal or if you want to expand it?

@tterem , we will comply with the analysis document, no change expected there.

@jfdenise Ok, thanks for clarification. @iweiss In that case, your implementation in https://github.com/iweiss/wildfly-core/tree/WFCORE_2663_v2 is not correct.

@tterem https://github.com/iweiss/wildfly-core/tree/WFCORE_2663_v2  has been updated and I think fixes all the issues we had.

@iweiss I checked updated branch and mentioned issues are indeed fixed but now command from testWellFormedExpression() doesn't work as expected. When I move cursor to last bracket ')', there are two brackets ('{' and '}') highlighted with red. It seems it's happening when there is bracket pair nested inside another pair of same bracket type. You can see it also on this example: ({{}}).

@tterem fixed.

Still not working as exptected. Try e.g. [()()] or /abc:add({a=[], b=[], c={[],()}}).

Core - Full Integration Build 8948 outcome was UNKNOWN using a merge of 7f9f7235133fe83c2de7755bf75434c785fb41bd
Summary: Canceled (Error while applying patch; cannot find commit 471441f2b9f3b4420e8291ef31544deb224997dd in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/3608/merge branch was updated and the commit selected for the ... Build time: 00:00:21

@iweiss Seems like something went wrong with your branch. Can you please squash commits together so the tests are triggered again?

@tterem the tests fail because the new code does things in a different way, changing the tests

@iweiss I have found following inconsistency:
When I have ((), then third character is correctly matched with the second, as we agreed on analysis PR. However, if I surround them with another bracket pair like this: [ ( ( ) ] and move cursor to ], then middle ( is highlighted with red [ ( ( ) ] . I think the first ( shloud be red because the other two belong together: [ ( ( ) ].

@tterem Right, that's due to what I clarified on the proposal as the context. When you move the cursor to ], then the context is whatever is inside ] and it's closing bracket, [. Then marking the middle ( is inline with that.
When you leave the [ ] context, then the implementation will be triggered again on a new context, ( ( ). In that new context, the first ( is the open bracket.

@tterem the tests fail because the new code does things in a different way, changing what the tests expect.

@iweiss : CI run was even not started because of some git issues, see logs. This is not related with testcase related with this RFE.

@marekkopecky Now that's something I've never seen. I'll try to sort this out today.

@marekkopecky All green.

@marekkopecky @tterem I updated the PR with the latest version of the code and squashed it to 1 commit. You can now see the failed tests I was referring to.

@tterem Right, that's due to what I clarified on the proposal as the context. When you move the cursor to ], then the context is whatever is inside ] and it's closing bracket, [. Then marking the middle ( is inline with that.
When you leave the [ ] context, then the implementation will be triggered again on a new context, ( ( ). In that new context, the first ( is the open bracket.

Hi, I am not sure what do you mean. Where on the proposal did you clarify this?
I believe ( ( ) is working correctly but when outer [ ] are added, the behaviour should be consistent. If two brackets are matched together, then they belong together - it shouldn't depend on the position of the cursor.

@tterem Right, that's due to what I clarified on the proposal as the context. When you move the cursor to ], then the context is whatever is inside ] and it's closing bracket, [. Then marking the middle ( is inline with that.
When you leave the [ ] context, then the implementation will be triggered again on a new context, ( ( ). In that new context, the first ( is the open bracket.

Hi, I am not sure what do you mean. Where on the proposal did you clarify this?

In a context where we have a nesting of complex objects as operation parameters, it is difficult to match `(`, `{` and `[` with their closing counterparts. In particular at the end of the command, it is needed to quickly identify missing closing characters.

We are proposing here to highlight the matching pairs when the cursor is on the closing or opening character and, within this context, highlight any open pairs, helping users quickly identify potential issue

@iweiss Ok, but where did you clarify this particular behaviour? Why should change of 'context' mean that different bracket is marked as wrong?

I finally got time to get back to this, sorry for the delay.
@tterem the idea here is that, once inside the outer [ ], we are in a new "context". So, in the context of [ ], the middle ( is illegal, but once you step inside then the second ( is being correctly closed by ) and the first ( is just hanging there.
Think that when you are inside [ ] you are in "another line", if that makes sense.

@iweiss I understand that it's different context but why is that middle bracket red in [ ( ( ) ] ? It's closed by ) right next to it and the first ( is unclosed again. Yes, context is different but if bracket is marked incorrect in one context then it should be incorrect also in second context (and in all other contexts).

@tterem I see your point and that's why I am thinking in contexts. Each context marks what is wrong.
The only way I can think of, at the moment, to implement something like what you are suggesting is by using the æsh syntax interpreter so we can parse the line and know exactly what's wrong, but @jfdenise and I thought that might not be possible based on how the CLI was developed.
I would need to think about it some more but both implementations I did tried and failed to achieve that.


swri_yaml_util Does not compile due to missing boost header

yaml-cpp uses boost header files, but it seems that it doesn't export the boost headers in its include files. This causes compilation of swri_yaml_util to fail (see http://jenkins.ros.org/view/IbinT64/job/ros-indigo-swri-yaml-util_binarydeb_trusty_amd64/3/console).
Adding boost to as a direct dependency of this package is technically wrong, but should solve the problem.

This should be fixed now; I'll close the issue when the package builds on the ROS build farm.

PR #241 did not include find_package(Boost) or add boost to the package.xml. Build still failing on the ROS build farm. See http://jenkins.ros.org/view/IbinT64/job/ros-indigo-swri-yaml-util_binarydeb_trusty_amd64/4/console

swri_yaml_util build on the ROS build farm as of version 0.0.5


Rewrite getting started daemon set to be multi node aware

[ ] test with recent minikube and check if etcd >=3.1.0
[ ] change the daemonset to use the available etcd address / configuration file.

Has this been completed?

@aanm What needs to be done here?

@tgraf The GSG is working in our multi node environment. I think the only missing part is to check if minikube has etcd >= 3.1.0


datastore tests

Takes the previously private tests for libs/zedUpload and makes them public.
Also adds a README to describe how to use them. A few key elements:

if an env var is not provided, the test does not run
I specifically did not use the "standard" env vars for AWS or Azure to avoid accidentally using an existing acocunt
You need to run it with -tags private_tests for it to run (in addition to the env var)
the upload test files are just random data I generated

cc @zed-rishabh @eriknordmark

The yetus errors are not real as far as I can tell.

What are we hooking up these tests to @deitch ? Will we run it in Eden? Some other place?

Now we run it manually. These all live in private space now because of credentials. This moves it out of private space by removing the credentials, letting people pass them.
It still will be manual, but anyone will be able to run them with credentials.
Eventually, we can hook them up to eden.
@zed-rishabh was hoping to move these in.

The yetus complains seem real to me.
Why do we need to carry the dead code?

That was my point; it isn't dead code, but yetus errors. The "unused code" complaints are about:

hashMd5
calculateMd5
md5sum
uploadDir

These all are used, yetus seems to get it wrong.

Oh, I see it now. yetus is not building with the tags, so it is getting the one file without it. Once I remove that dependency, yetus should be ok.

I didn't realize the files were tiny; I was assuming we testing with at least a megabyte or so (since some of the protocols do chunking that would seem useful.)
But that could be a future RFE.

That is a good point. I would like to test with large-ish files. I wouldn't want to check those into git. Maybe we should just exclude them from git, and have datastore_test.go generate them as part of init()? As you said, a future RFE. Better to get this in as something first.

I didn't realize the files were tiny; I was assuming we testing with at least a megabyte or so (since some of the protocols do chunking that would seem useful.)
But that could be a future RFE.

That is a good point. I would like to test with large-ish files.

I cleaned some of the yetus up from the existing tests, but don't intend in solving everything. Most of it is stylistic anyways.

I took advantage and updated it. Now the test files are not included, but the tests generate them of the right size on initialization (if they do not exist.

I took advantage and updated it. Now the test files are not included, but the tests generate them of the right size on initialization (if they do not exist).

Nice! You still working on hooking them up to the build (but not running) so that we can avoid bitrot (as @eriknordmark pointed out)?

I agree. I restructured some of it, but couldn't be bothered to fix those in first run. If you want to leave it until Thursday, I should be able to do so. Maybe Wednesday.

OK, addressed those too. Hopefully yetus will be happy now.

Yes, the only thing left is the bareurl. I think it is silly, but easy enough to fix.

Now yetus us happy!


Is --exclude supported by jfr formats?

Thanks for maintaining async-profiler. I really appreciate it.
I was playing a bit with the Java API, and I think for the JFR output format, the exclude filtering is not supported.
From what I am seeing, the exclude filtering is only called in the following three functions:

dumpCollapsed
dumpFlameGraph
dumpText

I am not sure about how the dump method is called from the Java API (if it is), but I don't see where the jfr events got excluded.
My questions are:

Is the exclude option supported for jfr output format?
How hard would it be to implement it? (I could give it a try if that's not too hard, but I have not done C++ in ages)

Found the explanation
I would like to make a PR to prevent someone else from falling in the same trap I did. Where would be the most appropriate place to document this option?

This seems to me an XY problem.
Why would anyone want an exclude option for jfr in the first place? jfr is a binary format, which is hardly useful for a human without a proper viewer/parser tool. So, it's a job of a viewer tool to extract the information a user wants. It's actually cheaper just to write an event than to filter it, and filtering can be performed any time later while reading the output jfr.
jfr2flame converter included in async-profiler package already supports --include/--exclude options. If you have .jfr file, you can extract only those stack traces that match the given regular expression.

You are right, probably the converters are the best place to include/exclude due to the price to do it at runtime.
I don't see this option in the jfr2pprof converter. Would it be acceptable to you if I implement the same --include / --exclude options for this converter?
Also, how could I contribute to warn the end user that these options don't / won't be supported with jfr format?
For context, we are working on setup a phlare with an async + converter jfr2pprof exposed to an endpoint, à la jpprof. And in the profiles, we see a non-negligible part of the CPU spent handling the route.
This looks like a false positive to me to expose the route handle to end users, because it probably takes a few CPU%, but only for a small % of the time.
I don't know enough in this world of continuous profiling yet, but I feel like excluding the frame would be a solution.
Thanks for the support, I appreciate

To be honest, this still doesn't sound to me as a strong justification. That's how I see it from your explanation:

There is some third party viewer that supports pprof format but not jfr, so you want to convert jfr to pprof, despite that jfr is more flexible, has more features specifically for Java profiling, and is de facto standard in Java world, since it is natively supported by JDK, JMC, IDEA, etc.
That other viewer does not have filters, so you propose to move this task to the converter's responsibility.
The idea of filtering comes from an assumption that async-profiler shows something irrelevant (i.e. "false positive"). However, I fail to understand why this is "false positive", because if async-profiler shows something in CPU profile, it really means this code consumes CPU time in that proportion. The whole purpose of async-profiler is to show everything that spends CPU resources: whether it is in user code, libraries, JVM or even OS kernel.

Even though filtering would be an easy thing to add, I have a feeling that you're either trying to solve a problem in a wrong direction, or probably solve the wrong problem in the first place. Excuse me if I misunderstand the intention.

Thanks for the complete answer. I think you completely understood the question.
What I meant by "false positive" is the time spent profiling by the profiler itself in the context of continuous profiling. e.g. it shows up as X% of CPU consumed globally, which is true only for the time profile, which might represent only a small fraction of the time. So in fact the CPU spent globally in the profiler is X% * a really small fraction of the time.
But you are right, keeping the converter as simple as possible and moving that responsibility to the data plotter is probably the right way to do it.
Thanks for your answers

Also, sorry for insisting on that. But I think it could be worth documenting which options are compatible with which format.
I, unfortunately, spent a couple of hours understanding that the jfr format does not support filtering as other outputs do (which is completely justified). Where could I help document the include / exclude option?
We can probably close this thread, thanks again for the answers

If you wish, you may add a note in README where -I include, -X exclude options are described.

Thanks for the support :)


Fix division by 0 in Job#import_error_percent

Fixes https://github.com/CartoDB/cartodb/issues/8847

@ethervoid majo could you review please?

Good :)


Porting to a different board

Thanks for making this terrific project. Wonderful way to get started with the toolchain without the CubeIDE!
In your blog post about it at https://www.hackster.io/yusefkarim/upload-code-to-stm32l4-using-linux-gnu-make-and-openocd-a3d4de you wrote

If you are using a different board, this tutorial can still provide all the steps needed to do the same on your board,
you will just have to make some small changes to make sure you are targeting your board.

I am using STM32H743. I found (details later) all that I needed for that board, but the problem is the init.c file. It includes a lot of board specific initializations that I found it impossible to port. Perhaps I am doing something wrong? The way that I am attempting it is by comparing the "original" CMSIS/inc/stm32l476xx.h included in your project with the CMSIS/inc/stm32h743xx.h I replaced it with. Really too much changes. A small excertp:
$ make
arm-none-eabi-gcc -g -Wall -T../CMSIS/STM32L476RG.ld -mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nosys.specs -Iinc -I../CMSIS/inc -o blinky.elf src/init.c src/main.c ../CMS
IS/src/system_stm32h7xx.c ../CMSIS/src/startup_stm32h743xx.s
src/init.c: In function 'System_Clock_80MHz_Init':
src/init.c:25:21: error: 'RCC_PLLCFGR_PLL2RGE_HSI' undeclared (first use in this function); did you mean 'RCC_PLLCFGR_PLL2RGE_0'?
   25 |     RCC->PLLCFGR |= RCC_PLLCFGR_PLL2RGE_HSI;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
      |                     RCC_PLLCFGR_PLL2RGE_0
src/init.c:25:21: note: each undeclared identifier is reported only once for each function it appears in
src/init.c:30:22: error: 'RCC_PLLCFGR_PLLN' undeclared (first use in this function); did you mean 'RCC_PLLCFGR_PLL2RGE'?
   30 |     RCC->PLLCFGR &= ~RCC_PLLCFGR_PLLN;
      |                      ^~~~~~~~~~~~~~~~
      |                      RCC_PLLCFGR_PLL2RGE
src/init.c:31:21: error: 'RCC_PLLCFGR_PLLN_4' undeclared (first use in this function); did you mean 'RCC_PLLCFGR_PLL2RGE'?
   31 |     RCC->PLLCFGR |= RCC_PLLCFGR_PLLN_4 | RCC_PLLCFGR_PLLN_2;
      |                     ^~~~~~~~~~~~~~~~~~
      |                     RCC_PLLCFGR_PLL2RGE

Is there a better way to do this port?

Is there a better way to do this port?

Perhaps I need to re-generate the init.c file with Cube? If so, how?

Hi @davidedelvento, I'm glad you found the tutorial helpful! I wrote that post quite sometime ago, when I was young and somewhat inexperienced (I still am not much more experienced). That being said, you are right; init.c really is a show stopper for porting to a new board. We are seeing first hand the utility of HALs (hardware abstraction layers) that would abstract all the underlying details you see in init.c to make it much more portable.
I wrote init.c by hand, but maybe Cube could generate something similar? Not sure. If you are really motivated, it is possible to port by hand (but it will be some effort)! You would have to get familiar with the reference manual for your board:

RM0433: STM32H742, STM32H743/753 and STM32H750

You could start simple, for example, by just implementing simplified versions of  LED2_Init() and User_Button1_Init() (e.g., without interrupts). You can skip System_Clock_80MHz_Init entirely really, you will just get stuck with the default clock configuration for your board without it (I think Figure 42 in the above mentioned manual explains the clock and its configuration).
One last note: if you are looking to learn things at a low level like this then moving to higher-level abstractions without getting stuck with stupid CubeIDE, I personally would recommend skipping C and going to Rust! This is a personal opinion, but I think Rust is muuuuch better for (reliable and secure?) embedded programming. I have some code examples here: yusefkarim/stm32f4-playground. It might be somewhat outdated now. You can also find an immense number of resources here: awesome-embedded-rust.
All the best!

Thanks for the comments and suggestions.
FWIW, regarding Rust, in a vacuum I would do that (as I would pure Makefiles and gcc). Problem is, as you have said, there are so many details than one has to learn about a board, that basically one is forced to use stupid CubeIDE to "generate" the code in cryptic ways. Even so, trying to change small details often break things. For example, I have two projects which are exactly identical as files are concerned, but one works and the other doesn't. One was automatically generated by CubeIDE, the other was created by me copying all files. Why doesn't that work? After countless tests, I gave up trying to understand. If ST had made example repositories and documentation with the relevant files which one could manually cherrypick as appropriate, then the situation would have been different, but they decided to make it "easy" instead :(
Alright, thanks again and sorry for the rant.


Could not parse example input in TFX_Pipeline_for_Bert_Preprocessing

Hi, could you please advice, where I'm wrong.
I don't have much experience and I'm trying to figure out how does it work.
I tried to to use model build with your TFX_Pipeline_for_Bert_Preprocessing.ipynb, but when I try to serve it via TF Serving I receive ""error": "Could not parse example input, value: 'You are very good person'\n\t [[{{node ParseExample/ParseExampleV2}}]]""
My steps:

Download TFX_Pipeline_for_Bert_Preprocessing.ipynb notebook locally
Change "/content/..." folder to "/tmp/..."
Change version of dataset from "0.1.0" to "1.0.0", cause only 1.0.0 is available
Install dependencies and build model locally
Run TF serving via docker and fit already built model
Make request curl -d '{"instances": ["You are very good person"]}' -X POST --output - http://localhost:8501/v1/models/my_model:predict
Receive {  "error": "Could not parse example input, value: 'You are very good person'\n\t [[{{node ParseExample/ParseExampleV2}}]]" }

So I assume, that model is trained with tensor as an input. Also in the end of your notebook there is a test, trying model's "serving default" and we also fit a tensor to the model.
How could I achieve to pass the raw text in request to TF Serving ? Should TF Serving convert string to tensor?
Could you please advice where I'm wrong. Spent more than a week trying to solve this.

@hanneshapke maybe you can help me?
I would really appreciate it

Hi @mironnn,
The tf.Example data structure is not intuitive. The data structure needs to be serialized and then encoded as base64 strings. I have created this Github gist with the example code (no error handling).
Let me know if you have any questions regarding the example. It works with the output of the latest BERT pipeline version and required a recent version of TF Serving.

In the coming days, I will publish a pipeline which doesn't require the tf.Example data structure.

@hanneshapke Thank you so much for your time and for the provided example.
Yeah, it would be great! It is very interesting to see how to make requests without preparation (serialization in the client) directly to the TF Serving with raw text.

Hi @mironnn,
Here is the example of the model export without the tf.Example requirement. Please note that if your model has multiple inputs, the TensorSpecs in the concrete_function() need to be adjusted. Those inputs also need to be consumed in serve_tf_examples_fn. I have added the REST request example without the tf.Example requirement to the end of the notebook.
Colab version of the BERT Pipeline which exports a model for simple REST requests:
https://colab.research.google.com/gist/hanneshapke/f0980b7422d367808dae409536fe9b46/tfx_pipeline_for_bert_preprocessing_wo_tf-example.ipynb
@rcrowe-google I think the TFX docs should mention the export of Keras models without the tf.Example dependency. I am happy to update the existing TFX documentation. Do you mind pointing me in the right direction where additional comments would be most appropriate?
@mironnn Let me know if you have any questions. I think we can close this issue.

@hanneshapke Thanks for the offer! I think the best place to document this would be in https://github.com/tensorflow/tfx/blob/master/docs/guide/keras.md
I would also be interested to include your Colab, probably under https://github.com/tensorflow/tfx/tree/master/docs/tutorials/serving

@ joeliedtke for reference

@rcrowe-google Thank you for your reply. I'll make those PRs tomorrow.
It seems to be timely. Someone else raised the question in https://github.com/tensorflow/tfx/issues/1885
I will ping you and @joeliedtke when the PRs are ready for a review.

+1 to @hanneshapke
May we revise the demonstration of serving_input_fn() for model export to not receive 1-D Bytes Tensors and do parse_examples() in the serving graph, but simply receive flat list of raw Tensors? It's fine to receive serialized tf.Examples as input in training input_fn, but this characteristics doesn't have to carry over to serving_input_fn(), and doing so with Keras model is causing non-intuitive behavior like this issue and tensorflow/tfx#1885.

The tf.Example data structure is not intuitive. The data structure needs to be serialized and then encoded as base64 strings. I have created this Github gist with the example code (no error handling).

@hanneshapke is there an example for gRPC? I have b64 encoded data but can't find the right format to make the prediction over the protocol.


@duszmox already have fork with latest efi

Simone, Thank you for your great job!

Guys I asked if you wanted to collaborate on this repo. I would have made you collaborators, I think it's easier for the people to find this repo on google or other places where it's already linked. I can make you collaborators and you will have full access to this specific repo, where others can find older issues and discussion all in one place!


Fix asset selector input for usability

@borisyankov I renamed the class to selected
and I used the same style from binary.css
I think it's ok to merge if you dont find issue ;)


admin/assignment/unassigned:

DO NOT include public survey created homes on this page

I've been working on this, but the result is a quite convoluted join of /survey_visits?surveyor_id (publicly created survey visits) and /homes?assignment_id (unassigned homes). Basically, have to load unassigned homes data, then filter that data through publicly created survey visits, returning only unassigned homes that do not belong to any publicly created survey visits.
Here's the useEffect that accomplishes all of that:
  useEffect(() => {
    if (
      isUnassignedHomesDataLoading ||
      isPublicSurveyVisitsDataLoading ||
      unassignedNonpublicHomes.length
    )
      return;
    const filteredHomes = unassignedHomesData.filter((home) =>
      publicSurveyVisitsData.find(
        (surveyVisit) => surveyVisit.home_id !== home.id
      )
    );
    setUnassignedNonpublicHomes(filteredHomes);
  }, [
    isUnassignedHomesDataLoading,
    isPublicSurveyVisitsDataLoading,
    unassignedHomesData,
    publicSurveyVisitsData,
    unassignedNonpublicHomes,
  ]);

I don't think this scales well (time complexity O(mn) anyone?). A better solution would probably be to attach a creator property when creating homes that could be either :user or public.

@LWest001 , what are you trying to achieve here with this join?

There is an Unassigned page for admins to see homes that have been created but not put on an assignment. From there they can add a home to an assignment. The issue is that homes created via the public survey are technically not on an assignment, but they don't belong on an assignment either because publicly created homes = homes that have completed a survey online already.
So we want a table that shows homes that have been created internally (ie need to be surveyed) but have not been added to an assignment yet.

I don't think it's merged in yet, but we're adding two attributes to homes (see #405 ) that will show whether they've ever been visited (i.e. have an associated survey_visit) or if they're completed (i.e. have a survey_response as well). Once that's done, you could just filter the unassigned homes by that.

That will be useful for some of the other views as well. Will use that when it's available.

@mikelynch Would this also apply to a query to /assignments? Like, the homes object inside of an assignment will get these two attributes?

Yes, see here.
I don't have an example response to hand, but both for homes directly and for the assignment (with the child collection of homes), those attributes will be available.


Enhance the metadata process structure with fields to better represent normal software

Summary
The current Process structure is heavily influenced by the concept of a JVM jar file.  Unfortunately this is not how most software is actually released and managed.  This structure should be realigned around a software release/version style typically used by modern software.
Problem Definition
Currently the Process reference for software in the metadata object is limited and not useful as it presumes that there would be a single hash used to identify the binary used to generate the results.  A more typical result such as the standard used by the provenanced protocol would be a source code location and a version.
message Process {
  option (gogoproto.goproto_stringer) = false;
  // unique identifier for this process
  oneof process_id {
    // the address of a smart contract used for this process
    string address = 1;
    // the hash of an off-chain process used
    string hash = 2;
  }
  // a name associated with the process (type_name, classname or smart contract common name)
  string name = 3;
  // method is a name or reference to a specific operation (method) within a class/contract that was invoked
  string method = 4;
}

Proposal
Update the Process data to capture information used in modern software versioning such as that used by go and others which points to a source code location, a version, and in some cases a hash.  This could be added as another option to the one of directive for referencing the software.
github.com/provenance-io/cosmos-sdk v0.50.7-pio-1 h1:A4WC4LzcQj6jh+WdIIP4OIN3DCSW1t5qONtkYrJ77jg=

For Admin Use

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

Optionally we could just use the hash string as a place to put the full GitHub/version/hash example from go.mod above.


Minecraft module console regex

Bug Report
System Information
Linux & Windows
<IP_ADDRESS> - 20240801.2
Mainline
I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Minecraft module console regex doesn't show full user info on things like achievements or things like that.
This was talked a bit on discord
https://discord.com/channels/266012086423912458/266015417842139136/1268727983401598997
AMPLOG 2024-08-02 00-00-00.log.txt

In public dev branch and working. Will be on next release.


fix(googleapis): install directories for protos

Fix the destination directory for .proto files. Improve the
clang-tidy build to better detect such problems in the future.
Fixes #5708

This change is

Thanks, PTAL.

Thanks, PTAL.


platform: remove sendMetadata/onMetadata

These are never called in practice today. Since we don't want to support them in the initial version of filters, we're removing them from the public interfaces now.
Signed-off-by: Michael Rebello<EMAIL_ADDRESS>

Given that we are potentially swallowing metadata, should we document somewhere that this is currently supported behavior intentionally?

Not opposed to that, though I do think it's pretty clear since it's not in the public interface. Where would you like to document it?

pretty clear since it's not in the public interface

good point. I think this is fine, then.


Sync notes as a database property

In addition to (or instead of) syncing notes as page content, we should support syncing notes as a database property. This was the inspiration for the notero-notes fork.
This has been requested in:

https://github.com/dvanoni/notero/issues/580#issuecomment-2368645197
https://github.com/dvanoni/notero/issues/584#issuecomment-2393805834

This also closely relates to #256 and perhaps would be a more general version of that for folks who don't want to use tags.

Hi, i'm. a student using Zotero and Notion and syncing with the Notero plug-in which is amazing!
Currently, I annotate within Zotero which I love because it also includes the reference.  However, I like to be able to 'search' my quotes/references and annotations so I annotate and then copy the annotation into a 'Quote' table I have created which i've linked via parent link to the publication/resource but this is time-consuming.
What would be amazing, is instead of putting annotations in body, the annotations get synced to a database with a line/entry per annotation as a child of the publication natively.  Example screenshot. below

Also, I know it's not specific to the above.... but the ability to add custom fields in Zotero that can be added to Notero sync settings would be AMAZING!  Eg. Status, unique identifier etc.


Update base32Test.cpp

Co-Authored-By: JK Park<EMAIL_ADDRESS>Co-Authored-By: Seohyun<EMAIL_ADDRESS>Co-Authored-By: HACore<EMAIL_ADDRESS>Co-Authored-By: Hyeseong Lee<EMAIL_ADDRESS>Co-Authored-By: SeongHo Park<EMAIL_ADDRESS>Co-Authored-By: eunzinn<EMAIL_ADDRESS>Co-Authored-By: Dohyun Lee<EMAIL_ADDRESS>Co-Authored-By: kmsaidev<EMAIL_ADDRESS>Co-Authored-By: dlwlstks96<EMAIL_ADDRESS>Updated base32Test.cpp.😃
I wanted to all test cases, but excepted wrong cases and selected meaningful cases to reduce calculation.
Instead I ran all cases in local!

Good test case 👏 👏

Great 👍 👍

It's a simple and wonderful contribution! 🙌

Nice 👍

Thank you for your work!👍


chore(docs): clarify need for commas in schema flag of db commands

What kind of change does this PR introduce?
docs update
Additional context
As a first time user and CLI noob, it took me a bit to figure out the list of schema had to be comma separated, so I thought it would be useful to add this bit to the docs. This is consistent with other parts of the docs such as the description of domains flag in the sso add command.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 56.714%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
5
12.31%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
5102

Relevant Lines:
8996

💛  - Coveralls

Awesome :) Thank you!


Added logging to formatter.py

I wasn't entirely sure about how verbose I should be, if I need more or less logging, do not be afraid to say so!

I am adding some log.trace()s

Whenever I mention self.command.cog_name for command that isn't from a cog, it will simply say None, for example: Help for help from None generated. I am open to suggestions how I should go about this issue.


fix and document aggregate cluster behavior

The aggregate cluster documentation describes how load balancing works with an aggregate cluster, but it doesn't describe how any of the other cluster behavior works.
Here are a few off-the-cuff examples (not a comprehensive list):

What happens for circuit breakers?  Does the circuit breaking config in the aggregate cluster get used, or does it somehow delegate to the circuit breaking configs in the clusters being delegated to?
How does load reporting work?  Does the load get reported as belonging to the underlying clusters or the aggregate cluster?
How does outlier detection work?

@yxue, can you please update the documentation to explain how these sorts of things are supposed to work?  Ideally, the doc should cover the behavior for every feature configurable via the Cluster xDS resource.
Thanks!

Sure, I will update the document. Please assign the issue to me. Thanks!

Also, how are EDS drops supposed to work in an aggregate cluster?  They are supposed to be top-level parameters, but what happens if an aggregate cluster points to an EDS cluster?  Or worse, what happens if the aggregate cluster points to multiple EDS clusters, each with their own drop config?
Note that Envoy does not currently implement EDS drop support, but gRPC does, so we need to understand how this is supposed to work.

Similar question for the overprovisioning factor.

gRPC is about to implement support for aggregate clusters, and I want to make sure we agree on the expected semantics, so that we don't want up making a decision that is incompatible with what Envoy does or may do in the future.
I've put together the following doc proposing what I think the semantics should be:
https://docs.google.com/document/d/17fc0rAktQpc5oMkerOLHSTnXwX1xWAqW7vZ6_LL47NY/edit#
Already discussed with @yxue, @htuch, @ejona86, and @dfawley.
I'd appreciate feedback from @mattklein123, @snowp, as well as any of the other @envoyproxy/api-shepherds that may be interested.

https://docs.google.com/document/d/17fc0rAktQpc5oMkerOLHSTnXwX1xWAqW7vZ6_LL47NY/edit# has now been approved as specifying the expected behavior of aggregate clusters.
This issue should now cover the following:

Updating the aggregate cluster tests to cover every behavior described in that doc.
Fixing any behavior that the tests show does not currently match what is specified in the doc.
Updating the aggregate cluster documentation to specify the behavior in all of these cases.

See discussion in #17412 about the max_retries circuit breaker.  In general, we do want circuit breakers to come from the underlying clusters instead of from the aggregate cluster, as per our previous discussions, but the max_retries circuit breaker will need to come from the aggregate cluster instead.  I've updated the design doc mentioned above to reflect this.

@yanavlasov has just pointed out to me that we got this slightly wrong.
Our previous discussions in this issue assumed that the core idea of an aggregate cluster was that it concatenated the priorities from the underlying clusters into a single list, so that it could use a single LB policy defined at the aggregate cluster layer to choose a priority from that combined list.  This made sense as a way to use the normal logic for choosing a priority, since in Envoy priorities are normally handled by the LB policy.  Therefore, we assumed that aggregate clusters always used the LB policy defined in the aggregate cluster rather than the ones defined in the underlying clusters.
However, Yan pointed out to me that aggregate clusters don't actually define the LB policy in the aggregate cluster; instead, the aggregate cluster uses a special cluster provided LB policy that first chooses the underlying cluster and then delegates to the LB policy of the underlying cluster.  This is actually the documented behavior, and it looks like the Envoy implementation here is indeed doing a two-level pick.
I think this means that we really do want basically all of the configuration to come from the underlying cluster, with the sole exception of the max_retries circuit breaker, as per discussion in #17412 -- and it seems fine to say that that particular circuit breaker simply won't work for aggregate clusters.
Note that the current Envoy implementation has the aggregate cluster pick the underlying cluster only when the LB pick is requested.  However, since we also want features that are unrelated to the LB pick (e.g., circuit breaking, outlier detection, and EDS drops (see #31345)) to be configured at the underlying cluster level, Envoy will probably need to decouple this from the LB pick somehow.  It may need a layer of indirection whereby it first asks the cluster for its configuration and then uses that configuration for all of the above features plus the LB pick.

A couple of other things to note from a conversation with @yanavlasov:

Apparently, Envoy currently does not support an aggregate cluster pointing to another aggregate cluster.  gRPC does support this, so we should probably add it to Envoy too (since that's easier than removing support in gRPC).  Note that when we do this, we need to be careful about config validation here; in gRPC, we impose a recursion depth limit of 16, and we deal with diamond dependencies in the graph by simply ignoring a node that we've already previously seen.
Envoy expects the aggregate cluster to be configured with a CLUSTER_PROVIDED LB policy.  It's not clear what its behavior would be if an aggregate cluster was configured with a different LB policy, but we should probably define this.  Note that we're currently needing to define this in gRPC, because we incorrectly implemented aggregate clusters to use the LB policy in the aggregate cluster instead of the policy in the underlying cluster, which means that there are probably existing control planes that set the LB policy in the aggregate cluster to something other than CLUSTER_PROVIDED, and we don't want to break them when we fix our implementation.  We're probably going to change gRPC to simply ignore the LB policy config in the aggregate cluster -- i.e., it will basically always use the cluster-provded implementation.  So we could decide to do the same thing in Envoy to be consistent.

FYI, I've written a design for fixing the aggregate cluster behavior in gRPC in https://github.com/grpc/proposal/pull/405.

It'd also be nice to know how session stickiness interacts with aggregate clusters.

It'd also be nice to know how session stickiness interacts with aggregate clusters.

@sfc-gh-randerson Thanks for bringing this up! Stateful Sessions don't work with the aggregate clusters. I'm adding a blurb on it in the docs. Hopefully, it'll be clear after that.


isort 5.0

I'm an author of https://github.com/timothycrosley/isort/pull/951.
@timothycrosley What do you think, for 5.0, about

Drop all config options for different styles of import formatting, except one compatible with black.
Adopt https://github.com/Instagram/LibCST. I'm not sure about 2.7 support for it (as for 2.7 codebase import formatting, not execution), but I suspect that if it's 2/3 compatible codebase - it should work. But there's a risk of accidentally breaking support for 2.7 only codebases.

In the current state of different config options, and parso library - it's intractable, at least for me.
It will probably make it easier for

Support sorting imports under non-global scopes.
If there's a code inside the imports, we can disable reorganizing, and only sort alphabetically inside sections.

@mkurnikov,
I've done a lot of thinking about this and I've updated isort to support both of the requested features:

Support sorting imports under non-global scopes.
If there's a code inside the imports, we can disable reorganizing, and only sort alphabetically inside sections.

But I've done it without switching to AST style parsing. I realized that there are fairly strict requirements around import lines, making them very easy to identify with confidence separate from other code blocks, without using AST parsing. Doing so is also faster, and allows isort to remain immune to ast changes (such as the walrus operator, which broke other formatters if used across Python versions, but isort kept working). I'd be very happy to get your feedback and testing on this.
Thanks!
~Timothy


Conceptual Computer Science learning in .NET is more interactive and easier to acquire.

Summary
Documentation for CompSci can delivered as ipynb notebooks on GitHub. One can git clone a whole semester and begin immediately.
User Stories
User Stories under this Epic:

[ ] [Title of the linked User Story](hyperlink to the User Story issue).

Note for posterity: this is very similar to https://github.com/dotnet/core/issues/5466 but is still different:

5466 is focused specifically on coursework
This item implies a broader way to learn about .NET, even if something like .NET Interactive powers the more interactive learning experience

Note for posterity: this is very similar to https://github.com/dotnet/core/issues/5466 but is still different:

5466 is focused specifically on coursework
This item implies a broader way to learn about .NET, even if something like .NET Interactive powers the more interactive learning experience

Bulk closing .NET 6 epics and user stories. If you think this issue was closed in error, please reopen the issue and update it accordingly.


Shared libarary is unversioned

blaspp builds a shared library (libblaspp.so) by default, but does not version it - this is hazardous for interoperability with other packages.
Please consider versioning your shared library API, or, if your API is unstable, disabling shared library support for the time being.
I am packaging blaspp for Debian/Ubuntu and will only provide a static development library for now.

Is this based on any particular issue you've noticed in the packaging process?
We only see that C++ binaries and libraries are implicitly versioned by the C++ standard library linked in at build time. And this is so without even mentioning the fact that one of the Debian/Ubunty-provided BLAS implementations would provide further binary tagging services.
Also, if a user-provided libblaspp.so of unknown origin would appear on a Linux system then it would likely be in a non-default location. So such a unversioned library would have to be pointed to directly by one of the standard mechanism for locating dynamically-linked objects such as environment variable or explicit rpath manipulation in ELF format.
I could imagine that you could point us towards Debian/Ubuntu policy requiring DL versioning system-wide. We are usually not involved in the Linux distribution development and packaging processes and we would benefit from extra details.

Adding soname when building shared library is also suggested on Fedora.
Red: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shared_libraries

This is mandatory for shared libraries on openSUSE, and I would have liked to send you a patch that does this. Unfortunately, the YYYY-MM-DD format of versioning for a library makes it difficult to understand what API consistency guarantees are provided during version bumps. Will a bump from 2023 to 2024 in the major version be backward incompatible for instance? Does the change in the MM part of the version imply API consistency?
There is good reason to instead follow semantic versioning for libraries, as described here: [https://semver.org/]. See also [https://cmake.org/cmake/help/latest/prop_tgt/SOVERSION.html].
I hope that provides a bit more clarity on why this is desired (or enforced) by distributions.

FWIW, the following patch assumes the major version ensures API/ABI stability and enforces the ABI and SOVERSION accordingly:
---
 CMakeLists.txt |    2 ++
 1 file changed, 2 insertions(+)

Index: blaspp-2023.11.05/CMakeLists.txt
===================================================================
--- blaspp-2023.11.05.orig/CMakeLists.txt
+++ blaspp-2023.11.05/CMakeLists.txt
@@ -241,6 +241,8 @@ add_library(
     src/onemkl_wrappers.cc
 )

+set_target_properties(blaspp PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
+
 #-------------------------------------------------------------------------------
 # CUDA support.
 message( "" )

Appreciate the comment. Just would like to add that, you may want to consider an SOVERSION of 0 that provides no API/ABI guarantees. May libraries do this until they are confident of preserving compatibility at which point they bump it to 1.


Enable idris back

Tested in lastest nightly and it worked fine for me.

Still has some bounds issues it seems:
optparse-applicative-<IP_ADDRESS> is out of bounds for:
- [ ] idris-1.1.1 (==0.13.*). Jens Petersen<EMAIL_ADDRESS>@juhp. @idris-lang. Used by: library, test-suite

@lwn Thanks for the info. I will try fixing this.

I forgot about this one and opened #3035 to track this.


Issue824 finish vos spectro

Main changes:

Minor debugging (more robustness)

Issues:
Foxes, in devel, issue #824

Hello @dvezinet! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file tofu/data/_class8_compute_signal.py:

Line 1476:80: E501 line too long (80 > 79 characters)
Line 1506:20: W292 no newline at end of file

In the file tofu/data/_class8_plot_vos_spectro.py:

Line 1080:15: W292 no newline at end of file

In the file tofu/data/_class8_vos_spectro.py:

Line 914:29: W292 no newline at end of file


Empty ToC

I have noticed that the Table of Contents (ToC) is created empty. Neither # nor ## headings appear there.
The following things are specified in the metadata:
toc: true
toc-title: "Table of Contents (ToC)".
toc-own-page: true

I tried three times to build the .pdf file and each time reopened the PDF reader to make sure.

Did you checked if this issue also occurs when not using eisvogel as a template? So the problem might be pandoc and not eisvogel?


Fix license warning with subspecs

CocoaPods-binary removes the license attribute from the podspec attributes hash since it doesn't copy the license file over. However, the license attribute in only valid in the root spec of a podspec.
There is currently a bug where if you specify a dependency on a subspec of a pod, then cocoapods-binary removes the license attribute not from the root spec, but from the subspec, thus leaving the license attribute in the root spec intact. This produces the following warning:
[!] Unable to read the license file `LICENSE` for the spec `<PodName> (<PodVersion>)`

This PR fixes this bug by using the root spec when removing the license attribute.

Faced with the same issue. It'd be awesome to merge this one.

Faced with the same issue. It'd be awesome to merge this one.

I was able to reproduce with pod 'Moya/Core', :binary => true

I was able to reproduce with pod 'Moya/Core', :binary => true


UCX 1.14.0 issues with ROCm

https://github.com/amd/InfinityHub-CI/blob/3dcd26a907bdd4d56ae940df79c30a8b2567d6b7/cp2k-docker/README.md?plain=1#L49
Hi I think there may be an issue with UCX 1.14.0 as it is unstable with ROCm. Here are is a ticket with an example of issues UCX 1.14.0 has with ROCm. https://ontrack-internal.amd.com/browse/SWDEV-399012. Maybe revert to UCX 1.13.1 as it has been tested and works with ROCm.

@dabolding ucx 1.14.1 has been released with the ROCm fix.


Skip protobuf builds on ARM

Description

We're missing an protobuf compiler image and the build sometimes tries to rebuild the protobufs even if they haven't changed.  Skip for now.
Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and leave the branch after I've merged it.


Test utils

added two methods:
update_settings for modifying config settings on a per-test basis
get_cli_output for testing command-line tools

Closing this now that master is the target branch - see:
https://github.com/nerdvegas/rez/pull/261


Editor  slowing down after a short time of editing

What steps will reproduce the problem?

recreate the error:
Take a longer source code that you no longer need and
edit it completely arbitrarily (without it having to make sense)
with longer editing of the source code it happens that the editor needs a longer and longer reaction time to react to inputs.
It seems to depend on the "type" of input technique.
Frequent deleting of many single characters e.g. by backspace, inserting new characters, deleting lines and inserting them elsewhere accelerate this process of slowing down, so that after a short time you get an almost unusable editor.
a) with higher editing speed e.g. by randomly inserting characters, deleting and reinserting other characters
b) by deleting lines and inserting them elsewhere
c) undoing the changes via [ctrl]-Z,
d) redoing or repeating these change operation by [ctl]-Y
e) ... and so on and so forth, without using the usual possibilities of the IDE
for text navigation
the system is not usable after 2 minutes.
f) on my system it also happens that the computer has a higher cpu load for a short time, which is also noticeable acoustically, because the fans start up, as if i would train a deeper neural network ;-)
now of course you can change this by your input technique, but
some things have migrated into the spinal cord in such a way that they are anchored there.
So it is not as easy to change these methods as it is to change your software.
I hope so ;-).

hello ccordoba12,
thanks for your help.
i have now installed the spyder ide 5.1.5 via conda-forge.
the installation via the 'ready-to-use' installer was not very successful.
both methods failed to install the spyder kernel in the required version >=2.1; <2.2 in my existing xxx-dev environment without downgrading some packages in the versions below a certain version level, which I could not accept due to a version limitation of the packages I have to use
so i set up a completely new [... reduced] virtual development environment.
also here it could not be avoided that some packages were obviously downgraded in the versions after the installation of the spyder-kernels [2.1.3].
the editor is now smoother to use.
the increased cpu-load also occurs in this version, when the kite-engine is used for completion. then all cores are used to more than 50% [... also audible].
with very short classes and methods / functions it works reasonably well.
but sometimes it is confusing when the autocomplete makes suggestions from other source texts that are no longer open.
but at the same time the ide has difficulties to find the signature of a function directly above the place where you are editing [... even if you see it].
this is only annoying if the source text [... including the comments]... exceeds two hundred lines.
there are the preferences for completion.
normally i don't use the kite-engine.

another strange behavior:
[CTRL+.] resets the console, but now the interpreter doesn't connect anymore. this also happens from the

main-menu -> Consoles -> restart console
console menu -> [burger] -> restart console

Closing the console via [tab-close[x]] or the [main/console] menu or opening a new console does not show this behavior.
below find the text inside the console after restarting the kernel
Python 3.8.12 | packaged by conda-forge | (default, Sep 29 2021, 19:14:40) [MSC v.1916 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython -- An enhanced Interactive Python.
Restarting kernel...
Task was destroyed but it is pending!
task: <Task pending name='Task-1' coro=<Kernel.poll_control_queue() running at
C:\Users\xxxxx\anaconda3\envs\py38local-dev\lib\site-packages\ipykernel\kernelbase.py:227>
wait_for=<future finished result=<future at 0x...state=pending>>
cb=[_chain_future.._call_set_state() at C:\Users\xxxxx\anaconda3\envs\py38local-dev\lib\asyncio\futures.py:367]>

the increased cpu-load also occurs in this version, when the kite-engine is used for completion

Unfortunately, Kite is no longer maintained (i.e. the company behind it stopped developing it) and eventually our support for it will be removed. So if you want to avoid that experience, please uninstall it or disable it in Spyder.

but sometimes it is confusing when the autocomplete makes suggestions from other source texts that are no longer open.
but at the same time the ide has difficulties to find the signature of a function directly above the place where you are editing [... even if you see it].
this is only annoying if the source text [... including the comments]... exceeds two hundred lines.

You need to provide us a simple and reproducible code example that generates the errors you're talking about. Otherwise, it won't be possible for us to fix them.

another strange behavior:
[CTRL+.] resets the console, but now the interpreter doesn't connect anymore. this also happens from the

That's a totally different error. Please don't mix unrelated errors in the same issue and instead open a new one about it. In here let's keep talking about the editor issues.

after:

env: local-dev-> uninstall, install spyder-kernels from conda-forge -> spyder-kernels 2.1.3
env: spyder-dev -> spyder-kernels 2.1.3

the editor does not seem to slow down anymore.
Completion works as expected, with or without Kite enabled.
Since I don't use Kite in my daily work, I removed it completely, as I prefer and as you recommended, because of the uncertainties about future support


This type is incompatible with null

Possible there is a simple solution, but clearly seems I missing something. Any ideas what prop type should I use here?
  state: { focusedInput: string }
  constructor(props: FilterProps) {
    super(props);
    this.state = {
      focusedInput: null
    }
  }

Ah, seems like using type null sort it out.
state: { focusedInput: null }

you probably want to use ?string (maybe type) to allow both null/undefined and string values as well.

@madbence Thanks for the suggestion!

can I have a ?string as a return type?

@sibelius sure, eg.:
function maybeString(): ?string {
  return null;
}


🚀 Feature: Lighthouse Scheduler

🔖 Feature description
The Lighthouse Plugin allows to manually run audits, but we would like to do that automatically every day or so. We'd implement a lighthouse-backend Plugin to automatically run these audits scheduled based on a configuration. Since I am new to backstage, I would need some guidance on following:

How do I create a Scheduler? Backstage has a scheduler build-in, but no docs on how I can use it.
How do I query the catalog in backend?

🎤 Context
Having Lighthouse Audits on a regular basis gives us quite a good understanding on what changes improve or worsen the performance.
✌ Possible Implementation
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Hi @dpfaffenbauer, the backend-tasks package is what get used for scheduling things throughout the Backstage codebase, the README is pretty good starting point: https://github.com/backstage/backstage/tree/master/packages/backend-tasks
The CatalogClient is what you would use for querying the Catalog from the backend. Sadly the GitHub code search isn't working or I would share some examples.

@freben I got it working so far. Should I create a lighthouse-backend and lighthouse-common module? common to share the Lighthouse API and re-use it for backend and frontend. The frequency part is configurable via config. It uses the backend-tasks to schedule the audits, as well as for every single website too. We don't wanna "spam" the audit-service with 50 websites at once, so we have a timeout between the websites too.

Yep that sounds great.
The backend wouldn't really even have a router would it? Well it could, just to hold some status endpoint or whatnot, but it's really stateless and doesn't have anything to keep track of between refresh rounds etc right?
As a future improvement it COULD have a db table that holds a last_refreshed_at timestamp for each remote thing I guess, if we wanted to. Then the scheduled task would be to, for example every 30 seconds or however often we want to call the remote APIs, list auditable items from the service and check the db for whether there's a single item that hasn't yet been run or at least hasn't been run in the last N time units (as per config). This would make items kinda form a queue that workers pick a single thing off of at a time, much like the scaffolder and catalog do. But again, this could be a future endeavour, since it probably won't be all that necessary to be that thorough as long as the number of auditable things is pretty small so we easily can just trigger them all in sequence every now and then.

I got it working with a plugin, I will prepare a PR the next days. With a bit of a hacky approach, the scheduler can already do that.


consumer blocking all threads

Version of Ruby: 2.4.0
Version of Kafka: <IP_ADDRESS>
Version of ruby-kafka: 0.3.17

Steps to reproduce
kafka = Kafka.new(...)
consumer = kafka.consumer(group_id: 'my_group')
consumer.subscribe('my_topic')
t1 = Thread.new do
  loop do
    puts "Another thread"
    sleep 5
  end
end
t2 = Thread.new do
  consumer.each_message do |msg|
    ...
    next / sleep 1 / Thread.current.pass / nothing
  end
end

sleep

Expected outcome
"Another thread" every ~ 5 seconds
Actual outcome
Messages are consumed fine, but no other thread gets any cpu time.

Nevermind,

Having save issue, how did you solve it?
Also process consumes all CPU

@Paxa  @baelter
Don't use the same client from more than one thread.
Probably you will be better going with higher level libs that take care of stuff like that for you. See the https://github.com/zendesk/ruby-kafka#higher-level-libraries section of the readme file.


PdfAsync executes indefinitely for a particular URL

Description
The PdfAsync method executes indefinitely for https://css-tricks.com/thispagedoesntexist. I waited for minutes with the default timeout of 30 seconds. At the same time the ScreenshotAsync method has no problems processing the same URL.
Complete minimal example reproducing the issue
E.g.
var browserFetcher = new BrowserFetcher();
await browserFetcher.DownloadAsync();
await using var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true });
await using var page = await browser.NewPageAsync();
await page.GoToAsync("https://css-tricks.com/thispagedoesntexist");
////await page.ScreenshotAsync("out.png");
await page.PdfAsync("out.pdf");

Expected behavior:
I would expect the PdfAsync method to complete in a few seconds (like the ScreenshotAsync does). Or at least throw an exception after 30 seconds.
Actual behavior:
The method keeps executing indefinitely. No exceptions.
Versions
I am using PuppeteerSharp 4.0.0 in a console application, targeting .NET Core 3.1 (netcoreapp3.1).

I also encountered this problem. Do you have any solutions?

@kfj1688 Yes, I ended up not relying at all on anything to do with the headless browser timing out by coding an entire system to deal with this: when my asp.net core server starts the headless browser to process a pdf render job I record a time stamp and process ID for the browser process started in a ConcurrentBag collection, and when the job is completed and the browser closed I remove the record from the concurrent bag.
Separately in the background as part of my job system there is a recurring job that periodically examines the contents of the ConcurrentBag and looks for processes that are beyond the allowable time limit (user configurable setting) and will kill those jobs if still present by their process id and then remove them from the bag or just remove them from the bag if not present anymore.
This handles the inherent "sloppiness" in the system and so far works in both Linux and windows.

Closed due to inactivity. Feel free to reopen it if needed.


[Bug]: Barrel file export with TypeScript type breaks import

System Info
rs build 1.0.8
Details
When a barrel file exports both a TS type and a function, the build fails with an error about the type. Commenting out the export for the type makes the build succeed.
export {DummyType, testFunc} from './dummy' // fails
// export {/*DummyType,*/ testFunc} from './dummy' // works

// dummy.ts
export interface DummyType {
    a: boolean
}

export function testFunc() {
    console.log('test')
}

Reproduce link
https://github.com/andreme/rsbuild-barrel-file-error
Reproduce Steps
Run pnpm build
Error:
File: /workspaces/rspack-repro/src/dummy_export.ts:1:1
  × HarmonyLinkingError: export 'DummyType' (reexported as 'DummyType') was not found in './dummy' (possible exports: testFunc)
   ╭─[1:0]
 1 │ export { DummyType, testFunc } from './dummy'; // fails
   · ──────────────────────────────────────────────
 2 │  // export {/*DummyType,*/ testFunc} from './dummy' // works
   ╰────

In case that helps you get unblocked, as a workaround we import the type first, then re-export it:
import { DummyType } from './dummy'

export { testFunc } from './dummy'
export { DummyType }

Because we can only see single typescript file at present, there is no information that can let Rspack know that DummyType is a type.
Here are solutions that can help you:

export {type DummyType } from "./dummy" this way Rspack can know that DummyType is type
Use this config to ignore the error


Link to pull request from blame view

I often use GitHub blame to find a commit which introduced something, just to then find the PR which added this to see it in more context.
I think it would be useful to have a small button pointing to the PR directly from the blame view. For performance reasons, I imagine it would be calculated with an HTTP request only when the button is clicked, and not for every commit shown on the blame page.
It's not a really big change in terms of functionality as it just saves one more click, but I guess it would be useful for people to integrate this more into their workflow and see things in context.
What do you think?

For performance reasons, I imagine it would be calculated with an HTTP request only when the button is clicked, and not for every commit shown on the blame page.

How would it know whether to show the button or not without first doing a HTTP request?

Closing this as I honestly how it'd be possible in a performant manner.


CI: Add pylint to pre-commit

Codecov Report
Base: 60.47% // Head: 60.47% // No change to project coverage :thumbsup:

Coverage data is based on head (02892a5) compared to base (18fd1be).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #199   +/-   ##
=======================================
  Coverage   60.47%   60.47%
=======================================
  Files          21       21
  Lines         802      802
  Branches      188      188
=======================================
  Hits          485      485
  Misses        306      306
  Partials       11       11

Impacted Files
Coverage Δ

src/pymovements/datasets/dataset.py
25.12% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Integrate mr-redis to universe as a package

As instructed, raising a PR to universe branch directly.
Original PR : https://github.com/mesosphere/multiverse/pull/101
cc: @pyronicide

@pyronicide Hi hope the PR is as per your expectation.  It would be nice your comment and when you are planning to integrate it.

Sorry about that! Go you some new comments.
On Wed, Mar 30, 2016 at 8:17 AM, Dhilip<EMAIL_ADDRESS>wrote:

@pyronicide https://github.com/pyronicide Hi hope the PR is as per your
expectation. It would be nice your comment and when you are planning to
integrate it.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/mesosphere/universe/pull/342#issuecomment-203484163


No straight away way to run tests with a CI

Since most of the tests in this repo are integrated with Google Cloud Datastore and can not be executed without an instance of it (production or localhost), we are not able to run tests successfully, since one should log into a Google account to connect a local datastore to the Google Cloud Console and start an emulator.

One possible solution may be setting up a permanently running test server, but this requires some extra resources.

Now resolved by using remote Google Datastore


[client] Add Battle sounds

for example, battle sounds when succesful pillage

Sounds are added to the client, need to attach them to the actual events

@edisontim could you add some of these to combat ?

On it


feat: recipient_key -> recipient_did

This PR replaces references to recipient_key with references to recipient_did.
 Do these changes make sense to you, given the shift from keys to dids in the message envelope addressing?

It's OK for me. That discussion was started back here by @TimoGlastra and is totally aligned I think


Please show oven as fan

Describe Your Problem:

Hi there, thank you for your great work on the Smartthings plugin!
My Samsung NV7B41207 oven is currently showing as a temperature sensor in Apple Homekit.
What about showing it as a fan with two sliders: one for the temp and the other one for cooking time?
Many thanks for your consideration!
Logs:
Show the Homebridge logs here, remove any sensitive information.
https://paste.kodi.tv/otayelezin

Plugin Config:
"name": "Smartthings Plug (IK)",
"BaseURL": "https://api.smartthings.com/v1/",
"AccessToken": "x",
"GarageDoorMaxPoll": 40,
"PollLocksSeconds": 10,
"PollDoorsSeconds": 10,
"PollSensorsSeconds": 5,
"PollSwitchesAndLightsSeconds": 10,
"platform": "HomeBridgeSmartThings"
Show your Homebridge config.json here, remove any sensitive information.

Environment:

Plugin Version:
homebridge-smartthings-ik v1.5.0

Homebridge Version:
v1.6.0]

Node.js Version:
v16.18.0

NPM Version:

Operating System:
Windows 10 with Homebridge running in Hyper-V

I don't know that I can show it as a fan.  I need to see what the device supports.  If you want me to look at this, follow the instructions in the link here and send me the detailed logs after startup.  I'll see what the device is reporting.
Instructions for Producing a Detailed Log.pdf

Thank you very much for looking into this!
Smartthings Homebridge code based on plugin v1.5.3:
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] Updated status for Oven:
{"ovenSetpoint":{"ovenSetpoint":{"value":0,"timestamp":"2023-03-21T17:14:33.658Z"}},"samsungce.meatProbe":{"temperatureSetpoint":{"value":null},"temperature":{"value":null},"status":{"value":null}},"refresh":{},"samsungce.doorState":{"doorState":{"value":"closed","timestamp":"2023-03-21T18:14:52.199Z"}},"samsungce.waterReservoir":{"slotState":{"value":null}},"samsungce.kitchenDeviceDefaults":{"defaultOperationTime":{"value":null},"defaultOvenMode":{"value":"Convection","timestamp":"2022-12-20T12:57:29.542Z"},"defaultOvenSetpoint":{"value":null}},"execute":{"data":{"value":{"payload":{"rt":["x.com.samsung.da.rm.micomdata"],"if":["oic.if.baseline","oic.if.a"]}},"data":{"href":"/rm/micomdata/vs/0"},"timestamp":"2023-03-22T01:32:45.395Z"}},"samsungce.deviceIdentification":{"micomAssayCode":{"value":null},"modelName":{"value":null},"serialNumber":{"value":null},"serialNumberExtra":{"value":null},"modelClassificationCode":{"value":null},"description":{"value":null},"binaryId":{"value":"TP1X_DA-KS-OVEN-0107X","timestamp":"2023-03-22T01:32:44.375Z"}},"samsungce.ovenDrainageRequirement":{"drainageRequirement":{"value":null}},"ocf":{"st":{"value":null},"mndt":{"value":null},"mnfv":{"value":"AKS-WW-TP1X-21-OVEN_40211229","timestamp":"2022-12-20T12:57:29.672Z"},"mnhw":{"value":"Realtek","timestamp":"2022-12-20T12:57:29.672Z"},"di":{"value":"5c48ee26-08bb-1a0f-6313-a99f686efdb9","timestamp":"2022-12-20T12:57:29.672Z"},"mnsl":{"value":"
http://www.samsung.com","timestamp":"2022-12-20T12:57:29.672Z"},"dmv":{"value":"1.2.1","timestamp":"2023-02-20T18:55:24.308Z"},"n":{"value":"[oven]
Samsung","timestamp":"2022-12-20T12:57:29.672Z"},"mnmo":{"value":"TP1X_DA-KS-OVEN-0107X|40456741|50030018001611000A00000000000000","timestamp":"2022-12-20T12:57:29.672Z"},"vid":{"value":"DA-KS-OVEN-0107X","timestamp":"2022-12-20T12:57:29.672Z"},"mnmn":{"value":"Samsung
Electronics","timestamp":"2022-12-20T12:57:29.672Z"},"mnml":{"value":"
http://www.samsung.com","timestamp":"2022-12-20T12:57:29.672Z"},"mnpv":{"value":"DAWIT
3.0","timestamp":"2022-12-20T12:57:29.672Z"},"mnos":{"value":"TizenRT
3.1","timestamp":"2022-12-20T12:57:29.672Z"},"pi":{"value":"5c48ee26-08bb-1a0f-6313-a99f686efdb9","timestamp":"2022-12-20T12:57:29.672Z"},"icv":{"value":"core.1.1.0","timestamp":"2022-12-20T12:57:29.672Z"}},"remoteControlStatus":{"remoteControlEnabled":{"value":"true","timestamp":"2023-03-21T18:14:53.053Z"}},"samsungce.kitchenDeviceIdentification":{"regionCode":{"value":"EU","timestamp":"2022-12-20T12:57:29.542Z"},"modelCode":{"value":"NV7000B-/EU2","timestamp":"2022-12-20T12:57:29.542Z"},"fuel":{"value":null},"type":{"value":"oven","timestamp":"2022-12-20T12:57:28.920Z"},"representativeComponent":{"value":null}},"samsungce.kitchenModeSpecification":{"specification":{"value":{"single":[{"mode":"Autocook","supportedOperations":["set"],"supportedOptions":{}},{"mode":"Convection","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":30,"max":250,"default":160,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"TopHeatPluseConvection","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":40,"max":250,"default":180,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"Conventional","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":30,"max":250,"default":180,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"LargeGrill","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":100,"max":270,"default":220,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"SmallGrill","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":100,"max":270,"default":220,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"BottomHeatPluseConvection","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":40,"max":250,"default":200,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"PlateWarm","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":30,"max":80,"default":50,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"KeepWarm","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":40,"max":100,"default":60,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"Bottom","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":100,"max":230,"default":150,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"EcoConvection","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":30,"max":250,"default":160,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"FanGrill","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":100,"max":250,"default":180,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"Defrost","supportedOperations":["start","set"],"supportedOptions":{"temperature":{"C":{"min":30,"max":60,"default":30,"resolution":5}},"operationTime":{"min":"00:01:00","max":"23:59:00","default":"01:00:00","resolution":"00:01:00"}}},{"mode":"SteamClean","supportedOperations":[],"supportedOptions":{}}]},"timestamp":"2022-12-20T12:57:29.542Z"}},"custom.disabledCapabilities":{"disabledCapabilities":{"value":["samsungce.waterReservoir","samsungce.ovenDrainageRequirement"],"timestamp":"2022-12-20T12:57:28.920Z"}},"samsungce.definedRecipe":{"definedRecipe":{"value":{"cavityId":"0","recipeType":"0","categoryId":0,"itemId":0,"servingSize":0,"browingLevel":0,"option":0},"timestamp":"2022-12-20T12:57:29.150Z"}},"samsungce.driverVersion":{"versionNumber":{"value":22100101,"timestamp":"2022-12-20T12:57:28.920Z"}},"samsungce.softwareUpdate":{"targetModule":{"value":null},"otnDUID":{"value":"KLCGCEMPUBPYG","timestamp":"2022-12-20T12:57:29.542Z"},"lastUpdatedDate":{"value":null},"availableModules":{"value":[],"timestamp":"2022-12-20T12:57:29.542Z"},"newVersionAvailable":{"value":false,"timestamp":"2022-12-20T12:57:29.542Z"},"operatingState":{"value":null},"progress":{"value":null}},"temperatureMeasurement":{"temperature":{"value":0,"unit":"C","timestamp":"2023-03-21T17:14:28.472Z"}},"samsungce.ovenOperatingState":{"completionTime":{"value":"2023-03-22T01:32:44.334Z","timestamp":"2023-03-22T01:32:44.339Z"},"operatingState":{"value":"ready","timestamp":"2023-03-21T17:14:28.264Z"},"progress":{"value":0,"timestamp":"2023-03-21T17:14:33.355Z"},"ovenJobState":{"value":"ready","timestamp":"2023-03-21T17:14:33.552Z"},"operationTime":{"value":"00:00:00","timestamp":"2023-03-21T17:14:33.355Z"}},"ovenMode":{"supportedOvenModes":{"value":["Others","Bake","ConvectionRoast","Broil","ConvectionBake","warming","BottomHeat","ConvectionBroil"],"timestamp":"2022-12-20T12:57:29.542Z"},"ovenMode":{"value":"Others","timestamp":"2023-03-21T17:14:33.632Z"}},"ovenOperatingState":{"completionTime":{"value":"2023-03-22T01:32:44.334Z","timestamp":"2023-03-22T01:32:44.339Z"},"machineState":{"value":"ready","timestamp":"2023-03-21T17:14:28.264Z"},"progress":{"value":0,"unit":"%","timestamp":"2023-03-21T17:14:33.355Z"},"supportedMachineStates":{"value":null},"ovenJobState":{"value":"ready","timestamp":"2023-03-21T17:14:33.552Z"},"operationTime":{"value":0,"timestamp":"2023-03-21T17:14:33.355Z"}},"samsungce.ovenMode":{"supportedOvenModes":{"value":["Autocook","Convection","TopHeatPluseConvection","Conventional","LargeGrill","SmallGrill","BottomHeatPluseConvection","PlateWarm","KeepWarm","Bottom","EcoConvection","FanGrill","Defrost","SteamClean"],"timestamp":"2022-12-20T12:57:29.542Z"},"ovenMode":{"value":"NoOperation","timestamp":"2023-03-21T17:14:33.632Z"}},"samsungce.lamp":{"brightnessLevel":{"value":"off","timestamp":"2023-03-21T18:14:52.234Z"},"supportedBrightnessLevel":{"value":["off","high"],"timestamp":"2022-12-20T12:57:29.542Z"}},"samsungce.kidsLock":{"lockState":{"value":"unlocked","timestamp":"2022-12-20T12:57:29.070Z"}}}
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] State for Oven: 0
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] Oven value updated.
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] Oven command or request is
proceeding.
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] Oven still waiting...
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] State for Oven: 0
[3/22/2023, 2:41:55 PM] [Smartthings Plug (IK)] Oven value updated.
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Oven polling...
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Received getSensorState()
event for Oven
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Refreshing status for Oven

current timestamp is<PHONE_NUMBER>794
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] State for Oven: 0
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Oven value updated.
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Oven polling...
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Received getSensorState()
event for Oven
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Refreshing status for Oven
current timestamp is<PHONE_NUMBER>794
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] State for Oven: 0
[3/22/2023, 2:42:00 PM] [Smartthings Plug (IK)] Oven value updated.
[3/22/2023, 2:42:05 PM] [Smartthings Plug (IK)] Oven polling...

On Sun, Mar 19, 2023 at 6:29 PM iklein99 @.***> wrote:

I don't know that I can show it as a fan. I need to see what the device
supports. If you want me to look at this, follow the instructions in the
link here and send me the detailed logs after startup. I'll see what the
device is reporting.
Instructions for Producing a Detailed Log.pdf
https://github.com/iklein99/homebridge-smartthings/files/11011796/Instructions.for.Producing.a.Detailed.Log.pdf
—
Reply to this email directly, view it on GitHub
https://github.com/iklein99/homebridge-smartthings/issues/134#issuecomment-1475333118,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUTS2NJOYRD4WLALPWJ3B3W4466LANCNFSM6AAAAAAURF373I
.
You are receiving this because you authored the thread.Message ID:
@.***>


make Channel lifecycle statemachine explicit

@normanmaurer / @Lukasa this is a preview of what I'm working on. It passes tests, also happy with some monkey channel test which previously used to crash stuff a lot. But we should have a chat what we want to do in which situations. Also CC @vlm .
Motivation:
We had a lot of problems with the Channel lifecycle statemachine as it
wasn't explicit, this fixes this. Additionally, it asserts a lot more.
Modifications:

made Channel lifecycle statemachine explicit
lots of asserts

Result:

hopefully the state machine works better
the asserts should guide our way to work on in corner cases as well

@weissi please fix the test compile error.

@normanmaurer sorry, should be fixed

@weissi can you also run some benchmarks with this ?

@weissi thanks ... merged!


[Bug]: copy icon moves with scroll

What happened?
Steps to reproduce:

Open Runners Spark in the browser
Change screen to 372*840
Go to the section Running on Dataproc cluster (YARN backed)
Scroll to the bullet point Create a Dataproc cluster with Docker component enabled.
Horizontally scroll the scrollbar
Take a look on the copy icon

Actual result: The icon moves with the scrollbar
Expected result: The icon doesn't move with the scrollbar

Issue Priority
Priority: 3
Issue Component
Component: website

.take-issue


Getting All available pairs

Is there any way to get all pair/pool Addresses listed on dexscreener.
Thanks.

To clarify, I am looking for functionality that retrieves all available pool/pair addresses on a particular chain, such as Ethereum or BSC.
I can currently retrieve all pair addresses directly from the chain using the following code by:
const { ethers } = require("ethers");
const provider = new ethers.providers.JsonRpcProvider(");
const factory = new ethers.Contract("0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", ["function allPairs(uint256) view returns (address)", "function allPairsLength() view returns (uint256)"], provider);

async function getAllPairs() {
    const length = await factory.allPairsLength();
    for (let i = 0; i < length; i++) console.log(await factory.allPairs(i));
}

However, I am interested in knowing if it is possible to achieve the same result using the Dexscreener API. Their API documentation does not mention a method for fetching all pair addresses in one request.
Thx.

If its not in their documentation then its not possible.


polkadot sign message[Feature]:

Library name
No response
Describe your feature request
cannot sign a message on polkadot js

Hi @europound your request is for the Polkadot nano app, this issue is unrelated to Ledger Live.


Download link not working

Currently, the download link is not working.
!wget http://nlp.stanford.edu/data/glove.6B.zip
This gives connection timed out after a few seconds. What's the solution?

Thanks for the alert.  We'll look into it, and in the meantime, there are
mirrors of the data files on HF:
https://huggingface.co/stanfordnlp/glove/tree/main

Thanks, I reported that to our devops team
On Fri, Jun 14, 2024 at 2:38 PM tylercaimber @.***>
wrote:

Looks to be down again, CA Certs expired a few days ago. Can't verify host
when running:
!curl -OL https://downloads.cs.stanford.edu/nlp/data/glove.6B.zip
Visiting the url in browser gives:
Your connection is not private
Attackers might be trying to steal your information from
downloads.cs.stanford.edu (for example, passwords, messages, or credit
cards). Learn more
NET::ERR_CERT_DATE_INVALID
Turn on enhanced protection to get Chrome's highest level of security
This server could not prove that it is downloads.cs.stanford.edu; its
security certificate expired 2 days ago. This may be caused by a
misconfiguration or an attacker intercepting your connection. Your
computer's clock is currently set to Friday, June 14, 2024. Does that look
right? If not, you should correct your system's clock and then refresh this
page.
Proceed to downloads.cs.stanford.edu (unsafe)
—
Reply to this email directly, view it on GitHub
https://github.com/stanfordnlp/GloVe/issues/222#issuecomment-2168795957,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA2AYWJOXB32DBULJN5M6BTZHNPF5AVCNFSM6AAAAABGW5YQ3OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRYG44TKOJVG4
.
You are receiving this because you commented.Message ID:
@.***>

Should work now!


[gnap] return tokens if they were already allowed

Instead of only returning tokens when the RO has just consented, also return tokens if the client has requested tokens that are already granted in the session.

fixed in #248


Error connecting Rust sdk to "Astarte in 5 minutes" tutorial

I've setup a local Astarte instance by following the "Astarte in 5 minutes" tutorial. Then I've tried to run the simple example from this repository, but I'm getting an infine loop of:
[2022-07-05T13:53:26Z INFO  sqlx::query] select * from propcache; rows affected: 0, rows returned: 0, elapsed: 29.324µs
[2022-07-05T13:53:26Z INFO  astarte_sdk] connack done
[2022-07-05T13:53:26Z INFO  sqlx::query] select * from propcache; rows affected: 0, rows returned: 0, elapsed: 26.920µs
[2022-07-05T13:53:26Z ERROR simple] ConnectionError(MqttState(Io(Custom { kind: ConnectionAborted, error: "connection closed by peer" })))

Some notes:

I used the web ui to add the device and the org.astarte-platform.test.Everything interface.
I've added a .ignore_ssl_errors() to AstarteOptions to fix the UnknownIssuer certificate problem (the tutorial uses a self signed cert)
Events are being correctly sent, the problem only occurs when trying to receive data in device.poll().await

Thanks

Hi Matteo, it looks like an issue related to some missing interfaces. The simple.rs example project publishes all the interfaces it finds in the examples/interfaces/ folder, so I suggest adding them all on Astarte. That should resolve your issue,

That was it, thanks.
I assumed only the interface referred by the source file was used (org.astarte-platform.test.Everything), instead the server must contain all interfaces contained in .interface_directory("./examples/interfaces")


Youtube Detecting the Extension

Youtube Detecting the extension as of today. Videos no longer play due to Youtube detecting an Ad Blocker. No other Ad Blockers installed.
On Chrome, and no errors on the Options Page.

Version 3 is submitted and should be live soon on Chrome. Please keep an eye out for the update

Same issue here. I have to hit refresh like once or twice for it to go away.
Will the new version auto update?

@janmichael88 I am not sure about autoupdate. Depends on your system, but please check in a few hours for it, as it is still pending for review (google is kinda slow)

Same issue here as well! So far, the update hasn't arrived for me yet.

Version 3.2 is up and running today. Make sure you update it and everything should work. I will close this but if problem persists, please open new issue.
Thanks.


Look at RustCrypto signature schemes and their test suites.

RustCrypto is an intentionally-designed, popular cryptography library. We want to write code to the same standard as them. So, we should audit their tests and see if they use any techniques that we don't yet. Some questions:

[ ] How do they use random number generators (seeded vs random)
[ ] Do they test things repeatedly? E.g. many random sigs?
[ ] Do they use test vectors?
[ ] Do they use other techniques?

Answers to these (and other) questions should be written here or in a Confluence doc (e.g. next to the BLS12 audit doc).

Closing as too broad.


Missing shortcut: Add project

Perhaps this exists, but I was unable to find this. Is there a way to add a project via keyboard?
Thanks!

@amahabal There isn't a keybinding for it, or other project manipulations for that matter.  For my workflow, project manipulation is uncommon enough that I don't mind using the mouse or mobile interface for it.

Thanks for the explanation, and you are right that it is used relatively infrequently. I felt the strong need for it as I started setting up my system afresh, but already in a week it will be rare again.
Closing this.
--Abhijit


HARs captured with browsermob proxy get timing problems when loaded into http://www.softwareishard.com/har/viewer/

When I load the HARs I capture with browsermob now I get the following sorts of errors in the harviewer page:
HAR Validation
Sum of request timings doesn't correspond to the total value: http://www.amazon.co.uk/ (request.time: 1505 vs. sum: 1284), request#: 0, parent page: www.amazon.co.uk
HAR Validation
Sum of request timings doesn't correspond to the total value: http://z-ecx.images-amazon.com/images/G/01/browser-scripts/uk-site-wide-1.2.6/site-wide-2650665772.css.V165058414.css (request.time: 280 vs. sum: 272), request#: 1, parent page: www.amazon.co.uk
HAR Validation
Sum of request timings doesn't correspond to the total value: http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/websiteGridCSS/websiteGridCSS-websiteGridCSS-9085.css.V165356162.css (request.time: 560 vs. sum: 555), request#: 2, parent page: www.amazon.co.uk
HAR Validation
Sum of request timings doesn't correspond to the total value: http://g-ecx.images-amazon.com/images/G/02/x-locale/common/transparent-pixel.V167145160.gif (request.time: 270 vs. sum: 269), request#: 3, parent page: www.amazon.co.uk
HAR Validation
Sum of request timings doesn't correspond to the total value: http://g-ecx.images-amazon.com/images/G/02/gno/images/orangeBlue/navPackedSprites-UK-15.V202471918.png (request.time: 590 vs. sum: 566), request#: 4, parent page: www.amazon.co.uk
HAR Validation
Sum of request timings doesn't correspond to the total value: http://g-ecx.images-amazon.com/images/G/02/x-site/BlackFriday2011/uk_xsite_bf_lozenge.V164928606.png (request.time: 468 vs. sum: 415), request#: 5, parent page: www.amazon.co.uk
HAR Validation
Sum of request timings doesn't correspond to the total value: http://g-ecx.images-amazon.com/images/G/02/uk-jw/homepage/UK_WAT_BrandStore-Perfect_ROTO.V177647797.png (request.time: 413 vs. sum: 367), request#: 6, parent page: www.amazon.co.uk
Note that they recently updated their version to be stricter on timings -see below link
http://code.google.com/p/harviewer/source/browse/trunk/webapp/ReleaseNotes.txt

Validation extended (negative timings not allowed and summary of timings must be correct)

I'm also having trouble with some har generated with browsermob proxy.
Har are randomly inconsistent about entries timings.
Validation done with http://www.janodvarko.cz/har/viewer/
*Sum of request timings doesn't correspond to the total value: http://example.com/ (request.time: 659 vs. sum: 660), request#: 0, parent page: 4f136ad9a11460e81e000001
*Sum of request timings doesn't correspond to the total value: http://example.com/modules/mic/mic.css (request.time: 70 vs. sum: 71), request#: 7, parent page: 4f136ad9a11460e81e000001
*Sum of request timings doesn't correspond to the total value: http://media1.legourmetdunet.com/img/c/12-category.jpg (request.time: 86 vs. sum: 132), request#: 15, parent page: 4f136ad9a11460e81e000001
*Sum of request timings doesn't correspond to the total value: http://media1.legourmetdunet.com/img/c/13-category.jpg (request.time: 60 vs. sum: 92), request#: 16, parent page: 4f136ad9a11460e81e000001
In my case, browsermob proxy is used through API. Don't know if this matters.
Anyway, great job on the project!

You can try and sleep for a few seconds after webdriver.get() returns. That helped sort out some problems for me


Revert "Make references to pages within the same Confluence relative"

This reverts commit ecd563e0957c23573bc8b37ba398396b8144c0d0.
@monti-python it looks like #457 broke some cloud instances of confluence.
See also #468

@monti-python reverting this change for now.
happy to accept a solution that works for confluence cloud and server if this is something you need.

Thanks for the reference @mrueg, I followed up on this in #456


Extend search and add filters

Currently, only searching for albums is supported. The search should be extended and search for albums, titles, artists and playlists at once.
When this functionality exists it would be beneficial if filters could be used to limit the search (result) to all searches, or a combination.
UI inspiration/prior art:
Extend search box with drop down button:

Add pop over with check boxes:

(i know these are radio boxes, didn't find the correct image in time.)

Searching for playlists would be a much needed feature.

I'm a developer with c/c++ and python experience, but I'd be lying to say that I've the time to take on this issue, unless someone really wants to hold my hand as I copy/modify this function and hope for the best.
Would a bounty be possible here? I'd like to search for songs to try to use this app in lieu of Spotify's electron app.

hey, if you're still invested, I would love to help you out!

hey, if you're still invested, I would love to help you out!

I'm not using Spot anymore, but I'm could try to write some code for it later in May, if then is ok.

Sure! If I have time in the meantime, I might try to add it myself too. Though that is very unlikely