Example project with authentication?

Great idea! Perhaps you would be interested in submitting a pull request for this?

Great idea! Perhaps you would be interested in submitting a pull request for this?

I integrated with requests module but not if my structure is correct


User Configuration File/Options

Feature Request
Description of Problem:
Currently, users can specify different generation preferences using the command line switches provides, including max-rows, generation type and the suppression of various validation options. We don't want to keep adding more and more options to maintain as we create configurable features so instead we want somewhere else to configure these options.
Potential Solutions:
Option 1: Introduce a new section of the profile called options

Users would be able to specify generation options like max string length directly in the profile
JSON schema would provide checks for options available and autocomplete
Pro: A profile contains the exact configuration of how the data will be generated
Con: We may end up with many options in this section, polluting the profile and making it longer
Con: There may be a lot of repetition if a user has several profiles all with the same desired configuration preferences

Option 2: Introduce a configuration file external to the profile alongside the generator

2a: A config file which is placed in the same directory as the generator jar with a specific name
2b: Command-line option which points to the configuration file
Users would be able to specify generation options like max string length universally for all profiles they wish to run
JSON schema would provide checks for options available and autocomplete
Pro: reduces duplication/complication in profiles
Pro: JSON schema may be able to read the user config to determine maximum/minimum values
Con: sharing a profile may now require the sharing of config also to get the desired results

Option 3: Both

Provide both an options section and an external config file
If settings are specified in both the config file and the profile then the profile options win

Other questions to consider

Should we deprecate the command line switches in favour of this config?
What options would be available at completion of this story?

Acceptance Criteria:

[ ] A user can specify generation configuration options in JSON format

Is this a duplicate or heavily related to #884 ?

Also see #294


tar command can't find the directory/file.

Hello All 👋 ,
I am using this action in the build process of my GitHub page. But I notice now this build failing at the upload artifact stage the the below error.

I am new to this, so not sure what is the issue here or how to fix it. Tried to find any similar issue here in GitHub (and in google) but couldn't find any so raising this issue here.
I would appreciate it if someone could explain what's going wrong and how to fix it.
here is my repository build step: https://github.com/prateek-padhy/mapbox-hex/actions/workflows/nextjs.yml

This issue is now fixed.
I was missing one config from my next.config.js file.
{   output: "export",   ... }


Fix of show accounts dropdown when transition is ended by backpressed issue #117

Remove onTransitionEnd listener after it is called to avoid username.showDropDown() be called on end transition by backpressed

I signed it!


Bootup Arduboy logo scroll-in and red power LED

The first attempt has my "fade in" attempt if anyone is curious about that.

This is about 416 bytes larger than without.   I wanted to use the hardware to do the scrolling to keep the cost of flash as low as possible.  904 bytes to use a drawImage loop and just do it the easy way (if the sketch isn't otherwise using the built in drawImage).  Extra 294 bytes if you were already using drawImage.  A lot of pro games are going to use faster or more specialized draw routines though so they will be paying the full 904 byte penalty.
Any feeling here on how high is too high?  3.7% of Flash (based on boatloader and "minimum" sketch size of Blink) just to get our logo on their seems to be paying a bit much.  I'd have been happy with 1.x percent which is about where my hardware based approach was going to land us - but I'm not sure it's viable.
I don't have memory usage for fade in off the top of my head but I think it was half as small.  Scrolling from the side would also be lightweight since we don't have any complex bit shifting to do, but then you lose the whole Gameboy feel.

Someone else feel free to poke around with this and see if you can get it smoother - and ask if you have any questions.  YOu'll need to check out this branch then checkout '8d89f759fce99e0e1a788551fc74032448d4495b' to get the hardware scroll code.

Actually my face code is currently +588 bytes.

444 bytes but it still flickers a little.  Anyone else want to try it and see what they think?
Don't merge this till I clean it up, it's a mess - but it's testable.  I want to see if the flicker is annoying to anyone else.

All sorts of cool effects you can make the OLED do by hacking the commands but none of them looked super intentional.

I don't recall if it's already been previously discussed, but have you considered just putting the static non-moving logo in the center of the screen, then pausing a bit, then using the hardware horizontal scroll command to scroll the logo left, like a marquee, for another short while?
I don't really have time right now to try it myself, but here's what to do:

Display the logo
Pause, using delay() or whatever, for a short time.
Send a  Deactivate Scroll command 0x2E, required as per section 10.2.1 in the SSD1306 datasheet.
Send a Horizontal Left Scroll command: 0x27, 0x00, start page, speed, stop page, 0x00, 0xFF. The start page and stop page should cover the logo height, but you could use 0x00 and 0x07 as a start, for the entire screen. You can fiddle with the speed for what looks best, but I'd start with 0x07 for the fastest. See the datasheet for the speed values, they're not linear or in order.
Send an Activate Scroll command: 0x2F.
Pause again to show the scrolling for a while.
Send a Deactivate Scroll command: 0x2E.
Clear the screen, unless it's done later, or just let the sketch do it.

If you wish, you could similarly experiment with the simultaneous horizontal and vertical (diagonal) scroll command: 0x29 or 0x2A.
You could also try right horizontal scrolling, using 0x26 instead of 0x27 but I'm guessing it wouldn't look as good as left scroll.

Feel free to do it and submit a PR for us to play with - but the interest has always been in a VERTICAL scroll, not horizontal.  I'm aware horizontal is easier (whether you ask the hardware to help or not.
It's too bad we don't have a vertical ONLY hardware scroll.

I spent a little time trying horizontal scroll. It works. The commands and delays past the first delay take 160 bytes but could probably be optimised like the main display init. I didn't include any sound.
I'm quickly writing this comment and don't have time to create a PR. You can just cut and paste the Arduboy::bootLogo() function with:
void Arduboy::bootLogo()
{
  const unsigned char *logo = arduboy_logo;
  uint16_t mem_position = 20+128*3;
  uint8_t c=0;

  c = 0;
  while (c < 88*2) {
    sBuffer[mem_position++] = pgm_read_byte(logo);
    logo++;
    c++;
    if(c==88) {
      mem_position+=128-88;
    }
  }
  display();

  delay(800);

  sendLCDCommand(0x2E); // disable scroll

  sendLCDCommand(0x27); // left horizontal scroll
  sendLCDCommand(0x00); // dummy
  sendLCDCommand(0x00); // start page
  sendLCDCommand(0x07); // speed
  sendLCDCommand(0x07); // end page
  sendLCDCommand(0x00); // dummy
  sendLCDCommand(0xFF); // dummy

  sendLCDCommand(0x2F); // enable scroll

  delay(3650);

  sendLCDCommand(0x2E); // disable scroll

  delay (500);
}

What is the total byte difference from master?
Thanks,
Josh

On Feb 11, 2016, at 1:57 PM, Scott Allen<EMAIL_ADDRESS>wrote:
I spent a little time trying horizontal scroll. It works. The commands and delays past the first delay take 160 bytes but could probably be optimised like the main display init. I didn't include any sound.
I'm quickly writing this comment and don't have time to create a PR. You can just cut and paste the Arduboy::bootLogo() function with:
void Arduboy::bootLogo()
{
const unsigned char logo = arduboy_logo;
uint16_t mem_position = 20+1283;
uint8_t c=0;
c = 0;
while (c < 88*2) {
sBuffer[mem_position++] = pgm_read_byte(logo);
logo++;
c++;
if(c==88) {
mem_position+=128-88;
}
}
display();
delay(800);
sendLCDCommand(0x2E); // disable scroll
sendLCDCommand(0x27); // left horizontal scroll
sendLCDCommand(0x00); // dummy
sendLCDCommand(0x00); // start page
sendLCDCommand(0x07); // speed
sendLCDCommand(0x07); // end page
sendLCDCommand(0x00); // dummy
sendLCDCommand(0xFF); // dummy
sendLCDCommand(0x2F); // enable scroll
delay(3650);
sendLCDCommand(0x2E); // disable scroll
delay (500);
}
—
Reply to this email directly or view it on GitHub.

What is the total byte difference from master?

I don't know what method you're using to calculate this. Would you mind trying it out yourself? If you think it's something worth considering, then you could do the calculations. There could be differences between our development environments that might cause differing results.

@yyyc514, I did try your latest vertical scroll logo. I didn't find the flicker too annoying. My vertical scroll version is smoother though. :smile:
Note that the homebuilt system I'm using is still wired as a DevKit equivalent and I only have a 0.96" sceen. The flicker may be more noticeable on a 1.3" screen.

I don't know what method you're using to calculate this.

Check out latest master.  Compile a super simple sketch that doesn't really use any functions that you might be considering (I use music).  Write down the compiled size.  Check out your code that does boot animation.  Compile. Write down the size. Subtract.
That's the size you're adding.  The exact size would depend on 100s of variables, but for a ballpark of worse case this is the best way to get that number.
I'd think if we're on the same IDE version we should get exactly identical results.

My vertical scroll version is smoother though.

If you did vertical would like to see the numbers.  It's super smooth if you just use the drawing functions but then you increase the size significantly for anyone not wanting to use those own functions themselves.

My vertical scroll version is smoother though.

If you did vertical would like to see the numbers.

Sorry, that was a brain fart. I meant "My horizontal scroll version" (using hardware scroll).
I didn't start from the master branch, but what I did before posting the code for my version of the Arduboy::bootLogo() function, was this:
With IDE 1.6.7 and the following sketch:
#include <Arduboy.h>

Arduboy arduboy;

void setup() {
  arduboy.begin();
}

void loop() {
}

Grabbed your yyyc514:hw_scroll branch as a zip file and set it up as my Arduboy library.
In core.h I commented out #define ARDUBOY_10 and uncommented #define AB_DEVKIT to work with my hardware.
Compiled it as-is (and loaded it to see how the logo looked). Size: 9348.

Everything following is changes to function Arduboy::bootLogo()

Deleted the two lines of speaker related code at the end of your version, since I wasn't going to have sound in my version. Size: 9344
Changed the function to become my version above. Size 9264
Deleted all the code in my version past the delay(800); to the end, the part that does the scrolling. Size: 9104
Deleted the delay(800); so only the logo display code and a display() remained, to show just a static logo. Size 9092
Deleted everything. leaving just void Arduboy::bootLogo() { } which generates no logo code at all. Size 8802

Since I used your code to generate the logo, and only changed uint16_t mem_position = 20+128*5; to uint16_t mem_position = 20+128*3; to change the location. Your version is also size 9092 if everything past the first display() is removed.
Conclusion:
Your version with the speaker lines removed is 9348 - 8802 = 546
My version is 9264 - 8802 = 462
So my version is 546 - 462 = 84 bytes smaller than yours without sound.
Both versions have identical initial logo display code: 9092 - 8802 = 290
Your scrolling and delay code is 9348 - 9092 =  256
My scrolling and delay code is 9264 - 9092 = 172

I've now replaced the 9 consecutive sendLCDCommand() functions with an array sent by a for loop. The  total is now 9242, so all the logo code is 9242 - 8802 = 440 bytes. This is an additional savings of  22 bytes.
Here's the new code:
const uint8_t PROGMEM HorizScrollCmd[] = {
  0x2E, // disable scroll

  0x27, // left horizontal scroll
  0x00, // dummy
  0x02, // start page
  0x07, // speed
  0x05, // end page
  0x00, // dummy
  0xFF, // dummy

  0x2F  // enable scroll
};

void Arduboy::bootLogo()
{
  const unsigned char *logo = arduboy_logo;
  uint16_t mem_position = 20+128*3;
  uint8_t c=0;

  c = 0;
  while (c < 88*2) {
    sBuffer[mem_position++] = pgm_read_byte(logo);
    logo++;
    c++;
    if(c==88) {
      mem_position+=128-88;
    }
  }
  display();

  delay(800);

  LCDCommandMode();
  for (int8_t i=0; i < sizeof(HorizScrollCmd); i++) {
    SPI.transfer(pgm_read_byte(HorizScrollCmd + i));
  }
  LCDDataMode();

  delay(3650);

  sendLCDCommand(0x2E); // disable scroll

  delay (500);
}

Can you push this to a branch of your repository?

Can you push this to a branch of your repository?

https://github.com/MLXXXp/Arduboy/tree/hw_scroll

I modified my test sketch to add calls to clear(), display() and delay(). The compile size is now 9302 with my logo code, and 8918 with with all logo code removed.
So, given that a sketch itself uses both display() and delay(), the impact of including the logo is 9202 - 8918 = 384 bytes.
I also tried it with delay() removed from the sketch. There was no change, still 384 bytes (It turns out to be because  ArduboyCore::bootPins() in core.cpp also uses delay()).
New test sketch:
#include <Arduboy.h>

Arduboy arduboy;

void setup() {
  arduboy.begin();
  arduboy.clear();
  arduboy.display();
//  delay(1000);
}

void loop() {
}

It's smoother, but it needs to slide in, not just slide around.   I think we need to find a way to just use our own drawBitmap and do the animation right.  The smooth movement is just so sweet.  Really ambitious games using a faster drawBitmap could just modify the library to use their own (getting the space back).
Thoughts?

It's smoother, but it needs to slide in, not just slide around.

needs to slide in? Is that just your opinion or has it been mandated somehow? It does something more than just a static display. It's kind of different and unique and I don't find it particularly annoying or anything.

I find it cheap to be honest.  It looks like a screen saver, not an intro.  No offense.  Kevin (the creator of Arduboy) liked it sliding in from the top because it has that retro Nintendo feel to it.

So just an opinion. (No offence taken). Has anyone else seen it and commented?

I'm going to push an update that also uses the RED led on power on... it's starting to feel "right", at least to me. :-)

