I want to use Gym-Gazebo for drone training with ROS Kinetic + Gazebo 7. How can I set it up, using your previous repository?

It is to be used with Hectorquadrotor or Ardrone. Can you help me please?
Thanks

Hi @wajeehulhassanvii ,
I'm afraid we are not supporting gym-gazebo1 anymore. If you would be interested in contributing to the current ROS2 based version we could give more feedback.
You might find inspiration in the erlecopter examples. Or make some research on this topic, there are even some papers published training drones in gym-gazebo.
Feel free contact me in private if you have specific questions.

I'm sorry for the late reply @nzlz , Yes of course it would be great if I could contribute in anyway. Currently I've only started to learn it but hopefully I'll perfect the art.
I already have a research topic for this semester, its a bit general like, 'controlling the drone using reinforcement learning in 3 dimension', if you have any idea then we can make it more specific.
If you can send me some paper regarding gym-gazebo that will be great.
Thank you very much @nzlz

Take a look at the original gym-gazebo related articles, you might find some useful information there.
https://scholar.google.com/scholar?cites=17520838235654758004&as_sdt=2005&sciodt=0,5&hl=es
Your goal or very similar has been already solved (improvable) using gym-gazebo and is perfectly feasible, but I'm afraid we have no time to support this kind of project. Again, if you have very specific questions contact me privately.
Regards,

Sure, for the time its okay but I would stay in touch, if something interesting comes in my mind I would contact you regarding that.
Thanks for the help though :)


Search Build Logs

Added action to search build logs for the active course
Added components to search build logs

Is there an issue that should be linked to this one? I'm happy to review this if we can resolve the conflicts.


Issue with resolution and batch size

Increasing resolution obviously requires more memory.  Using example 01 at 128^3 requires more memory than my GPU has.  To try and reduce the memory footprint, I tried to reduce the batch size.
Testing at 64^3 shows that increasing the batch size causes out of memory errors, so reducing it should help.
However, setting the batch size to 16 causes an error "mismatch between the batch size of input (128) and that of target (16)". The first number varies with the batch size (size=12 is 96, ect).  Unfortunately, tracing the callstack back out I see no place that the number would come from.
/home/tetragramm/torch/install/share/lua/5.1/nn/THNN.lua:110: bad argument #2 to 'v' (mismatch between the batch size of input (96) and that of target (12) at /home/tetragramm/torch/extra/cunn/lib/THCUNN/generic/ClassNLLCriterion.cu:39)
stack traceback:
	[C]: in function 'v'
	/home/tetragramm/torch/install/share/lua/5.1/nn/THNN.lua:110: in function 'ClassNLLCriterion_updateOutput'
	...amm/torch/install/share/lua/5.1/nn/ClassNLLCriterion.lua:44: in function 'updateOutput'
	...torch/install/share/lua/5.1/nn/CrossEntropyCriterion.lua:20: in function 'forward'
	../common.lua:170: in function 'opfunc'
	/home/tetragramm/torch/install/share/lua/5.1/optim/adam.lua:37: in function 'optimizer'
	../common.lua:180: in function 'train_epoch'
	../common.lua:249: in function 'worker'
	classification_common.lua:97: in function 'classification_worker'
	train_mn10_r64.lua:66: in main chunk
	[C]: in function 'dofile'

The problem is most likely here https://github.com/griegler/octnet/blob/master/example/01_classification_modelnet/train_mn10_r64.lua#L58
It should read :add( nn.Linear(opt.batch_size*8*8*8, 512) ).

Ok, the issue is related to nn.View. If you increase the input resolution, your output will also have higher resolution and then the reshape happening in nn.View does not fit the batch size.
So you have two possibilities: You can change the output resolution 8*8*8 in nn.View and in the nn.Linear that follows, or you add additional pooling layers.


[FR] add button "Scroll to Bottom"

Amazing plugin！ I know you have the button “Scroll to Top” and it‘s very convinent, but it doesnt have a button "Scroll to Bottom".
Most of time, I need add someting to the bottom ,or I need to look footnote and others.
I think it useful to everyone, not only for me, thanks.

同求

相同请求，请求作者添加“一键至底”的功能。

2.4.3 已经支持


Materials Project and pydefect compatibility

