avx512/ternarylogic: implement mm_ternarylogic_epi32

Implements mm_ternarylogic_epi32.
Tests were generated using intel-all-gcc-10 and implementations were tested using intel-all-gcc-10, gcc-10, clang-11, emscripten, icc.

I think maybe we need a configuration option to control whether huge functions are forcibly inlined, which we could disable for the tests.

That would certainly be very useful. For this particular case I can reduce the number of cases in mm_ternarylogic_epi32 to half at the cost of conditionally inversing the return variable at the end of the switch case. I think that should be enough to fix the memory issue.

How complex is the computation for whether you need to invert the return value?

How complex is the computation for whether you need to invert the return value?

its just -
    if(imm8 & ~127)
      r_ = simde__m128i_to_private(simde_mm_castps_si128(simde_x_mm_not_ps(simde_mm_castsi128_ps(simde__m128i_from_private(r_)))));

Hm, that's not too bad, at least if you change it to r ^ (imm8 >> 7) or r ^ (imm8 < 0).  Still, it's at least two more operations (a load and an xor) than necessary.  If we're going to make inlining optional for testing anyways (which could benefit a lot of code) I'm thinking we should just leave it out, though it's definitely worth a comment or even an ifdef in the code.

On second thought, go ahead and do it but protect it with an ifdef.  It adds a minimal amount of code, and might be a nice option for someone.
For the tests, though, I think we should add a SIMDE_HUGE_FUNCTION_ATTRIBUTES to simde-common.h which doesn't specify include inline/HEDLEY_ALWAYS_INLINE if you define a configuration flag (SIMDE_CONSTRAINED_COMPILATION maybe?).

I have pushed a compact version, avoiding the 256 case switch (together with the test code stolen from this PR) to my rosbif ternarylogic branch as an RFC.
I think the performance is acceptable.