By @yyyc514 in incident #11:

All we need is begin() and beginWithoutLogo() if we want to make the logo super easy to remove on a per-sketch basis...

Any thoughts on still doing this? You implied that it wouldn't have any impact on code size since only one would be complied at a time.

Any thoughts on still doing this? You implied that it wouldn't have any impact on code size since only one would be complied at a time.

It wouldn't.  Still entirely doable, just not sure on the naming.

Can we overload the constructor in the source file and avoid a new function all together?

Can we overload the Arduboy constructor in the source file and set a default parameter so it's off; avoiding a new function all together, but keeping the Arduboy.h file as is?

I don't think doing anything with the constructor would help, but if you overload begin() with a dummy argument, I'm pretty sure it would work. E.g.
#define NO_LOGO 1
void begin();
void begin(uint8_t dummy); // dummy is not actually used. its value doesn't matter

A sketch using arduboy.begin() would include the logo code.
A sketch using arduboy.begin(NO_LOGO) would not include the logo code.
The code for the begin(uint8_t dummy) version would just ignore the parameter. It would have to be written so the logo is suppressed non-programmatically.
However, this is almost identical to having two separate functions, e.g. begin() and beginWithoutIntro().
I don't think the overloading technique is any more comprehensible than having two functions. Actually, the fact that the parameter is just a dummy, to force different code to be compiled under the covers, may be confusing to a sketch developer.

Can we overload the Arduboy constructor in the source file and set a default parameter so it's off; avoiding a new function all together, but keeping the Arduboy.h file as is?

Off or on, I though we wanted it to be on by default?

Also, begin(NO_LOGO) might result in slightly more code than beginWithoutIntro() because begin(NO_LOGO) would require some additional code to pass the argument.

Oh god, are you thinking like me now? :-)  Honestly though the compiler should be smart enough to figure out you never use the variable and not generate any code for dealing with it/passing it.
I purposely picked a somewhat ugly name to discourage people from turning it off for no reason.  If you're sketch is big and you legit need to turn it off it's not hard to just look in the header and copy the function name once and be done with it.  I thought it was a nifty idea.
Either way there have to be two copies of the function for the compiler - so was it the two copies you were choking on, or just the naming?

Either way there have to be two copies of the function for the compiler - so was it the two copies you were choking on, or just the naming?

Are you asking me or @rogosher? My preference is your original suggestion; two separate functions:
begin() to display the logo
beginWithoutLogo() (or some other meaningful name) to leave the logo code out.
I'm sure you know this, but for the possible benefit of others reading this, you don't need two copies with lots of code, that differ only in one not having the logo. It's more maintainable to make two additional functions containing common code; beginCodeFirstPart() and beginCodeLastPart() (or whatever, for the names). Then your two functions are:
void Arduboy::begin() {
  beginCodeFirstPart();
  bootLogo();
  beginCodeLastPart();
}

void Arduboy::beginWithoutLogo() {
  beginCodeFirstPart();
  beginCodeLastPart();
}

beginCodeFirstPart() and beginCodeLastPart()

Ugh... and we're pretty much already doing that already.  The function already is just a small dispatch center to other functions.  You could also do something crazy with macros, but it's easier and clearer to just have two short functions and comment the difference between them.

Overloading the constructor would just look cleaner.
Arduboy.arduboy() //normal, include boot
Arduboy.arduboy(flags[3]=0)
\\or
Arduboy.arduboy(logo=0)

Where
\\constructor
Arduboy::arduboy(int logo = 1) { ... }

Or some other reasonable init process.

Arduboy::arduboy(int logo = 1) { ... }

You realize that then you're just cutting and pasting the same code into two different constructors, right?  Plus then if someone uses an int (vs a DEFINE, which you can't force) you have no idea reading the code what it means.
begin() and beginWithoutLogo() are clear and impossible to confuse.  It's super clear what is going on.  I don't understand what is "clean" about your proposal.

if you don't pass a value to the overloaded construct it will use the paramater supplied in the overload, i this case 1, so no those calls are not the same.

I didn't say they were the same.  I said you need TWO constructors if you want to compiler to be able to exclude the boot function.  You can't pass a variable and do if later because then the compiler will compile in the boot sequence no matter what because at compile time it doesn't know whether you will pass a 1 or 0 in your code - so it keeps ALL the code just in case.
Also you may not want to do your initialization in your constructor... doing it your way would force running the whole boot inside the constructor since you use any conditional logic or save state for later.

Yusss, now thats a comment that helps eliminate the suggestion. Good work on this so far, the led stuff is a nice touch. I think I should have a production unit in a bit and can properly test it out myself.

I think I should have a production unit in a bit and can properly test it out myself.

Or change it to use the BLUE color of the RGB and try it on the devkit. :-)

... just just not pre and post functions for the heck of it

It's for maintainability. If someone not intimately familiar with the code decides to add some new code to begin(), they might not realize that it also has to be copied and pasted into beginWithoutLogo(), So now you've got one function with the new code and one without. If the code was to fix a bug, then the bug hasn't been fixed in beginWithoutLogo()
Also, If you've made changes in two different functions, you have to test them both to make sure a mistake wasn't made, like pasting into the wrong spot, or missing a section when you copied, or a typo if you just manually entered the code twice. If there's only a single change that will be used by both funcitions then your testing requirements can be relaxed.
Thirdly, there's extra time and effort involved (no matter how small) in making the changes in two spots instead of one.
And what if we decide to add a third begin()  function, such as beginWithStaticLogo() to reduce the code footprint somewhat but still display some branding? This would only differ from begin() in that it would call bootStaticLogo() in place of bootLogo(). And how about a fourth: beginWithoutLogoAndFlashlight() to free up even more space than beginWithoutLogo(). Now identical changes have to be made in three or four places, and you have to test each one of them.

It's for maintainability. If someone not intimately familiar with the code decides to add some new code to begin(), they might not realize that it also has to be copied and pasted into beginWithoutLogo()

That's why we have comments and peer review.

Also, If you've made changes in two different functions, you have to test them both to make sure a mistake wasn't made, like pasting into the wrong spot,

Again, peer review + as long as this is mostly just a list of function calls then C does most of the actual checking for you at compile time.

And what if we decide to add a third begin() function, such as beginWithStaticLogo() to reduce the code footprint somewhat but still display some branding?

If it turns out this is common then we've picked the wrong solution and we need to just tell people to do their own boot sequence manually how ever they want, and not call begin().  But for logo or no logo I think it will be fine.  It's not the beginning of a trend.

That's why we have comments and peer review.

So more effort and the chance that the review missed something.
Other that a few more bytes used to make the two calls, what's the downside of common start and end sections?

Other than a few more bytes used to make the two calls, what's the downside of functions for common start and end sections?

Functions should be named clearly.   Functionals should read clearly.  If you have an actual patch with REAL function names that is still readable and doesn't look like it was ONLY done to appease the compiler monsters then lets see it, but it's not  beginCodeFirstPart(); and friends.
But again, the function is already concise as it is with minimal code before and after the call.  There is not a problem here that needs a solution.

Eventualy the audio lines are begging to be consolidated into a sep function, but I'm still waiting for us to figure out what we're doing with tunes before caring too much about it - and I would do it regardless of this discussion regarding logo - because it's audio related and makes it's own argument to be grouped... if it was a few lines longer it probably would have been broken out already.
But the reason to break it out is (of course) for clarity, not just to have a "before" and "after" stubs to please the compiler so you can copy and paste a little less.