After an upgrade in the Material Project API, pydefect is not working:
Could you resolve the below issue?
The example program
pydefect_vasp mp -e Mg Al O --e_above_hull 0.0005
is giving error:
INFO: -- Settings from vise.yaml:
INFO:
INFO: -- Settings from pydefect.yaml:
INFO:
INFO: Note that you're using the newer MPRester.
Traceback (most recent call last):
File "/home/xxx/Downloads/anaconda3/lib/python3.9/site-packages/pydefect/util/mp_tools.py", line 32, in init
self.materials = m.query(
File "/home/xxx/Downloads/anaconda3/lib/python3.9/site-packages/mp_api/client/mprester.py", line 1420, in query
raise NotImplementedError(
NotImplementedError:
The MPRester().query method has been replaced with the MPRester().summary.search method.
Note this method also no longer supports direct MongoDB-type queries. For more information,
please see the new documentation.
During handling of the above exception, another exception occurred:
......
File "/home/xxx/Downloads/anaconda3/lib/python3.9/site-packages/mp_api/client/core/client.py", line 870, in _submit_request_and_process
raise MPRestError(
mp_api.client.core.client.MPRestError: REST query returned with error status code 422 on URL https://api.materialsproject.org/materials/summary/?energy_above_hull_min=-1e-05&energy_above_hull_max=0.0005&exclude_elements=Tm%2CAc%2CMc%2CC%2CTh%2COg%2CZr%2CH%2CFl%2CK%2CHo%2CSr%2CDb%2CLa%2CP%2CS%2CSg%2CMt%2CGa%2CRg%2CN%2CI%2CIn%2CBe%2CNo%2CFr%2CTc%2CRb%2CAg%2CXe%2CB%2CU%2CNa%2CKr%2CBr%2CTs%2CMd%2CCo%2CSb%2CAt%2CBi%2CCm%2CPo%2CRa%2CSe%2CTi%2CPd%2CBa%2CCr%2CCe%2CZn%2CTl%2CSn%2CLr%2CCa%2CY%2CLu%2CV%2CNe%2CYb%2CF%2CTb%2CRn%2CCn%2CAm%2CLi%2CNb%2CCd%2CMn%2CSi%2CNp%2CLv%2CGd%2CHs%2CMo%2CHg%2CPm%2CRh%2CPu%2CPa%2CGe%2CCl%2CDy%2CCu%2CHe%2CSc%2CBk%2CAs%2CFe%2CTa%2CPb%2CPt%2CFm%2CIr%2CAu%2CSm%2CHf%2CCf%2CNd%2CRu%2CNi%2CRe%2CPr%2CNh%2CDs%2CEs%2CW%2CBh%2CEr%2CRf%2COs%2CCs%2CEu%2CTe%2CAr&_limit=1000&_fields=material_id%2Cformula_pretty%2Cstructure%2Csymmetry%2Cband_gap%2Ctotal_magnetization%2Ctypes_of_magnetic_species with message:
exclude_elements - String should have at most 15 characters

Thank you for your information.
Now the issue should be fixed.
Please use the newer PMG_MAPI_KEY, and upgrade pydefect, vise, and mp-api.
Let me know if you still have problems.

Thanks for the quick update.
I have still another error as shown below for the below command:
pydefect_vasp mp -e Mg Al O --e_above_hull 0.0005
INFO: -- Settings from vise.yaml:
INFO:
INFO: -- Settings from pydefect.yaml:
INFO:
Traceback (most recent call last):
File "/home/xxx/Downloads/miniconda3/bin/pydefect_vasp", line 5, in
from pydefect.cli.vasp.main_vasp import main
File "/home/xxx/Downloads/miniconda3/lib/python3.11/site-packages/pydefect/cli/vasp/main_vasp.py", line 11, in
from pydefect.cli.vasp.main_vasp_functions import make_defect_entries,
File "/home/xxx/Downloads/miniconda3/lib/python3.11/site-packages/pydefect/cli/vasp/main_vasp_functions.py", line 23, in
from pydefect.util.mp_tools import MpQuery
File "/home/xxx/Downloads/miniconda3/lib/python3.11/site-packages/pydefect/util/mp_tools.py", line 19, in
with open(mp_data_file, "r") as f:
^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/xxx/Downloads/miniconda3/lib/python3.11/site-packages/pydefect/util/MPID_elements_10th_Jan_2024.json'

Sorry. Please upgrade pydefect again.

Thank you for the quick support. Again there is a small problem.
pydefect_vasp mp -e Mg Al O --e_above_hull 0.0005
generates only pure phases, Al_mp-143 and Mg_mp-153 and mol_O2 directories. Not creating competing materials like MgAl2O3. Could you correct this?

Yes, I fixed it. Please upgrade pydefect again.

Thanks a lot for fixing the problem.


Make resource list attribute sortable

URL example: /ui/resource_tracker/resource_group//resources/
Currently only name and instance are sortable.

Resource have attributes list and attributes have an attribute_type and a value. The queryset must be order by value of a specific attribute_type.
I haven't found how to do this with order_by.

Aborted for v2. This require a huge effort to update the table rendering.


possible typo

https://github.com/bitfocus/companion-module-sennheiser-digital6000/blob/b9578afa39ea82d2d790992915d63cd3e38a931e/src/udp.js#L8
isDestroyed ?

Well spotted, thanks. Will fix shortly.


When will ES 2015 typing definitions be available on lib.d.ts

Just wondering when are you guys updating the typing definitions. I'm missing the property 'name' in Function interface, just to name one.

it is already available in lib.es6.d.ts. this file is added automatically if --target ES6. you can also include this file directly in your project and get all the ES6 definitions.

great, thanks!

BTW that one doesn't have the Function.name property yet :/

I see it defined https://github.com/Microsoft/TypeScript/blob/master/lib/lib.es6.d.ts#L218

yeah you're right, I was looking at the other definition: https://github.com/Microsoft/TypeScript/blob/master/lib/lib.es6.d.ts#L1544
@mhegazy thanks a lot!


For v1.0.0: Build API

Closes #189
Description

Cleans up and documents our "Build API", which exposes useful filenames and paths for build tools in downstream projects to use.
Expands the documentation in the README.md to better explain how to setup and use Gravity in a project - including when to use the Build API.

Note: This is a breaking change. It is intended to be batched up with some other v1.0.0 milestone issues so that we don't prematurely bump to v.1.0.0. For this reason, it is a draft PR for now so that we don't accidentally merge it too soon.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


About the Input size

If my input size is not always the same and that is not divisible by patch_size, what can I do to use VRVKV to do the image restoration tasks? Thanks!

Hi, we usually padding or crop the input image to the same size(divisible by the patch size) to deal with such a problem.

Hi, we usually padding or crop the input image to the same size(divisible by the patch size) to deal with such a problem.

Thanks, but the image size of my training set and test set are different because the original image size is very large, I have to crop the image to a small size like 512*512 when training. So it seems that I cant't use VRWKV under this condition, it that right? Thanks again!!

Hi, we usually padding or crop the input image to the same size(divisible by the patch size) to deal with such a problem.

Thanks, but the image size of my training set and test set are different because the original image size is very large, I have to crop the image to a small size like 512*512 when training. So it seems that I cant't use VRWKV under this condition, it that right? Thanks again!!

In such situation, I think you can also resize the image by interpolation or downsampling.
VRWKV can handle different resolution inputs(by the interpolation in pos embedding). The output size will be the same as the input (H/patch_size, W/patch_size).

Hi, we usually padding or crop the input image to the same size(divisible by the patch size) to deal with such a problem.

Thanks, but the image size of my training set and test set are different because the original image size is very large, I have to crop the image to a small size like 512*512 when training. So it seems that I cant't use VRWKV under this condition, it that right? Thanks again!!

In such situation, I think you can also resize the image by interpolation or downsampling. VRWKV can handle different resolution inputs(by the interpolation in pos embedding). The output size will be the same as the input (H/patch_size, W/patch_size).

Thanks, but I want to use the same model with different image size, is that also ok? The parameterms of the model is fixed to the training image size, right?After I save the model when trainging with image size 512212, how can I use the saved model to test with large size image e.g. 10241024? That confused me alot, thank you!

Hi, we usually padding or crop the input image to the same size(divisible by the patch size) to deal with such a problem.

Thanks, but the image size of my training set and test set are different because the original image size is very large, I have to crop the image to a small size like 512*512 when training. So it seems that I cant't use VRWKV under this condition, it that right? Thanks again!!

In such situation, I think you can also resize the image by interpolation or downsampling. VRWKV can handle different resolution inputs(by the interpolation in pos embedding). The output size will be the same as the input (H/patch_size, W/patch_size).

Thanks, but I want to use the same model with different image size, is that also ok? The parameterms of the model is fixed to the training image size, right?After I save the model when trainging with image size 512_212, how can I use the saved model to test with large size image e.g. 1024_1024? That confused me alot, thank you!

You can test the model trained on 512512 images on 10241024 ones without extra process. The resize_pos_embed will resize the shape of the positional embedding automatically.
For the modification of the config file, as an example, you can add the following code to vrwkv_tiny_8xb128_in1k.py .
test_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(
        type='Resize',
        size=(1170, -1),
        backend='pillow',
        interpolation='bicubic'),
    dict(type='CenterCrop', crop_size=1024),
    dict(type='Normalize', **img_norm_cfg),
    dict(type='ImageToTensor', keys=['img']),
    dict(type='Collect', keys=['img'])
]

This means the test image (imagenet val set here, you can use your customer dataset as well by custom a dataset config file, see
openmmlab doc for more detail) will be first resized to a height of 1170 and then center-cropped to a resolution of 1024*1024.


chore(docs): add details about usage and contributing

I would also love to scrape signed commits to create a contributors page somewhere, too, It's probably a separate issue, though; thoughts?

Sounds like a great idea.
A few months ago I tried looking for Github Actions that would handle crediting contributors, but I couldn't find one I liked.
Would you want to scrape all our repos at once and consolidate the results into a page on the website? I think that would be most elegant, but unless there's a premade solution it would also take the most work.

Yeah, that's what I was thinking as well. It seems like an elegant approach. You could probably hit the GitHub API at website build time, generate the page, and put it on a cron to rebuild it periodically.


add note about winget to README (for windows installations)

winget is the official command-line package manager for Windows starting with Windows 10, thus there's no need to use 3rd party package managers anymore.
both avr-gcc and avrdude are packaged in winget.
installing them this way works fine and no further manual modifications of the environment are needed (tested in Git Bash and Powershell).
the note about scoop has been left in the README as i wasn't sure whether there were still any var-hal users left on older Windows releases, though at some point it can/should be removed for being obsolete.

i've also updated the wiki page accordingly.

On Wed, Dec 13, 2023 at 01:05:33AM -0800, Ralph Ursprung wrote:

winget is the official command-line package manager for Windows
starting with Windows 10, thus there's no need to use 3rd party package
managers anymore.

That statement contradicts the provided link.
Regards
Geert Stappers
--
Silence is hard to parse

That statement contradicts the provided link.

huh, in what way?

On Thu, Dec 14, 2023 at 01:43:42AM -0800, Ralph Ursprung wrote:

That statement contradicts the provided link.

huh, in what way?

The statement: All fine starting with Windows 10
The provided link: "part of the App Installer. You can get App Installer from the Microsoft Store"
and "only supported on Windows 10 1709 (build 16299) or later"
Other problem I have with current proposed merge request
is that it claims position above existing solution and
(dis)qualifing that solution, scoop, to older systems.
Suggestion for next version of "Winget is the best!"

Below   scoop.sh
Windows 10 1709 (build 16299) or later
"get App Installer from the Microsoft Store"
Now you should have "winget"
winget install AVRDudes.AVRDUDE ZakKemble.avr-gcc

Groeten
Geert Stappers
Silence is hard to parse


feat(uischema): remove deep clone of ui schema; use shallow copy instead;

BREAKING CHANGE:  Since UISchema is not deep cloned anymore, users may get potential problems with UISchema mutation
Summary
In some cases, you might want to pass function values to UISchema, i.e. pass component as prop to some Material-UI component. Current mechanism of deep cloning UISchema with JSON.parse+JSON.stringify prevents passing values other than JSON-supported types.
Now UISchema won't be deep cloned while working with schema accessors - shallow copy will be used instead. This allows to use any JS type in UISchema properties.
How did you test this change?
Added coverage with tests

next branch is not enabled for pre-releases by default. Needs to be configured.
More info on pre-releases: https://semantic-release.gitbook.io/semantic-release/recipes/release-workflow/pre-releases


Documentation bug

On the website if you look at ngPluralize and check usage, you can see that when you use this directive as an attribute it's actually missing the n-pluralize attribute.
This is what is written now
<ANY
  count=""
  when="string"
  [offset="number"]>
...
</ANY>

This is what it should be
<ANY
  ng-pluralize
  count=""
  when="string"
  [offset="number"]>
...
</ANY>

Note: I wanted to improve this doc, but this text is not part of ngdoc and I'm not really sure how to contribute this change hence this issue.

This is a bug in angular/dgeni-packages. the usage section uses the params, but it can't handle directives whose attribute selector doesn't take a value (ng-pluralize is a void attribute, and it's not listed in the params). I think this should be handled as a special case in /dgeni-packages/ngdoc/templates/api/directive.template.html

@Narretz Where is this Usage part even documented as it's not part of the ngDoc?

The usage template part is defined in this template: https://github.com/angular/dgeni-packages/blob/master/ngdoc/templates/api/directive.template.html

I've opened https://github.com/angular/dgeni-packages/issues/158 to track this on the dgeni-packages site. It's kind of low priority. Do you want to give this a shot?

@Narretz I don't think I'd be up for it as I don't know anything about how dgeni works nor do I have the time at the moment to learn about it. If you may provide some sort of info how this template is being processed I may see where to look and maybe come up with a solution.

In the template, there is this block, which renders the usage section.
  {% block usage %}

Usage

  {% if doc.usage %}
    {$ doc.usage | marked $}
  {% else %}

    {% if doc.restrict.element %}

as element:
      {% if doc.name.indexOf('ng') == 0 -%}
      (This directive can be used as custom element, but be aware of IE restrictions).
      {%- endif %}
      {% code %}
      <{$ doc.name | dashCase $}
        {%- for param in doc.params %}
        {$ directiveParam(param.alias or param.name, param.type, '="', '"') $}
        {%- endfor %}>
      ...
      </{$ doc.name | dashCase $}>
      {% endcode %}

    {% endif -%}

    {%- if doc.restrict.attribute -%}

as attribute:
        {% code %}
        <{$ doc.element $}
          {%- for param in doc.params %}
          {$ directiveParam(param.name, param.type, '="', '"') $}
          {%- endfor %}>
        ...
        </{$ doc.element $}>
        {% endcode %}

    {% endif -%}

    {%- if doc.restrict.cssClass -%}

as CSS class:
        {% code %}
        {% set sep = joiner(' ') %}
        <{$ doc.element $} class="
        {%- for param in doc.params -%}
          {$ sep() $}{$ directiveParam(param.name, param.type, ': ', ';') $}
        {%- endfor %}"> ... </{$ doc.element $}>
        {% endcode %}

    {% endif -%}

  {%- endif %}

  {% endblock -%}

For elements that can be used as attributes, it renders an element with the directive name and all of its params as attributes. What we should do: when the directive name is not in the params, add it as an attribute


GPU acceleration roadmap [WIP]

The list of the modules that require code optimisation and GPU acceleration. Please approach them in the following priority order.

[ ] Normalisation module. Contains two implementations, CuPy one and the one using CUDA kernel. The latter produces the result different from the CuPy implementation and needs to be checked. Also the grid/block sizes affect the result as well. The input to the normalisation module is uint16 data type.
[ ] Median/dezinger filter. The raw CUDA kernel has been ported from the code in the Larix toolbox. The code does compile, however the result is incorrect. For comparison one can use scipy.ndimage.median_filter(np.float32(Input), size=3)  . Arranging in the similar fashion using templates would be great. Block and grid sizes to be checked if correct. The input to the median filter module is uint16 and float32 data type.
[ ] Centering module. Has got two methods in the file, the one for the normal 180 degrees data and 360 degrees one.
[ ] Distortion correction module
[ ] Stripes removal module
[ ] Reconstruction module.  Please check this CuPy code here that does the filtering, if it can be further optimised/accelerated.
[ ] Phase retrieval module

To run full pipelines with the series of the modules above please see the following script

An alternative raw CUDA kernel to perform normalisation has been added: https://github.com/DiamondLightSource/httomolib/blob/9ca14934e338028fdd3a10e72a4d58ccefc68bd9/src/httomolib/prep/normalize.py#L128-L234
which appears to replicate the implementation in normalize_cupy(); possibly could be useful for comparison purposes.


Palworld

Game name:
can you have it so it works with Palworld?

Game package name:

Duplicate of #88.
Palworld support has been added to the newest release, https://github.com/Z1ni/XGP-save-extractor/releases/tag/release-2024-01-20.


Fix typo in exception.

Title says it all.

Can one of the admins verify this patch?

@hgaiser can you sign the CLA please?

@tensorflow-jenkins test this please

Done!


Update wifi-share extension

Description

This extension gets saved wifi password from mac and creates a qr code which can be scanned by mobile phones to connect to same network.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Could you look into the title, is it how you want it, otherwise please correct and move to changelog and readme 🙂

Could you look into the title, is it how you want it, otherwise please correct and move to changelog and readme 🙂

Ok i can change the title and push again

Thanks, there is a mi of different titles so would be nice to settle on one 🙂

Are you still around @robinsrk

Are you still around @robinsrk

Sorry for being inactive for long time. I will update it tomorrow

Is this ready for the final review?

Is this ready for the final review?

Yes sir

Hi 👋
Looks good to me, approved 🔥

Thanks sir. 😃


Delete public share

I extracted the read and write db methods into methods to reduce duplication and implemented the RevokePublicShareMethod.
@PVince81, can you have a look. Did I miss something for deleting?
Implements delete for https://github.com/owncloud/ocis-reva/issues/293.

is this working already ?
I thought we might need to make changes in shares.go as I saw separate implementation for user shares and public share.
If that works already, nice.
Can you enable the matching API tests and verify that they pass ?

I'll try the acceptance tests.
I didn't try my implementation yet to be honest.

I'll try the acceptance tests.
I didn't try my implementation yet to be honest.

The implementation is 👍 , but curious to see oc10 end to end tests, since deleting a share actually works as in: the vuejs component deletes the element from the view, but the request essentially fail.
We can try this tomorrow @C0rby

Ok so there was some missing stuff. Now I implemented everything to make public link shares work and ran the acceptance tests.
All but one run successfully. The one that fails is about deleting a share of a file, which was renamed. I'll create a ticket for that.

Ok so there was some missing stuff. Now I implemented everything to make public link shares work and ran the acceptance tests.
All but one run successfully. The one that fails is about deleting a share of a file, which was renamed. I'll create a ticket for that.

This PR won't update for some reason.
Will close and reopen


Fixed Gradient Example - Added Plot.Types import.

This shouldn't be needed anymore as Point type is now directly exposed through Plot.


Enhance tests with Markdown parser

The current tests are reading the README.md file as a string and checking sections.

Hi @upgundecha, this might still be relevant to be implemented. Can you please provide some more context? I want to fix it. Thanks!


haha!

Description:

Affected area:

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [ ]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests                  [ ]
CI System              [ ]
Performance            [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale

/runScale


Emoji kitchen update

I updated the repo to include the new stickers that are available since Dec 2021. I also added an html gallery to be able to browse all stickers in a systematic fashion. It can be viewed using GitHub Pages at https://w4v3.github.io/Google-Sticker-Mashup-Research.

Reviewing...
Will add Gh pages here when if I decide to merge.

Thanks for your contributions. I will update these on the sticker vote site too

To make the pages work, you don't need to use a dedicated branch anymore. Under Settings > Pages, you can just set the source to main branch and / (root) directory.

I didn't realize you had an index.html (and I should have looked for that)
Fixing it...

Some images seem to be broken (more than should be). It should work if you just use the ../stickers/ in front of every img url.

Oh right, forgot I changed that. Sorry I messed this up

No worries! By the way, when I initially was looking for something like this repo, it took me a really long time to find it, probably because it doesn't say "emoji kitchen" anywhere, which is the official name of the feature. So if visibility is one of your goals then it might be a good idea to mention that name somewhere :)

Right, I didn't know that name originally so I name it this.
Since you seem to know a lot more about GitHub than I, I'm gonna add you as a collaborator.


syntax: end delimiter of a region highlighted incorrectly

When a syntax region is declared with the transparent attribute and a matchgroup equal to the region’s group, the end delimiter of the region is transparent, but shouldn’t.
Here’s a reproduction:
vim -u NONE -i NONE -N +'hi R ctermbg=Red' +'syn region R matchgroup=R transparent start=/b/ end=/d/' +'call setline(1, "abcde")'

Only b is highlighted in red; d should be as well.

Any progress on this?


flowering prickly pear for circle images

Feel free to reject this if you wish.  These are the images I was using with your fork when you had the cactus photo for the images.  I noticed that your cactus_circle.svg was still a chia so I thought I'd send these your way.

I like it! However I just updated the images and built distributions. Perhaps we can have two versions :)  Thanks for sharing.


block does not exist

block does not exist
It gives the error. Even though the disk is not full, I get this error when there are 3000-5000 blocks left without sync.

yeah i got this error once in awhile too. had to restart postgres and tracker docker. some time it worked sometimes it doesnt. im so confused lol


[✨] Pre-parse javascript when element visible on screen

Is your feature request related to a problem?
I have noticed a slight delay - ranging from 2ms to 100ms - when I first interact with a component (only the first interaction; preceding interactions work seamlessly).
You can see it when you click on "time to celebrate" in the starter app for the first time:

Describe the solution you'd like
We could simply pre-parse javascript when components get visible on screen.
Describe alternatives you've considered
We could also pre-parse javascript on a more granular basis, allowing developers to choose when to, and when not to parse javascript. Now it is only parsed on user interaction if my understanding is correct.
Additional context
I understand that this is how Qwik works out of the box, with resumability and the service workers that pre-fetch javascript so that it can be parsed and executed on user interaction, so that the web page can be shipped with the least amount of javascript needed.
To me, seems like an interesting tradeoff, since 2ms to 100ms is hardly noticeable, and we get faster TTI + great SEO benefits. But what if we didn't have to make this tradeoff?
I understand from hydration is pure overhead's FAQ section, that resumability isn't like progressive/lazy hydration, so I guess that there would still be benefits to pre-parsing javascript with resumability over pre-parsing as hydration does.
Maybe I'm failing to see the hidden costs of pre-parsing. Would it block the main thread? Could it lead to slow websites when too much javascript gets parsed?
I don't have a deep enough understanding of how this works, but I think that it should be written in the docs as one of the tradeoffs of Qwik if pre-parsing javascript is not possible and therefore the 2ms to 100ms delay is inevitable.

Closing for now as the delay only happens with SSG.


Sync golangci-lint version

Update scripts/golangci-lint.yml golangci-lint version to match main workflow.

Add note to keep things in sync.

Is it worth rebasing just before merge, to check there are no new errors from recent PRs merged?


InViewPort is not calculated based on Window

https://github.com/lightning-js/renderer/blob/main/src/core/CoreNode.ts#L1227C4-L1229C6
InViewPort is being calculated based off Parent's bounds. If I have a parent that is bigger than the window size the node is considered InViewPort even though it is offscreen.
{x1: 0, y1: 660, x2: 1920, y2: 1240} - (node at y: 660 with height: 580 - put a child in it at y: 1100)
Opening for discussion for should InViewPort always use bounds of the Window / Canvas? (1920x1080)

There's two strategies for this:

Cap the bounds of a clipping enabled parent to the stage width/height. Downside is we'll have to update all the children if you move the parent which would retrigger a boundary recalculation for all its children down the tree
Add an additional statement in the individual node bound detection to see if we're outside of the stage width/height regardless of the parent boundaries.

I'd lean towards option 2, it might be a little impact on each update check but provide a more consistent behaviour, just need to think through all of the implications.

#2 is fine. I think the isInViewPort has a special meaning that should always be based off the Canvas size.
When you update this could you also add a public helper like
isInViewPort(): boolean - I know there are events but I'd like to query it on demand in some cases.

Isn't public renderState available? That should give you all the status, else we can make a nice getter around it.

I think the getters are necessary or you need to export CoreNodeRenderState.

Ah so this only happens when clipping is enabled on the parent, please try if #423 fixes it for you

So circling back to this, I think #423 fixes your issue when clipping is enabled and I've described the issue in #426. What happened is that every node that had clipping enabled recalculated its boundaries, but ignored its own boundary when out of viewport. This has been resolved as such that we only apply that boundary if its in viewport. Can likely simplify it a little bit by leveraging the clipping rect instead of doing manual checks.
However the idea of only window / stage boundaries is not going to work, the events also need to be fired when a node exits the visible area due to clipping and rendering boundaries can be applied accordingly.
Closing this and continuing on https://github.com/lightning-js/renderer/issues/426


Can HumanDurationData dervive Copy ?

I want to use the newtype pattern with HumanDurationData.
If I can derive Copy, my API will be more developper friendly.

Yes, it can indeed and actually is on the still unpublished version. I'm working on #7, and I did make it Copy there.
Thank you for the PR, but it was already done. I'll try to release this new version ASAP.

In fact, @IgorLaborieV8, the new version should have all the structs Copy!
In the new version, I am interning the units of both Count and Throughput, so all they store is a &'static str, which is Copy 🙂.


Vim-mode: ⌃Q as alternative to ⌃V

So, on a lot of platforms, ⌃V is unavailable (for obvious reasons ;); and that means a lot of us vimmers have the ⌃Q-alternative burned into muscle-memory.

						*CTRL-V-alternative* *CTRL-Q*
Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
selection.  You can use CTRL-Q instead.  You can also use CTRL-Q in Insert
mode and Command-line mode to get the old meaning of CTRL-V.  But CTRL-Q
doesn't work for terminals when it's used for control flow.

Any chance of getting ⌃Q as included as a default binding?

I've gone ahead and simply added the alias, despite not really understanding the implications. If anyone wants to suggest a different approach, do comment. (@heppe)


LOBPCG stability: Suggestion of improvements

We currently employ the lobpcg solver from this Julia package in our DFTK.jl electronic structure theory code. In our observations, the current Cholesky-QR-based LOBPCG implementation can become numerically unstable and sometimes even produce spurious eigenvalues.
As an illustrative example, run the following julia code
A = [1.25, 1.5, 1.5, 1.25, 1.5, 1.25, 1.5, 0, 1.13, 1.13, 1.5, 1.13, 1.5, 1.5, 1.13]
res = lobpcg(Diagonal(A), false, 5)

In my experiments with this simple test problem, it fails about each 2nd time with a PosDefException from the Cholesky factorization. In the remaining cases, it returns two approximations to the zero eigenvalue at res.λ[1] and res.λ[2]. In all such instances I further observed the first two eigenvectors to be non-orthogonal. That is to say, that
dot(res.X[:, 1], res.X[:, 2])

returns a numerically non-zero answer, order of magnitude 0.0001.
A couple of strategies to improve the numerical stability of LOBPCG have been discussed in the literature, e.g. in https://arxiv.org/abs/1704.07458. As far as I can judge from reading through the code, the suggested basis truncation and selection strategies are not yet present and it might be advantageous to take a look at implementing them.

Note: The original scipy implementation does not suffer from this problem. For example:
from scipy.sparse.linalg import lobpcg
import numpy as np
lobpcg(np.diag(A), orth(np.random.randn(len(A), 5)), largest=False)

returns the correct result each time I tried it.

Seems like a duplicate of #242.

I am traveling this week, but I will give it a look next week. Thanks for the issue.

Indeed, this shows some similarity with #223. E.g. block size 5 is a magic number. 4 or 6 work much better with the A defined as above.
I can assure you, however, we have similarly frequent problems in our application code, where the matrices are much larger compared to the block size than in the shown example. I'll try to come up with an example for you.

I came up with a larger example, that still illustrates the PosDefException problem, see this gist.
On my machine this has a success rate of about 97%. This is not good enough for our needs, since we need in the order of hundred, potentially even thousands of such eigensolves.

Ok this is interesting. I managed to reproduce this with a specific seed. I will look into it.

@mohamed82008 see
https://github.com/JuliaMath/IterativeSolvers.jl/issues/246#issuecomment-494429278 but scipy version uses Cholesky, so there's nothing wrong with Cholesky in this example. It looks like there's just a bug in your Julia code, unrelated to your QR "fix". You may want to just compare your code against the scipy latest version rather then putting new QR

It is definitely possible that it is a bug in my code, but given the number of passed test cases, I am very curious where I might have gone wrong. I can do a close comparison when I get some time.

@mohamed82008 this may be a bug in the core LOBPCG algorithm after all, also found by @mfherbst in scipy, see https://github.com/scipy/scipy/issues/10258#issuecomment-498929598

@mohamed82008 (related to scipy/scipy#10258) I added a julia version to the example repository mfherbst/issue_scipy_lobpcg_guess for convenience and out of curiosity. As it turns out and as suspected by @lobpcg, the julia implementation of LOBPCG also fails on this example, but in fact both with and without the guess vectors.

The naive julia implementation referenced in scipy/scipy#10258 actually does pretty good in the example of mfherbst/issue_scipy_lobpcg_guess. Even converging down to 1e-14 tolerance in a reasonable number of iterations (still some 250 without and 100 with) is possible.

I don't know what is happening in terms of the algorithm logic but if this is an important step common enough then probably it is better to use the proper LAPACK tools such as ?potrf and ?potri to get the necessary data. Especially this part
def _b_orthonormalize(B, blockVectorV, blockVectorBV=None, retInvR=False):
    if blockVectorBV is None:
        blockVectorBV = blockVectorV if B is None else B(blockVectorV)

    gramVBV = blockVectorV.T.conj() @ blockVectorBV
    # Here cho_factor can be used instead
    gramVBV = cholesky(gramVBV)
    # See below
    gramVBV = inv(gramVBV, overwrite_a=True)

    # This is a cholesky solve step no inverse needed
    blockVectorV = blockVectorV @ gramVBV

    if B is not None:
        # This is also a cholesky solve step no inverse needed
        blockVectorBV = blockVectorBV @  gramVBV
    else:
        blockVectorBV = None

    if retInvR:
        # Inverse can be computed via ?potri, this is numerically less stable
        return blockVectorV, blockVectorBV, gramVBV
    else:
        return blockVectorV, blockVectorBV

Oops wrong repo! 😃 Sorry

@mfherbst I think full orthogonalization of the basis with QR is an almost sure-fire way to make LOBPCG as stable as the QR alg (there is a loop-hole when using constraints). The only problem is the complexity the QR approach introduces in the form of additional matrix-matrix multiplications e.g. https://gist.github.com/antoine-levitt/f8ac3637c5d5d778a448780172e63e28#file-lobpcg-jl-L30, which is why I suggested this as a final measure in #247 if nothing else works. The QR "fix" in #247 is actually a less extreme measure than full orthogonalization as it only does matrix-matrix multiplications of P and/or R but not X for example.

QR is also very bad for parallel execution - the actual reason I avoid it in the original LOBPCG algorithm, which is also implemented in many parallel libraries.

I think the following approach has potential.

Remove components of U along constraints matrix C
Find the Gram matrix gramB = U' * B * U
Find the "compact" eigenvalue decomposition of gramB eliminating the nullspace basis, `gramB = V_c L_c V_c'.

Efficiently update A*U and B*U by right-multiplying by V_c * sqrt.(L_c).

Note that the sizes of U, A*U and B*U can decrease in steps 4 and 5. The above guarantees that U' B U == I without introducing new basis vectors that may conflict with the constraints matrix C.
Similarly, if using QR, I think we need to make sure not to include any additional basis from Q that are not spanned by the matrix we are trying to orthogonalize, i.e. only take columns whose corresponding diagonal in R is non-zero. These additional basis can conflict with the constraint matrix C which will backfire at the end.
The eigenvalue decomposition approach above avoids the need for additional matrix-matrix multiplications involving the matrices A or B and is more parallelizable so it should be more efficient without sacrificing stability.
Comments? @lobpcg @antoine-levitt

As soon as you discard information in this way, you will slow down convergence (essentially, downgrade to LOBPG, ie without the P) for precisions smaller than ~1e-8 (try it, you'll see), which are important for a number of applications.

Well, if the whole P matrix disappears due to 0 eigenvalues, LOBPCG basically turns into a preconditioned gradient descent algorithm, as opposed to a preconditioned conjugate gradient algorithm, so the convergence can possibly get hit. But increasing the subspace dimension is not computationally trivial, so perhaps the cost of the additional iterations of LOBPG (without the P matrix, dropped "conjugate"), can be compensated by the savings made from not expanding the basis using QR. Besides, if a good preconditioner is used, then the difference in convergence speed in terms of number of iterations may be even less serious. I think it is worth a try.

Perhaps both options can be provided once the constraint issue for QR is figured out, not that I am volunteering to implement both! If this turns out to be too much work, I may not have the time to do it any time soon; this is a somewhat busy period for me. But let' see.

The constrained case for QR seems simple to handle. We just need to check that any additional column of Q that we are including in the basis, for which the corresponding diagonal element of R is 0, has an orthogonal component to C, and is C-orthgonalized before being added.

So it seems a similar method to the one proposed above was also proposed in https://arxiv.org/pdf/1704.07458.pdf with the name svqbDrop. I haven't read the paper in details but it seems to have interesting ideas.

So it seems a similar method to the one proposed above was also proposed in https://arxiv.org/pdf/1704.07458.pdf with the name svqbDrop. I haven't read the paper in details but it seems to have interesting ideas.

We discussed this paper already, e.g., https://github.com/JuliaMath/IterativeSolvers.jl/pull/247#issuecomment-498047061

Well, if the whole P matrix disappears due to 0 eigenvalues, LOBPCG basically turns into a preconditioned gradient descent algorithm, as opposed to a preconditioned conjugate gradient algorithm, so the convergence can possibly get hit. But increasing the subspace dimension is not computationally trivial, so perhaps the cost of the additional iterations of LOBPG (without the P matrix, dropped "conjugate"), can be compensated by the savings made from not expanding the basis using QR for example in the unconstrained case. Besides, if a good preconditioner is used, then the difference in convergence speed in terms of number of iterations may be even less serious. I think it is worth a try.

Dropping P for the rest of iterations is extreme (I do it in MATLAB under some conditions) and of course results in dramatic slow down, e.g., already discussed in https://github.com/JuliaMath/IterativeSolvers.jl/pull/247#issuecomment-498314583

Let me ping an expert @joseeroman in case he has some advice

@rc @mfherbst @joseeroman @antoine-levitt @mohamed82008
please see https://github.com/scipy/scipy/issues/10258#issuecomment-500145533

I have my doubts about this "fix" since it doesn't really change the overall basis. I would be very surprised if it actually fixed all of @mfherbst 's test cases.

I have updated my comment: to fix the current test case, you need to drop P on iterations where P is linear dependent, as I now do in https://github.com/lobpcg/blopex/blob/master/blopex_tools/matlab/lobpcg/lobpcg.m , but not yet in scipy. please see scipy/scipy#10258 (comment)

When I was implementing a related algorithm (a cruder predecessor to LOPCG, since at that time I didn't realize you could perform the line minimizations by solving a Ritz problem) many years ago (https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-8-3-173&id=63584), I found that it was sufficient to re-orthogonalize occasionally (not every step).  Maybe you could estimate the condition number from the Cholesky factors (which can be done cheaply, I think?) in order to decide whether to re-orthogonalize?
In that work I used the polar decomposition A=QP.   This can be computed relatively straightforwardly in parallel since P = sqrt(A'A) is a small matrix, so you just need a parallel matrix transpose and reduction for the Gram matrix A'A.  Maybe this is related to @mohamed82008's suggestion above.

Oh wow that's an old thread. Since then, we ended up writing our own implementation in https://github.com/JuliaMolSim/DFTK.jl/blob/master/src/eigen/lobpcg_hyper_impl.jl. It uses a number of tricks for maximal stability, and we haven't been able to make it break yet (and not for lack of trying :-)), and keeps full convergence rate even when converging to close to machine precision, which I have never been able to do with any other LOBPCG implementation. It also fixes a very tricky issue whereby locking degraded convergence, which took me a good while to figure out; I think no other implementation has that fix. I wanted to add some other tricks (like avoid doing a full diagonalization of X'AX using perturbation theory when close to convergence, which gives quite a nice speedup in certain circumstances) and possibly make a paper out of it, but other things got in the way. If somebody is interested in picking this up again I'd be happy to share.
The choice there was to only use Cholesky for orthogonalization, because it's the fastest in a parallel setting (it's like the polar decomposition, but choleskys are faster than square roots). It's also very unstable so we do two things: 1) we add something to the diagonal when the cholesky fails 2) we re-orthogonalize when needed, indeed using the condition number of the Cholesky factors as you suggest @stevengj (see https://github.com/JuliaMolSim/DFTK.jl/blob/master/src/eigen/lobpcg_hyper_impl.jl#L77)

Would it be useful for others to bring your implementation into this package?

As I said on the discourse thread our implementation at its current stage is not complete drop-in replacement for the lobpcg of this package (e.g. generalised eigensolves are not tested very thoroughly, only smallest eigenvalues implemented etc). So to get it to replace the implementation that exists would be a bit of work. Other than that it would lower the burden of maintaining it on our side, so I would not mind  helping to get it integrated here. What do you think @antoine-levitt?

Since my last comment in this thread, I have updated a year ago
https://github.com/scipy/scipy/blob/v1.5.4/scipy/sparse/linalg/eigen/lobpcg/lobpcg.py
to make it more stable, e.g., also run in single precision to full attainable accuracy. My tricks are different from those @antoine-levitt describes above, so stability and performance should also differ. It would be interesting for someone to compare, maybe combine some of the tricks...

I already put it up at https://github.com/antoine-levitt/LOBPCG last year. It's the version that DFTK's one is based on. Anybody is welcome to do what they want with it. It's definitely more stable than the one in IterativeSolvers, and therefore I would recommend it for somebody to use for their first attempt. Generalized eigenvalue problems are OK (definitely more stable than the implementation in IterativeSolvers) as long as B is not horribly badly conditioned; there's an alternative tweak that doesn't assume B to be relatively well conditioned but it needs additional B multiplications for stability so I didn't put it in by default.
I did not benchmark extensively outside of DFTK's operating point so I can't say for sure that the implementation is unambiguously better than the one in IterativeSolvers regarding performance: there might be more matmuls or memory usage in our version; to be checked.
LOBPCG, as most Krylov methods, is a very delicate algorithm that is fundamentally unstable, and implementations have to find a fine line between stability and efficiency, so I think it's fine to have both implementations coexist. If someone does the work of comparing implementations and finds that one (possibly after tweaks) is unambiguously better than the others, then it might make sense to just have one, or possibly two pareto-optimal implementations, one more geared towards stability and one more towards performance. I can help but I don't have time to actually do that non-trivial amount of work.

Let's get a GSoC on this.

If there is a write-up somewhere describing the algorithm to be implemented, it would make it easier for the student to do it. Otherwise we would need a more mathematically adept student than the average GSoC to make sense of the arguments and scripts posted here. If a paper can come out of it, perhaps a graduate student might also be interested to volunteer and do all the comparisons and benchmarks.

The problem is that there are several papers describing different competing tricks and correspondingly several different actual implementations of LOBPCG in various packages, see  https://en.wikipedia.org/wiki/LOBPCG . In exact arithmetic, different implementations should result in exactly same results, although with quite different computational costs and various memory requirements. In double precision, and especially single precision, implementations vary greatly in numerical stability and may just fail depending on the input. There is no universally accepted "best" implementation. Arguably, the Python version https://github.com/scipy/scipy/blob/v1.5.4/scipy/sparse/linalg/eigen/lobpcg/lobpcg.py is most used and tested by various users. If you just want to modify the existing Julia version to literally follow every detail of this Python version, it is a purely coding exercise, easy for a CS student to do, just basically translating Python into Julia.  If the goal is first to determine the "best" version for implementation in Julia, it is a difficult, possibly open-ended, PhD-level math/CS research project.

Either way, we can put it on the GSoC project list and depending on the level of the student, we can do good old scope creep.

Agreed with Andrew here: the pure coding exercise is not very interesting, as one can just use PyCall to use scipy's version from julia. The interesting part requires serious numerical skills.

A GSoC student for this would be pretty cool. Let me know if there is something I can do to help when it gets to it!

I think the main thing to do is to list the project here and add yourself as a mentor (with any other potential co-mentors):
https://julialang.org/jsoc/projects/
I think it is soon going to be time that students start visiting this list, so best to put it up immediately.


type of dependency values in validate.rules function is not resolved correctly

the type of dependency field is resolved to unknown when the field is object or array descriptor.
seems to be an issue dependant of TS version (occurring for 4.9.3 not for 4.2.2)
reproduction link: https://codesandbox.io/s/intro-03-basic-form-validation-forked-w16z5v?file=/src/example.tsx

no longer an issue with TS 5.x.x


Adding Github Profiles Application

Is your feature request related to a problem? Please describe.
I want to add a GitHub Profiles Application
Steps Followed✅
Check the box with [x] If you followed all the steps.

[x] Is your feature request related to a problem? Please describe.

Code of Conduct✅

[x] I agree to follow this project's Code of Conduct.
[x] I checked the current issues for duplicate problems.
[x] I have gone through project README.

I am GSSOC'22 contributor. @Astrodevil Kindly assign me this issue

Please explain, what type of GitHub profiles, provide more details

@Astrodevil
It is an app which fetches an user's information from GitHub including his/her description, repo names, followers, followings and other details.
I am providing a screenshot of an example related the application which I want to add: -
Screenshot

@Astrodevil Please review my PR #306


Extension package.json not updated when switched to pre-release version

I encountered a problem when a user switches to a pre-release version where package.json file is updated with new sidebar views (containing webviews), the views are not registered and an error No view is registered with id... occurs even after Restart Extensions is triggered. The issue is resolved after VS Code is restarted completely (quit and reopened) - only then the new sidebar views appear. Similarly, after switching back to release version and restarting extensions, the pre-release views stay visible (but empty) until VS Code is restarted again.
The tested extension is Tools for Solidity. Tested on latest MacOS, latest VS Code 1.92.
To me it seems as if the package.json, where the new views are registered, is not updated on Restart Extensions, and thus when the code tries to access the new views they were not created in the first place.

This extension does not have pre-release support. Can you please provide the extension with which I can reproduce?


Fix | Remove ArrayPool usages in TdsParser.ProcessSSPI

Reapply the implementation of TdsParser.ProcessSSPI from the netfx implementation which does not utilize the ArrayPool.Shared.Rent(...) mechanism, as the ArrayPool received byte[] is not guaranteed to be zero-initialized as specified in the docs, and also has not the correct size, as the given receivedLength is only specifying the minimum-size of the returned byte[].
Old netfx implementation in version 5.2.0:
https://github.com/dotnet/SqlClient/blob/faf9b95995e6200a980bb6b1980f1d7af9f46cef/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs#L9495-L9524
If the ArrayPool.Shared.Rent(...) array is non-zero-initialized and oversized, this further causes invalid genTokenResp to be passed to the underlying GSSAPI#InitSecContext implementation.
fixes #2441

I'm currently reworking the sspi generation in general to enable a public api around it. One of my changes in #2447 fixes this in the direction I need for the larger item https://github.com/dotnet/SqlClient/issues/2253.
Part of the changes I'm trying to push in moves toward more memory/span operations (and helps consolidate the implementations between framework and core). There are currently 4 implementations of generating SSPI contexts and the others work fine with a ReadOnlyMemory<byte>. Forcing all of them to use an array because a single one requires it will cause undue memory allocations.

I changed the implementation to don't do another allocation but instead clear the "overflowing" bytes inside the receivedBuff by doing receivedBuff.AsSpan(receivedLength, receivedBuff.Length - receivedLength).Clear();. That should at least for the time being do the trick.
Maybe we can use that until your rework of the SSPI implementations is complete @twsouthwick?

@stuka120 my change for sspi with this fix has been merged so this can probably be closed

Fixed via #2447


Change pinentry to use hooks to fix remote showTyping

cc @keybase/react-hackers

i think we can do this differently, one sec

this should be closed and https://github.com/keybase/client/pull/23486 used instead


Support Instant and other standard types as Tool return object

Discussed in https://github.com/langchain4j/langchain4j/discussions/2281

Originally posted by LiveNathan December 16, 2024
I'm been getting this error:

Error receiving AI response: Failed making field 'java.time.Instant#seconds' accessible; either increase its visibility or write a custom TypeAdapter for its declaring type. See https://github.com/google/gson/blob/main/Troubleshooting.md#reflection-inaccessible

Here's the object I'm returning:
public record ProjectDto(ProjectId id, @NotBlank String name, String pictureUrl, String location,
                         FlexQuoteId flexQuoteId, Instant start) {}

Is langchain4j unable to convert the Instant to a string? Do I need to do that manually myself?
For context, related classes:
@Component
public class ProjectToolConfig {
    private final CreateProjectService createProjectService;
    private final UpdateProjectService updateProjectService;

    public ProjectToolConfig(CreateProjectService createProjectService, UpdateProjectService updateProjectService) {
        this.createProjectService = createProjectService;
        this.updateProjectService = updateProjectService;
    }

    @Tool("create a new project")
    public CreateProjectResponse createProjectTool(@P("project getName") String projectName,
                                                   @ToolMemoryId AccountId accountId) {
        return createProjectService.with(projectName, accountId);
    }

    @Tool("update an existing project")
    public UpdateProjectResponse updateProjectTool(@P("Project name.") String projectName,
                                                   @P("Local start date and time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.") LocalDateTime startDate,
                                                   @P("Local end date and time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.") LocalDateTime endDate,
                                                   @P("The user's timezone.") String timezone,
                                                   @ToolMemoryId AccountId accountId) {
        UpdateProjectRequest updateProjectRequest = new UpdateProjectRequest(projectName, startDate, endDate, timezone, accountId);
        return updateProjectService.with(updateProjectRequest);
    }

    public record CreateProjectResponse(String message, ProjectDto project) {}
    public record UpdateProjectRequest(String name, LocalDateTime startDate, LocalDateTime endDate, String timezone, AccountId accountId) {}
    public record UpdateProjectResponse(String response, UpdateProjectDto project) {}
}
```</div>

It seems that langchain4j uses Gson as its serialization tool under the hood. By default, Gson does not directly support the serialization and deserialization of the java.time.Instant type. To resolve this issue, you need to create a custom TypeAdapter to handle the serialization and deserialization of the Instant type.
You can use the Long type to replace java.time.Instant.


Add styled jsx error-debug page

Hmm seems like an old commit came through, that one is already merged. So this one can safely be merged (no extra commit will be added).

I wonder if this works since we don't have styled-jsx preset on our .babelrc which is the reason I didn't use it.

@nkzawa Ah I see, you're right, it does function.. but that's just because the <style> tag is rendered. Lets close this then.


Fix navlayers-layer init bug when passing name and domain arguments

Fixes #60

Thanks for catching this! This MR solves the issue quite nicely, so I'll go ahead and merge it in.


Remove the dependency on github.com/prometheus/prometheus

Description

Changes proposed in this pull request:

Replace the config  github.com/prometheus/prometheus with a minimalistic self-written Prometheus config
Adapt the unit tests, we don't need to check dummy empty values anymore

Related Issues and Documents

Related issues:
https://github.com/kyma-project/telemetry-manager/issues/318
Traceability

[x] The PR is linked to a GitHub Issue.
[ ] New features have a milestone label set.
[x] New features have defined acceptance criteria in a corresponding GitHub Issue, and all criteria are satisfied with this PR.
[x] The corresponding GitHub Issue has a respective area label.
[ ] The follow-up issues (if any) are linked in the Related Issues section.

Testability
The feature is unit-tested:

[x] Yes.
[ ] No, because unit tests are not needed.
[ ] No, because of ...

The feature is e2e-tested:

[x] Yes.
[ ] No, because e2e-tests are not needed.
[ ] No, because of ...

Tests conducted for the PR:

Codebase

[x] My code follows the Effective Go style guidelines.
[x] The code was planned and designed following the defined architecture and the separation of concerns.
[ ] The code has sufficient comments, particularly for all hard-to-understand areas.
[x] This PR adds value and shows no feature creep.
[x] I have augmented the test suite that proves my fix is effective or that my feature works.
[ ] Adjusted the documentation if the change is user-facing.

/retest

/retest


Can't navigate clicking on items

I'm using the focusOnSelect: true as well as asNavFor, but I can't click on images to center the carroussel.
I already did it on version 1.3.15, but can't do the same with 1.4.1.
Any idea?

JS Fiddle, please mate, we can help if we see the problem :)

Here you go: http://jsfiddle.net/phLc4ox4/1/ — you can't click the slides in the bottom slider.

@oskarrough unfortunately you need to add a child element to those divs, it wont work on text content alone. try wrapping your text in p or span

@kenwheeler that worked, thank you! Would be great to either fix this or document it somehow. Took me hours of debugging :1234:

@oskarrough I'll look into it, so sorry about that!

Fixed on master


[RPC Server] CORS is not working properly

@Andrew47 encountered the above error when trying to send request to RPC server on DevNet through the Explorer frontend. The deployed instance should have ACCESS_CONTROL_ALLOW_ORIGIN set to * https://github.com/MystenLabs/sui-operations/pull/12/files#r857979777
I was able to reproduce the error on a local RPC server by using https://github.com/njgibbon/nicks-cors-test

These might be helpful but I haven't gotten the chance to take a close look:

jsonrpsee preflight
https://github.com/MystenLabs/sui/pull/893

The acl config is set correctly in jsonrpsee server, could be a jsonrpsee bug… I will investigate

Looking at the code, jsonrpsee only returns ACCESS_CONTROL_ALLOW_ORIGIN header if Origin is not equals to host
Do we set the Origin header in the request, it will not return the flag if Origin is not set.
https://github.com/paritytech/jsonrpsee/blob/e6c6ac58a182930f7aaf304395b2eb664c7eecc5/http-server/src/server.rs#L439-L451

I tried with postman with added Origin header and it works fine

I tried https://github.com/njgibbon/nicks-cors-test, it doesn't work because somehow all my browsers are not setting the Origin header :|

@patrickkuo postman should work even without setting Origin right? cc @arun-koshy @stella3d @Andrew47  for any insights

Correct, CORS is a server side configuration and clients decide to enforce it or not. Development tools like Postman don't care about this so they don't enforce it. Browsers do, which is why you should that exclusively for testing CORS.

insights

Yes postman will work regardless of CORS, but I am looking at the return header from the server, it does have the ACCESS_CONTROL_ALLOW_ORIGIN header set

I did some quick digging but maybe the correct behavior is to not have it set if you want any Origin to be allowed?
set_allowed_orgins doc comments seem to indicate this and binary code seems to show that it is set via an environment variable which is what I assume you are setting when you launch the RPC server?

I did some quick digging but maybe the correct behavior is to not have it set if you want any Origin to be allowed?
set_allowed_orgins doc comments seem to indicate this and binary code seems to show that it is set via an environment variable which is what I assume you are setting when you launch the RPC server?

Ah you are looking at the Websocket implementation, we are using the HTTP server

@666lcz can you try setting the Origin header in the request and see if that works? I couldn't get explorer to run locally so can't confirm if this works. (getting bunch of Module not found: Error: Can't resolve 'sui.js')
Looks like geth is behaving the same way https://ethereum.stackexchange.com/questions/10622/why-is-access-control-allow-origin-not-in-the-response-headers

@Andrew47  I have trouble compiling explore-rpc as well. I have tried yarn && yarn build && npm link under src/sdk/typescript as well as npm link sui.js && yarn && yarn start. However, it's complaining
Attempted import error: 'isObjectExistsInfo' is not exported from 'sui.js' (imported as 'isObjectExistsInfo').
ERROR in ./src/components/ownedobjects/OwnedObjects.tsx 73:42-60
export 'isObjectExistsInfo' (imported as 'isObjectExistsInfo') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/components/ownedobjects/OwnedObjects.tsx 83:43-54
export 'isObjectRef' (imported as 'isObjectRef') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/object-result/ObjectLoaded.tsx 85:7-25
export 'isObjectExistsInfo' (imported as 'isObjectExistsInfo') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/object-result/ObjectResult.tsx 31:9-32
export 'isGetObjectInfoResponse' (imported as 'isGetObjectInfoResponse') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/transaction-result/TransactionResult.tsx 108:6-28
export 'isCertifiedTransaction' (imported as 'isCertifiedTransaction') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/transaction-result/TransactionResult.tsx 115:35-58
export 'isSingleTransactionKind' (imported as 'isSingleTransactionKind') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/transaction-result/TransactionResult.tsx 118:36-46
export 'isTransfer' (imported as 'isTransfer') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/transaction-result/TransactionResult.tsx 123:32-42
export 'isMoveCall' (imported as 'isMoveCall') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

ERROR in ./src/pages/transaction-result/TransactionResult.tsx 127:35-54
export 'isMoveModulePublish' (imported as 'isMoveModulePublish') was not found in 'sui.js' (possible exports: BCS, Base64DataBuffer, Ed25519Keypair, HexDataBuffer, JsonRpcProvider, PUBLIC_KEY_SIZE, Provider, PublicKey, RawSigner, RpcTxnDataSerializer, SignerWithProvider)

webpack compiled with 9 errors
Files successfully emitted, waiting for typecheck results...
Issues checking in progress...

Not sure why since index.ts is exporting everything from index.guard.ts cc @stella3d

Also, surprisingly in the demo app: https://github.com/MystenLabs/sdk-test-app, which is also browser based and uses the SDK, there's no CORS issue when making a request to the Devnet

@666lcz --> It looks like the issue is that index.ts is not exporting everything from index.guard.ts. I could not find the following in the index.ts file:
export * from 'index.guard'

It looks like we're no longer getting CORS errors in the SuiExplorer UI:

This corroborates with what @666lcz identified with the demo app.
Many thanks to whomever updated the API to resolve this issue.
Perhaps we can now close this issue as resolved?


Optimal control example does not work on website or in examples folder.

Using Jupyter with Python 3.8...
Plot at the end of the optimal steering example has a flatline output instead of the s curve shown on the site: https://python-control.readthedocs.io/en/latest/optimal.html#example
Example in example folder here similarly does not work.

What version of python-control are you running (check control.__version__)?  It should work on v0.9.3, but some earlier versions had problems converging (due to use of shooting instead of collocation).  Are you getting any warning messages?

This appears to be working in the current version of the toolbox.  Closing.


updated w/ sp24 courses and vectors

Description
Added SP24 courses and encrypted vectors
Test
Tested locally

courses updated correctly
description, instructor, schedule parsed appropriately

Closes #11


[SwiftScan] Add SwiftScan APIs to replay the cache output

Add new C APIs to libSwiftScan for cache querying and cache replays.

I was trying to abstract out the compilation to avoid re-parsing command line, compute input/output and create instance in replay logics, but it turns out a lots of information needs to be passed, including:

the diagnostics needed
how to print diagnostics (color, format, etc.)
inputs (to compute how to construct file specific diagnostic consumer)
outputs (to replay)

So stick with replaying from command-line for now.

@swift-ci please smoke test

@swift-ci please smoke test

The libclang API has this kind of interaction with the build system:

key query API call: if the key exists it returns an abstract object that represents the outputs (the outputs are not downloaded from this call)
outputs materialize API call: downloads outputs locally
replay API call: receives arguments and the abstract object for outputs

Separating (1) from (2) provides flexibility on the client side for treating them as separate actions that can be recorded in the build log with their own timing info and executed potentially with different priority/scheduling. I would prefer to preserve that for swift as well instead of swiftscan_cache_query bundling both actions into the same API call.
And once an opaque object for outputs is introduced you can pass it to swiftscan_cache_replay_compilation to formalize that the outputs must already be found and potentially simplify the work that the replay function needs to do.

Separating (1) from (2) provides flexibility on the client side for treating them as separate actions that can be recorded in the build log with their own timing info and executed potentially with different priority/scheduling. I would prefer to preserve that for swift as well instead of swiftscan_cache_query bundling both actions into the same API call.

Maybe. But isn't that more round trip to remote that just adds latency? Maybe query can return faster without download, but what do you do if query succeed but materialize failed? Isn't that the same as a miss?

But isn't that more round trip to remote that just adds latency?

Key/value queries are separated from CAS actions, both in the LLVMCAS APIs and the network protocols, there's no saving of latency in putting them behind one C API function instead of two.

Maybe query can return faster without download, but what do you do if query succeed but materialize failed? Isn't that the same as a miss?

Yes, the client should treat it as a miss (or not, it is up to the client, maybe in a more strict mode it prefers to fail if the CAS download was not found, that's the benefit of the additional flexibility and control) and it will be more transparent to the client what exact action failed.

Split queryCacheKey and loadObject into different API. Add a reserved field in replay function in case we want to add in the cache keys in the future.

@swift-ci please smoke test

@swift-ci please test

I'm a bit unclear on the intended design for the replay function. Currently it works by triggering a performFrontend that internally does the caching. IIUC that will replay all the cached compilations associated with that frontend job in the case of batch mode.  But if we have multiple keys for that and you have added one key parameter to the function for future use, won't you then need to make multiple calls to the same function?
I wonder if we should have a list of keys instead? I assume that even after you stop using performFrontend, you need to setup some state from the compiler arguments to do the replay.  That seems like something we want to avoid repeating multiple times for the same invocation if possible.

I'm a bit unclear on the intended design for the replay function. Currently it works by triggering a performFrontend that internally does the caching. IIUC that will replay all the cached compilations associated with that frontend job in the case of batch mode. But if we have multiple keys for that and you have added one key parameter to the function for future use, won't you then need to make multiple calls to the same function?
I wonder if we should have a list of keys instead? I assume that even after you stop using performFrontend, you need to setup some state from the compiler arguments to do the replay. That seems like something we want to avoid repeating multiple times for the same invocation if possible.

See my comment in the beginning. https://github.com/apple/swift/pull/68660#issuecomment-1728574118
The ideal situation is to replay from each key but the number of API required will grow significantly and might not be very stable. I was thinking if there are better way to communicate (like setup replay state from a JSON or a CAS object).

After offline discussion, we are going to revise the cache key structure and this patch will be updated with the new design in mind later.

Update the patch to using the new cache key schema and new C APIs.
Add a tool swift-scan-test that can be used to test libswiftscan C APIs.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

SwiftDriver side can be found at: https://github.com/apple/swift-driver/pull/1453

ping

Also rewrite the patch to split Caching related code from DependencyScanning related code in libSwiftScan implementation so the file gets smaller and easier to read.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test windows platform


feat(autocomplete): stories and fixes

General summary
In this PR, the following changes were introduced:

Autocomplete and AutocompleteMultiple stories
When we are using the AutocompleteMultiple, there is a necessity to just display the suggestions with the same size as the input. This implies two changes:

Tell the Autocomplete component that sometimes we want to anchor the suggestions to the input rather than the wrapper
useComputePosition ignored the hasParentWidth parameter when setting the minimum width for the dropdown. This PR changes that in order to ensure that the minimum width is not set when we want to have the same width as the parent

For the Autocomplete simple, we do not want to focus upon close, so we pass down a prop in order to signal that we do not want to apply the useFocusOnClose hook.
This is all configurable via props, so if we want the old behaviour, we certainly can !

Screenshots

Check list

[ ] (if has style) Add need: review-integration label
[ ] (if has textual documentation) Add need: review-doc label
[X] (if has code) Add need: review-frontend label
[ ] (if has react) Check through the react dev check list
[ ] (if fix or feature) Add need: test label

Check out the contribution guide for general guidelines for submissions to the design system.

Excellent, and storybook for testing seems so much better !
I watched a minor thing, when pressing "tab" we lose the keyboard interaction with arrow keys:

@FlorentDinet got it! will take a look at it right away :) thanks !

@FlorentDinet would you mind checking once more ? Thanks !

ok you locked tab key when suggestions are open, hardcore but effective 👍
not sure about accessibility though, but it's a good start.
👌 for me


Missing tailwind.css

Version
@nuxtjs/tailwindcss: "^3.4.2"
nuxt: "^2.14.12"
Reproduction Link
https://github.com/sduncan-mbt/tailwind-test
Steps to reproduce
npx create-nuxt-app tailwind-test
npm run dev
npx tailwindcss init
npm run dev
What is Expected?
tailwind.css file created under /assets/css
What is actually happening?
No File.
I've added images to the repo under /static/images that show the process I followed.

Yes, I ran the init as when I ran npm run dev I didn't get a tailwind.css file created, which is the expected behaviour. Yes?

Ok is this just a change in behaviour then as I just upgraded the version of npx create-nuxt-app I am using?
I went to https://tailwindcss.com/docs/guides/nuxtjs when I had issue and the section......
"Open the ./assets/css/tailwind.css file that Nuxt.js generates for you by default and use the @tailwind directive to include Tailwind's base, components, and utilities styles, replacing the original file contents:"
made me think this was still the expected behaviour.

+1 docs are not in sync to the current behavior. Tailwind.css is not created by default.

Weird, I've created tailwind.css file, but injected one used instead. How do I use my own tailwind.css?

@bdrtsky please see cssPath in module options and docs!

Also it seems if I put wrong path, it doesn't use it and no warning
tailwindcss: {
    cssPath: '~/assets/css/not-exist.css',
  },

my bad @ineshbose I've used this module with Nuxt theme, that's why it failed to resolve 🤦♂ I've fixed it with correct path


[Req]: contact edit

Contact Details
No response
Explain the proposed feature
when we type contact on command line it will be show soemthing like this.

Explain the possible use cases for the feature
No response
Any other details you would like to provide?
No response

that looks good but it's a part of GUI instead of CLI

that looks good but it's a part of GUI instead of CLI

Oh Okay


Is the iam-user available to c7n-mailer?

Quick question - particularly for events that were triggered from cloudtrail, is the username of the person who triggered the event exposed to c7n-mailer? Even if not available to c7n-mailer directly, is there a variable that I can pass through the notification subject?
I did try to read through the source before asking, I don't see a list of what interpolable variables exist, or a general way to reference items in the cloudwatch event structure from the policy statements.

it is available in the mailer, for event triggered lambda policies, we serialize the event and send it along with the resource to the mailer, its available as the event variable in the message template.


newOrder: support notAfter certificate validity

The ACME protocol supports requesting certificates with a certain validity as optional notAfter field in the call to the newOrder resource: https://tools.ietf.org/html/rfc8555#section-7.4. If unspecified, the issuing CA will decide on the validity.
I've been playing around with a private PKI (step-ca) and I'd like to issue shorter certificates if the clients choose to.
Do you think we should add support for this?

Sure, sounds good. At least notAfter should be easy to implement. notBefore would probably require some restructuring in how cert files are stored so I'd rather avoid that one for now.

I'm currently taking a stab at implementing this and I'm struggling to find a portable way of generating the RFC3339 timestamp required as notAfter.
Depending on the solution to the portable timestamp generation, I can think of the following configuration options:
# request the validity in day granularity
CERT_DAYS=7
CERT_DAYS=$((3 * 30))

# request the validity in hour granularity
CERT_HOURS=$((60 * 24))
CERT_HOURS=1440

# supply a date(1) parseable string
CERT_VALIDITY="10 days"
CERT_VALIDITY="30 minutes*

I think having it defined in days or hours would be the way to go. Way less parsing necessary and I don't really see the point to have validity to an exact minute. Personally I think having just days defined should be more than good enough.

Would be quite nice to have an error if the selected time span isn't possible (e.g. being higher than max age by the CA, or something weird like being <= 0)


wip: Prototyping == errors

Motivation

Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N84epfTyxg0vCL
→ https://go/builds/bui_N84ewEoIqsYorL

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N85gJP2Ay02DRL
→ https://go/builds/bui_N85gpmYACyfU4k

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N85pbrPPSFSMNn
→ https://go/builds/bui_N85pPRc1msK0Xh

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N85y5CANNd3P6O
→ https://go/builds/bui_N85z3dcdXlxgmS

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N86EL6JpyLLdaW
→ https://go/builds/bui_N86Ed3V44idPXU

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N86V0mQpXiX4V2
→ https://go/builds/bui_N86VdFd4FpmXt1

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N86qzdhcf4nPpa
→ https://go/builds/bui_N86qp0Z9gqvtrD

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N99ZY7uA0PsPtj
→ https://go/builds/bui_N99ZfbzYkaTICg

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N99mTNoD7cYybg
→ https://go/builds/bui_N99m9OnOHLNsu2


add BuildKit build template

Signed-off-by: Akihiro Suda<EMAIL_ADDRESS>cc @tonistiigi @vdemeester

/assign @mattmoor

Thanks for contributing this, I'm looking forward to having more Dockerfile-based options for build templates.
There's a couple things about this template that are unusual compared to other build templates, but that's not necessarily a bad thing, it's just different and worth spelling out in the README at least.

The build template assumes/requires that another service is also running on the cluster. That's not a deal-breaker, it's just not a model we've considered so far for build templates. All the ones we have today simply run some containers on the source and produce images directly from that source.

Though the builder service is rootless, it runs as privileged: true -- I assume this is a hard requirement, correct? Can you elaborate on why that container needs privilege, and maybe link to documentation about how it works behind the scenes, to address any concerns about this requirement?

I'm a bit concerned that we'd be requiring users to run an image on their cluster with privileged: true, that you (or an attacker) could push updates to at any time to take control over the cluster. Is there any way to mitigate that concern, possibly by recommending users build their own buildkit-rootless image from source, as we do with the buildah template?
Thanks again for this contribution, and I think we'll be able to find a way to accept it into the repo, I'd just like to know a bit more about how it all works and how best to ensure it's secure for users to install on their cluster.

/ok-to-test

The build template assumes/requires that another service is also running on the cluster. That's not a deal-breaker, it's just not a model we've considered so far for build templates. All the ones we have today simply run some containers on the source and produce images directly from that source.

Having daemons would be  useful for caching with (planned) cache-aware LB service.
We can also add @jessfraz 's img, which is daemonless version of BuildKit

Though the builder service is rootless, it runs as privileged: true -- I assume this is a hard requirement, correct? Can you elaborate on why that container needs privilege, and maybe link to documentation about how it works behind the scenes, to address any concerns about this requirement?

Because Kubernetes prior to v1.12 does not allow runc in the Buildkit container to mount /proc: https://blog.jessfraz.com/post/building-container-images-securely-on-kubernetes/
On Kubernetes v1.12 and later (with latest Docker/containerd/cri-o), securityContext.procMount could be used instead of securityContext.privileged. https://github.com/kubernetes/kubernetes/commit/39004e852bb523d0497343705ee2bf42b4e9c3e3

I'm a bit concerned that we'd be requiring users to run an image on their cluster with privileged: true, that you (or an attacker) could push updates to at any time to take control over the cluster. Is there any way to mitigate that concern, possibly by recommending users build their own buildkit-rootless image from source, as we do with the buildah template?

Added image digest (akihirosuda/buildkit-rootless:20181002@sha256:e3cecbae5c6a979ce11048fca95c33b223a057e8a56a6ab1002f8cc5ceef524f) so that the image won't be updated.
I also clarified how I built the image in the readme.

Updated the image to moby/buildkit:v0.3.1-rootless@sha256:2407cc7f24e154a7b699979c7ced886805cac67920169dcebcca9166493ee2b6.
The image is now automatically build on Travis: https://github.com/moby/buildkit/blob/867bcd343f06228862a33643ae16e55c6a1e5fdb/.travis.yml#L26-L31

/lgtm
/approve
Thanks for contributing this! 👍


tests, network: Extract service helpers to have their own package

In order to ease code structure and reusability,
create libnet/service package which includes
service spec creators.
Adapt network tests (services.go, vmi_istio.go) to use new package.
Replace strings with constants so it will be reusable.
Signed-off-by: Or Shoval<EMAIL_ADDRESS>None

/uncc @AlonaKaplan @kbidarkar

Thanks Edy
@AlonaKaplan can you take a look please?

/test pull-kubevirt-unit-test


404 when try to npm install. Need to be published?

npm install @canarise/snowpack-elsint-plugin
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@canarise%2fsnowpack-elsint-plugin - Not found
npm ERR! 404
npm ERR! 404  '@canarise/snowpack-elsint-plugin@*' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR!      C:\Users\john\AppData\Local\npm-cache\_logs\2021-03-21T09_57_58_694Z-debug.log

Hey Johnny, I just tried install the package and it appears to be fine. From the above those it looks like you have a typo in the install - it's @canarise/snowpack-eslint-plugin - the above log has elsint.

oh, I had just blindly copied from the readme. PR submitted to fix the type: https://github.com/leebeydoun/snowpack-eslint-plugin/compare/main...JohnnyFun:patch-1

Merged your PR, thanks for the fix.


Memory Error creating 1.000.000 records file

Bug report

What's wrong
First traceback:
Traceback (most recent call last):
File "multi1.py", line 43, in
mp_handler()
File "multi1.py", line 37, in mp_handler
line = generateCustomerData()
File "multi1.py", line 15, in generateCustomerData
personMimesisGenerator = Person('es')
File "C:\ProgramData\Anaconda3\lib\site-packages\mimesis\providers\person.py", line 38, in init
self.pull(self.datafile)
File "C:\ProgramData\Anaconda3\lib\site-packages\mimesis\providers\base.py", line 150, in pull
data = get_data(master_locale)
File "C:\ProgramData\Anaconda3\lib\site-packages\mimesis\providers\base.py", line 145, in get_data
return json.load(f)
File "C:\ProgramData\Anaconda3\lib\json_init.py", line 296, in load
return loads(fp.read(),
File "C:\ProgramData\Anaconda3\lib\codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
MemoryError
Second traceback:
Traceback (most recent call last):
File "multi1.py", line 43, in
mp_handler()
File "multi1.py", line 37, in mp_handler
line = generateCustomerData()
File "multi1.py", line 15, in generateCustomerData
personMimesisGenerator = Person('es')
File "C:\ProgramData\Anaconda3\lib\site-packages\mimesis\providers\person.py", line 38, in init
self.pull(self._datafile)
File "C:\ProgramData\Anaconda3\lib\site-packages\mimesis\providers\base.py", line 150, in pull
data = get_data(master_locale)
File "C:\ProgramData\Anaconda3\lib\site-packages\mimesis\providers\base.py", line 144, in get_data
with open(file_path, 'r', encoding='utf8') as f:
OSError: [Errno 22] Invalid argument: 'C:\ProgramData\Anaconda3\lib\site-packages\mimesis\data\es\person.json'
How is that should be
It should create the data without memory errors
System information
I am using python 3.6 on windows 10 core i7 7th gen (4 cores)

The script has a function and inside it the mimesis generator object was created. It needs to be outside in order to avoid unneccesary calls to create many instances of this objects.


HiveError('Not all bytes have been used.') in Hive.init()

Hi,
I thought I give hive a try. It worked well when I only stored one short string; But after storing a longer JSON String I get this exeption in line 144 of your frame.dart.
The string in questions is 1665544 characters long.
Btw: I tried first to store the map without converting to json, but when readin back I only got one long string.
I hope you can fix this.
Cheers
Thomas

Hi,
Thanks for using Hive.
Wow you are trying to store a massive String 😆
Currently Hive only supports Strings with a max length of 2^16-1 bytes. (see Limitations)
The reason why I limited the max String length is that most of the Strings will be much shorter than the limit. This way the length can be stored in two bytes which saves disk space and improves performance.
I'll try to think of a way support storing longer Strings while still maintaining the benefits for smaller strings.
What kind of map did you try to store?

But binary do you store with more bytes right?
Honestly forget to save 2 bytes per String, it doesn't make sense compared to other data on an SD card.
I tries to store the map that I get back from jaguar_serializer, but its a nested map if I think about it don't know if Hive can deal with that.
Cheers
Thomas

But binary do you store with more bytes right?

Currently not but I plan to change that. I need to run a few benchmarks before tho.

Honestly forget to save 2 bytes per String, it doesn't make sense compared to other data on an SD card.

Sorry I don't quite understand. Could you please rephrase that?

I tries to store the map that I get back from jaguar_serializer, but its a nested map if I think about it don't know if Hive can deal with that.

Nested maps should be no problem. But they have to be below 2^16-1 bytes.

Ah I guess that was the problem
I meant just use 4 bytes per entry. It really doesn't matter on todays phones

Yeah you are probably right. I'll change that with the next update. This means another breaking change of the binary format.
But I think nobody uses Hive in production yet...

The limitations have been removed with version 0.5.0.
But it seems like lazy boxes have a problem with very long lists. I'm working on a fix.


Minimum Deployment Target: iOS 13.4

I think these libraries are a bit out of date? They are using iOS 13.0, but in the latest packages we have 13.4 now.
  /Users/gold/github/node_modules/react-native-ios-utilities/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift:8:8 Compiling for iOS 13.0, but module 'ExpoModulesCore' has a minimum deployment target of iOS 13.4: /Users/gold/Library/Developer/Xcode/DerivedData/avezvxkyzxtmrpfbdhjsxddygqbd/Build/Products/Debug-iphonesimulator/ExpoModulesCore/ExpoModulesCore.framework/Modules/ExpoModulesCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule

I think you can set this version in your expo-build-properties config.

I think you can set this version in your expo-build-properties config.

I'm using RN bare flow...where do I put this? package.json?

I'm using the latest of everything. So, I'm guessing 13.4 is required by Expo Modules for a reason so, what I need is for the spec packages here to be bumped to 3.4 I think.

https://github.com/expo/expo/blob/main/packages/expo-modules-core/ExpoModulesCore.podspec#L28

If you’re using bare RN I assume you set the minimum deployment version in your pod spec.
With expo dev clients you set it in your config plugins in app.json