I have pushed another version to my rosbif ternarylogic branch.
This version solves the imm8 = 88 and 103 problem Evan saw.
It should work everywhere, thanks to SIMDe :-)
But emul versions are very slow to compile :-(

I have pushed yet another version to my rosbif ternarylogic branch.
This version improves some results by explicitly simplifying parts which are independent of c.
However I don't like the asymmetry but I cannot see how to simultaneously do the same for a and b.
I could count at compile-time how many are independent of each variable and act accordingly.
But this would seriously complicates things :-(

I have pushed a version with many logic reductions to my rosbif ternarylogic branch.
For the values I have tried in godbolt this gives pretty good results.
I saw one case (122) where I think it beats the huge switch version.

@rosbif what do you think about using your version in the SIMDE_TERNARYLOGIC_COMPRESSION case instead of the current implementation which halves the number of cases then takes the complement?

I haven't looked at this revised code yet.
I am aiming at getting similar performance to the (128 or) 256 case switch with reasonably compact code.
I think I am slowly getting there.
@nemequ Could you add my latest code to your spreadsheet, please?
I am pretty happy with the values I have tried but there may be some bad ones.
In this case I shall look at the code generated and try to find a way to improve it.

I have written, but not pushed a SIMDE_VECTORIZE equivalent of my latest code.
clang still gives a similar, stupid implementation for imm8 = 88 :-(
I think it would be possible to find a workaround if there aren't too many cases like this.

This central code shows the clang imm8 = 88 issue but the results are slightly better.
Block RThroughput: 18.0 for clang; 1.0 for gcc
  SIMDE_VECTORIZE
  for (size_t i = 0 ; i < (sizeof(r_.u32) / sizeof(r_.u32[0])) ; i++) {
    r_.u32[i]  =  a_.u32[i] &  b_.u32[i] & ~c_.u32[i];
    r_.u32[i] |=  a_.u32[i] & ~b_.u32[i] & ~c_.u32[i];
    r_.u32[i] |= ~a_.u32[i] &  b_.u32[i] &  c_.u32[i];
   }

I have pushed a double version with many logic reductions to my rosbif ternarylogic branch.
I have deliberately left a #if 0/1 to switch between my two best versions (so far ;-) ).
They both use exactly the same algorithm except that #if 1 uses SIMDE_VECTORIZE (it suffers from the clang imm8 = 88 issue) and #if 0 uses explicit SIMDe SSE2 intrinsics which works around this problem (but the emul version is very slow to compile).
I am pretty sure that it will be possible to introduce a special case in the SIMDE_VECTORIZE version to work around the clang 88 problem and hopefully any other similar problems.
@nemequ It would help me greatly if you would add these to your spreadsheet (and remove my existing versions which are clearly not up to scratch).

A simpler test case corresponding to imm8 = 36 (0x24) with a worse result for clang.
Block RThroughput: 26.0 for clang; 2.0 for gcc
SIMDE_VECTORIZE
  for (size_t i = 0 ; i < (sizeof(r_.u32) / sizeof(r_.u32[0])) ; i++) {
    r_.u32[i]  =  a_.u32[i] & ~b_.u32[i] &  c_.u32[i];
    r_.u32[i] |= ~a_.u32[i] &  b_.u32[i] & ~c_.u32[i];
   }

I have pushed the same two versions with u64 instead of u32
clang generates crazy inefficient code for:
imm8 = 24, 26, 28, 30, 36, 38, 44, 52, 54, 56, 78, 88, 100, 114
(I only tested up to 127 as I was doing this by hand)
For these bad cases the RThroughput is about three times lower with u64 instead of u32.
The clang code also seems to be better for many other values.

I posted the code I was using to test this to https://github.com/nemequ/ternarylogic-compiler-test so you can test as much as you want without blocking on me to update the data.

I couldn't understand why the RThroughput results for gcc in your ternarylogic-compiler-test are much worse than mine with godbolt.
There seem to be three reasons:

gcc generates scalar code as you don't have -fopenmp-simd -DSIMDE_ENABLE_OPENMP
gcc inserts an endbr64 instruction with very high latency which you can suppress with -fcf-protection=branch -mmanual-endbr
you use -march=tremont which gives worse results than -march=nehalem

Sorry, I hadn't seen your invitation to collaborate on your ternarylogic-compiler-test.
Does this mean that I can push my modifications directly without forking?
Currently I just cloned and modified locally.
Unfortunately I don't have icc (and I am reluctant to install it on my old laptop with limited resources) so I cannot test icc.

With the compilation flags above, and if you exclude the cases where clang generates inefficient code, I think that my latest versions give extremely reasonable performance.
Is it worth me spending time trying to find a workaround for these clang cases?
In the cases where clang generates moderately inefficient code, I get the impression that it calculates the result twice and ORs the (identical?) results together.
I shall look more closely at the code generated.
In any case my code shouldn’t be blamed for clang’s inefficient code generation.

* you use `-march=tremont` which gives worse results than `-march=nehalem`

I've tried a bunch of architectures, they all seemed to result in horrible code in clang for different values.

Sorry, I hadn't seen your invitation to collaborate on your ternarylogic-compiler-test.
Does this mean that I can push my modifications directly without forking?

If you want, sure.  Just push whatever version(s) you want me to report to LLVM in there, I'll update the spreadsheet and report it.

Currently I just cloned and modified locally.
Unfortunately I don't have icc (and I am reluctant to install it on my old laptop with limited resources) so I cannot test icc.

That's fine, you can remove ICC.  ICC doesn't seem to be much of a problem here anyways.

With the compilation flags above, and if you exclude the cases where clang generates inefficient code, I think that my latest versions give extremely reasonable performance.
Is it worth me spending time trying to find a workaround for these clang cases?

It's up to you.  If you're having fun with it go ahead, but if you don't want to bother that's fine, too.  Once you decide which version you'd like for the SIMDE_TERNARYLOGIC_COMPRESSION case we can go ahead and add it.

In the cases where clang generates moderately inefficient code, I get the impression that it calculates the result twice and ORs the (identical?) results together.
I shall look more closely at the code generated.
In any case my code shouldn’t be blamed for clang’s inefficient code generation.

No, of course not.  Something is clearly wrong with clang here.  It just means that until it gets fixed in LLVM we need to at least add a comment to this version that for some values the generated code is likely to be extremely slow on clang and they should use it with caution.  The default version should be pretty fast everywhere (well, at run-time anyways) so I don't think that's too much of a problem.

For clang, instead of the whole spreadsheet, I thought that the simple code I posted above (repeated below) might be sufficient:

A simpler test case corresponding to imm8 = 36 (0x24) with a worse result for clang.
Block RThroughput: 26.0 for clang; 2.0 for gcc
SIMDE_VECTORIZE
  for (size_t i = 0 ; i < (sizeof(r_.u32) / sizeof(r_.u32[0])) ; i++) {
    r_.u32[i]  =  a_.u32[i] & ~b_.u32[i] &  c_.u32[i];
    r_.u32[i] |= ~a_.u32[i] &  b_.u32[i] & ~c_.u32[i];
   }

I pushed my new code and some modifications to a rosbif branch of https://github.com/nemequ/ternarylogic-compiler-test
You will have to restore your SIMDE_HOME at the start of gen.sh (and correct any stupidities I have added).

A very simple example of what I call "moderately inefficient code" is clang's stupid vectorization of this:
SIMDE_VECTORIZE
 for (size_t i = 0 ; i < (sizeof(r_.u32) / sizeof(r_.u32[0])) ; i++) {
   r_.u32[i]  = a_.u32[i] | b_.u32[i] | c_.u32[i];
   }

It is as if clang thinks the por instruction only operates on the low half of the vector.
So it does the correct thing but it also

duplicates the the high half of each vector to the low half and copies it to new registers (pshufd foo, bar, 238)
ORs these together
inserts the low half of this into the high half of the result (which was correct anyway) (punpcklqdq)

The same sort of inefficient code is also generated for just:
SIMDE_VECTORIZE
for (size_t i = 0 ; i < (sizeof(r_.u32) / sizeof(r_.u32[0])) ; i++) {
  r_.u32[i] = a_.u32[i] | b_.u32[i];
  }

Replacing | with & or ^ or + or - or * gives similar inefficient code!

A workaround for the clang issue is to write the code in SIMDE_VECTOR_SUBSCRIPT_OPS format.
In this case clang seems to generate reasonable code (but TBC).

I have added more versions and corrected the selective csv generation problem.

I have stopped working on this ternarylogic stuff as I am not sure what to do next. There are two aspects:

Concerning the inefficient generation of SIMDE_VECTORIZE code by clang, I think that the first thing to report is the code generated by simple single u32 operations that I reported three posts above. Once this is cleared up it should be possible to see more clearly in the cases where the code is really awful.
Concerning ternarylogic.h I think that my version gives an acceptable result, in a few cases it is even slightly better than the mula version which is nevertheless clearly the fastest overall. If you consider it for inclusion I could probably improve it for the worst cases left after correction of the clang inefficiencies. Otherwise it is not worth my spending any more time.

@rosbif, can you clarify which version of your code you like best? 2000f20ee2b1bce6e931098c38db84e1a0e3a3b0?  Whichever one you like I think we should use for the SIMDE_TERNARYLOGIC_COMPRESSION version for now.
I'll start filing some bug reports this week based on your results.  Obviously clang is the priority here, but I have a feeling the GCC folks will want to take a look to; this is a great test case to use for improving optimizations.
Meanwhile, @simba611, once @rosbif confirms which version he'd like to use can you update your patch to use that and finish up the other ternarylogic functions?

Yes, I will do that

@rosbif, can you clarify which version of your code you like best? 2000f20? Whichever one you like I think we should use for the SIMDE_TERNARYLOGIC_COMPRESSION version for now.

It is really a question of "horses for courses": the best version depends on your criteria: compact code, avoiding clang inefficiencies, compilation time, support by all compilers, speed.
I put five versions in tl-rosbif.c in the rosbif branch of nemequ's ternarylogic-compiler-test selected by ROSBIF_VERSION:

1: This version has simple, compact code. The initial version was even simpler without the negate logic which was added to improve worst-case performance (not counting clang inefficiencies).
2: This version uses the same high-level algorithm but was written using SIMDe SSE2 functions mainly to try to force clang to avoid generating really stupid code. It should work everywhere thanks to SIMDe, but emul compilation is very slow .
3: This version contains logic reductions for cases where parts (or all) of the result are independent of one, or more of the input vectors. All the following version also use the same high-level algorithm which could probably be improved to reduce worst-case performance. It also uses SIMDe SSE2 functions and the same remarks apply.
4: This is a SIMDE_VECTORIZE version of 3. The initial version of this used u32 but this was changed to u64 as clang generates better (but still bad) code with u64 for many values.
5: This is a SIMDE_VECTOR_SUBSCRIPT_OPS version of 3 for which clang generates better code than with SIMDE_VECTORIZE. However I think that compiler support for this option is worse.

Versions 3, 4 and 5 are also in ternarylogic.h in my rosbif fork of simde, together with the u32 version of 4.
If speed is the main criterion I think that 5 is best, falling back on 4 where there is no SIMDE_VECTOR_SUBSCRIPT_OPS support. In this case the code can be taken from ternarylogic.h in my rosbif fork of simde by simply removing alternative code excluded by the pre-processor.

I'll start filing some bug reports this week based on your results. Obviously clang is the priority here, but I have a feeling the GCC folks will want to take a look to; this is a great test case to use for improving optimizations.

Thank you

Thank you @simba611.
I haven't tested the result but the code looks good.
However the header with copyright information seems to be missing.

However the header with copyright information seems to be missing.
Hope this is fine.


(feat) add semver.org example

Signed-off-by: Dan Selman<EMAIL_ADDRESS>Adds an example grammar that describes a SemVer.org v2 semantic version.

@dselman sorry this is getting so many nitpicks from all of us here.  I think it's just because this seems so useful to have as an example!

@hildjj Say for yourself. I personally just like nitpicking (and very sorry for that).

@dselman sorry this is getting so many nitpicks from all of us here. I think it's just because this seems so useful to have as an example!

No problem, at all. I'm enjoying the discussion and learning! I suggest this is merged (functionally correct) and then another PR can be created to refactor it to be more concise and/or elegant. That takes me off the critical path. How does that sound?


knowledge - how to handle embedding models yielding higher dimensional vectors than what pgvector supports?

e.g. OpenAI's text-embedding-3-large yields vectors up to 3072 dimensions

Here's the issue on pgvector regarding that limitation: https://github.com/pgvector/pgvector/issues/461

only retaining the first 2000 dims should be okay since the text-embedding-3 models use Matryoshka representation - which allow you to shorten embedding length without sacrificing much WRT retrieval quality
I haven't come across an example where shortening the embedding (for text-embedding-3-large) has yielded worse results in semantic search vs not shortening

@sanjay920 that's what we figured as well based on our past discussions.
I was wondering if we should maintain a list of models where this is supported.
E.g. for OpenAI's models you can pass an API param asking to truncate server-side (or just generate less-dimensional?) vs. cutting of the last entries on our side.

Did some investigation. Other than OpenAI's text-embedding-3-large we should be fine in terms of pgvectors dimension limit

Provider
Model
Vector Dimensions
Notes
Matryoshka

OpenAI
text-embedding-3-small
1536
Latest model
Yes

text-embedding-3-large
3072
Latest model
Yes

text-embedding-ada-002
1536
Legacy model
No

Cohere
embed-english-v3.0
1024
Latest model
No

embed-multilingual-v3.0
1024
Multilingual support
No

embed-english-light-v3.0
384
Lightweight version
No

embed-multilingual-light-v3.0
384
Lightweight multilingual
No

embed-english-v2.0
4096
Legacy model
No

embed-english-light-v2.0
1024
Legacy model
No

embed-multilingual-v2.0
768
Legacy model
No

Mistral
mistral-embed
1024

No

Ollama
Various (model dependent)
Model dependent
Via Ollama API
Depends on model

LocalAI
Various (model dependent)
Model dependent
Self-hosted solution
Depends on model

Vertex AI (Google)
textembedding-gecko@003
768

No

text-embedding-005
768
Latest model
Yes

text-multilingual-embedding-002
768
Latest multi-lingual model
Yes

Jina
jina-clip-v2
1024

Yes

jina-embeddings-v3
1024

Yes

Testing OpenAI Embedding API speed: reduce dimensionality for Matryoshka output embeddings vs no reduction
% python test_openai_embeddings.py
Starting embedding API speed test...
Testing without dimensions: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [00:33<00:00,  1.50it/s]
Testing with dimensions: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [00:28<00:00,  1.73it/s]

Results (in seconds):
         Standard Embedding  With Dimensions Reduced
Average               0.560            0.474
Median                0.452            0.407
Min                   0.169            0.121
Max                   2.244            1.947
Std Dev               0.394            0.332

Percentage difference in average time: -15.41%

Test Source: https://gist.github.com/sanjay920/968964bf17293fcd8a20068f28e014d8
It looks like specifying reduced embedding dimensions actually decreases latency - probably because the response payload is smaller (2000 float values vs 3072) and that has snowballing implications: less to be serialized on openais end, less data transferred over network, and less data deserialized on user's end.

Nice one!
FWIW, Donnie has been working with VoyageAI embeddings recently.
However, they only have one model that may yield >2k dimensions and also their future models will be trained with Matryoshka (according to forum posts), so they're no concern either: https://docs.voyageai.com/docs/embeddings

Sanjay merged a couple of changes addressing this - there shouldn't be any noticeable change, as we were able to use -large before without error - now it's just cleanly implemented.
Thanks @sanjay920

 text-embedding-3-large is the suggested default for Text Embedding (Knowledge).
I have been able to ingest knowledge files successfully and knowledge retrievals are also working fine.


command to retrieve ids fails in codespaces. 01-workshop-environment-setup

fails
export LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show \
    --resource-group ${RESOURCE_GROUP} \
    --workspace-name ${LOG_ANALYTICS_WORKSPACE} | jq -r '.id')

works
export LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show --resource-group ${RESOURCE_GROUP}  --workspace-name ${LOG_ANALYTICS_WORKSPACE} | jq -r '.id')

it seems that for certain users line breaks are causing issues.  need to figure out the shell env settings to help fix this.


Getting page reload in AutoForm update form after upgrade into 5.0

Any ideas why after upgrade into 5.0 in type="update" forms (both with quickForm and autoForm) I'm getting page reload when clicking on submit button?

Something in your form or its hooks probably throws an exception. The code which catches the click event on the submit button is never run, causing the browser to do what browsers do: Submit the form. This looks like a page reload.
Navigate to the form, enable breaking on exceptions, then hit the submit button.

Nice!  Thanks!


Quest - Deleting resources incase of edit may lead to issues

Describe the bug
Adding resources to questionnaireResponse.contained and deleting resources on edit might not be the right approach. It can lead to issues for cases when further data entry is also done and has reference to deleted entities. It would also lead to sync issues when some other health worker has done updates to the data and here resource has been generated with some other id.
We may also not need to set ids etc and if we can open existing questionnaire response from activity instead of this step

The reason is valid for other apps but might not be valid for the scope of Quest. Quest does not have the referenced that you put above. The expected dynamic nature of Quest questionnaires does not enables us to easily track which resource(s) changed. We have the following cases:

Multiple resources of the same type eg. Observations. We do not have a definitive way to track which Observation between the many should be replaced with 1-of-the-edited Observations
Resources that can be optionally generated based on the values in the Questionnaire entered eg. an edit might result in 3 observations instead of the initial 4.

Kindly review the original issue here https://github.com/opensrp/fhircore/issues/667 and suggest a better solution

@maimoonak Do we have a PR for this ?

@maimoonak is this a duplicate of issue #748 ?

it feels close but not the same, however I think it's related enough that we will address it through #748 and we can close this, and reopen after #748 is closed if we feel it was not addressed adequately


There are memory leaks Memory leaks

The PRINTInstruction that are allocated in BASICParser::_make_print[_ln], are never freed (deleted).
The BASICParser's destructor does not iterate through the _instrs and delete the instructions.
Likewise BASICLexer::_push_int_or_var allso allows memory but never frees it. It looks like at some point you attempted to do this in the destructor of BASICLexer.
The following is the output received from running the basiccompiler on a simple basic file that only prints hello world (which is why only one leaked instruction caused by the print) and the rest comes from the lexer.

==3146==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 32 byte(s) in 1 object(s) allocated from:
#0 0x51ee20 in operator new(unsigned long) /home/donno/llvm-4.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
#1 0x5276ca in BASICParser::_make_print(std::vector<Token*, std::allocator<Token*> > const&, unsigned int&, int) /home/donno/BASIC-llvm-frontend/parser.cc:168:26
#2 0x525aeb in BASICParser::parseFromTokenList(std::vector<Token*, std::allocator<Token*> > const&) /home/donno/BASIC-llvm-frontend/parser.cc:24:18
#3 0x523579 in main /home/donno/BASIC-llvm-frontend/basiccompiler.cc:27:17
#4 0x7f88571bfb34 in __libc_start_main (/lib64/libc.so.6+0x21b34)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x51ee20 in operator new(unsigned long) /home/donno/llvm-4.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
#1 0x551b28 in BASICLexer::_push_int_or_var(std::basic_stringstream<char, std::char_traits, std::allocator >&) /home/donno/BASIC-llvm-frontend/lexer.cc:80:31
#2 0x55169d in BASICLexer::readFromStream(std::istream&) /home/donno/BASIC-llvm-frontend/lexer.cc:13:14
#3 0x5234e4 in main /home/donno/BASIC-llvm-frontend/basiccompiler.cc:24:16
#4 0x7f88571bfb34 in __libc_start_main (/lib64/libc.so.6+0x21b34)
Direct leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x51ee20 in operator new(unsigned long) /home/donno/llvm-4.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
#1 0x55225b in BASICLexer::_push_instruction(std::basic_stringstream<char, std::char_traits, std::allocator >&) /home/donno/BASIC-llvm-frontend/lexer.cc:34:31
#2 0x551709 in BASICLexer::readFromStream(std::istream&) /home/donno/BASIC-llvm-frontend/lexer.cc:14:14
#3 0x5234e4 in main /home/donno/BASIC-llvm-frontend/basiccompiler.cc:24:16
#4 0x7f88571bfb34 in __libc_start_main (/lib64/libc.so.6+0x21b34)
Direct leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x51ee20 in operator new(unsigned long) /home/donno/llvm-4.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
#1 0x55174b in BASICLexer::readFromStream(std::istream&) /home/donno/BASIC-llvm-frontend/lexer.cc:15:31
#2 0x5234e4 in main /home/donno/BASIC-llvm-frontend/basiccompiler.cc:24:16
#3 0x7f88571bfb34 in __libc_start_main (/lib64/libc.so.6+0x21b34)
Indirect leak of 37 byte(s) in 1 object(s) allocated from:
#0 0x51ee20 in operator new(unsigned long) /home/donno/llvm-4.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
#1 0x7f8857d3cc78 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator const&) (/lib64/libstdc++.so.6+0xbdc78)
#2 0x7f8857d3e42b in std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&, unsigned long, unsigned long) (/lib64/libstdc++.so.6+0xbf42b)
#3 0x5522eb in BASICLexer::_push_instruction(std::basic_stringstream<char, std::char_traits, std::allocator >&) /home/donno/BASIC-llvm-frontend/lexer.cc:35:9
#4 0x551709 in BASICLexer::readFromStream(std::istream&) /home/donno/BASIC-llvm-frontend/lexer.cc:14:14
#5 0x5234e4 in main /home/donno/BASIC-llvm-frontend/basiccompiler.cc:24:16
#6 0x7f88571bfb34 in __libc_start_main (/lib64/libc.so.6+0x21b34)
Indirect leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x51ee20 in operator new(unsigned long) /home/donno/llvm-4.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
#1 0x5531b7 in BASICLexer::_push_const_str(std::basic_stringstream<char, std::char_traits, std::allocator >&) /home/donno/BASIC-llvm-frontend/lexer.cc:140:13
#2 0x5522eb in BASICLexer::_push_instruction(std::basic_stringstream<char, std::char_traits, std::allocator >&) /home/donno/BASIC-llvm-frontend/lexer.cc:35:9
#3 0x551709 in BASICLexer::readFromStream(std::istream&) /home/donno/BASIC-llvm-frontend/lexer.cc:14:14
#4 0x5234e4 in main /home/donno/BASIC-llvm-frontend/basiccompiler.cc:24:16
#5 0x7f88571bfb34 in __libc_start_main (/lib64/libc.so.6+0x21b34)

My recommendation for BASICLexer is instead of bringing back the destructor is to make the following changes instead:

Change BASICLexer::_token_list to a `std::vector<std::unique_ptr>
Change BASICLexer::getTokens() to return non-owning pointers (this is simply to preserve pushing unique_ptr outside the interface boundary and minimises the changes).

I have also noticed cost-ness is used very sparingly which does make some of the code seem very strange. Take for example, IFInstruction, why would it need to modify the tokens?

Also there is a step 3: you need to add a virtual destructor to Token as otherwise you can't correctly delete  an instance of a derived class (PlusToken and CmpToken) through a pointer to base class (Token).


Suitable for M3 Max?

The CPU usage is incorrect and memory bandwidth is not displayed, May I know when the M3 Max can be adapted?

E-CPU, P-CPU Always display 100%

me too

Same issue for me

Same as well, may be an M3 Max nuance.

pip install git+https://github.com/gavi/asitop.git

It works fine for my M3 Max


Errors using Google Speech Recognition service

Hi,
Plesae find the below error when i tried to convert speech to text using google API
print("Google Speech Recognition thinks you said " + r.recognize_google(audio))
Traceback (most recent call last):
File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\speech_recognition_init_.py", line 840, in recognize_google
response = urlopen(request, timeout=self.operation_timeout)

File "C:\Users\ AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)

File "C:\Users\ AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 532, in open
response = meth(req, response)

File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)

File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 570, in error
return self._call_chain(*args)

File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)

File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)

urllib.error.HTTPError: HTTP Error 502: Bad Gateway
Thanks is Advance!!

I am currently having the same issue after it having worked for a long time (with no change in my code), could there have been a change on Google's end?

Hello @palikar
I have been having similar issues. Yesterday my code was working fine. I woke up today, run my script, and suddenly I get this error, even though I didn't change any code.

Any help would be greatly appreciated, its been stressing me out. Thank you in advance.


Update t1 submission space

pending:T1
account1:441fdk62aLbDmE8ggkbqvNXfQ6nsWbFx9fifn2EXqF3T8KKwbC
account2:3M8XZJA1arZV42zy1x9UtxJeW8ri3r6mqPSwVcgU1jZeqX5Y5q
DeviceDetails:verified
Screenshot:missing
We cannot fully verify this submission. Please provide us with screenshots with all transactions.
@bitoven-dev

pending:T1
account1:441fdk62aLbDmE8ggkbqvNXfQ6nsWbFx9fifn2EXqF3T8KKwbC
account2:3M8XZJA1arZV42zy1x9UtxJeW8ri3r6mqPSwVcgU1jZeqX5Y5q
DeviceDetails:verified
Screenshot:missing
We cannot fully verify this submission. Please provide us with screenshots with all transactions.
@bitoven-dev

pending:T1
account1:441fdk62aLbDmE8ggkbqvNXfQ6nsWbFx9fifn2EXqF3T8KKwbC
account2:3M8XZJA1arZV42zy1x9UtxJeW8ri3r6mqPSwVcgU1jZeqX5Y5q
DeviceDetails:verified
Screenshot:missing
We cannot fully verify this submission. Please provide us with screenshots with all transactions.
@bitoven-dev

Screenshots uploaded @cryptovoyagr

pending:T1
account1:441fdk62aLbDmE8ggkbqvNXfQ6nsWbFx9fifn2EXqF3T8KKwbC
account2:3M8XZJA1arZV42zy1x9UtxJeW8ri3r6mqPSwVcgU1jZeqX5Y5q
DeviceDetails:verified
Screenshot:missing
We cannot fully verify this submission. Please provide us with screenshots with all transactions.
@bitoven-dev

Screenshots uploaded @cryptovoyagr

confirmed:T1
account1:441fdk62aLbDmE8ggkbqvNXfQ6nsWbFx9fifn2EXqF3T8KKwbC
account2:3M8XZJA1arZV42zy1x9UtxJeW8ri3r6mqPSwVcgU1jZeqX5Y5q
DeviceDetails:verified

confirmed:T1
account1:441fdk62aLbDmE8ggkbqvNXfQ6nsWbFx9fifn2EXqF3T8KKwbC
account2:3M8XZJA1arZV42zy1x9UtxJeW8ri3r6mqPSwVcgU1jZeqX5Y5q
DeviceDetails:verified


i just want the column names in x-axis so pls suggest me how to do? is it possible to add column name using c3.js?

`

`
this is my code.
player,Score,strikeRate
a,10,12
1,12,34
b,14,7.86
c,13,7.19
g,14,7.08
f,19,7.53
e,11,7.17
d,97,7.65
this is my csv file...
my output
![op1](https://cloud.githubusercontent.com/assets/16222562/13668229/836628b6-e6e1-11e5-8d35-5f1600da68c7.PNG)
but I wants to display player column in x axis.

<script src="d3.min.js" charset="utf-8"></script>
<script src="c3.min.js"></script>
<script>

var chart = c3.generate({
data: {
url: 'cdc_female_hcageinf.csv',
type: 'bar'
    },
tooltip: {
    show: true
},
        point: {
    show: true
}

});

Hi there! We try to keep the issue queue clear for specific code-related problems with C3, could you please try asking your question on either the Google Group or Gitter instead? Thank you!


Read only ?

Hi folks,
It looks like this package is not maintained anymore.
Is that correct ?

I'll help maintaining this package and give it some fresh love.


File tree integration with nvim-tree and NERDTree

This enables file tree integration with nvim-tree and NERDTree.
It is fairly difficult to get sessions and file tree browsers to play nicely together, but when you do, the result is spectacular.
As such, I thought I'd make it easier to integrate the two with a simple configuration option:
require 'nvim-tree'.setup {
  auto_session_enable_file_tree_integration = true,
}

This hopefully fixes:

https://github.com/rmagatti/auto-session/issues/178
https://github.com/rmagatti/auto-session/issues/50

And would be a solution for people struggling with sessions/file trees elsewhere as well:

https://github.com/preservim/nerdtree/issues/745
https://github.com/preservim/nerdtree/issues/337
https://github.com/nvim-tree/nvim-tree.lua/issues/309
https://github.com/nvim-tree/nvim-tree.lua/issues/591
https://github.com/nvim-tree/nvim-tree.lua/issues/488
https://github.com/nvim-tree/nvim-tree.lua/issues/296

@rmagatti Hey, thanks for getting back to me so quickly. I actually think you're right. You don't want external plugin-specific code in your code, because then if they change something, it could break your code.
I had hoped there would be a file-tree generalized approach, but I can't see one. Oh well.
Instead, I think I can make a auto-session-nvim-tree plugin that can handle the nvim-tree-specific stuff.
Anyway, I took out all the external plugin-specific stuff and left in general bug fixes which prevent the "hook" solution from working. (causing session corruption, infinite loops, etc.)
Let me know if this looks good, and I'll squash the commits.

Ok, I created a plugin auto-session-nvim-tree to your plugin, but those changes depend on this PR.
Please review the code and let me know what you think if you don't mind.

Yeah, happy to help!
So, upon further inspection, it looks like if you add localoptions to your session options:
vim.o.sessionoptions="blank,buffers,curdir,folds,tabpages,winsize,winpos,terminal,localoptions"

this will automatically restore syntax highlighting without needing to redetect the filetype. So, we could probably remove the filetype detect code and just make a note for people to save localoptions in the README. Do you want me to make a PR to this effect?


bug: S3 v4 bucket resources don't link by value

See https://github.com/aquasecurity/tfsec/issues/1822

fixed in https://github.com/aquasecurity/defsec/pull/887


Automated cherry pick of #5208: fix: reset paging limit to 2048 from 20

Cherry pick of #5208 on release/3.1.
#5208: fix: reset paging limit to 2048 from 20

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/3.1@0701512). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             release/3.1   #5212   +/-   ##
=============================================
  Coverage               ?   6.73%
=============================================
  Files                  ?     547
  Lines                  ?   95752
  Branches               ?       0
=============================================
  Hits                   ?    6451
  Misses                 ?   88763
  Partials               ?     538

Flag
Coverage Δ

#aFlag
6.73% <ø> (?)

Continue to review full report at Codecov.

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

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm


Vercel Logo in readme

Thanks. Nice idea, but unfortunately .mp4 files aren't supported in GitHub readmes. We're working on creating a new graphic for this though!


[Feature request]: Support *-pc-windows-gnullvm targets

Hi!
Thanks for this project, it's very nice.
I tried it with the x86_64-pc-windows-gnullvm target, which is very similar to x86_64-pc-windows-gnu but uses only LLVM tools.
It worked almost out of the box, but I had to change this line in Corrosion.cmake:
        elseif(Rust_CARGO_TARGET_ENV STREQUAL "gnu" OR Rust_CARGO_TARGET_ENV STREQUAL "gnullvm")
            set(is_windows_gnu TRUE)
        endif()

(I had to add the OR Rust_CARGO_TARGET_ENV STREQUAL "gnullvm" part).
In addition to that, I had to manually pass these variables to cmake:
Rust_CARGO_TARGET=x86_64-pc-windows-gnullvm
Rust_CARGO_TARGET_LINK_NATIVE_LIBS='ws2_32;ntoskrnl;userenv'

I would be happy to open a PR to support it officially, if this could be helpful to someone else, but I don't know where the initial value of the native libraries is set (for me it was gcc_s;util;rt;pthread;m;dl;c, which matches my host libraries, but I'm cross compiling).
If I understand correctly, this command is run in corrosion/required_libs, but it fails for me:
> cargo rustc --verbose --color never --target=x86_64-pc-windows-gnullvm --print=native-static-libs
error: the `print` flag is unstable, and only available on the nightly channel of Cargo, but this is the `stable` channel
See https://doc.rust-lang.org/book/appendix-07-nightly-rust.html for more information about Rust release channels.
See https://github.com/rust-lang/cargo/issues/9357 for more information about the `print` flag.

Also, I'd need some help for writing any needed tests.

Please also note https://github.com/corrosion-rs/corrosion/pull/546 and my comments there.
Specifically I'm interested in

What are the Clang / CMake compiler targets, which corresponds to Rusts gnullvm?
Is using gcc to compile for *-gnu and linking a Rust library compiled for gnullvm sound?
Why is there no IMPLIB? How does CMake handle that?

If I understand correctly, this command is run in corrosion/required_libs, but it fails for me:

The command corrosion runs has an additional -- before the --print. The cargo flag is unstable, but the rustc flag is  stable, and those are separated by a --.
> cargo rustc --verbose --color never --target=<triple> -- --print=native-static-libs

Could you rerun this command with the -- and report the output? Please also note that configuring CMake in debug mode will also provide additional helpful output (cmake -S<source_dir> -B<build_dir> --log-level=DEBUG <your_other_options>）

ws2_32;ntoskrnl;userenv

Are these libraries also required for a minimal hello world example?
If not, then it's likely that these libraries are added by dependencies (which probably report that they need to link to a library via a build-script). Such libraries missing is a known limitation of Corrosion, that needs upstream CMake additions to fix reliably.

Thanks for the prompt answer!
I tried to look for issues but I missed a PR was already existing, sorry!

Please also note #546 and my comments there. Specifically I'm interested in

What are the Clang / CMake compiler targets, which corresponds to Rusts gnullvm?

Clang and CMake use x86_64-pc-windows-gnu also for this target.
Clang manages to find the correct runtime libraries by itself when they are in their appropriate directory.
The reference for creating an all-LLVM mingw pipeline is this repository.

Is using gcc to compile for *-gnu and linking a Rust library compiled for gnullvm sound?

I have never tried.
The main problems might be with unwinding, but I believe it's sort of expected not to work over FFI boundaries.
Usually LLVM runtimes are made to be ABI compatible with GNU.
FWIW, Firefox has been doing the opposite for years (use an LLVM-based mingw on the C/C++ side and the GNU target on Rust).

Why is there no IMPLIB? How does CMake handle that?

Sorry, I don't know what you're talking about :sweat_smile:.
However I've been using an LLVM based toolchain for a while, and I've never had to change anything that sounds like this (usually, if something supports GCC+mingw, it also works out of the box with Clang).
I've seen in the PR IMPLIB has been set to empty for the gnullvm target.
I set it to the same as GNU in my test.
As far as I know, the main difference between gnu and gnullvm are the runtime (libcompilerrt + libunwind instead of libgcc_s), but the rest of the tooling is the same.

If I understand correctly, this command is run in corrosion/required_libs, but it fails for me:

The command corrosion runs has an additional -- before the --print. The cargo flag is unstable, but the rustc flag is stable, and those are separated by a --.
> cargo rustc --verbose --color never --target=<triple> -- --print=native-static-libs

Could you rerun this command with the -- and report the output? Please also note that configuring CMake in debug mode will also provide additional helpful output (cmake -S<source_dir> -B<build_dir> --log-level=DEBUG <your_other_options>）

Yeah, sorry, I somehow missed that!
> cargo rustc --verbose --color never --target=x86_64-pc-windows-gnullvm -- --print=native-static-libs
   Compiling required_libs v0.1.0 (/home/piero/sdem/build/corrosion/required_libs)
     Running `rustc --crate-name required_libs --edition=2018 lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=282 --crate-type staticlib --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --print=native-static-libs -C metadata=869712cafa1f4636 -C extra-filename=-869712cafa1f4636 --out-dir /home/piero/sdem/build/corrosion/required_libs/target/x86_64-pc-windows-gnullvm/debug/deps --target x86_64-pc-windows-gnullvm -C incremental=/home/piero/sdem/build/corrosion/required_libs/target/x86_64-pc-windows-gnullvm/debug/incremental -L dependency=/home/piero/sdem/build/corrosion/required_libs/target/x86_64-pc-windows-gnullvm/debug/deps -L dependency=/home/piero/sdem/build/corrosion/required_libs/target/debug/deps`
note: Link against the following native artifacts when linking against this static library. The order and any duplication can be significant on some platforms.

note: native-static-libs: -lkernel32 -ladvapi32 -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32 -lunwind

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.14s

ws2_32;ntoskrnl;userenv

Are these libraries also required for a minimal hello world example? If not, then it's likely that these libraries are added by dependencies (which probably report that they need to link to a library via a build-script). Such libraries missing is a known limitation of Corrosion, that needs upstream CMake additions to fix reliably.

IIRC, they were needed by something like std::sys::, but I will try again later.
Thanks again for your answer!

ws2_32;ntoskrnl;userenv

Are these libraries also required for a minimal hello world example? If not, then it's likely that these libraries are added by dependencies (which probably report that they need to link to a library via a build-script). Such libraries missing is a known limitation of Corrosion, that needs upstream CMake additions to fix reliably.

IIRC, they were needed by something like std::sys::, but I will try again later.
Thanks again for your answer!

I setup a new project.
Instead of using FetchContent, I cloned corrosion and applied my patch before running CMake:
diff --git a/cmake/Corrosion.cmake b/cmake/Corrosion.cmake
index 3ad5bc1..f5132ea 100644
--- a/cmake/Corrosion.cmake
+++ b/cmake/Corrosion.cmake
@@ -355,7 +355,7 @@ function(_corrosion_add_library_target)
         set(is_windows TRUE)
         if(Rust_CARGO_TARGET_ENV STREQUAL "msvc")
             set(is_windows_msvc TRUE)
-        elseif(Rust_CARGO_TARGET_ENV STREQUAL "gnu")
+        elseif(Rust_CARGO_TARGET_ENV STREQUAL "gnu" OR Rust_CARGO_TARGET_ENV STREQUAL "gnullvm")
             set(is_windows_gnu TRUE)
         endif()
     elseif(Rust_CARGO_TARGET_OS STREQUAL "darwin")

At that point, Corrosion found the needed libraries correctly:
> cmake .. -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=x86_64-w64-mingw32-clang -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-clang++ -DRust_CARGO_TARGET=x86_64-pc-windows-gnullvm
-- Determining required link libraries for target x86_64-pc-windows-gnullvm
-- Required static libs for target x86_64-pc-windows-gnullvm: kernel32;advapi32;kernel32;ntdll;userenv;ws2_32;kernel32;ws2_32;kernel32;unwind
-- Required link flags for target x86_64-pc-windows-gnullvm:
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for host target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Found Rust: /var/tmp/dist/rust/bin/rustc (found version "1.78.0")
-- The C compiler identification is Clang 18.1.5
-- The CXX compiler identification is Clang 18.1.5
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /var/tmp/dist/mingw-w64-clang/bin/x86_64-w64-mingw32-clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /var/tmp/dist/mingw-w64-clang/bin/x86_64-w64-mingw32-clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/piero/hello/build

ntoskrnl hasn't been added, but I guess something else is linking to it, or somehow providing the features for which I initially linked it and I can't replicate the error I had in the hello project.
As for the implib, Cmake generates indeed a libxyz.dll.a,
So, I tried to run cargo directly with cdylib instead of staticlib, and it generated it as well, but in the deps directory.
In particular, it generated these files:

target/x86_64-pc-windows-gnullvm/debug/deps/libhello_rs.dll.a
target/x86_64-pc-windows-gnullvm/debug/deps/hello_rs.dll
target/x86_64-pc-windows-gnullvm/debug/hello_rs.dll (same content as the previous one; DLLs generated by CMake usually have the lib prefix, but it can be disabled with CMAKE_SHARED_LIBRARY_PREFIX).

And Corrosion doesn't find the implib:
[  0%] Built target cargo-prebuild_hello_rs
   Compiling hello_rs v0.1.0 (/home/piero/hello/hello_rs)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.07s
Copying byproducts `libhello_rs.dll.a` to /home/piero/hello/build
Error copying file (if different) from "/home/piero/hello/build/./cargo/build/x86_64-pc-windows-gnullvm/debug/libhello_rs.dll.a" to "/home/piero/hello/build".
make[2]: *** [CMakeFiles/_cargo-build_hello_rs.dir/build.make:76: _cargo-build_hello_rs] Error 1
make[1]: *** [CMakeFiles/Makefile2:107: CMakeFiles/_cargo-build_hello_rs.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Copying to the directory it expects resolved the problem.
However, I also tried to create an example program that links to the DLL without the .a, and it works as well.

As for the implib, Cmake generates indeed a libxyz.dll.a,
So, I tried to run cargo directly with cdylib instead of staticlib, and it generated it as well, but in the deps directory.
In particular, it generated these files:
target/x86_64-pc-windows-gnullvm/debug/deps/libhello_rs.dll.a

Thanks a lot for testing. I believe probably cargo needs a patch to copy the implib to the same location (as I don't want tot start digging into the deps directory. I don't really know what I'm doing, but I gave it a shot in https://github.com/rust-lang/cargo/pull/14451 and hope that it is sufficient.

Thanks a lot for testing. I believe probably cargo needs a patch to copy the implib to the same location (as I don't want to start digging into the deps directory).

Makes sense.

I don't really know what I'm doing, but I gave it a shot in rust-lang/cargo#14451 and hope that it is sufficient.

Great, and it's already been merged!
gnullvm is a fairly new target (it's been raised from tier 3 to tier 2 without host tools quite recently), so it probably needs some refinements.

I have a draft PR which adds gnullvm to CI, but it looks like there are also other problems besides the implib issue:
https://github.com/corrosion-rs/corrosion/pull/553
If someone has time to investigate, or knows what additional setup might be needed, I'd be glad for any comments.

Fixed in #553


[plugins/packages] Adopt code-excerpt across all READMEs

https://github.com/flutter/plugins/pull/5339 will add the ability to manage our README code snippets with code-excerpt so that they stop getting out of sync with changes in APIs, Dart, or lints, as well as sometimes just having typos that make them incorrect from the start. Once that lands we should start proactively updating all of our READMEs to use it, rather than waiting for bugs to be found, since it's a pretty easy change and will almost certainly find and fix latent issues in our READMEs given the steady stream of PRs we get about them.
That will also allow us to turn on enforcement in the repo to ensure that new code samples are written that way, so we don't create new documentation tech debt by accident.

We should do this for flutter/package as well; I'm adding the tooling support there now.

https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#readme-code has the instructions for setting this up.


feat: add mainnet ALCX

Description

Type of change

[ ] Docs change / dependency upgrade
[x] Configuration / tooling changes
[ ] Refactoring
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Related Issue(s)
Fixes
Related pull request(s)

Connext contract on mainnet doesn't have mint/burn rights.
cc: @just-a-node


Typescript type error in component returned by withStyles()

When using withStyles() hoc in typescript, I am getting the following error when trying to use the returned component:
Type '{}' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<App> & Readonly<{ children?: ReactNode; }> & Reado...'.
  Type '{}' is not assignable to type 'Readonly<WithStyles<"main">>'.
    Property 'classes' is missing in type '{}'.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

It appears this change to the type definition might be related to this issue.
Expected Behavior

Given the App component code below, I should be able to use the component <App /> without the type error as I did in 1.0.0-beta.10.
Current Behavior

Given the App component code below, trying to use <App /> results in the aforementioned error.
The Code
import * as React from 'react';
import { withStyles } from 'material-ui/styles';

const styles = {
    main: {
        marginTop: 48,
        padding: 10,
    },
    foo: {
        margin: 0,
    },
};

interface Props {
    message: string;
};

type ClassNames = { classes: { [className in keyof typeof styles]: string } };

class App extends React.Component<Props & ClassNames> {
    render() {
        const { classes, message } = this.props;
        return (

                    Hello World! {message}

        );
    }
}

export default withStyles(styles)(App);

Context

The code worked fine in 1.0.0-beta.10, when I upgraded to 1.0.0-beta.12 I got the type error.
In the code snippet provided I used the keyof typeof styles trick so that I would not need to define a list of class names twice (I strongly dislike the repetitiveness). I have also tried other variations:
type ClassNames = WithStyles<keyof typeof styles>;

and doing it the more common way (as seen in styles.spec.tsx):
type ComponentClassNames = 'main' | 'foo';
type ClassNames = WithStyles<ComponentClassNames>;

I still get the same error.
It seems the previous type definition would return a component whose props type would be StyledComponentProps which has an optional classes property. The new definition...
<P, C extends React.ComponentClass<P & StyledComponentProps<Names>>>(
    component: C
  ): C;

...returns the same type C as the component, this means that passing ClassNames which is not marked optional propagates to the returned component. I see mentioned here the use of Partial<> which I think it an unsightly hack.
Your Environment

Tech
Version

Material-UI
1.0.0-beta.12

React
15.6.1

browser
Chrome 61.0.3163.100

@cfilipov when decorating a component class you should use StyledComponentProps instead of WithStyles, and if in strict type checking mode you need to use the non-null assertion operator ! to extract the fields of classes. This is a compromise to allow the use of withStyles as a class decorator. Class decorators in type script suffer from the limitation that their return type must match the argument type. The only options given this limitation are

don't support using withStyles as a class decorator
require that you pass a dummy classes prop when constructing an element of the decorated component type (#8267)
require that classes be considered nullable inside the component, forcing you to use the ! operator when accessing its fields (the current compromise)

I would highly recommend that if your component has no state you use a stateless functional component, which will require fewer type annotations and be more type safe:
export default withStyles(styles)<Props>(({ classes, message }) => (

      Hello World! {message}

)

I see mentioned here the use of Partial<> which I think it an unsightly hack.

If you read my followup to that comment you'll see that Partial<> is not required.

If you read my followup to that comment you'll see that Partial<> is not required.

I saw your comment regarding Partial<>. Using StyledComponentProps essentially amounts to the same thing (it's using Partial<> in that definition). My gripe with that is now class names must be accessed with ! (as you mentioned). I think passing a dummy classes prop or requiring the use of ! are both poor compromises.
To clarify, I guess the root issue I am having here is the choice to introduce a regression to the hoc in an effort to work around a limitation of an experimental feature of typescript. I admit to some bias since I don't care for decorators, whereas others clearly do, but the tradeoff here doesn't make sense to me.

@cfilipov my first refactor of the withStyles typings was to choose option (1), i.e. make the typings completely correct for both class and function components, at the expense of using withStyles as a class decorator. I then got feedback that using the decorator syntax was a popular request, so I switched to option (3). I'm happy to revisit that decision; I too would prefer type safety to supporting decorators in their current semifunctional state.

Using StyledComponentProps essentially amounts to the same thing (it's using Partial<> in that definition).

It should be noted that no matter what, you're going to need to specify something like Props & StyledComponentProps when using class components.

Yeah, I understand the desire to support a popular request like this. I want to use decorators too, but I keep running into many issues with them every time I do (outside of mui) so I personally decided to not use them until they are ready.
It sounds like you share my concern and I don't have much more to add so hopefully other people can provide feedback in this direction to help influence it.

I switched to beta.13 from beta.10 to see if anything had changed and Yes this is a real issue. To throw my 2 cents in here, for me, decorators are experimental. They obviously could be changed in the future. And until then I would fully support the 100% accurate way. I would much rather have coherent type safety to hacking my types to make things work.

#8550 looks like further evidence that people are confused by this, and we should consider not supporting @withStyles() as a decorator.

This is what it would look like to "decorate" a class if we made the typings correct:
type NonStyleProps = {
  text: string
}

type styles = {
  root: {
    backgroundColor: 'red',
  }
}

const DecoratedComponent = withStyles(styles)(
  class extends React.Component<NonStyleProps & WithStyles<'root'>> {
    render() {
      const { classes, text } = this.props;
      return (

          {text}

      );
    }
  }
);

@pelotom I have yet to move forward from beta.10 because of this issue. I made comment about the styling of a class with Redux's connect method before. I think its relatively easy and robust. in  #8059 the third comment is myself with the types.

@pelotom Thank so much for educating us on this issue. I am a big user of TS decorators but in that instance, I would be happy for withStyles to drop its decorating support  in order to have better type safey.

we should consider not supporting @withStyles() as a decorator (in TypeScript).

@pelotom I'm personally in favor of this change. @sebald What do you want to do here?

It's a simple change; I went ahead and opened a PR in case you want to go with it 🙂

@pelotom would the typings still work if I used them like this?
interface IStyles {
    // styles interface
}
interface IHeaderInfoStyles {
    classes: any;
}
interface IHeaderInfoProps {
    // properties resulting from dispatches
}
interface IHeaderInfoInjectedProps {
   // props injected from parent if any
}
interface IHeaderInfoDispatchProps {
    // dispatches
}
interface IHeaderInfoState {
    // your state for the class
}

type HeaderInfoProps = IHeaderInfoProps & IHeaderInfoInjectedProps & IHeaderInfoDispatchProps & IHeaderInfoStyles;

class HeaderInfo extends Component<HeaderInfoProps, IHeaderInfoState> {

export const HeaderInfo_container = withStyles<IHeaderInfoInjectedProps, IStyles>(styles)(
    connect<IHeaderInfoProps, IHeaderInfoDispatchProps, (IHeaderInfoInjectedProps & IHeaderInfoStyles)>(mapStateToProps, mapDispatchToProps)(HeaderInfo),
);

@marcusjwhelan withStyles no longer takes 2 type parameters, and you shouldn't have to provide a type parameter for styles (it can be inferred from styles). You should instead be able to write
withStyles(styles)<NonStyleProps>(...);

If you give the types for mapStateToProps and mapDispatchToProps I might be able to show you what this would look like for your example.

tl;dr; Let's do the changes and see what the backlash is, I guess 👷🏻

@oliviertassinari @pelotom ¯_(ツ)_/¯ I do not use decorators, so personally, I really don't care about this change, because I am not affected. But it seems like a lot of people do care about this "feature". That's why we added it in the first place. That's IMHO what has priority here.
I am very happy with the changes of withStyles, but when you take a look at other more functional libraries, like ramda or recompose, the typings aren't that strict, neither are they super type-safe. Often times you have to pass in a generic, which represents the return value of a function. Not pretty but it will work for a 99.9% of the users.
Why can't we bring back the old typings that worked for the people using decorators? Because it did have two generics, we may be able to have both typings side by side.
Also, I am a bit confused what peoples issues with decorators are (regarding "not working"). Libs like Angular and https://nestjs.com/ make heavy use of them after all.

@sebald

Why can't we bring back the old typings that worked for the people using decorators? Because it did have two generics, we may be able to have both typings side by side.

I'm not sure what you mean. There was never any typing that allowed people to use decorators painlessly. The first implementation suffered from #8267, which was that you couldn't construct an element of a decorated component without passing a dummy classes prop, e.g.


Add an OS.is_window_focused() getter

This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using NOTIFICATION_WM_FOCUS_IN and NOTIFICATION_WM_FOCUS_OUT.
PS: I noticed Android makes use of those constants, but does it make sense to implement OS.is_window_focused() there? Can you run code in the game loop while the app is minimized?
This partially addresses #33928.

PS: I noticed Android makes use of those constants, but does it make sense to implement OS.is_window_focused() there? Can you run code in the game loop while the app is minimized?

This is after switching from app to android desktop and back:
InputEventMouseButton pressed: True[InputEventMouseButton:2947]SceneButtons
InputEventMouseButton pressed: False[InputEventMouseButton:3013]SceneButtons
I: NOTIFICATION_WM_FOCUS_OUT

I: NOTIFICATION_APP_PAUSED
I: NOTIFICATION_WM_FOCUS_IN
I: NOTIFICATION_APP_RESUMED
InputEventMouseButton pressed: True[InputEventMouseButton:3019]SceneButtons
InputEventMouseButton pressed: False[InputEventMouseButton:3097]SceneButtons
I: NOTIFICATION_WM_FOCUS_OUT

I: NOTIFICATION_APP_PAUSED
I: NOTIFICATION_WM_FOCUS_IN
I: NOTIFICATION_APP_RESUMED

func _notification(what):
	match what:
		NOTIFICATION_WM_FOCUS_IN:
			g.info("NOTIFICATION_WM_FOCUS_IN")
		NOTIFICATION_WM_FOCUS_OUT:
			g.info("NOTIFICATION_WM_FOCUS_OUT\n")
		NOTIFICATION_WM_QUIT_REQUEST:
			g.info("NOTIFICATION_WM_QUIT_REQUEST")

		NOTIFICATION_WM_MOUSE_ENTER:
			g.info("NOTIFICATION_WM_MOUSE_ENTER")
		NOTIFICATION_WM_MOUSE_EXIT:
			g.info("NOTIFICATION_WM_MOUSE_EXIT")

		# Android
		NOTIFICATION_APP_PAUSED :
			g.info("NOTIFICATION_APP_PAUSED")
		NOTIFICATION_APP_RESUMED :
			g.info("NOTIFICATION_APP_RESUMED")
		NOTIFICATION_WM_GO_BACK_REQUEST:
			g.info("NOTIFICATION_WM_GO_BACK_REQUEST")

@capnm I see, it might not be very useful to implement it on Android then (unless I'm mistaken).

@capnm I see, it might not be very useful to implement it on Android then (unless I'm mistaken).

I would agree, the app doesn't seems to run the idle loop if out of focus.
I: tick 6300
I: tick 6400
InputEventMouseButton pressed: True[InputEventMouseButton:1945]SceneButtons
I: font size = 99
InputEventMouseButton pressed: False[InputEventMouseButton:2059]SceneButtons
I: NOTIFICATION_WM_FOCUS_OUT

I: NOTIFICATION_APP_PAUSED
I: NOTIFICATION_WM_FOCUS_IN
I: NOTIFICATION_APP_RESUMED
I: tick 6500

var fr: int = 0
func _process(delta: float):
	fr += 1
	if fr % 100 == 0:
		g.info("tick " + str(fr))

Thanks!


test commit

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #14 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #14   +/-   ##
=======================================
  Coverage   26.18%   26.18%
=======================================
  Files           9        9
  Lines         317      317
  Branches       23       23
=======================================
  Hits           83       83
  Misses        234      234

Continue to review full report at Codecov.

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


GitHub Actions attestations

[x] Set up
[x] Publish to GitHub Releases
[x] Document how to use gh CLI and other tools for verification (edit: shall be available in SECURITY.md)

Generally available now; will be closed by #132


feat: lint & oss

Coverage remained the same at 100.0% when pulling 87f270f39533eb9f018d82d1b32c6424374b822d on oss into ce1c25052c74013291c9766480bb5cf1e8d745db on main.


feat(abg): add binding version v2

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1624
#1647  👈
#1639 : 1 other dependent PR (#1644 )
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Vampire and the rest of your teammates on  Graphite


reportOnly is removed from csp_policy which leads to unwanted behaviour

self.app.config is sometimes reused between requests.
When reportOnly is removed from the csp_policy here the csp will behave as non-readonly on some consecutive requests.
The reportOnly item should be removed because it's not a valid csp entity. But it should only be removed for the current request. A solution would be to take a copy of the csp_policy.
Only tested locally using dev_appserver

Thanks for the report!  Will put together a fix soon.


Entity-fishing Dockerfile non longer builds, after update of grobid-ner master to grobid 0.7.1

Since the last commit for grobid-ner, it now matches grobid 0.7.1, while we fetch 0.7.0 without restricting grobid-ner to 0.7.0 (no branches or tags exist yet on the repo).
Solution 1: bump grobid to 0.7.1, the latest stable version (may be incompatible with entity-fishing)
Solution 2: fix grobid-ner to previous commit

Solution 1 was the right one, bumped all dependencies to 0.7.1 with fixed commit hashes. Fix in 220a6fa


WIP: Feature/hocs 2659 message generator

This repo contains a test tool for the generation of SQS messages.  The jira ticket has some background
The app reads config on startup and sends messages to the SQS queue.

A number of these files need new lines ending to play nice with git diffing 👍🏼


ensure CLI docs are consistent with actual CLI args interface

Fix any existing inconsistencies
Write tests and integrate into UT suite so that consistency is preserved

@bilalcaliskan any news of either part ?


ShirukaPlayer.java:257: Implement ShirukaPlayer#isBanned.");

The puzzle 1-ec62f5a9 from #1 has to be resolved:
https://github.com/shiruka/shiruka/blob/24d02de4e698c2d724c0a733186145a34d4b3621/src/main/java/net/shiruka/shiruka/entity/ShirukaPlayer.java#L257-L257
The puzzle was created by Hasan Demirtaş on 01-Feb-21.
Estimate: 10 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-ec62f5a9 has disappeared from the source code, that's why I closed this issue.


CSS styles not applied to WSServer URLs?

The overlay is not showing the correct themed CSS styles when using WSServer URLs:
file://C:/Users/Thele/AppData/Roaming/Advanced%20Combat%20Tracker/Plugins/cactbot-0.16.11/cactbot/ui/raidboss/raidboss_timeline_only.html?OVERLAY_WS=ws://<IP_ADDRESS>:10501/ws
file://C:/Users/Thele/AppData/Roaming/Advanced%20Combat%20Tracker/Plugins/cactbot-0.16.11/cactbot/ui/raidboss/raidboss_alerts_only.html?OVERLAY_WS=ws://<IP_ADDRESS>:10501/ws
Previously it has showed the correct one for the timeline only but never with the alerts as you can see
One overlay is from ACT (Top) and the other one is via WSServer URL (Bottom)

but now even the timeline has reverted back to the default theme

Is there a way for me to change the theme for the WSServer URLs?

I think I see the issue:
This happened with the application of https://github.com/quisquous/cactbot/pull/4843, which is a more proper version of allowing skins to work without having to put the custom CSS within the timerbars themselves.
It looks like there is code to apply CSS that has always been failing with OVERLAY_WS= due to the forward slashes, so CSS has just never been getting applied but it didn't really matter since skins were essentially hardcoded.
I'll try to figure out a permanent change and something temporary so you can use skins before the next cactbot release.

Probably not worth it, but if you needed to make this change locally, you can edit raidboss.bundle.js locally (%APPDATA%/Roaming/Advanced Combat Tracker/Plugins/cactbot-0.16.11/cactbot/ui/raidboss/raidboss.bundle.js for you) line 3798:
  handleSkin(skinName) {
    if (!skinName || skinName === 'default') return;
    let basePath = document.location.toString();
    const slashIdx = basePath.lastIndexOf('/');
    if (slashIdx !== -1) basePath = basePath.substr(0, slashIdx);
    if (basePath.slice(-1) !== '/') basePath += '/';
    const skinHref = basePath + 'skins/' + skinName + '/' + skinName + '.css';
    this.appendCSSLink(skinHref);
  }

To instead be:
  handleSkin(skinName) {
    if (!skinName || skinName === 'default') return;
    const skinCSSRelativeHref = `skins/${skinName}/${skinName}.css`;
    this.appendCSSLink(skinCSSRelativeHref);
  }

I tested it just now, and it does not seem to do anything. Do i need to make the file read only so it cant be

For me the line was on 3574

this is what i replaced it with

OK i managed to get it working.
So i had to change URL with the right slash "" and then also append the code u mentioned here. with both changed it is now showing the correct CSS style for both. amazing, thanks a lot dude!
Just one question how often am i expected to change this code? is it on every update? (i dont really mind it since it's easy to do)


Add multiple file to context like cursor.sh

It'd be nice to be able to tag files I want to ask questions about in the chat like @file.txt @file1.txt and it gets context for both.
The usecase would be if I want to ask about implementing a certain component and how it relates to the code it's on it's only reading one file at a time using the auto "with reference" to.

Please try insiders and the pre-release of the extension we've added experimental support for #file. Let us know what you think and provide feedback!


save file

I see FileSaveHelper to be not working. We can save with our path or file not override

Please elaborate it further.
Sent from Yahoo Mail on Android
On Thu, Mar 3, 2022 at 3:23 AM, @.***> wrote:
I see FileSaveHelper to be not working. We can save with our path
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


d

Ripme version:
Java version:
Operating system:

Exact URL you were trying to rip when the problem occurred:
Please include any additional information about how to reproduce the problem:

Expected Behavior
Detail the expected behavior here.
Actual Behavior
Detail the actual (incorrect) behavior here. You can post log snippets or attach log files to your issue report.

Please fill it out with appropriate information, or else we will have to close this issue.


Prop definition-driven styles with support for arbitrary responsive values

General

Add the following props to all layout components:

minWidth, maxWidth
minHeight, maxHeight
flexBasis, flexShrink, flexGrow
gridColumn, gridColumnStart, gridColumnEnd
gridRow, gridRowStart, gridRowEnd

Rework all layout props to allow arbitrary CSS values, including when used with the responsive object syntax.  The older shrink and grow props will be removed in the next major release.
Update the type signature of the layout props so that code editor suggestions use just space scale values when possible. CSS keywords and other values such as "auto" or "100vw" are still available as manual string values.

Container, Section

Change the incorrect display="block" value to display="initial"

Checkbox, RadioGroup, Switch

Rework the internal HTML structure and styles. These components now render fewer HTML nodes and forward all props to the topmost node. Make sure that your code works as expected if you were relying on any of the implementation quirks to override styles or behaviour.

Flex

Add gapX and gapY props

Table

Add new layout prop to control the table-layout style property
Align width prop type signature and implementation on the TableCell part with the reworked width prop on the layout components
Add minWidth and maxWidth props to the TableCell part

TextArea

Add radius prop

Some changes I've made when working out how to nail the order (https://github.com/radix-ui/themes/pull/235#discussion_r1453434075), commit https://github.com/radix-ui/themes/pull/235/commits/3de5ead343d641ed4d933086a572c022a42feaf6

Updated the PostCSS plugin so that the external plugins can process the original rule (something to do with cloning vs using the original rule)
Removed redundant @media all declarations (not strictly needed, but something I was exploring as part of the potential fix, which didn't help, but decided it's a good change to keep)
Simplified margin styles
Added a plugin that cleans up the whitespace mess in the rules after all the transformations

Also upgraded our PostCSS and stylelint versions, no effective changes in the resulting CSS though


Add initial API reference annotations

Do we have an example of generated docs?

As we discussed, auto generated docs will be added in the future.


More general sample process

Could't predict from 1 element, if the batch is more than 1. It's fixed.

This may work for Theano but it definitely wouldn't for TF. Please find a way that works for both backends.

Closing inactive PR.


⚠ Bofrost.fr has degraded performance

In 7ad2602, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 915 ms

Resolved: Bofrost.fr performance has improved in 93574f7 after 44 minutes.


UX: silent click execs are perhaps too silent

(see https://github.com/IBM/kui/issues/5399 the second bullet; this also impacts replayability)
perhaps we should render something in the UI for silent pexecs after all. we decided not to, to optimize for successive click exploration through a table, to prevent the table scrolling off-screen as new blocks are added.
but perhaps we can render something, maybe not as a normal In/Out block, but something closer to Commentary/Announcement UI. and just scroll to bottom when these kinds of blocks are added to the scrollback.

folding into #5463


V3 Emulator Not working

I am surprised may be am the one who is facing this issue. I upgraded to V3 BotBuilder via Nuget. Also i updated my emulator to 3.0 version. When i execute the code with default Method in it for Post  itself throws error. Interesting thing is my chats in emulator reaching my code takes more than one minute. I haven't put anything in MS App Id and Secret Key. Morethan that i not even put a single line of code, its all scaffold templates are there. No idea why i am getting this weird behavior.  Please help. I tried uninstalling the emulator and re-install. No luck

What is the error that you're seeing?

Hello @b4usat, if you see this error again please open a new issue, I am closing this for now, thanks.


internal server error at first start

I'm experiencing the error after starting the dev server:
Internal server error: Soft-invalidated module "/node_modules/.pnpm/nuxt@3.9.0_eslint@8.56.0_typescript@5.3.3_vite<EMAIL_ADDRESS>should not have existing transform result

[nitro] [unhandledRejection] TypeError: Cannot read properties of null (reading '_file')
    at ReactiveEffect.fn (/Users/a1mer/f/learn.nuxt.com/components/PanelDocs.vue:39:131)
    at ReactiveEffect.run (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+reactivity@3.3.13/node_modules/@vue/reactivity/dist/reactivity.cjs.js:162:19)
    at get value [as value] (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+reactivity@3.3.13/node_modules/@vue/reactivity/dist/reactivity.cjs.js:1138:33)
    at unref (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+reactivity@3.3.13/node_modules/@vue/reactivity/dist/reactivity.cjs.js:1021:29)
    at Object.get (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+reactivity@3.3.13/node_modules/@vue/reactivity/dist/reactivity.cjs.js:1027:35)
    at _sfc_ssrRender (/Users/a1mer/f/learn.nuxt.com/components/PanelDocs.vue:70:16)
    at renderComponentSubTree (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+server-renderer@3.3.13_vue@3.3.13/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:685:9)
    at renderComponentVNode (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+server-renderer@3.3.13_vue@3.3.13/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:631:12)
    at renderVNode (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+server-renderer@3.3.13_vue@3.3.13/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:745:14)
    at renderVNodeChildren (/Users/a1mer/f/learn.nuxt.com/node_modules/.pnpm/@vue+server-renderer@3.3.13_vue@3.3.13/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:761:5)

It don't influence the functions of the website.
And, if I reload the page, the error will disappear.
The occurence pattern:
If I have opened http://localhost:3000, then restart the dev server, I'll give this error immediately.
If I haven't opened http://localhost:3000, then I need to reload once or twice to see this error.
However, it will disappear after reloading the page unless I restart the dev server.
There are two errors in the console, later Cannot read properties of null is a new one.
The first error has been there for a bit long period.

Can't reproduce, do you have the same error with: https://learn-nuxt-com.netlify.app/ ?

No, it's dev only. It's weird because I never see it in your live stream...

I reinstalled the deps, the problem had just gone away...


Fix Error Code in Register Component DryRun

Hey, I just made a Pull Request!

The error code for input validation in API POST /api/catalog/locations should not default to error code 500. There is existing InputError that I can re-use instead of creating new Error type.
Close https://github.com/backstage/backstage/issues/12072
:heavy_check_mark: Checklist

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

@jhaals I have updated the code based on your feedback, please help check again, thank you!


Invalid inline type syntax

https://github.com/peterthehan/create-discord-bot/blob/dcb3d541636aea80c7c67fe07243a654ca09e5fb/src/index.js#L11

The code above is marked as an invalid type annotation (at least for me). I suggest changing it to * @typedef {function():void} action

https://github.com/peterthehan/create-discord-bot/blob/dcb3d541636aea80c7c67fe07243a654ca09e5fb/src/index.js#L27

And changing the code above to * @property {action} action to match change 1 and prevent warnings like the following: "Assigned expression type {action: action, message: string, ignoreDry: boolean}[] is not assignable to type Step[]"

Resolved with #90


need help to execute SDKLauncher-Android

Hi Can you help me in this i m trying to execute sdk Launcher but i m geeting below error. It would be great if anyone can help me in this issue. Thanks
E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.readium.sdk.android.launcher, PID: 8464
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.readium.sdk.android.launcher-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "libepub3.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:989)
at org.readium.sdk.android.EPub3.(EPub3.java:44)
at org.readium.sdk.android.launcher.ContainerList.onCreate(ContainerList.java:135)
at android.app.Activity.performCreate(Activity.java:6221)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2611)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)
at android.app.ActivityThread.access$900(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
NOTE:---------------------------
Set up
OS--Windows8.1
Android Studio1.5
Jdk1.8
Downloaded NDK  -android-ndk-r10e
Thanks

when i m building from ndk-buid command i m getting this error
C:\Users\ashish.dixit\Desktop\Redium\readium-sdk\Platform\Android\jni>C:\Users\ashish.dixit\android-ndk-r10e\ndk-build
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 11 in C:/Users/ashish.dixit/Desktop/Redium/readium-sdk/Platform/Android/AndroidManifest.xml
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: C:/Users/ashish.dixit/Desktop/Redium/readium-sdk/Platform/Android/jni/Android.mk
C:/Users/ashish.dixit/android-ndk-r10e/build/core/add-application.mk:199: *** Android NDK: Aborting...    .  Stop.
The project i have downloded from link :-https://github.com/readium/SDKLauncher-Android
Thanks

In eclipse also i tried i m getting below error
"C:\Users\ashish.dixit\android-ndk-r10e\ndk-build.cmd" -C . V=1 NDK_APPLICATION_MK=Application.mk "NDK_PROJECT_PATH=C:\Users\ashish.dixit\Desktop\Redium\readium-sdk\Platform\Android" APP_BUILD_SCRIPT=Android.mk NDK_DEBUG=1 all
Android NDK: WARNING: APP_PLATFORM android-21 is larger than android:minSdkVersion 11 in C:\Users\ashish.dixit\Desktop\Redium\readium-sdk\Platform\Android/AndroidManifest.xml
Android NDK: ERROR:Android.mk:icuuc: LOCAL_SRC_FILES points to a missing file
C:/Users/ashish.dixit/android-ndk-r10e/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting    .  Stop.
Android NDK: Check that ./../../ePub3/ThirdParty/icu4c/lib/armeabi-v7a/libicuuc.a exists  or that its path is correct
make.exe: Entering directory C:/Users/ashish.dixit/Desktop/Redium/readium-sdk/Platform/Android' make.exe: Leaving directory C:/Users/ashish.dixit/Desktop/Redium/readium-sdk/Platform/Android'

You need to checkout the repository and its submodules on the develop branch. Eclipse has been deprecated, Google now recommends Android Studio and the Grade build system. Compiling / debugging from Windows is now as easy as OSX, Linux.

Thanks @danielweck
I tried with android studio also
Hi Can you help me in this i m trying to execute sdk Launcher but i m geeting below error. It would be great if anyone can help me in this issue. Thanks
E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.readium.sdk.android.launcher, PID: 8464
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.readium.sdk.android.launcher-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "libepub3.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:989)
at org.readium.sdk.android.EPub3.(EPub3.java:44)
at org.readium.sdk.android.launcher.ContainerList.onCreate(ContainerList.java:135)
at android.app.Activity.performCreate(Activity.java:6221)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2611)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)
at android.app.ActivityThread.access$900(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
NOTE:---------------------------
Set up
OS--Windows8.1
Android Studio1.5
Jdk1.8
Downloaded NDK -android-ndk-r10e
Thanks

please update Android Studio and NDK to the latest versions.

thanks for your reply
currently i am facing below error i have code taken from develop branch
Error:Could not determine the dependencies of task ':app:compileDebugAidl'.

Task with path ':epub3:buildMk' not found in project ':app'.

Is that with the latest version of Android Studio?

Hi @danielweck
Yes as you suggest i m using Android2.1 and latest ndk version while building getting the below error
Information:Gradle tasks [:app:clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :app:assembleDebug]
Build Js Assets
1464249170251
26 May 2016 07:52:50 GMT
Error:Could not determine the dependencies of task ':app:compileDebugAidl'.

Task with path ':epub3:buildMk' not found in project ':app'.
Information:BUILD FAILED

from another branch also i have tried It is building sucessfull showing book in app while clicking then i m getting below error:
FATAL EXCEPTION: main
Process: org.readium.sdk.android.launcher, PID: 896
java.lang.UnsatisfiedLinkError: No implementation found for org.readium.sdk.android.Container org.readium.sdk.android.EPub3.openBook(java.lang.String) (tried Java_org_readium_sdk_android_EPub3_openBook and Java_org_readium_sdk_android_EPub3_openBook__Ljava_lang_String_2)
at org.readium.sdk.android.EPub3.openBook(Native Method)
at org.readium.sdk.android.launcher.ContainerList$1.onItemClick(ContainerList.java:112)
at android.widget.AdapterView.performItemClick(AdapterView.java:334)
at android.widget.AbsListView.performItemClick(AbsListView.java:1544)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3686)
at android.widget.AbsListView$3.run(AbsListView.java:5600)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)

what are the contents of the readium-sdk folder (submodule)?
is this repository fully synched with the develop branch?

Steps :- I have Clone from develop then in develop folder there are folder like redium- skd and readium js both was empty initial so i downloaded redium-sdk  and redium-js then copied content to both folder in sdk and js folder. in redium sdk  i have only copied Android/platform folder
did i done anything thin wrong ?

you must initialise and update the submodule repositories correctly.
In a nutshell:
git submodule init
git submodule update
git checkout develop
You can follow the same instructions as: https://github.com/readium/readium-js-viewer/blob/develop/README.md#git-initialisation

We are using Windows OS and android studio  2.1. not sure about the nutshell. if you could provide  guidance for windows as well as for android studio  2.1 settings that will be very helpful for us to get the running source code for Android application .

is git installed on your machine? you can use gitbash to run the shell commands I mentioned above, or you can use the github app.
once your copy of the source tree is ready, then let's talk about compiling.

ok thanks a lot  I will go the same

hi @danielweck   thanks for your quick reply i followed the steps as you as told now it is showing branch is upto date with origin.develop and currently i m in develop branch now please guide the next step

now do the same with SDKLauncher-Android - readium-sdk - readium-shared-js
then open the project with Android Studio, inside the SDKLauncher-Android/SDKLauncher-Android/ folder (yes, twice the same name!)

means whatever code now i clone i need to copy in respective folder right?
then need to import ?

I showed you the steps for readium-js-viewer because they are similar to any other Readium repository (like SDKLauncher-Android).
You do not need to copy anything. Just checkout the GitHub source tree (including submodules) and open the project from Android Studio..

Hi @danielweck  I m not able to execute still same isssue i m facing till now i done R&D
Step-1 From git clone the complete source tree for readium-js-viewer
Checkout the develop branch.
Under  android launcher Application readium-sdk folder and radium-js folder replaced above readium-js-view content .
Open in android studio as launcher android Application  while building getting below error
Information:Gradle tasks [:app:generateDebugSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :app:generateDebugAndroidTestSources]
Build Js Assets
1464268548789
26 May 2016 13:15:48 GMT
Error:Could not determine the dependencies of task ':app:compileDebugAidl'.

Task with path ':epub3:buildMk' not found in project ':app'.
Note I m opening readium-js-viewer directly there will not be any android gradle project .

Step-2
Clone the launcher Android    checkout develop
Imported to android studio same error is coming
Information:Gradle tasks [:app:generateDebugSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :app:generateDebugAndroidTestSources]
Build Js Assets
1464268548789
26 May 2016 13:15:48 GMT
Error:Could not determine the dependencies of task ':app:compileDebugAidl'.

Task with path ':epub3:buildMk' not found in project ':app'.

As I said above, please do not copy files manually.
You have to checkout the develop branch of SDKLauncher-Android (as the root repository), not readium-js-viewer (I only gave you this example for git command line instructions).
Then, inside the SDKLauncher-Android folder there are the readium-shared-js and readium-sdk submodules, which you also have to synchronise with the develop branch.
I suggest you read some documentation about git, as you will need to update your clone/fork regularly.
I hope this helps.

@danielweck  Hi Still getting same error  really sorry for asking many times now as per git doc in gitbash i configured username email n all then I  cloned Launcher Android /submodule init/submodule  update/ git checkout develop .now i m in develop \and open in studio  getting same error
After that i tried also
Approach 2; while taking git pull -rebase its showing no correct right access.?
Approach 3: And as per this url https://github.com/readium/SDKLauncher-Android i tried to compile also MakeHeader.sh not found bad interpreter it is showing
can you please tell me where i m wrong ?

HI @danielweck  I think now its sync but now i m getting below error:
Error:FAILURE: Build failed with an exception.

Where:
Script 'C:\Users\ashish.dixit\Documents\GitHub\Ashish2\Launcher-Android\SDKLauncher-Android\app\build_epubReadingSystem.gradle' line: 157

What went wrong:
Execution failed for task ':app:buildEpubReadingSystem'.

Could not copy file 'C:\Users\ashish.dixit\Documents\GitHub\Ashish2\Launcher-Android\SDKLauncher-Android\app\src\main\assets\readium-shared-js\epubReadingSystem_EMPTY.js' to 'C:\Users\ashish.dixit\Documents\GitHub\Ashish2\Launcher-Android\SDKLauncher-Android\app\src\main\assets\readium-shared-js\epubReadingSystem.js'.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

@danielweck   Hi Now it is running in my mobile really thanks for your kind support without support it was not possible for me


treemap title color

Use black titles for the lowest taxonomy levels
Original issue by @bmesuere on Wed May 02 2012 at 15:04.
Closed by @bmesuere on Mon May 07 2012 at 19:38.

After sunburst is added, use the D3 code to determine the text color.
Original comment by @bmesuere on Thu May 03 2012 at 18:15.


fix: pypi-publish master branch sunset

This will fix the warning of 'The master branch version has been sunset for gh-action-pypi-publisher'

Thanks for the pull request, @CodeWithEmad!
What's next?
Please work through the following steps to get your changes ready for engineering review:
:radio_button: Get product approval
If you haven't already, check this list to see if your contribution needs to go through the product review process.

If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.

This process (including the steps you'll need to take) is documented here.

If it doesn't, simply proceed with the next step.

:radio_button: Provide context
To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

Dependencies

This PR must be merged before / after / at the same time as ...

Blockers

This PR is waiting for OEP-1234 to be accepted.

Timeline information

This PR must be merged by XX date because ...

Partner information

This is for a course on edx.org.

Supporting documentation
Relevant Open edX discussion forum threads

:radio_button: Get a green build
If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.
:radio_button: Let us know that your PR is ready for review:
Who will review my changes?
This repository is currently maintained by @openedx/axim-engineering.  Tag them in a comment and let them know that your changes are ready for review.
Where can I find more information?
If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

Overview of Review Process for Community Contributions
Pull Request Status Guide
Making changes to your pull request

When can I expect my changes to be merged?
Our goal is to get community contributions seen and reviewed as efficiently as possible.
However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

The size and impact of the changes that it introduces
The need for product review
Maintenance status of the parent repository

:bulb: As a result it may take up to several weeks or months to complete a review and merge your PR.

Hi @openedx/axim-engineering
My codecov job failed because I got less code coverage by just changing an action! It might be something else but I've zero clue. Can you have a look?

Hey @CodeWithEmad , we've been having issues with codecov reliability lately. It looks like the check isn't required, so feel free to ignore the codecov failure merge once you get a review.

@CodeWithEmad 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Transformations - jhamski

The image transformation code should not include the images/legend because it will be too big for github. As I said in the lecture, they will need to be applied at run time so must not be included in the pull request.


Update flake8 default path value

Closes https://github.com/microsoft/vscode-python/issues/4163

Is the test failing for real or is it a FP?

@luabud Test failures are being investigated in https://github.com/microsoft/vscode-python/issues/16454

@kimadeline thank you!!


How do I get a collection of all the history records after marking the picture

How do I get a collection of all the history records after marking the picture

@iulm
No api gets all history yet. I'll tag Enhancement.

Hello, how can I obtain all the history


Billing small fix to show hail batches which have no ar_guid available.

This PR contains:

small fix to show batches where ar_guid is not present. We have a few of them in Feb 2024 and before.
Preparation for very large batches, where jobs billing data gets aggregated, to get number of jobs instead of COUNT(jobs), we look at MAX(JobID).

Codecov Report
Attention: Patch coverage is 80.00000% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 76.47%. Comparing base (f22be63) to head (ac9841b).

Files
Patch %
Lines

db/python/layers/billing.py
57.14%
3 Missing :warning:

db/python/tables/bq/billing_ar_batch.py
90.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #730      +/-   ##
==========================================
- Coverage   76.48%   76.47%   -0.01%
==========================================
  Files         148      148
  Lines       11905    11917      +12
==========================================
+ Hits         9106     9114       +8
- Misses       2799     2803       +4

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


How can we get the image in lanenet-lane-detection/data/source_image/lanenet_instance_seg.png?

Can you tell us how we can get output image in this directory :
lanenet-lane-detection/data/source_image/lanenet_instance_seg.png?
I want to map it on the image. Can you help me how to get this done, please?

@masouduut94 Do dimension reduction on instance segmentation result and rescale the value into [0, 255]:)


Add dynamic properties hide if not avtive

This PR make again the interface more clean and simply for user.

Hey @grzegorz914 thanks again for the PR, I love the conditions you made in the config schema, will check if everything works for me and merge it very soon :)


296 add version number

fix #296
Add date of generation and version number of weaver, if available, to the form-specific metadata. If the weaver is run from the playground (which you may do in your review) it will display "playground" as the version number as it has no accurate way to access anything more specific.

FYI, this uses same code we use to attach github feedback to the right Docassemble package


map.View add setExtent method

ol/View.d.ts
Can I add the setExtent method? Sometimes I need to load geojson asynchronously and dynamically, and then set the extent .

It will be quite an effort to add such a method, with the need to restructure things in View.js. What about just creating a new view when you have the extent?
const view = map.getView();
map.setView(new View({
  center: view.getCenter();
  zoom: view.getView(),
  rotation: view.getRotation(),
  extent: sourceExtent
})};

That's okay, that's what I'm using right now.


Update deployment practices (health probe, others)

(from HackMD list)
Also listed as "get help"

Closing as stale.


Add LUNC, USTC moved info banner to main site

Some users have posted on forums freaking out that they can't see LUNC, USTC balances on their assets page. We should add a banner to guide those users to the frontier site, where they can view those assets.
Should remove it in about a week or so.
I also made the banner code generic and reusable for future temp banners (instead of just for the frontier banner). Banners that are closed remain closed unless the browser clears localStorage.

@jonator I'm good with this. Please just update to match the testnet and support site banners