Functions should be named clearly. Functionals should read clearly.

That's why we have comments
If you need a comment that says:
"// If you have to make changes in either begin() or beginWithoutLogo() you likely have to change both because they each consist mostly of identical code."
how is that any better than comments that say:
"// This function is to wrap code that is common to both begin() and beginWithoutLogo() to so that changes are only required in one place to affect both of them."

I maintain the function(s) are clear as they are.  Sorry if you do not agree.  If this becomes an issue in the future we'll look into other options.

I maintain the function(s) are clear as they are. Sorry if you do not agree. If this becomes an issue in the future we'll look into other options.

Sure, no problem. Let's just agree to disagree :smile:
Since there doesn't appear to be enough "peer reviewers" voicing their preferences, to indicate the more desirable approach, we could argue back and forth until we're blue in the face.

I want to make one final proposal before merging this PR.
Instead of beginWithoutArduboyBootLogo(), does beginNoLogo() sound reasonable?

I can rename it.
I was really hoping someone would spend some time coming up with a really nice sound... did we decide this one was "good enough".  I wasn't trying to pick the boot sound for Arduboy, just show an example of a fun effect.
Or should we merge this without sound until we have a REAL sound?

Let's put in a sound. Just make it an unobtrusive something, something that says, "Hi! I'm on". That will do for this merge, and then we can get a well thought out sound on there. This way we can get this merged and open an issue for the sound design.

Removing sound.  We shouldn't end up with a sound just because I did something and no one else had to time to actually give it any real thought.  It's fine for this to be silent.  If their game has music as soon as it loads they will know their sound is working anyways.
People who want to play with the sound should look at the new PR I just created. (it's based on this branch but it can be rebased when we have a final solution)


Derive Copy for Aabb

Objective
Derive Copy for Aabb
Solution
Just do it :)

Changelog

The Aabb type now derives Copy.

This will need rebasing when the FromReflect PR is merged.


Add grizzly_ber

:+1:

Merged. @ryanbalsdon can you please add a description to the repo - I forgot to check before adding it in. It's live near the bottom http://shopify.github.io/.


Subworkflows in Scheduled

Hello,
I have a question related with 'sub-workflows'.
I am running a workflow that contains a sub-workflow.
I recognized that the sub-workflow gets 'scheduled' before it gets run.
The thing is that the sub-workflow stays in the 'scheduled' state for like 30 seconds or more.
I would like to know a method that starts the sub-workflow right away.

From the screenshot, the 5th one is the subworkflow (i.e., '...ommon_step_execute_workflow').
It gets 'scheduled' at 10:19:13 and starts at '10:20:04' (waited like 50 seconds or so)
Thank you in advance.

@kdohyeon Could you please expand on the use case for synchronous execution of subworkflows? This design decision to asynchronously execute subworkflows was made consciously to ensure reliable execution and completion of subworkflows and the corresponding subworkflow tasks.

@kdohyeon Could you please expand on the use case for synchronous execution of subworkflows? This design decision to asynchronously execute subworkflows was made consciously to ensure reliable execution and completion of subworkflows and the corresponding subworkflow tasks.

I have the same situation where the subworkflow takes very long time to start, would you pls advise how to figure out what is actually happening? @apanicker-nflx

I have the same situation where the subworkflow takes very long time to start, would you pls advise how to figure out what is actually happening? @apanicker-nflx

to be clear, i am using mysql as backend.

@HenryLauu What version of Conductor are you using? Subworkflows are started by system task workers, could you please check how many threads you have assigned for these workers?


Portfolio Page

The portfolio page is not finished, the HTML is ready to go however the css needs to be finished.

Portfolio Page added and all that's left is editing text on file


[FEATURE]: Add a search bar in Projects section

Till now there is not any project listed in the projects section, but when there will be projects listed then a search bar would be helpful in direct search for any project or repository apart from the sorting projects with specific tags mentioned.
Here I am willing to add a search bar, before the tags in center:

I am a GSSoC'23 contributor. I can add a search bar in projects section. I have all the skills required.
Please assign me this issue, I want to work on this issue under the GSSoC'23.


float16 for image embeddings

System Info
If you use a model like google/siglip-so400m-patch14-384 with default settings, it will give an error that input tensors and weight dtypes are not the same.
This is because the model gets put in float16 but the inputs stay in float32.
You could either modify the encode_pre function here: https://github.com/michaelfeil/infinity/blob/62a07c9d91b8bddb999001277563dbbde24844d4/libs/infinity_emb/infinity_emb/transformer/vision/torch_vision.py#L167
Or you could modify encode_core here: https://github.com/michaelfeil/infinity/blob/62a07c9d91b8bddb999001277563dbbde24844d4/libs/infinity_emb/infinity_emb/transformer/vision/torch_vision.py#L201-L209
Check if self.engine.dtype in (Dtype.float16, Dtype.auto), and then modify the inputs to be the same type as weights.
Information

[X] Docker
[ ] The CLI directly via pip

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
docker run -p 7997:7997 --gpus all michaelf34/infinity:latest --model-id google/siglip-so400m-patch14-384
Expected behavior
infinity should keep the inputs the same dtype as the model weights.

@nbroad1881 Thanks for opening the issue! That is super messed up.
The image model wants float32/float16/bfloat16. The text model wants int32 (tokens).
Will ship a fix soon!

thanks for the quick fix!


On OCP, controller reports bad certificate for webhook

Describe the bug
2022/10/12 12:08:11 http: TLS handshake error from <IP_ADDRESS>:36786: remote error: tls: bad certificate

While testing on OCP, I see this occur. IP above is kube-apiserver-operator
Within api server operator logs I see:
E1012 11:15:10.522830       1 degraded_webhook.go:128] x509: certificate signed by unknown authority

To Reproduce
Steps to reproduce the behavior:
Unknown currently. I rebooted a node and saw it after but unsure if this is what causes it.
Ill try to find steps to repro.
Logs from controller:
1.6655764583186285e+09	INFO	setup	Version	{"version.Version": "4.12.0"}
I1012 12:07:39.370184       1 request.go:682] Waited for 1.041214659s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/coordination.k8s.io/v1?timeout=32s
1.6655764644221544e+09	INFO	controller-runtime.metrics	Metrics server is starting to listen	{"addr": "<IP_ADDRESS>:39300"}
1.665576464423153e+09	INFO	controller-runtime.builder	skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called	{"GVK": "ingressnodefirewall.openshift.io/v1alpha1, Kind=IngressNodeFirewall"}
1.665576464423177e+09	INFO	controller-runtime.builder	Registering a validating webhook	{"GVK": "ingressnodefirewall.openshift.io/v1alpha1, Kind=IngressNodeFirewall", "path": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall"}
1.6655764644232416e+09	INFO	controller-runtime.webhook	Registering webhook	{"path": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall"}
1.6655764644234755e+09	INFO	platform	detecting platform version...
1.665576464426542e+09	INFO	platform	route.openshift.io found in apis, platform is OpenShift
1.6655764644265637e+09	INFO	platform	PlatformInfo [Name: OpenShift, K8SVersion: 1.25, OS: linux/amd64]
1.665576464426599e+09	INFO	setup	starting manager
1.665576464427083e+09	INFO	controller-runtime.webhook.webhooks	Starting webhook server
1.6655764644272194e+09	INFO	controller-runtime.certwatcher	Updated current TLS certificate
1.6655764644273317e+09	INFO	controller-runtime.webhook	Serving webhook server	{"host": "", "port": 9443}
1.6655764644273727e+09	INFO	Starting server	{"path": "/metrics", "kind": "metrics", "addr": "<IP_ADDRESS>:39300"}
1.6655764644273968e+09	INFO	Starting server	{"kind": "health probe", "addr": "[::]:8081"}
1.6655764644274538e+09	INFO	controller-runtime.certwatcher	Starting certificate watcher
I1012 12:07:44.427518       1 leaderelection.go:248] attempting to acquire leader lease openshift-ingress-node-firewall/d902e78d.ingress-nodefw...
I1012 12:08:02.145061       1 leaderelection.go:258] successfully acquired lease openshift-ingress-node-firewall/d902e78d.ingress-nodefw
1.6655764821452363e+09	DEBUG	events	ingress-node-firewall-controller-manager-b8875b7c-b7x48_905d7422-87f4-4d39-bb1c-6c3d71faf040 became leader	{"type": "Normal", "object": {"kind":"Lease","namespace":"openshift-ingress-node-firewall","name":"d902e78d.ingress-nodefw","uid":"20f907e4-1e3a-43ce-9d62-65682b8a30a5","apiVersion":"coordination.k8s.io/v1","resourceVersion":"91619"}, "reason": "LeaderElection"}
1.665576482145705e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "source": "kind source: *v1alpha1.IngressNodeFirewall"}
1.6655764821457582e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "source": "kind source: *v1.Node"}
1.6655764821457748e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "source": "kind source: *v1alpha1.IngressNodeFirewallNodeState"}
1.6655764821457813e+09	INFO	Starting Controller	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall"}
1.6655764821462293e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig", "source": "kind source: *v1alpha1.IngressNodeFirewallConfig"}
1.665576482146256e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig", "source": "kind source: *v1.DaemonSet"}
1.6655764821462605e+09	INFO	Starting Controller	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig"}
1.665576482247726e+09	INFO	Starting workers	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "worker count": 1}
1.6655764822477381e+09	INFO	Starting workers	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig", "worker count": 1}
2022/10/12 12:08:10 http: TLS handshake error from <IP_ADDRESS>:36772: remote error: tls: bad certificate
2022/10/12 12:08:11 http: TLS handshake error from <IP_ADDRESS>:36786: remote error: tls: bad certificate
2022/10/12 12:08:13 http: TLS handshake error from <IP_ADDRESS>:36792: remote error: tls: bad certificate
2022/10/12 12:08:13 http: TLS handshake error from <IP_ADDRESS>:36818: remote error: tls: bad certificate
2022/10/12 12:08:14 http: TLS handshake error from <IP_ADDRESS>:36832: remote error: tls: bad certificate
2022/10/12 12:08:16 http: TLS handshake error from <IP_ADDRESS>:36838: remote error: tls: bad certificate
2022/10/12 12:08:28 http: TLS handshake error from <IP_ADDRESS>:34348: remote error: tls: bad certificate
2022/10/12 12:08:29 http: TLS handshake error from <IP_ADDRESS>:34360: remote error: tls: bad certificate
2022/10/12 12:08:31 http: TLS handshake error from <IP_ADDRESS>:34366: remote error: tls: bad certificate
2022/10/12 12:08:31 http: TLS handshake error from <IP_ADDRESS>:34386: remote error: tls: bad certificate
2022/10/12 12:08:32 http: TLS handshake error from <IP_ADDRESS>:34390: remote error: tls: bad certificate
2022/10/12 12:08:34 http: TLS handshake error from <IP_ADDRESS>:34404: remote error: tls: bad certificate
1.6655765489751365e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:08 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:08 does not exist, creating (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:09 successfully created (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
1.6655765490073535e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:09 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:09 update was successful
1.6655765490209832e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:09 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:09 update was successful
1.6655765490611908e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:09 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:09 update was successful
1.6655765505568647e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:10 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:10 update was successful
1.6655765505688732e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:10 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:10 update was successful
1.6655765512645593e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:11 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:11 update was successful
1.6655765512790902e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:11 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:11 update was successful
1.665576551295348e+09	INFO	controllers.IngressNodeFirewallConfig.syncIngressNodeFirewallConfigResources	Start
2022/10/12 12:09:11 reconciling (apps/v1, Kind=DaemonSet) openshift-ingress-node-firewall/ingress-node-firewall-daemon
2022/10/12 12:09:11 update was successful
2022/10/12 12:10:02 http: TLS handshake error from <IP_ADDRESS>:43958: remote error: tls: bad certificate
2022/10/12 12:10:03 http: TLS handshake error from <IP_ADDRESS>:43966: remote error: tls: bad certificate
2022/10/12 12:10:05 http: TLS handshake error from <IP_ADDRESS>:43982: remote error: tls: bad certificate
2022/10/12 12:10:05 http: TLS handshake error from <IP_ADDRESS>:43994: remote error: tls: bad certificate
2022/10/12 12:10:06 http: TLS handshake error from <IP_ADDRESS>:43996: remote error: tls: bad certificate
2022/10/12 12:10:08 http: TLS handshake error from <IP_ADDRESS>:46364: remote error: tls: bad certificate
2022/10/12 12:10:19 http: TLS handshake error from <IP_ADDRESS>:54704: remote error: tls: bad certificate
2022/10/12 12:10:20 http: TLS handshake error from <IP_ADDRESS>:54716: remote error: tls: bad certificate
2022/10/12 12:10:22 http: TLS handshake error from <IP_ADDRESS>:54732: remote error: tls: bad certificate
2022/10/12 12:10:22 http: TLS handshake error from <IP_ADDRESS>:54748: remote error: tls: bad certificate
2022/10/12 12:10:23 http: TLS handshake error from <IP_ADDRESS>:54750: remote error: tls: bad certificate
2022/10/12 12:10:25 http: TLS handshake error from <IP_ADDRESS>:54766: remote error: tls: bad certificate
2022/10/12 12:10:42 http: TLS handshake error from <IP_ADDRESS>:49262: remote error: tls: bad certificate
2022/10/12 12:10:43 http: TLS handshake error from <IP_ADDRESS>:49266: remote error: tls: bad certificate
2022/10/12 12:10:45 http: TLS handshake error from <IP_ADDRESS>:49280: remote error: tls: bad certificate
2022/10/12 12:10:46 http: TLS handshake error from <IP_ADDRESS>:49296: remote error: tls: bad certificate
2022/10/12 12:10:47 http: TLS handshake error from <IP_ADDRESS>:49310: remote error: tls: bad certificate
2022/10/12 12:10:49 http: TLS handshake error from <IP_ADDRESS>:38232: remote error: tls: bad certificate

Encountered this again today when performing the reboot tests on OCP. Webhook become nonfunctional.

1.6673120787868598e+09	INFO	Starting server	{"path": "/metrics", "kind": "metrics", "addr": "<IP_ADDRESS>:39300"}
1.6673120787868595e+09	INFO	Starting server	{"kind": "health probe", "addr": "[::]:8081"}
I1101 14:14:38.786949       1 leaderelection.go:248] attempting to acquire leader lease openshift-ingress-node-firewall/d902e78d.ingress-nodefw...
1.6673120787869985e+09	INFO	controller-runtime.certwatcher	Updated current TLS certificate
1.6673120787871494e+09	INFO	controller-runtime.webhook	Serving webhook server	{"host": "", "port": 9443}
1.6673120787871642e+09	INFO	controller-runtime.certwatcher	Starting certificate watcher
1.6673120901744297e+09	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall", "UID": "4a6785ed-2eaa-4b55-88f6-18df7d93cb2e", "kind": "ingressnodefirewall.openshift.io/v1alpha1, Kind=IngressNodeFirewall", "resource": {"group":"ingressnodefirewall.openshift.io","version":"v1alpha1","resource":"ingressnodefirewalls"}}
1.667312090276091e+09	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall", "code": 200, "reason": "", "UID": "4a6785ed-2eaa-4b55-88f6-18df7d93cb2e", "allowed": true}
1.6673120922811654e+09	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall", "UID": "c8325fca-471a-4895-be9f-645f3cbfc1a2", "kind": "ingressnodefirewall.openshift.io/v1alpha1, Kind=IngressNodeFirewall", "resource": {"group":"ingressnodefirewall.openshift.io","version":"v1alpha1","resource":"ingressnodefirewalls"}}
1.6673120922814183e+09	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall", "code": 422, "reason": "Invalid", "UID": "c8325fca-471a-4895-be9f-645f3cbfc1a2", "allowed": false}
1.6673120925292857e+09	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall", "UID": "837f3f0a-c867-44d0-91c0-c0ec8aa5e41d", "kind": "ingressnodefirewall.openshift.io/v1alpha1, Kind=IngressNodeFirewall", "resource": {"group":"ingressnodefirewall.openshift.io","version":"v1alpha1","resource":"ingressnodefirewalls"}}
1.667312092529471e+09	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-ingressnodefirewall-openshift-io-v1alpha1-ingressnodefirewall", "code": 422, "reason": "Invalid", "UID": "837f3f0a-c867-44d0-91c0-c0ec8aa5e41d", "allowed": false}
I1101 14:14:55.470124       1 leaderelection.go:258] successfully acquired lease openshift-ingress-node-firewall/d902e78d.ingress-nodefw
1.6673120954701862e+09	DEBUG	events	ingress-node-firewall-controller-manager-645575b6dc-mppqf_112d2d68-eb5c-4ebc-973b-fa5de14306a2 became leader	{"type": "Normal", "object": {"kind":"Lease","namespace":"openshift-ingress-node-firewall","name":"d902e78d.ingress-nodefw","uid":"7717529b-aa21-4d19-8f8a-5d55e135395e","apiVersion":"coordination.k8s.io/v1","resourceVersion":"71122"}, "reason": "LeaderElection"}
1.6673120954708917e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "source": "kind source: *v1alpha1.IngressNodeFirewall"}
1.6673120954709456e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "source": "kind source: *v1.Node"}
1.6673120954709525e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "source": "kind source: *v1alpha1.IngressNodeFirewallNodeState"}
1.6673120954709566e+09	INFO	Starting Controller	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall"}
1.6673120954709954e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig", "source": "kind source: *v1alpha1.IngressNodeFirewallConfig"}
1.6673120954710479e+09	INFO	Starting EventSource	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig", "source": "kind source: *v1.DaemonSet"}
1.6673120954710531e+09	INFO	Starting Controller	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig"}
1.6673120955723932e+09	INFO	Starting workers	{"controller": "ingressnodefirewall", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewall", "worker count": 1}
1.6673120955724514e+09	INFO	Starting workers	{"controller": "ingressnodefirewallconfig", "controllerGroup": "ingressnodefirewall.openshift.io", "controllerKind": "IngressNodeFirewallConfig", "worker count": 1}
1.667312095572532e+09	INFO	controllers.IngressNodeFirewall	Getting all IngressNodeFirewallNodeState objects in namespace	{"req.Name": "e2e-disruption", "r.Namespace": "openshift-ingress-node-firewall"}
1.6673120955726008e+09	INFO	controllers.IngressNodeFirewall	Getting all IngressNodeFirewall objects	{"req.Name": "e2e-disruption"}
1.667312095572617e+09	INFO	controllers.IngressNodeFirewall	Building the desired node state specs	{"req.Name": "e2e-disruption"}
1.6673120955726242e+09	INFO	controllers.IngressNodeFirewall	Existing object not found in desired list, triggering deletion	{"req.Name": "e2e-disruption"}
2022/11/01 14:15:39 http: TLS handshake error from <IP_ADDRESS>:36308: remote error: tls: bad certificate
2022/11/01 14:15:40 http: TLS handshake error from <IP_ADDRESS>:36316: remote error: tls: bad certificate

@martinkennelly what will be the easiest way for me to repro this so I can debug it ?

I dont have steps to reproduce. Last time, I saw it was when I rebooted the node. Maybe try that.

/remove-lifecycle stale


dns: adds test for dns over http2

Ticket
Redmine ticket: https://redmine.openinfosecfoundation.org/issues/5773
Suricata PR incoming
#1509 with doh2 protocol and rules mixing http and dns keywords

🤔  some ctrl+v or other type of automated stuff going on with the PR title?

Replaced by https://github.com/OISF/suricata-verify/pull/1573


[Test] Run __swift5_entry test on all Apple platforms.

Previously, the test was limited to only x86_64 macos.  Remove that limitation by introducing the appropriate cross-platform typedef for mach_header and signing the pointer before casting it to a function pointer.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test windows

Build failed
Swift Test Linux Platform
Git Sha - bfbc3a7570cbe4a1112498d2a105bdb12e314fd7

@swift-ci please clean test linux

Build failed
Swift Test Linux Platform
Git Sha - bfbc3a7570cbe4a1112498d2a105bdb12e314fd7

@swift-ci please clean test linux

Build failed
Swift Test Linux Platform
Git Sha - bfbc3a7570cbe4a1112498d2a105bdb12e314fd7

@swift-ci please clean test linux


Populate the database with example data fail

Running next command fail:
sudo docker-compose run --rm web python3 manage.py populatedb --createsuperuser
Starting saleor-platform_db_1     ... done
Starting saleor-platform_jaeger_1 ... done
Starting saleor-platform_redis_1  ... done
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "shipping_shippingzone" does not exist
LINE 1: ...ountries", "shipping_shippingzone"."default" FROM "shipping...
^
...
self._fetch_all()
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 1242, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 55, in iter
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1133, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 99, in execute
return super().execute(sql, params)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 89, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "shipping_shippingzone" does not exist
LINE 1: ...ountries", "shipping_shippingzone"."default" FROM "shipping...

Try first running:
sudo docker-compose run --rm web python3 manage.py migrate

Then populatedb again


[issue-602] fix equals bug of tableinfo & tableschema

#602 fix bug of equals method when use instanceof to check if object is an instance of corresponding class..

Can one of the admins verify this patch?

retest this please

it looks not trigger jenkins to run ut.

add to whitelist

retest this please

retest this please

@Hexiaoqiao Can you rebase this?

thanks @Vimal-Das for your comments, just rebase it.

hi @Vimal-Das,  test fail because type of tableSchema's tableid is changed, i will fix later.

LGTM, Merged to master


user16217248: Watch "update in September 2021"

user16217248 requests the watch of the watch_keyword "update in September 2021". See the MS search here and the Stack Exchange search in text, in URLs, and in code.

"update in September 2021" has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Rejected by Spevacus in Charcoal HQ. Reason: 'While this phrase is certainly problematic and likely indicative of AI use, AI detection is not Smokey's primary directive. If it's AI-generated spam, we would certainly like to catch it, but there are likely other expressions we could look for that are spam-specific rather than AI-specific.'


fix: add xcframework settings to Cartfile.

name: Pull request
about: Create a pull request
label: 'triage me'
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open a GitHub issue as a bug/feature request before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

Since the build is failing due to multiple references to the .json files in the same Cartfile, let's make a separate directory for the XCFramework version of the Cartfile. /snippets/XCFrameworkSnippets/Cartfile

Pushed new file with XCFramework settings:
snippets/XCFrameworkSnippets/Cartfile


Figure out how test toolsheds work

We have a plugin called q2-mystery-stew which produces the tests used by q2galaxy.
Ideally we could render this plugin and start testing toolshed server to install this suite and run the tests. This would also help prove that our .shed.yml files are meaningful.
There's probably a lot of overlap here with #7

A question, is there any conventions for a tools directory which is either only for testing, or is somehow excluded from uploading?
I would prefer Galaxy users not interact with q2-mystery-stew directly on the toolshed, as it's literally a combinatoric soup of nonsense.

The CI implemented in https://github.com/galaxyproject/galaxy-tool-repository-template (which is used at IUC and essentially every other Galaxy tool repository) currently does not allow to skip deployment of certain tools. But this should be easy to implement.
Ping me if you think this is needed.

start testing toolshed server to install this suite and run the tests

Note that the toolshed is not running any tool tests. Tool tests of all repos run via github actions:

for PRs https://github.com/galaxyproject/galaxy-tool-repository-template/blob/main/.github/workflows/pr.yaml
and weekly for all tools https://github.com/galaxyproject/galaxy-tool-repository-template/blob/main/.github/workflows/ci.yaml

Furthermore there is the possibility to run slash commands in issues to test against certain Galaxy branches (which might be nice to check tools against a Galaxy PR, e.g. an upcoming datatype addition PR)

Another option might be to have a parallel test branch with an alternate CI configuration, so that upload is avoided, but tests still run.

We already have a files .tt_skip and .tt_biocontainer_skip to control tools / directories that should not be subject to CI. So it should be really easy to setup another one to forbid deployment. But another branch also sounds useful .. up to you :)

These github actions are really detailed! It does look like it uses planemo test under the hood.

Indeed. Everything works with this action https://github.com/galaxyproject/planemo-ci-action which uses planemo.

This means there isn't some mock toolshed which a galaxy instance is fetching from and then testing?

Exactly.

If that's the case, then testing with mystery-stew can probably just continue to live in q2galaxy and we don't need to do anything special in this repo. This is what we do at the moment.
Then this particular repo can look like any of the other ones.

Sound reasonable. Guess the tool tests derived from Usage Examples will end up here, or?

Sound reasonable. Guess the tool tests derived from Usage Examples will end up here, or?

Yep, any examples that do exist (with ideally more in the future) will become test sections and should be executed here.


Avoid using IORefs in general and specifically in projection pipes

Apparently they're quite slow. Writing to it after each event just makes this worse.

Eventually, a separation between replaying events and ongoing subscription must be made.


Animations: Add animations to ENTERTAINMENT template to match designs

The animation process for a template is as follows:

Applying animations in the animation editor /story-anim-tool
Alter its static layout if needed to accommodate the animation
If template requires a new animation part that doesn't already exist

Create ticket for missing animation part
Add animation part to code base
Go back to template and apply newly created animation part
Continue with template animations

Reference the figma designs:
https://www.figma.com/file/RTzSw47oi6pEZXEfP2JoBo/Templates?node-id=1%3A8
And reference the movie clips from this folder:
https://drive.google.com/drive/folders/1E0nLATcplhGNzgteOymx3s2SyA-cc7_M

@samitron7 to review animations and confirm UX

The animations were merged in with #2474


Use a dummy readme when testing the renderer

This should be able to close #853

One test timed out ¯_(ツ)_/¯

Great work, thanks!


Unable to connect to <IP_ADDRESS> 443 and Unable to connect to <IP_ADDRESS> 443

Its 2 hours that I'm getting this error continuously in docker-compose logs
Unable to connect to <IP_ADDRESS> 443
Unable to connect to <IP_ADDRESS> 443

Hello, are you able to connect to these hosts manually with netcat?
nc <IP_ADDRESS> 443 -v
If everything is ok, you should get
Connection to <IP_ADDRESS> 443 port [tcp/https] succeeded!

I have the Same Problem , and also I Could NOT Get any response with this Command :
nc <IP_ADDRESS> 443 -v
It Remains on Connecting:

Just for Know : I Have Ping Access to That IP

There is a "connected to "<IP_ADDRESS>:443" string in your output. It means the connection was successful

There is a "connected to "<IP_ADDRESS>:443" string in your output. It means the connection was successful

Thanks

Unable to connect to 2001:67c:04e8:f004::a 443


Support For Apache Pinot

What do you use this database for?
Real-Time analytical queries. Apache Pinot is an RTOLAP database (real-time online analytical process).
Are there any popular and well-maintained clients for this database?
https://socket.dev/npm/package/pinot-client
Are you interested in contributing this database connector?
yes, I'm new to this project. Any instructions for building connectors would be great. Thanks

Hey @hdulay ,
Thanks for the suggestion!
We're currently reworking our project to allow "pluggable" connectors, and I think pinot is a really good candidate for this.
Context: currently, when we add connectors, we have to add them to the core library. This makes maintaining them a pain, as we do not always have instances of these DBs to test. This new architecture will mean it's much easier for people to contribute and maintain these without being held back by the bandwidth of our team!
If you're open to it, I can update here once the new architecture is live (hopefully pretty soon!)

Yes I look forward to it. Thanks

Hey @archiewood I'm also really interested in a Pinot connector!
Were you able to make progress on the plugin architecture?

Hey sorry for the delay!
We have totally re-architected Evidence since this issue was opened, and Evidence is indeed now "pluggable", meaning you can write your own connectors, publish them, and use them with Evidence.
Here are some resources that may help:

Docs on creating a plugin: https://docs.evidence.dev/plugins/creating-a-plugin/datasources
Template for a connector plugin: https://github.com/evidence-dev/datasource-template
An example that I spun up for pulling stats from the npm API: https://github.com/archiewood/npm-stats

If you do write a Pinot plugin,

the suggested package name is evidence-connector-[plugin] eg evidence-connector-pinot
the docs are new, so let us know if there is extra information you need
share it on the Evidence community, and we'll feature it!

Awesome thanks a lot @archiewood!
I'll have a look at this.

hey @cyrilou242 just heard from another user asking about pinot - did you ever look at this?


[azqueue] UpdateMessage() does not allow updating message visibility without changing message text

Bug Report
UpdateMessage() for Azure Storage Queues does not allow updating message visibility without changing message text.

package version: github.com/Azure/azure-sdk-for-go/sdk/storage/azqueue v1.0.0
go version: go version go1.22.4 darwin/arm64

Given this:
...
options := &azqueue.UpdateMessageOptions{VisibilityTimeout: visibilityTimeout}
response, updateErr := queueClient.UpdateMessage(ctx, messageId, popReceipt, messageText, options)

We have no way of setting messageText to nothing, so updating timeout visibility does not change the message itself.
Documentation in general allows an optional field for messageText, but unable to achieve this:

Go documentation says optional message body as well

Update - Updates the visibility timeout of a message and/or the message contents.

.NET uses optional message body

messageText[String] Optional.

Hi @MikeZhouSlalom,
thanks for reporting this, we are looking into this issue and will get back with a fix/workaround for the same.

Hi @MikeZhouSlalom , this seems to be a bug in Azure-SDK-for-Go,
we will be releasing a new API for this functionality and deprecating the current version, to support the ask.
This thread will be kept updated on the progress.


Add a Readme file

Add a readme file to explain how the program works with its possible argument combinations.
Try to make it look good with different markdown styles.
Also make a section that explains how people should contribute.
Screenshot examples would be a nice bonus.

I can help you in this, could you assign this to me?

@itzROHIT-coder Sure! 😄
Looking forward to a neat readme file, good luck

I created a demo readme, will be writing the doc afterwards...

Whenever the file is ready add me as a reviewer to your PR or ping me to merge your changes

okay


Log Streaming does not work with the cf-for-k8s project.

We received the following issue in the cf-for-k8s project: https://github.com/cloudfoundry/cf-for-k8s/issues/585
It looks like Startos relies on the Firehose v1 API from the cf-on-vms project. Cf-for-k8s does not implement the Firehose v1 or v2 apis and instead relies on the Log Cache API to access app logs.

Hi @MasslessParticle , we don't have any plans to update to Log Cache given that it's not going to be deprecated (https://lists.cloudfoundry.org/g/cf-dev/message/9126). Will cf-for-k8s implement the firehose?

There is no plan to implement the firehose in cf-for-k8s.

Hi @richard-cox any update on this? It's too bad Stratos doesn't support log streaming on the new modernization of CF.

Hi @richard-cox any update on this? It's too bad Stratos doesn't support log streaming on the new modernization of CF.

@braunsonm Stratos works against any certified Cloud Foundry distribution - cf-for-k8s does not meet that certification. As and when it does, or certification is updated, this can be revisited. We always welcome PRs from the community, if you wish to add experimental support ahead of this

@braunsonm Stratos works against any certified Cloud Foundry distribution - cf-for-k8s does not meet that certification. As and when it does, or certification is updated, this can be revisited. We always welcome PRs from the community, if you wish to add experimental support ahead of this


Build for nw.js v0.12.3 in order to use child_process.fork ?

Hello Guys,
It seems that nw.js is closing this issue https://github.com/nwjs/nw.js/issues/213 which allows nw.js apps fork child_process which are very useful when doing huge SQLite queries - which still freezing my UI when running on node-webkit 0.8.6.
Any chance we could get it working with v0.12.3 ?
Or Is there any documented workaround in order to perform the query in background without freezing the GUI ?
Thank you!

HI @hems,
Doc suggest to do:
    npm install sqlite3 --build-from-source --runtime=node-webkit --target_arch=x64 --target=0.12.3

But it doesn't seem to work on my installation.
Maybe an outdated version of nw.js and/or sqlite3 would run better?

@TwanoO67 i have it working with 0.8.6, and it seems that sqlite supports also 0.10, but this child_process.fork issue seems to be solved on 0.12.
I might be wrong, to be honest this still a bit confusing for me, but it seems that for some reason sqlite3 module would have to "officially support" 0.12 in order for it to work.

I've been able to build it correctly for nw.js 0.12.3 with the npm command from the docs as @TwanoO67 suggested. Is your installed node version the same as nw.js 0.12.3 is built upon (io.js 1.2.0 IIRC)?
Anyway, prior to upgrading to 0.12.3 I was using 0.9.2 and although cp.fork was still broken, you could use cp.spawn with options.stdio = [null, null, null, 'ipc'] and get the same process.send() functionality as in cp.fork, @hems

@rbfowler9lfc thanks a lot for the tip! i'll have a better look at that asap!
thanks!

@rbfowler9lfc
Using nvm i switched to iojs-1.2, deleted my node_modules.
did a npm install to get all dependencies, after that i build only sqlite with
npm install sqlite3 --build-from-source --runtime=node-webkit --target_arch=x64 --target=0.12.3

It builds OK and all seems fine, but then when opening my app using nw.js version 0.12.3 I still i get this error:
[3819:1108/005039:ERROR:nw_shell.cc(336)] Error: Cannot find module '/Volumes/[...]/app/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-ia32/node_sqlite3.node'

Actually was my bad, i was using the 32 version of nw.js so i had to tweak the target_arch to "ia32", which is the one my nw.js file was complaining about.
will do some more tests but it seems to be OK

Now i get the error:
[5364:1108/005947:ERROR:nw_shell.cc(336)] Error: SQLITE_CANTOPEN: unable to open database file
  at Error (native)

Which i wasn't getting with the previous build i was using with node-webkit 0.8.6..
need to investigate what is going on //=

Now when i do
sqlite = new sqlite3.Database path

to an non-existing path this error is thrown and the application fails to continue, while before it was being automatically created when i did that.
maybe this behaviour changed in one of the last updates? weird //=

then if i use
sqlite = new sqlite3.Database( path, sqlite3.OPEN_CREATE )

i get
[5742:1108/010748:ERROR:nw_shell.cc(336)] Error: SQLITE_MISUSE: out of memory
  at Error (native)

nwjs is not yet supported, main ticket is #497


Use Tipsy redirect script

This changes over to using the MIT Tipsy server for script redirection.  We are not able to use querystrings for redirection, it must be part of the URL pathname.  I've noticed that MIT's servers decode the URL encoding and interpret the slashes incorrectly (as they are part of a pathname).   So I do not think this will work as-is.  Might need to replace / with a different character.
So basically:
Works:
http://tipsy.csail.mit.edu/redirect/chrome-extension

Doesn't work:
http://tipsy.csail.mit.edu/redirect/chrome-extension%3A%2F%2Ftest%2F

tim, if you can clarify the problem with mit decoding, I can talk to the
sysadmins about fixing it.
On 3/8/2015 6:20 PM, Tim Branyen wrote:

This changes over to using the MIT Tipsy server for script
redirection. We are not able to use querystrings for redirection, it
must be part of the URL pathname. I've noticed that MIT's servers
decode the URL encoding and interpret the slashes incorrectly (as they
are part of a pathname). So I do not think this will work as-is. Might
need to replace |/| with a different character.

    You can view, comment on, or merge this pull request online at:

https://github.com/haystack/tipsy/pull/71
    Commit Summary

Use Tipsy redirect script
File Changes

M shared/scripts/lib/processors/dwolla.js
https://github.com/haystack/tipsy/pull/71/files#diff-0 (2)

M shared/scripts/lib/processors/paypal.js
https://github.com/haystack/tipsy/pull/71/files#diff-1 (2)
Patch Links:

https://github.com/haystack/tipsy/pull/71.patch

https://github.com/haystack/tipsy/pull/71.diff

—
Reply to this email directly or view it on GitHub
https://github.com/haystack/tipsy/pull/71.

@karger I added an example to the above comment.  I hope that helps!

Time, do we have web standards documentation which shows that this
behavior is incorrect?
On 3/8/2015 6:21 PM, Tim Branyen wrote:

@karger https://github.com/karger I added an example to the above
comment. I hope that helps!
—
Reply to this email directly or view it on GitHub
https://github.com/haystack/tipsy/pull/71#issuecomment-77778305.

Best I could find is: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2
But this states the contrary to what we need

The Request-URI is transmitted in the format specified in section 3.2.1. If the Request-URI is encoded using the "% HEX HEX" encoding [42], the origin server MUST decode the Request-URI in order to properly interpret the request. Servers SHOULD respond to invalid Request-URIs with an appropriate status code.

What I'll do is replace the / character with a $ since that symbol does not exist in our extension URL.  When it comes time to actually redirect in the PHP script, I'll swap back the /.

yeah, if our server is working to spec, we probably won't have much luck
getting csail to change their server.
On 3/8/2015 6:41 PM, Tim Branyen wrote:

Best I could find is:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2
But this states the contrary to what we need
The Request-URI is transmitted in the format specified in section
3.2.1. If the Request-URI is encoded using the "% HEX HEX"
encoding [42], the origin server MUST decode the Request-URI in
order to properly interpret the request. Servers SHOULD respond to
invalid Request-URIs with an appropriate status code.

What I'll do is replace the |/| character with a |$| since that symbol
does not exist in our extension URL. When it comes time to actually
redirect in the PHP script, I'll swap back the |/|.
—
Reply to this email directly or view it on GitHub
https://github.com/haystack/tipsy/pull/71#issuecomment-77779647.

This latest commit works great for me using that replace technique.


Update CMakeLists.txt

Adds Control Flow Guard compiler flag to vulkaninfo
Control Flow Guard (CG) protects against some forms of memory corruption.
See https://docs.microsoft.com/en-us/windows/desktop/secbp/control-flow-guard for details.
This compiler flag enables CFG on vulkaninfo. (CFG is already enabled on the Cube project.)
Enabling CFG is a low-risk, "set and forget" low hanging fruit for security hardening.

 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.


Bug with .onExternalDrag modifier

I'm making a windows application that works with excel files. I added an option to add files: either drag and drop, or use file picker (by clicking on DnD box). I found out that FilePicker does not work properly with .onExternalDrag modifier: the application totally freezes after you try to drag any element out of File chooser dialog. That happens only if at least once any element with .onExternalDrag modifier is used.
Upd: I mean it's happens even if you change screen. And even if on this screen are no elements with that modifier.
It looks like this:

At this point the application just does not respond and there are no ways to do something to it. If I comment an .onExternalDrag and try to launch application, everything works just fine:

I have this modifier only in one element. It's code:
@OptIn(ExperimentalComposeUiApi::class, ExperimentalFoundationApi::class)
@Composable
fun DragAndDropFileBox(navigator: Navigator, modifier: Modifier = Modifier) {
    var isDragging by remember { mutableStateOf(false) }
    val dragNDropColor = if (isDragging) Colors.active else Colors.default
    var localPath by remember { mutableStateOf("") }

    Box(
        modifier = modifier
            .border(border = BorderStroke(5.dp, Color.Magenta), shape = RectangleShape)
            .onExternalDrag(
                onDragStart = { isDragging = true },
                onDragExit = { },
                onDrop = { value ->
                    isDragging = false
                    val dragData = value.dragData
                    if (dragData is DragData.FilesList) {
                        val draggedList = DragDataList(dragData)
                        localPath = draggedList.receiveFilePath()
                        isDragging = false
                        navigator.replaceAll(MainScreen(localPath))
                    }
                })
            .onClick {
                navigator.replace(FilePickerScreen())
            }
    ) {
        Column(modifier = Modifier.align(Alignment.Center)) {
            DragAndDropDescription(
                modifier = Modifier.align(Alignment.CenterHorizontally),
                color = dragNDropColor
            )
        }
    }
}

Java awt file picker does not have this problem, but I don't really won't use it (mostly because of it's appearance and not really native look).
P.S.
I'm not a native speaker, so my apologies if I spoke out not totally clear.

I created a demonstration of this bug


Dendron Markdown preview stopped recognizing links even though all Dendron extensions are installed

Describe the bug
Observe in the screenshot below that the links in the markdown preview do not render properly, even though I have all Dendron extensions installed.
To Reproduce
Hard to say what exactly what I did, but I believe the problem appeared once I have uninstalled the "Material Theme" extension. Before that the links were good.
Expected behavior
Links rendering properly.
Screenshots
If applicable, add screenshots to help explain your problem.
The problem when at first observed, after I uninstalled Material Theme:

and here is how it looks after my failed attempt at fixing by reinstalling all Dendron extensions and reinitalizing workspace:

Desktop (please complete the following information):

OS: Microsoft Windows, Version 2004 (OS Build 19041.630)

Additional context
I made several attempts at fixing the problem, all of which failed.

Disable all Dendron extensions, reload VS code, enable the extensions.
Delete Dendron workspace and re-initialize.
Uninstall all Dendron extensions, delete Dendron workspace, restart VS Code, re-install Dendron, re-initialize workspace.

Dendron Log file
Please attach the output of >Dev:Dendron: Open Logs here
dendron.log
Note: this is the log I got after full extension reinstall and reinitializing workspace. Links still broken.

It looks like you are using the regular vscode markdown preview. This is a common issue since there's currently no way for us to disable the builtin preview. See this for instructions on fixing

@kevinslin thank you, that fixes it. Some extra hints for anybody reading this:
Do use the Dendron: Show Preview command:

Alternatively, on Windows, do use, Ctrl+K, V:

Do not use Open Preview from context menu, as this is the normal, broken preview:

One thing that was bothering me in the initial setup is that once I made everything dark theme, I was not sure how to change the Dendron preview theme. I found it here:


CompactPRO with USB-C connector produces a strange pattern

Hi,
Thanks for this excellent library.
I was testing this lib with a CompactPRO camera with a USB-C connector.
Everything seems to work fine, the USB code is the same as the CompactPRO with a micro USB connector(0011), but there's a constant pattern of wrongly read pixels in the bottom left part of the frame as you can see here:

The image itself is correctly sized at 240x320, and most of the frame is correctly read with a fast frame rate, but there seems to be something wrong in the actual values of the pixels in the lower left side for some reason. The camera works perfectly fine on the official app on the phone by the way.
Any ideas on how I can solve this would be great, thanks!

Hi,
I have the same/similar issue with a regular Compact (non Pro, Micro-USB, pID 0010).
I'd be happy to provide additional data to fix this.

I believe this is the dead pixel replacement. It's decided that all those
pixels need to be replaced. Someone else previously had this issue see #64.
Can you try the fix noted there. If that fixes it I'll add instructions in
the readme and a compilation flag.
On Wed, Jun 8, 2022, 2:26 PM Malte Brunn @.***> wrote:

Hi,
I have the same/similar issue with a regular Compact (non Pro, Micro-USB,
pID 0010).
I'd be happy to provide additional data to fix this.
—
Reply to this email directly, view it on GitHub
https://github.com/OpenThermal/libseek-thermal/issues/71#issuecomment-1150310071,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMOHDE6BYJ42762GDQOUDDVODXV7ANCNFSM5VLLGZMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I tried the fix, and it works.

As reported in #64 now there are some white pixels, but those could probably be removed either by the dead pixel thresholding or simply by masking them out.
Thanks!

Awesome!
This helped a lot. I first tried replacing the function body of apply_dead_pixels_filter as described in #64. That gave me an image with some dead pixels obviously.
Afterwards, I changed the threshold in create_dead_pixel_list (https://github.com/OpenThermal/libseek-thermal/blob/c9e09dcde572194c6186f6b896bbcb2c8e29b42b/src/SeekCam.cpp#L240) to
const double threshold = hist_max_value.y - (max_value - hist_max_value.y*0.9);
and together with the original apply_dead_pixels_filter function this works perfectly now.
Thanks!


[backport] Use item instead of asscalar to support NumPy 1.16

Backport of #1880

Jenkins CI test (for commit ac0e354829fb19cfecf49b7a51b9415cccebb551, target branch v5) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

LGTM!


Using permrole borks perms for the bot in a server

Personally seen in help twice now. Once on a selfhost, where it got fixed by manually editing permrole db entry. Other time was today, by someone on the public bot.
perms module borked, including resetperms.

Next time it happens dm me on discord and i'll look at the database myself and see where's the problem.


Find All references is slow and gives no indication that processing is happening

Issue Type: Bug
I'm working on a relatively small express nodejs application server, and whenever I change a method signature, it takes about 5-10 seconds to find usages of that method again. This is fine (it could be faster, but this is not what the issue is about), but the window that pops up gives no indication that something is happening. Sometimes I see the "loading" title in the popover window flash, but it disappears very quickly, displaying a blank window.
Steps to reproduce:
Use some small-to medium size project, and change the method signature of a method used in other modules. Save the file, and then use Find all references on that method.
VS Code version: Code 1.22.2 (3aeede733d9a3098f7b4bdc1f66b63b0f48c1ef9, 2018-04-12T16:32:53.389Z)
OS version: Darwin x64 17.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

Load (avg)
2, 3, 3

Memory (System)
16.00GB (0.22GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron .

Screen Reader
no

VM
0%

Extensions (10)

Extension
Author (truncated)
Version

EditorConfig
Edi
0.12.1

vscode-docker
Pet
0.0.26

vscode-css-formatter
aes
1.0.1

vscode-eslint
dba
1.4.8

githistory
don
0.4.0

gitlens
eam
8.2.4

useful-react-snippets
igo
1.4.4

vscode-language-babel
mgm
0.0.14

debugger-for-chrome
msj
4.3.0

color-highlight
nau
2.3.0

Sometimes I see the "loading" title in the popover window flash, but it disappears very quickly, displaying a blank window.

That is unexpected, the 'Loading...' title should show until there is data to render. How large is the data set you are seeing? Is just a few results or many, many? Can you attach a screen recording and readings from the console?


App crashed

I can't upload anymore. The app crashes after the weight is taken over and stops weighing

Same here, app started to crash with new release from play store when weighing. I tried to show debug logs but nothing suspicious to see there

Same for me. App crash after taking weight. I tried to open "Garmin form" manually but its is also causing crash.

Same here. The app shows the weight and then crashes on trying to get additional data from the scale.

@maxoss @vojacekj @fiejkamichal @sgtkt
Thank for report. I revert the changes that I thought did not affect this view but nevertheless something went wrong. Unfortunately Google Play do not allow for rollbacks to previous version so it will take some time (few hours) until fixed version appear in the Google Play Store.
For manual install (but then you won't get updates form Store) is available in releases
https://github.com/lswiderski/mi-scale-exporter/releases/tag/v2.2.3
Again, thank you for fast alarm and I'm sorry for a trouble

Same here. What's interesting, it does work fine on my Realme 7 phone with android 12, but it crashes on my wife's Samsung s23 (I believe she has the newest android)

Sorry guys the issue still occurs. Somehow in the .APK version it works, but in the .AAB from the Google store it no longer does.
I need to look into this more, but I won't have time until afternoon
Meanwhile you can use web version https://web-body-composition.vercel.app/

Amazing to see such a fast response to this issue. Thanks for all the time and effort you're putting into this @lswiderski, I'll make sure to buy you a cup of coffee after the fix is released ;)

Updatet as well and everything is working fine from Samsung Galaxy S21+, perfect!

Updated as well and everything is working fine from Samsung Galaxy S21+, perfect!


Replace dynamic client with istio client and remove endpoints watch

Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
48a0807aae4d8abfc2e0486510b686afadcd0cc7
link
/test gencheck_istio

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

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
48a0807aae4d8abfc2e0486510b686afadcd0cc7
link
/test gencheck_istio

lint_istio
48a0807aae4d8abfc2e0486510b686afadcd0cc7
link
/test lint_istio

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

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
48a0807aae4d8abfc2e0486510b686afadcd0cc7
link
/test gencheck_istio

lint_istio
48a0807aae4d8abfc2e0486510b686afadcd0cc7
link
/test lint_istio

unit-tests_istio
48a0807aae4d8abfc2e0486510b686afadcd0cc7
link
/test unit-tests_istio

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


Implement the backbone of Learning Portal

[ ] Add a basic menu
[ ] Add a google account login and a roles. Only users with role "Mentor" can login
[ ] The home page should be a "Dashboard" page with a basic pie chart showing dummy data of answered vs unanswered questions.

[ ] Add the directory structure of the project. See https://github.com/mgechev/angularjs-style-guide


Sticky scroll messes up accurate markdown scroll sync

With stick scroll enabled
Open the md file:

# h1
# h2
# h3
# h4
# h5
# h6
# h7

Open markdown preview to side
Scroll the preview slowly down to the bottom of the content

Bug
Notice how the editor only scroll when you reach h7
I believe this is happening because of this logic for sticky scrolling : https://github.com/microsoft/vscode/blob/39911aac41bc0fc65118ec91ecc918cc053be3de/src/vs/editor/browser/viewParts/lines/viewLines.ts#L683

I'm fine with reveal taking sticky scroll into account. The issue for markdown though is that this causes the viewports to get out of sync
When you scroll all the way down in the preview, the editor is still showing line 2 at the top of the editor. If you then switch over to the editor and scroll it, the preview instantly jumps back to show line 2 in the preview
@alexdima Do I need to use editor.stickyScroll.maxLineCount to determine which range to reveal in the preview? Here's what I do today using the visible ranges event:
https://github.com/microsoft/vscode/blob/f8c9ae79ea9406439176b4c601fc4014e375189c/extensions/markdown-language-features/src/preview/topmostLineMonitor.ts#L32

I think you're doing everything correct on your side, the problem here is that we went with the "cheap" implementation of sticky scrolling via an editor contribution. So the editor core doesn't really know that there is this thing at the top which hides certain lines by being rendered on top of them. That's why the visible ranges it emits also contain occluded lines. I'm sorry that I can't think of a straight-forward fix.


[BUG] executor would stuck and the task would never stop

Describe the bug
Depending on conditions below, Blaze executor will stuck and the task will never stop, which will get trouble.
To Reproduce

the sql task:

with
ao_data as (
    SELECT
        vender.vender_id
        ,ao.shop_code as store_code
        ,ao.goods_code as matnr
    from (select * from blaze_t.mid_dp_snap  where dt = '20241212' and yn=1 and biz_type=0 and replenish_type in(1,2,4) and  range_ind  =1 ) ao
    left join blaze_t.dv vender on ao.mt=vender.mart_code
    union ALL
    SELECT
        vender.vender_id
        ,ao_dc.shop_code as store_code
        ,ao_dc.gcode as matnr
    from (select * from blaze_t.mid_dc_snap where dt = '20241212' and yn=1 and biz_type=0 and replenish_type in(1,2,4) and shop_code in ('701') and mart='aaa6' and  range_ind  =1) ao_dc
    inner join blaze_t.dv vender on ao_dc.mart=vender.mart_code
)

select
  d.matnr as matnr
  ,d.status_code
  ,d.status_name
  ,d.delivery_type
  ,d.supplier_code
  ,d.supplier_name
  ,d.sell_type
  ,d.group_kvi_1
  ,d.group_kvi_2
  ,d.group_kvi_3
  ,'20241212' as dt
FROM
   blaze_t.sw d
left join ao_data ao on d.vender_id = ao.vender_id and d.store_code = ao.store_code and d.matnr = ao.matnr
DISTRIBUTE BY
    dt, CAST(RAND() * 2 AS INT)

ENV

executor:1 (2core), memory=4g, memoryOverhead=4g; driver:1(1core),memory=2g
Spark on k8s, Spark 3.3.4
the most important condition: the one SIZE of blaze_t.mid_dp_snap's data file need related 180M (data generation class is below)

tables and datas

CREATE TABLE blaze_t.mid_dp_snap (
    id BIGINT,
    mt STRING,
    goods_code STRING,
    shop_code STRING,
    store_id BIGINT,
    sku_id BIGINT,
    status STRING,
    dtype INT,
    biz_type INT,
    tcategory STRING,
    scategory STRING,
    category STRING,
    osc STRING,
    sc STRING,
    replenish_type INT,
    tq DECIMAL(38, 10),
    rquantity DECIMAL(38, 10),
    rvalue DECIMAL(38, 10),
    sdisplay INT,
    says INT,
    ustock INT,
    minterval BIGINT,
    mindisplay DECIMAL(38, 10),
    yn INT,
    update_id STRING,
    modified STRING,
    create_id STRING,
    created STRING,
    maxdisplay DECIMAL(38, 10),
    rtype BIGINT,
    rbatch BIGINT,
    pdisplay DECIMAL(38, 10),
    displayt BIGINT,
    mquantity DECIMAL(38, 10),
    omq DECIMAL(38, 10),
    odq DECIMAL(38, 10),
    ddays BIGINT,
    dfactor DECIMAL(38, 10),
    sdays BIGINT,
    dm DECIMAL(38, 10),
    do DECIMAL(38, 10),
    ss DECIMAL(38, 10),
    pd DECIMAL(38, 10),
    pi STRING,
    ei STRING,
    rdt STRING,
    red STRING,
    rgcode STRING,
    range_ind INT,
    dt STRING
) USING parquet PARTITIONED BY (dt) ;

-- the data can be generated by java class below

CREATE TABLE blaze_t.mid_dc_snap (
    id BIGINT,
    mart STRING,
    gcode STRING,
    gname STRING,
    shop_code STRING,
    sname STRING,
    sid BIGINT,
    skuid BIGINT,
    status STRING,
    dtype INT,
    biz_type INT,
    tcategory STRING,
    scategory STRING,
    category STRING,
    tcat_name STRING,
    scat_name STRING,
    cat_name STRING,
    supplier_code STRING,
    supplier_name STRING,
    os_code STRING,
    os_name STRING,
    replenish_type INT,
    tquantity DECIMAL(38, 10),
    rquantity DECIMAL(38, 10),
    sfactor DECIMAL(38, 10),
    msafety_stock DECIMAL(38, 10),
    bunit STRING,
    ounit STRING,
    o_type INT,
    yn INT,
    update_id STRING,
    modified STRING,
    create_id STRING,
    created STRING,
    range_ind INT,
    dt STRING
) USING parquet PARTITIONED BY (dt) ;

insert into blaze_t.mid_dc_snap values (1828949,'aaa6','1573','1660','701','8921',8,5671,'2',7,0,'2644','5244','4424','8347','8388','1780','7798','1124','8617','9605',2,5,8,5,2,'2','3',7,1,'8448','2024-12-12 22:31:29','9807','2024-12-12 22:31:29',1,'20241212');

CREATE TABLE blaze_t.dv (
    vender_id BIGINT,
    vn STRING,
    mart_code STRING,
    status INT,
    create_time STRING,
    update_time STRING,
    lcurrency STRING,
    tcurrency STRING,
    gcurrency STRING,
    tz STRING,
    zname STRING
) USING parquet ;

insert into blaze_t.dv values (470,'test-470','aaa1',0,'2024-12-12 22:31:29','2024-12-12 22:31:29','c2','8d','c3','3d','54');
insert into blaze_t.dv values (1540,'test-1540','aaa2',1,'2024-12-12 22:31:29','2024-12-12 22:31:29','24','40','d6','23','79');
insert into blaze_t.dv values (4270,'test-4270','aaa3',2,'2024-12-12 22:31:29','2024-12-12 22:31:29','e5','8a','d4','a3','43');
insert into blaze_t.dv values (6290,'test-6290','aaa4',7,'2024-12-12 22:31:29','2024-12-12 22:31:29','7c','12','e3','ae','fd');
insert into blaze_t.dv values (9550,'test-9550','aaa5',7,'2024-12-12 22:31:29','2024-12-12 22:31:29','f2','86','9f','c0','88');
insert into blaze_t.dv values (2520,'test-2520','aaa6',4,'2024-12-12 22:31:29','2024-12-12 22:31:29','ef','d9','58','ab','11');

CREATE TABLE blaze_t.sw (
    vender_id BIGINT,
    store_code STRING,
    matnr STRING,
    vname STRING,
    sname STRING,
    sid INT,
    inum STRING,
    wname STRING,
    oware_name STRING,
    oo_price DECIMAL(30, 10),
    oc_price DECIMAL(30, 10),
    status_code STRING,
    status_name STRING,
    sell_type INT,
    stype_name STRING,
    corder INT,
    creturn INT,
    csale INT,
    csale_return INT,
    cexhibit INT,
    create_time STRING,
    update_time STRING,
    wcreate_time STRING,
    sflag INT,
    sbanner STRING,
    delivery_type INT,
    supplier_code STRING,
    supplier_name STRING,
    group_kvi_1 INT,
    group_kvi_2 INT,
    group_kvi_3 INT,
    isupplier_code STRING,
    isupplier_name STRING,
    iitem_flag INT
) USING parquet ;

insert into blaze_t.sw values (49,'701','aaa6','123','123',123,'123','123','123',123,123,'123','123',123,'123',123,123,123,123,123,'123','123','123',123,'123',123,'123','123',123,123,123,'123','123',123);

blaze_t.mid_dp_snap's DATA:
package csv;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
import java.util.UUID;

public class GenerateData3cx {
  static Random random = new Random();

  public static void main(String[] args) {

    String outputFilePath = "/Downloads/mid_dp_snap.csv";

    String header = "id,mt,goods_code,shop_code,store_id,sku_id,status,dtype,biz_type,tcategory,scategory,category,osc,sc,replenish_type,tq,rquantity,rvalue,sdisplay,says,ustock,merval,mindisplay,yn,update_id,modified,create_id,created,maxdisplay,rtype,rbatch,pdisplay,displayt,mquantity,omq,odq,ddays,dfactor,sdays,dm,do,ss,pd,pi,ei,rdt,red,rgcode,range_ind,dt";

    String[] mt = new String[6];
    mt[0] = "aaa1";
    mt[1] = "aaa2";
    mt[2] = "aaa3";
    mt[3] = "aaa4";
    mt[4] = "aaa5";
    mt[5] = "aaa6";

    String[] shopCode = new String[3];
    shopCode[0] = "101";
    shopCode[1] = "501";
    shopCode[2] = "701";

    try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFilePath))) {
      writer.write(header);
      writer.newLine();

      int i = 1;
      for (; i <= 5000000; i++) {
        String builder = i + "," +
            mt[random.nextInt(6)] + "," +
            shopCode[random.nextInt(3)] + "," + // shop code
            getRandomId() + "," +
            getRandomId() + "," +
            getRandomId() + "," +
            getRandomId() + "," +
            random.nextInt(10) + "," +
            random.nextInt(2) + "," + // biz_type
            getRandomId() + "," +
            getRandomId() + "," +
            getRandomId() + "," +
            getRandomId() + "," +
            getRandomId() + "," +
            random.nextInt(5) + "," + // replenish_type
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            "1" + "," + // yn
            getRandomId() + "," +
            "2024-12-12 22:31:29" + "," +
            getRandomId() + "," +
            "2024-12-12 22:31:29" + "," + // created
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            UUID.randomUUID().toString() + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            random.nextInt(10) + "," +
            "20241212";

        writer.write(builder);
        writer.newLine();
      }

      System.out.println("处理完成，已成功写入新的CSV文件。");
    } catch (IOException e) {
      e.printStackTrace();
      System.out.println("文件读取或写入出现错误：" + e.getMessage());
    }
  }

  private static Integer getRandomId() {
    int result = 0;
    for (int i = 0; i < 6; i++) {
      result += random.nextInt(10) * (int) Math.pow(10, 3 - i);
    }
    return result;
  }
}

This Java Class will generate 5,000,000 rows of data in csv format, and you can insert them into mid_dp_snap. For my test result, the stuck will happen when one file is about 180M, so you may need repartition before write.
the stuck log:

I have searched the reason about a week, and finally found the question is stuck in rust code which I am not familiar with. So please help me, thanks.

Thank you for your feedback!
We have reproduced the issue according to the configuration and data settings (the mid_dp_snap table contains 5,000,000 rows), but the same stuck point did not occur.
If you have any other questions or need further assistance, please let us know.


Indecies in the arxiv paper reversed?

If I'm not mistaken the paper at the bottom of page 3 has some errata in the formulas: The Wij indices should be Wji, no?

Hi,
Thank you for bringing this notation error to our attention! You're correct - it should be Wji on page 3. We'll include this correction along with other updates in our next version.


Reduce memory requirements for RippleState

High Level Overview of Change
The motivation for these patches is saving space in RippleState. During path finding many millions of RippleState objects may be created and reducing the size of RippleState can help reduce the memory needed for path finding.
There are two patches. The first patch replaces many uses of shared_ptr<RippleState> with RippleState.
RippleState was normally handled as a shared_ptr. It appears this was done to avoid exceptions. The make function returned a shared_ptr and used a nullptr to signal an error.
While there is runtime overhead in allocating on the heap, this patch is motivated by the space overhead of using a shared_ptr as well as the space overhead of allocating on the heap. The overhead of malloc is typically 8-16 bytes. The overhead of a
shared_ptr is typically around 48 bytes.
The second patch removes the sle that was stored in the RippleState object. Storing the sle means storing some fields twice or keeping references to the data. If the sle is able to be reclaimed, this reduces the memory required to store
the RippleState.
There was also no reason for this class to have a vtable. The virtual destructor was removed and the class was marked final.
Type of Change

[ x] Memory Optimization (non-breaking change)

@mvadari @mtrippled it would be fascinating to run a couple tests to see what effect these patches have on the max stable capacity of a test network

@intelliot This patch only effects path_find. If the benchmark isn't running path_find I wouldn't expect this to have any effect.

This was merged into 1.9.0


TODO: Addition of Cantonese Chinese

The addition of Cantonese Chinese will require the following changes:

All mentions of supported languages will need to be adjusted
Updated phoneme list

https://github.com/claire-west/svstudio-manual/issues/14


Make repeatable and comparable benchmarks between Specter and manual Clojure

It would be great to have an easy to use benchmark script to verify there are no performance regressions moving forward. The benchmarks should compare the Specter version of a query/transform against the optimal Clojure code for the same task. The most important navigations to test are:

ALL on maps, lists, and vectors
FIRST and LAST on map values
keyword navigation
filtering with a function

Committed to master