Diffusers

Will there be a version for diffusers?

The TransparentVAEDecoder is compatible with Diffusers, though the LoRA models may take some effort in translating keys.

@lachlan-nicholson how did you convert the weights to Lora format?

# init sdxl t2i original pipeline
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float32, use_safetensors=True
).to("cuda")

# load xl-lora weights
layer_lora_model = safetensors.torch.load_file("./layer_model/layer_xl_transparent_attn.safetensors")

# convert lora format to diffusers format
for key, value in list(layer_lora_model.items()):
    model_key, patch_type, weight_index = key.split('::')
    model_key = model_key.replace(".", "_")
    model_key = model_key.replace("diffusion_model", "lora_unet")
    model_key = model_key.replace("_weight", ".weight")
    if weight_index == "0":
        model_key = model_key.replace(".weight", ".lora_up.weight")
    else:
        model_key = model_key.replace(".weight", ".lora_down.weight")
    layer_lora_model[model_key] = layer_lora_model.pop(key)

# directly update weight in diffusers model
pipeline.load_lora_weights(layer_lora_model)

The TransparentVAEDecoder is compatible with Diffusers. Besides, you can convert the weights to Lora format like this:
init sdxl t2i original pipeline
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float32, use_safetensors=True
).to("cuda")
load xl-lora weights
layer_lora_model = safetensors.torch.load_file("./layer_model/layer_xl_transparent_attn.safetensors")
convert lora format to diffusers format
for key, value in list(layer_lora_model.items()):
model_key, patch_type, weight_index = key.split('::')
model_key = model_key.replace(".", "_")
model_key = model_key.replace("diffusion_model", "lora_unet")
model_key = model_key.replace("_weight", ".weight")
if weight_index == "0":
model_key = model_key.replace(".weight", ".lora_up.weight")
else:
model_key = model_key.replace(".weight", ".lora_down.weight")
layer_lora_model[model_key] = layer_lora_model.pop(key)
directly update weight in diffusers model
pipeline.load_lora_weights(layer_lora_model)

@arpitsahni04 Specifically for the core LoRA model (not the others which change layer sizes):
Diffusers have some support for converting SGM/Automatic/Kohya format loras to diffusers format.
This lora seemed to be a slightly different format which I handled with a few string replacements.
Specifically:
        k = k.replace("diffusion_model", "lora_unet")
        k = k.replace(".", "_")
        k = k.replace("_weight::lora::0", ".lora_up.weight")
        k = k.replace("_weight::lora::1", ".lora_down.weight")

@lachlan-nicholson
I don't think it's going to work. For example, despite having similar naming conventions, the first middle block layer has the name and shape of:
diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_k.weight::lora::0
torch.Size([1280, 256])
and the expected name and size of:
unet.mid_block.attentions.0.transformer_blocks.0.attn1.processor.to_k_lora.down.weight
torch.Size([4, 1280])
am I mistaken or is there some way to convert them?

@pin-lpt-heatherwick
I can confirm it does work.
Those shapes you shared are okay - the first is an up weight and the second is a down weight, so there shapes are transposed.
Lora-down-weights have shape [rank, dim] in this case [r, 1280].
As long as the up and down weights have the same rank, there shouldn't be any concerns.

@lachlan-nicholson Hello, sorry to bother you. May I ask if you know what the preprocessing of the input and output data in the TransparentVAEDecoder looks like, and whether the range of latents and images is -1 to 1 or 0-1 or something like that. I am not good at using WebUI

@lachlan-nicholson  Hey, My diffusers Implementation produces blurry images sometimes. were you able to replicate the quality with diffusers implementation ?

@arpitsahni04 Specifically for the core LoRA model (not the others which change layer sizes):
Diffusers have some support for converting SGM/Automatic/Kohya format loras to diffusers format. This lora seemed to be a slightly different format which I handled with a few string replacements.
Specifically:
        k = k.replace("diffusion_model", "lora_unet")
        k = k.replace(".", "_")
        k = k.replace("_weight::lora::0", ".lora_up.weight")
        k = k.replace("_weight::lora::1", ".lora_down.weight")

Do you mind sharing your code? I just wonder how you solve this issue. Thanks!

@arpitsahni04 Specifically for the core LoRA model (not the others which change layer sizes):
Diffusers have some support for converting SGM/Automatic/Kohya format loras to diffusers format. This lora seemed to be a slightly different format which I handled with a few string replacements.
Specifically:
        k = k.replace("diffusion_model", "lora_unet")
        k = k.replace(".", "_")
        k = k.replace("_weight::lora::0", ".lora_up.weight")
        k = k.replace("_weight::lora::1", ".lora_down.weight")

Hey @lachlan-nicholson did you try applying the lora weights on the SD1.5 variant as well(layer_sd15_transparent_attn.safetensors)?


VMWare Workstation and AWIPS 17.1.1

I seem to have a problem running AWIPS on vmWare Workstation. I can load products but they don't display. How do I mitigate this?

Likely an OpenGL support issue.  Perhaps look into https://github.com/Unidata/CloudAWIPS as an alternative.


bud 5.4.0

update to bud v5.4.0

uses @roots/eslint-config/sage
refactors resources/scripts boilerplate so dom and hmr events share the same entrypoint callback

last minute suggestions here: https://github.com/roots/sage/pull/2985. didn't want to mess up this greenlit branch.
regardless, looks good to me ✨


Combine status page and block explorer

Status page, separate explore makes it less efficient. As well as adding the revoke feature will be better in future transactions.

A project called MXC has actually built a dashboard into BlockScout's latest React-based UI. We just need to wait for the new UI to be open-sourced and do something similar.

Okay sir
Pada tanggal Sab, 20 Mei 2023 14.14, Daniel Wang @.***>
menulis:

[image: Screenshot 2023-05-20 at 14 25 47]
https://user-images.githubusercontent.com/99078276/239673571-f8fb63b7-c07d-408a-82f3-2fc3b9a6425b.png
A project called MXC has actually built a dashboard into BlockScout's
latest React-based UI. We just need to wait for the new UI to be
open-sourced and do something similar.
—
Reply to this email directly, view it on GitHub
https://github.com/taikoxyz/taiko-mono/issues/13710#issuecomment-1555767259,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALGOTPWOWLXMKJ5RM53ZB6TXHBVNXANCNFSM6AAAAAAXWU3RGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


syntax keyfilter in .Select

in the documentation of themethid it's written :
// Parameters:
//   keyFilter:
//     The key filter to apply when querying Azure App Configuration for key-values.
//     The characters asterisk (*), comma (,) and backslash () are reserved and must
//     be escaped using a backslash (). Built-in key filter options: Microsoft.Extensions.Configuration.AzureAppConfiguration.KeyFilter.
    still i see that mykeysprefix* works "as expected , with * as a wildcard

    what is the supported syntax for filters ?

mykeysprefix* will get you all keys that start with "mykeysprefix".
If you want the key with the name "mykeysprefix*", you will have to escape the asterisk like mykeysprefix\*

Thanks , as far as I can tell, there is no documentation /  samples on the query syntax

The API document can be found here:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.configuration.azureappconfiguration.azureappconfigurationoptions.select?view=azure-dotnet#microsoft-extensions-configuration-azureappconfiguration-azureappconfigurationoptions-select(system-string-system-string)
The same can also be found at REST API documentation
https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-key-value#filtering

@sabbadino I see how that could be confusing. At a glance it can make it seem that using '*' for wildcard is not allowed.
@zhenlan I think we may be able to change the wording on KeyFilter description to clear it up a bit.

That's exactly my point .
I think API documentation is more correct on the matter

We put out the following summary update to help alleviate the confusion: https://github.com/Azure/AppConfiguration-DotnetProvider/pull/313

rest API documentation
https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-key-value#filtering
also mention this

key=abc,xyz
Matches keys names abc or xyz (limited to 5 CSV)

I cannot see this mentioned in the update

Hello @sabbadino
You are right. Although I don't expect that usage much in the configuration provider which is used mostly for querying complete configuration sets. I'm wondering if maybe we should keep it excluded for simplicity?

I agree, i personally see real use cases for label filleting , but not for keys.. still ,if underlying API support it, just copy and paste rest API documentation :)

The new wording should help clarify the usage of '*' in the key filter. I don't think we want to update the summary to be anymore verbose given the expected usage. The label filter in the .NET provider does not allow commas. I believe key filter should be easier to understand now for users, I will go ahead and close this.


[ALLUXIO-1824] Add integration tests for GCS as UnderFileSystem

https://alluxio.atlassian.net/browse/ALLUXIO-1824

Test results with GCS:
chaomin$ mvn test -PgcsTest

T E S T S
Running alluxio.client.BufferedBlockInStreamIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.058 sec
Running alluxio.client.concurrent.FileInStreamConcurrencyIntegrationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.445 sec
Running alluxio.client.FileInStreamIntegrationTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.157 sec
Running alluxio.client.FileOutStreamAsyncWriteIntegrationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.408 sec
Running alluxio.client.FileOutStreamIntegrationTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 88.75 sec
Running alluxio.client.FileSystemIntegrationTest
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 194.571 sec
Running alluxio.client.FileSystemUtilsIntegrationTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.442 sec
Running alluxio.client.FreeAndDeleteIntegrationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.026 sec
Running alluxio.client.IsolatedFileSystemIntegrationTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 98.551 sec
Running alluxio.client.keyvalue.KeyValuePartitionIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.027 sec
Running alluxio.client.keyvalue.KeyValueSystemIntegrationTest
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.532 sec
Running alluxio.client.LocalBlockInStreamIntegrationTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.442 sec
Running alluxio.client.ReadOnlyMountIntegrationTest
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 149.68 sec
Running alluxio.client.RemoteBlockInStreamIntegrationTest
Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 481.113 sec
Running alluxio.client.UfsUtilsIntegrationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.596 sec
Running alluxio.hadoop.FileSystemAclIntegrationTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.995 sec
Running alluxio.hadoop.FileSystemBlockLocationIntegrationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.979 sec
Running alluxio.hadoop.FileSystemRenameIntegrationTest
Tests run: 11, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 15.047 sec
Running alluxio.hadoop.FileSystemStatisticsTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.044 sec
Running alluxio.hadoop.fs.DFSIOIntegrationTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.378 sec
Running alluxio.hadoop.HdfsFileInputStreamIntegrationTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.079 sec
Running alluxio.master.AlluxioMasterRestApiTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 sec
Running alluxio.master.block.BlockMasterClientRestApiTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec
Running alluxio.master.file.FileSystemMasterClientRestApiTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec
Running alluxio.master.file.FileSystemMasterIntegrationTest
Tests run: 35, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 527.778 sec
Running alluxio.master.FileSystemMasterClientIntegrationTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.29 sec
Running alluxio.master.JournalIntegrationTest
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 824.829 sec
Running alluxio.master.JournalShutdownIntegrationTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 35.636 sec
Running alluxio.master.lineage.LineageMasterClientRestApiTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec
Running alluxio.master.lineage.LineageMasterIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 81.602 sec
Running alluxio.master.MasterFaultToleranceIntegrationTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 114.506 sec
Running alluxio.master.PinIntegrationTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.466 sec
Running alluxio.master.ServiceSocketBindIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 57.335 sec
Running alluxio.network.protocol.RPCMessageIntegrationTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.026 sec
Running alluxio.security.BlockWorkerClientAuthenticationIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 57.805 sec
Running alluxio.security.ClusterInitializationTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 75.269 sec
Running alluxio.security.MasterClientAuthenticationIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 59.884 sec
Running alluxio.shell.AlluxioShellUtilsTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 44.006 sec
Running alluxio.shell.command.CatCommandTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 58.793 sec
Running alluxio.shell.command.ChgrpCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.36 sec
Running alluxio.shell.command.ChgrprCommandTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.8 sec
Running alluxio.shell.command.ChmodCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.113 sec
Running alluxio.shell.command.ChmodrCommandTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.563 sec
Running alluxio.shell.command.ChownCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.902 sec
Running alluxio.shell.command.ChownrCommandTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.968 sec
Running alluxio.shell.command.ComplexCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.271 sec
Running alluxio.shell.command.CopyFromLocalCommandTest
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 218.138 sec
Running alluxio.shell.command.CopyToLocalCommandTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 103.922 sec
Running alluxio.shell.command.CountCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.735 sec
Running alluxio.shell.command.DuCommandTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.207 sec
Running alluxio.shell.command.FileInfoCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.263 sec
Running alluxio.shell.command.FreeCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.387 sec
Running alluxio.shell.command.LoadCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.949 sec
Running alluxio.shell.command.LoadMetadataCommandTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.093 sec
Running alluxio.shell.command.LocationCommandTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.033 sec
Running alluxio.shell.command.LsCommandTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 88.123 sec
Running alluxio.shell.command.MkdirCommandTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 89.085 sec
Running alluxio.shell.command.MvCommandTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.049 sec
Running alluxio.shell.command.PersistCommandTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 56.949 sec
Running alluxio.shell.command.PinCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.39 sec
Running alluxio.shell.command.RmCommandTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 57.212 sec
Running alluxio.shell.command.RmrCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.602 sec
Running alluxio.shell.command.SetTtlCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.155 sec
Running alluxio.shell.command.TailCommandTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 75.368 sec
Running alluxio.shell.command.TouchCommandTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.009 sec
Running alluxio.shell.command.UnsetTtlTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.89 sec
Running alluxio.underfs.UnderStorageSystemInterfaceIntegrationTest
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 224.697 sec
Running alluxio.web.WebServerIntegrationTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.966 sec
Running alluxio.worker.AlluxioWorkerRestApiTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec
Running alluxio.worker.block.BlockWorkerClientRestApiTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec
Running alluxio.worker.block.meta.TieredStoreIntegrationTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 58.057 sec
Running alluxio.worker.BlockServiceHandlerIntegrationTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 146.527 sec
Running alluxio.worker.DataServerIntegrationTest
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 298.802 sec
Results :
Tests run: 370, Failures: 0, Errors: 0, Skipped: 9

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9197/
Test PASSed.

Merged build finished. Test PASSed.

LGTM

LGTM


Benchmark for TileDB and Hub added

For reproducibility I used a Google Colab environment with Hardware Acceleration set to None

@DebadityaPal Thanks a lot for posting it. I'll fetch the results :+1: and I'll see if everything is in order.

@DebadityaPal Thanks a lot for posting it. I'll fetch the results :+1: and I'll see if everything is in order.

I just realized, i missed compute() on the hub dataset calls. So I have added that, current results are
Dataset:  activeloop/mnist with Batch Size:  70000
Performance of TileDB
Batch 1 dt: 1.1255619525909424
Time: 1.1257479190826416s
Performance of Hub
Batch 1 dt: 1.1036744117736816
Time: 1.1043024063110352s
Dataset:  activeloop/mnist with Batch Size:  7000
Performance of TileDB
Batch 1 dt: 0.9032697677612305
Batch 2 dt: 1.0399649143218994
Batch 3 dt: 1.0450794696807861
Batch 4 dt: 1.0824565887451172
Batch 5 dt: 1.0563287734985352
Batch 6 dt: 1.0369079113006592
Batch 7 dt: 1.0990698337554932
Batch 8 dt: 1.0535051822662354
Batch 9 dt: 1.1018755435943604
Batch 10 dt: 1.0933120250701904
Time: 10.51236867904663s
Performance of Hub
Batch 1 dt: 0.8278625011444092
Batch 2 dt: 0.01743602752685547
Batch 3 dt: 0.016743183135986328
Batch 4 dt: 0.2736356258392334
Batch 5 dt: 0.016682863235473633
Batch 6 dt: 0.016436100006103516
Batch 7 dt: 0.21753954887390137
Batch 8 dt: 0.019435405731201172
Batch 9 dt: 0.019253969192504883
Batch 10 dt: 0.08768510818481445
Time: 1.5131916999816895s

I just realized, i missed compute() on the hub dataset calls. So I have added that, current results are
Dataset:  activeloop/mnist with Batch Size:  70000
Performance of TileDB
Batch 1 dt: 1.1255619525909424
Time: 1.1257479190826416s
Performance of Hub
Batch 1 dt: 1.1036744117736816
Time: 1.1043024063110352s
Dataset:  activeloop/mnist with Batch Size:  7000
Performance of TileDB
Batch 1 dt: 0.9032697677612305
Batch 2 dt: 1.0399649143218994
Batch 3 dt: 1.0450794696807861
Batch 4 dt: 1.0824565887451172
Batch 5 dt: 1.0563287734985352
Batch 6 dt: 1.0369079113006592
Batch 7 dt: 1.0990698337554932
Batch 8 dt: 1.0535051822662354
Batch 9 dt: 1.1018755435943604
Batch 10 dt: 1.0933120250701904
Time: 10.51236867904663s
Performance of Hub
Batch 1 dt: 0.8278625011444092
Batch 2 dt: 0.01743602752685547
Batch 3 dt: 0.016743183135986328
Batch 4 dt: 0.2736356258392334
Batch 5 dt: 0.016682863235473633
Batch 6 dt: 0.016436100006103516
Batch 7 dt: 0.21753954887390137
Batch 8 dt: 0.019435405731201172
Batch 9 dt: 0.019253969192504883
Batch 10 dt: 0.08768510818481445
Time: 1.5131916999816895s

@DebadityaPal Now it looks more realistic ;) Thanks!

@DebadityaPal Now it looks more realistic ;) Thanks!

@DebadityaPal just a clarification question: you are testing the performance of sequential read right?

@DebadityaPal just a clarification question: you are testing the performance of sequential read right?

Yes, these are sequential reads. Would you like me to submit a file with randomized reads as well?

Yes, these are sequential reads. Would you like me to submit a file with randomized reads as well?

@DebadityaPal Eventually - yes. At this moment, this is great and sufficient! It would be more useful for us if you focus on zarr for now as we spoke :) Great job! :100:

@DebadityaPal Eventually - yes. At this moment, this is great and sufficient! It would be more useful for us if you focus on zarr for now as we spoke :) Great job! :100:

@haiyangdeperci do you think these benchmarks are a bit unfair towards Hub because the TileDB data is stored locally whereas hub fetches the data from the cloud, thus creating overhead for cache misses? I modified this code to store both locally, hub performs significantly better in that case. Like, instead of
Time: 1.5131916999816895s
in the second task, it only takes
Time: 0.233504056930542s

@haiyangdeperci do you think these benchmarks are a bit unfair towards Hub because the TileDB data is stored locally whereas hub fetches the data from the cloud, thus creating overhead for cache misses? I modified this code to store both locally, hub performs significantly better in that case. Like, instead of
Time: 1.5131916999816895s
in the second task, it only takes
Time: 0.233504056930542s

@DebadityaPal I think it would be good for the benchmark to present both cases. We want to show that even if the data is fetched remotely Hub still outperforms TileDB

@DebadityaPal I think it would be good for the benchmark to present both cases. We want to show that even if the data is fetched remotely Hub still outperforms TileDB

Another thing that I noticed was the benchmarks for the cloud-stored hub dataset is a little inconsistent in the sense that it varies with variation in Internet Speed and Latency.

Another thing that I noticed was the benchmarks for the cloud-stored hub dataset is a little inconsistent in the sense that it varies with variation in Internet Speed and Latency.

@DebadityaPal That's a good observation. I'm running these benchmarks on a machine closer in location to hub's cloud so it is less of an issue but for the end user it may be significant.

@DebadityaPal That's a good observation. I'm running these benchmarks on a machine closer in location to hub's cloud so it is less of an issue but for the end user it may be significant.

@DebadityaPal Thanks again for the great work! I'll update the results.

@DebadityaPal Thanks again for the great work! I'll update the results.


Can not delete Aria2-RPC-Server

Describe the bug
After add an Aria2-RPC-Server， can not find any way to delete it
To Reproduce
Steps to reproduce the behavior:

click "Add RPC"
fill in and save
now you can't delete it

Expected behavior
may be there should be a delete button
Screenshots

Desktop (please complete the following information):

OS: windows11
Browser chrome
Version 114.0.5735.248

Thank you for your feedback.
A commit (680fa684807e39f989f6c1c40c2f5143b94a6f2f) has been made and is awaiting release.
Following this, you will be able to delete an RPC item by clearing its content and saving the configuration.


Fixes issue #1948 - Build fails when building in parallel

Fixes #1948
Initial work to allow the build run in parallel (mvn install -T8)

mvn install in parallel still fails due something related to Piranha Micro (Shrinkwrap) and the Maven build.
However, using mvn package -T8 should already improve the build times (it will skip some integration tests in this case)


Use Write-Host to write header and footer of graph

Using this module in my PowerShell script, the header and footer never show up (although testing it independently I can get it to work).  It seems that the header and footer are falling out of the pipeline and never make it to the output.  To be consistent with the way that Write-Graph works, we should output the header and footer using Write-Host also.

This PR is super old and stale.  I'm going to close it.  Feel free to open it back up if you would like.


sse4.1: added NEON impl for mm_dp_ps

icc tests are not running due to some problem which is not related to the patch, I will try rerunning tests at some later time, maybe it will work then


http://amranidev.me/scaffold-interface/docs is offline

No content on http://amranidev.me/scaffold-interface/docs

Hi @osthafen
Thanks for reporting
Cheers!!

The docs are located in : Docs

Thanks for opening this issue!!


do not process commented lines (beginning with #)

often use comment/remarked lines to skip processing of prompt elements.  extension seems to be processing entire prompt, ignoring delimiters.

Thx for reporting
Will try to fix it


Agent not found from API

Prerequisites

[X] I checked the documentation and found no answer to my problem
[X] I checked the existing issues and made sure there are no similar bug reports

Category
Bug (unexpected behavior)
Expected Behavior
After running a local agent where agentverse="https://agentverse.ai", querying https://agentverse.ai/v1/almanac/agents/{my-agent-address} should find my agent.
Observed Behavior
Querying https://agentverse.ai/v1/almanac/agents/{my-agent-address} returns:
{"detail":"agent not found"}
See reproducer below.
To Reproduce
from uagents import Agent, Context

bob = Agent(
    name="bob",
    seed="bob secret phrase 123",
    port=8005,
    endpoint="http://localhost:8005/submit",
    agentverse="https://agentverse.ai",
)

@bob.on_event("startup")
async def startup(ctx: Context):
    ctx.logger.info(f"uAgent name: {ctx.agent.name}")
    ctx.logger.info(f"uAgent address: {ctx.agent.address}")

if __name__ == "__main__":
    bob.run()

I run this script, it prints the following:
INFO:     [  bob]: Almanac registration is up to date!
INFO:     [  bob]: uAgent name: bob
INFO:     [  bob]: uAgent address: agent1qfdczw93363zmzp7cxxg5fr0j9sg8tmtrxnu67sfp3fz2dyzyv345ph3x2e
INFO:     [  bob]: Starting server on http://<IP_ADDRESS>:8005 (Press CTRL+C to quit)

Then I go to https://agentverse.ai/v1/almanac/agents/agent1qfdczw93363zmzp7cxxg5fr0j9sg8tmtrxnu67sfp3fz2dyzyv345ph3x2e but it doesn't find my agent. I also tried to wait for ~10 minutes, in case there are some delays, but it still returned the same message.
Version
main (627a8a5785ff4b4f545f9cae07fd40c1886a915d)
Environment Details (Optional)
No response
Failure Logs (Optional)
No response
Additional Information (Optional)
No response

The documentation is currently not up to date but what you are looking for is this.
See also example 11: link
Running an agent locally and using the agentverse property enables the mailbox service to be used as a proxy. This is useful when your agent is in an unstable network environment or when you don't want it to be online 24/7.
Agent to agent communication is done by using the agent address as a destination and that will be resolved internally and independently of its real endpoint.
The url that you are trying to connect to is only valid when hosting your agent in the Agentverse.

I hope that the problem is resolved now so I'll close this issue.
If you encounter the same or other errors feel free to open another Ticket here or in the Agentverse repo when it concerns something like the Agentverse API.


Catch all Exceptions

Hi, I want to catch all exceptions of your library.
I'm trying with:
except Exception as e:
but doesn't works. If I'm not wrong, there is no example in your repository.
What can I use?
Thank you and sorry for bothering you in these days.

Hi @giorizzotti ,
please post an example code. As well as this is a python related issue, I think you can search on stackoverflow for a better related answer.
The python way do accomplish what you want is:
try:
   # your code that raise exceptions
except:
   # bad way to manage exceptions
finally:
   # finally do what you want after the try block and eventually exception

I suggest to search on stackoverflow, here you will find a related question with many useful and detailed answers About catching ANY Exception


TypeScript definitions need "extend" functionality

Version
2.0.0
Reproduction
Regarding Extending styles:
// The Button from the last section without the interpolations
const Button = styled.button`
	color: palevioletred;
	font-size: 1em;
	margin: 1em;
	padding: 0.25em 1em;
	border: 2px solid palevioletred;
	border-radius: 3px;
`;

// We're extending Button with some extra styles
const TomatoButton = Button.extend`  // Error: TS2339:Property 'extend' does not exist on type 'ComponentClass<ThemedOuterStyledProps<HTMLProps<HTMLButtonElement>, any>>'.
	color: tomato;
	border-color: tomato;
`;

Please note the above error. It looks like the TypeScript definitions are out of sync with the v2 release.

They are currently being overhauled: https://github.com/styled-components/styled-components/pull/837
Now, like this issue here: https://github.com/styled-components/styled-components/issues/855
And like this one here: https://github.com/styled-components/styled-components/issues/867
So unfortunately I have to politely ask you to please search or the GitHub issues and PRs for previous stuff first, before opening an issue :wink: If you're unsure you can always send a message on Gitter :+1:


llvm build failure

Host Environment

OS: osx
Compiler: Apple clang version 13.0.0

To Reproduce
My cmake command looks like this:
cmake -G"CodeBlocks - Ninja" -DCMAKE_BUILD_TYPE=Debug -DVCPKG_MANIFEST_MODE=ON -DCMAKE_TOOLCHAIN_FILE=~/sources/vcpkg/scripts/buildsystems/vcpkg.cmake  .. .
The vcpkg.json in the source directory looks like this
{
  "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
  "name": "claw",
  "version": "0.0.1",
  "builtin-baseline" : "5a457b90d62744a5826a2e08771fff6cc384232d",
  "dependencies": [
    {
      "name": "llvm",
      "version>=": "13.0.0"
    }
  ]
}

All build outputs end up in the source directory rather than the intended build directory .

Thanks for posting this issue. Did you specify BUILD_DIR when building your project? Could you please provide your build command and output information.
Or your problem is build llvm failed? Because your issue title is llvm build failure. If you use manifest mode installed llvm failed, please also provide the error log file.

Hi @LilyWangLL you can see from my cmake command above that the build directory should be the current directory . but all the build artefacts end up in the source directory instead ... Something is stamping over my settings.
The title is wrong, my apologies the build does succeed with the build artefacts in the wrong location.

If you want to pass both source and build directory, you need to use -S and -B:
https://cmake.org/cmake/help/latest/manual/cmake.1.html

@owenarn Yes,you can use the references provided by dg0yt, the following is my sample project.
All my build files are output to the current directory .(build)
vcpkg@VCPKGMM-12 build % cmake.exe  -G"CodeBlocks - Ninja" -B . -DCMAKE_BUILD_TYPE=Debug -DVCPKG_MANIFEST_MODE=ON -DCMAKE_TOOLCHAIN_FILE=/Users/vcpkg/test/vcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake ..
-- Running vcpkg install
Detecting compiler hash for triplet x64-osx...
The following packages will be built and installed:
    jsoncpp[core]:x64-osx -> 1.9.5
  * vcpkg-cmake[core]:x64-osx -> 2022-01-19
  * vcpkg-cmake-config[core]:x64-osx -> 2022-02-06
Additional packages (*) will be modified to complete this operation.
Restored 3 packages from /Users/vcpkg/.cache/vcpkg/archives in 59.27 ms. Use --debug to see more details.
Starting package 1/3: vcpkg-cmake-config:x64-osx
Installing package vcpkg-cmake-config[core]:x64-osx...
Elapsed time for package vcpkg-cmake-config:x64-osx: 3.951 ms
Starting package 2/3: vcpkg-cmake:x64-osx
Installing package vcpkg-cmake[core]:x64-osx...
Elapsed time for package vcpkg-cmake:x64-osx: 4.878 ms
Starting package 3/3: jsoncpp:x64-osx
Installing package jsoncpp[core]:x64-osx...
Elapsed time for package jsoncpp:x64-osx: 21.38 ms

Total elapsed time: 1.516 s

The package jsoncpp provides CMake targets:

    find_package(jsoncpp CONFIG REQUIRED)
    target_link_libraries(main PRIVATE jsoncpp_object jsoncpp_static JsonCpp::JsonCpp)

-- Running vcpkg install - done
-- The C compiler identification is AppleClang <IP_ADDRESS>50022
-- The CXX compiler identification is AppleClang <IP_ADDRESS>50022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/vcpkg/test/test/build
vcpkg@VCPKGMM-12 build % ls
CMakeCache.txt                  CMakeFiles                      build.ninja                     cmake_install.cmake             test.cbp                        vcpkg-manifest-install.log      vcpkg_installed
vcpkg@VCPKGMM-12 build %

Thank you for your input. I can confirm that explicitly providing -S and -B works but relying on positional arguments does not. I consider this issued resolved.


Make ranking table punchier

Perhaps add conditional formatting to the percent change column?
It should be obvious at a glance what the purpose of the table is and what it is trying to communicate.
Perhaps also highlight / snap to the selected county if it exists in the table.

Some ideas:

Pandas Styler: https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html
Posit's great_tables package: https://posit-dev.github.io/great-tables/articles/intro.html

I also posted the question on the streamlit forum: https://discuss.streamlit.io/t/best-way-to-style-tables-in-streamlit/70717


Refactor functional testing to improve resiliency and simplify addition of new tests

Refactoring monolithic component functional testing to remove dependency on Gulp and improve overall functionality. Proposing change for N+1 release with improvements to existing test occurring in parallel to ensure coverage and quality in existing code.
Intent

Simplify Mocha test structure allowing new tests to be added with minimal overhead.
Improve logging
Create a better end to end dev inner-loop experience, improving local testing and debugging

Something to note: The code does have debug output to make it easier to track at a more verbose level as needed.
To enable it we simply need to set an environment variable to ensure output is always visible.
DEBUG = taskTest:*
DEBUG_COLORS = 1
Colors make it far easier to identify from which module the logs are generated. I did not want to modify the PR workflow in this branch and PR to keep the scope down to just adding the new test setup.


Excessive memory consumption

Hello. Thanks for the cool package.
We use it in a large project. After upgrading from 0.1.21, memory consumption vastly increased from 1.5 GB to 4.09 GB. The first problematic version is 0.1.22, 0.1.27 has the same problem. I really upgraded just this single package, nothing more.

Hey. Could you give us a example which reproduces the problem?

@maryo please test the latest release.

pushed another release with a fix. please give it a try and report back when the problem is still reproducible

https://github.com/staabm/phpstan-todo-by/releases/tag/0.1.31 should fix it


Check at runtime if data to be filtered is an array

Recreated with code
diff --git a/packages/legacy/src/queries/vms.ts b/packages/legacy/src/queries/vms.ts
index 0198788..c8777c8 100644
--- a/packages/legacy/src/queries/vms.ts
+++ b/packages/legacy/src/queries/vms.ts
@@ -52,7 +52,10 @@ export const indexVMs = (vms: SourceVM[]): IndexedSourceVMs => {
 export const useSourceVMsQuery = (
   provider: SourceInventoryProvider | null
 ): UseQueryResult<IndexedSourceVMs> => {
-  const indexVmsCallback = React.useCallback((data) => indexVMs(data), []);
+  const indexVmsCallback = React.useCallback(
+    (data) => indexVMs('foo' as unknown as SourceVM[]),
+    []
+  );
   let mockVMs: SourceVM[] = [];
   if (provider?.type === 'vsphere') mockVMs = MOCK_VMWARE_VMS;
   if (provider?.type === 'ovirt') mockVMs = MOCK_RHV_VMS;

Before

After

Ref: https://github.com/kubev2v/forklift-console-plugin/issues/273


Better example for custom Icons for AppBar

Overview
Some icons for the AppBar instead of the generic ObjectCollectionScatter, to look a bit more like the version from the Holograms app
Changes

Fixes: #2310 .

@cre8ivepark should review the look of these new icons

Thanks! @brean We were not able to include icon glyph font files and images of the glyphs since we cannot publish them in the open-source projects. (font license/design patent issue).
We provide HoloLens MDL font from Dev Center with proper EULA file. Developers can manually import into Unity and generate the texture from this font file.
https://docs.microsoft.com/en-us/windows/uwp/design/downloads/
I agree that we need better documentation for this & tools. (something that can automatically generate icon texture from the font file - we had this feature in MixedRealityDesignLabs. Needs porting work)
I'll clone your repo and check out your icon design today. Thank you!
Yoon

@cre8ivepark if we were to generate the icons with a tool like TextMeshPro without including the source font itself, would that satisfy the licensing constraints?
The end result would just be a texture.

@brean I checked out the design. Since your design is very close to the original design, I think it would be better to just use the original design from HoloLens MDL font. I'll apply the updated texture to your repository this weekend. Thanks!

@brean , I applied changes to your repository:

Updated textures to the original design.
Changed the location of the textures to existing HoloToolkit/UX/Textures/Icons. Textures under HoloToolkit-Examples folder will break the app bar when the user doesn't have HoloToolkit-Examples folder.
Removed SVG files. People can use existing icon texture (512x512) png file and HoloLens MDL font as a template.
Updated icon font material to use emission color. (icon was shaded depending on the direction, by the lighting condition)


use sockets to provide a stream of application state updates to client

After some thought I decided the best way to provide a "live" experience to clients would be to send a stream of application state updates using socket.io.
I initially thought that I could simply forward the stream of midi data but quickly realized that this would allow clients to become out of sync more easily (ex: if clients joined at different times). Since the overall state of the application at any given point in time can be described as a function of the local time and the state variables themselves, a stream of state variable updates would ensure maximum synchronicity across clients.
implementation details have not been planned. more to come.

thinking out loud here.
I need to take an inventory of which state variables are actually used to dictate element positioning.
For the host:

Midi events will update local state variables. When one of the above mentioned varaibles is updated, it will be broadcasted via socket.
May need to re-assess how the above mentioned variables are assigned? I think some are currently updated on the fly when various update methods are called. May not be a problem but something to think about.

For the other clients:

Listen to socket for updates the the aforementioned state variables.


Tables don't keep their links when the query restarts

When I rerun a query, the tables lose their links. This is also relevant for Dropdown Filters
Steps to reproduce

Write a script that creates some tables
Run the script. Link between the two tables using Linker or DropdownFilter
rerun the script

I would expect the tables to stay linked
A clear and concise description of what you expected to happen.
They do not stay linked
Here is a video I recorded of this behavior
Linkerbug.mov.zip
Versions

Deephaven: 0.11.2
OS: macOS Mojave 10.14.5
Browser: chrome
Docker: Docker version 20.10.8, build 3967b7d

Related DHE ticket: Variable reuse does not save column order


Need help for using eager

I'm trying Objection.js, everything works pretty nice except the eager, I can't make it works. It's in a simple User/Post configuration. So this is my post model:
class Post extends Model {
    static get tableName() {
        return 'posts';
    }

    static get relationMappings() {
        const User = require('./User');

        return {
            author: {
                relation: Model.BelongsToOneRelation,
                modelClass: User,
                join: {
                    from: 'posts.author_id',
                    to: 'users.id'
                }
            }
        };
    };
}

And this is my controller:
exports.show = function (req, res) {
    Post.query()
        .eager('author') // Load the user
        .findById(req.params.post_id)
        .then(post => {
            if (!post)
                res.json({code: 23});
            else
                res.json(post);
        })
        .catch(err => {
            res.json({code: 31, message: err.sqlMessage});
        });
};

All I get is {code: 31} 😞. Can someone help me?

eager-loading definitely works, so there's something else wrong here.
Could you create a minimal reproducible example?
Also, can you add .debug() to your query and post whatever gets outputted in stdout?

If you don't have time to create a reproducible example, please at least provide the error message and .debug() output as @fl0w  suggested.
There is no way for us to help you without any information about what failed. As @fl0w mentioned, this not the case of eager being broken. It is being successfully used by hundreds of people and it has hundreds of tests that I run daily.

I never said it was a problem due to the eager function, it's just I didn't understood how to use it ! 😉
I found the problem, I forggot a module.exports = Group in another model used by the user.

Great that you found the problem. If someone opens an issue and provides no error messages or stack traces and very little code I easily think that they are assuming the problem is in objection and not in their code. I assume their reasoning is something like "he/she can easily reproduce the error by running this one line of code" 😄.
I'm always happy to help out but in the future please provide possible error messages, .debug() outputs and anything you think could be relevant or could help other people to figure out what's happening.


Unknown function: requirements#shebang

Hi,
I seem to be getting an error related to the latest commit, specifically this change: https://github.com/raimon49/requirements.txt.vim/commit/065c3e13da77040e6a3df8002c9fdc9b1fb63cd2#diff-5152a459f9b30504e4d1dcbbd06ed6d475cbc342c4176f1fb2a83790e22cf240
I've reverted to an older commit to now and it works.
Thanks!

Can you provide a minimal vimrc to reproduce this bug? I cannot reproduce it.

Similar with #38.


Where did you get access keys?

Where do LCSC_KEY and LCSC_SECRET come from?

Duplicate to https://github.com/yaqwsx/jlcparts/issues/61
How did you contact them though?

Via e-mail after they forced me to shut-down the service: https://blog.honzamrazek.cz/2022/03/jlcparts-rising-from-the-ashes/


Converter tool to generate _more_tags dicts from __sklearn_tags__ outputs?

In the context of:

https://github.com/sklearn-compat/sklearn-compat?tab=readme-ov-file#tags-__sklearn_tags__-and-estimator-tags

I think we could offer more tooling to avoid having to redundantly define the tags objects and the tag dicts.

The idea is to write estimators compatible with the latest version as much as possible. However, in this case, if we want users to only define __sklearn_tags__, then we need to backport tags to previous sklearn versions, which we're not gonna do.

I actually slightly thought about it before that @adrinjalali brought the layer of compatibility with this pattern:
class MyEstimator(BaseEstimator):
    def _more_tags(self):
        return {"non_deterministic": True, "poor_score": True}

    def __sklearn_tags__(self):
        tags = super().__sklearn_tags__()
        tags.non_deterministic = True
        tags.regressor_tags.poor_score = True
        return tags

If we don't want _more_tags, then we need to have something magical to at runtime create the _more_tags from the __sklearn_tags__ for the older versions. I could not think of a simple enough solution that would be worth and replace the redundant code: in general a user will already have _more_tags defined so there is only the need to write the __sklearn_tags__.
So I find it quite simple to just live with both definition. Something that I could potentially useful would be a small function to generate how to write my __sklearn_tags__ function from the previous _more_tags without to have to find the correspondence:
from sklearn_compat.utils import generate__sklearn_tags__

code = generate__sklearn_tags__(estimator)
print(code)

I don't think writing __sklearn_tags__ is complex enough to warrant a function to generate its values. We can have sth like this, but it's not easy to implement and not fool-proof, so I rather not go down that path:
class MyEstimator(BaseEstimator):
    def _more_tags(self):
        return {"non_deterministic": True, "poor_score": True}

    def __sklearn_tags__(self):
        return from_old_tags(self)

It is true that the round trip is not fool-proof with the xfail. Maybe, we could expose the from_old_tags just that people can introspect the different object types but not go further than that.

Implementing those few lines of __sklearn_tags__ is not that hard. People should be able to look at their code and see if their tags are the same. And the common tests of different sklearn versions rely on the tags anyway, so they're tested.

Maybe it's not worth the extra complexity. Feel free to close.


Update existing background check

This check should be updated to reflect the generalization to a single background file.

Agreed, and we should probably do a check to ensure that the t0 and duration of the file match whatever expectations were specified as arguments to the function.


Submission #4 [No bitwise tricks yet; 5th place on leaderboard in local testing using evaluate2.sh]

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[x] Execution time of reference implementation: 89.5s
[x] Machine specs: Ryzen 7950X 16 core, 128 GB RAM

5th place on Leaderboard as reported by evaluate2.sh run on the top 10 entries

#
Result (m:s.ms)
Implementation
JDK
Submitter
Notes

1
00:01.531
link
21.0.1-graal
Thomas Wuerthinger
GraalVM native binary

2
00:01.794
link
21.0.1-graal
Roy van Rijn

3
00:01.956
link
21.0.1-open
Quan Anh Mai

00:02.346
link
21.0.1-graal
Elliot Barlas

00:02.673
link
21.0.1-graal
Subrahmanyam

00:02.689
link
21.0.1-open
Olivier Bourgain

00:02.785
link
21.0.1-open
Algirdas Ra__ius

00:02.926
link
21.0.1-open
Jamie Stansfield

00:02.928
link
21.0.1-graal
Artsiom Korzun

00:02.932
link
21.0.1-graal
Sam Pullara

@royvanrijn, @artsiomkorzun, @merykitty, in case anyone has input on this one, a look from yours on this one would be appreciated. Thx!

Updated with documentation on the approach. Local testing suggests this will be #13 on the leaderboard as of this point.
PS: Not sure I am doing it right with the github branches (github noob). Hope I didn't cause additional work.

Hey, sorry for the delay here. Could you please rebase this to latest main and squash everything into one commit? Thx!

Nevermind, I actually can do that myself. 00:05.530 on the eval machine, very nice. Loving the commenting, too!

Thank you! Appreciate the contest and bringing the community together. Well done.


Bug: boolean value in response is 'True' when using property 'lenient_str_comparison = true'

Already solved with #48. Will be in next Version.


[platform_web] emscripten_set_main_loop_timing when building the game for web

I am trying to build this example for web with emscripten and it's compiling fine. But when I open the html file I get this error
emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.
But the main functions contains a call to the emscripten_set_main_loop
InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window");
emscripten_set_main_loop(UpdateDrawFrame, 30, 1);
CloseWindow();

I am using
OS: Mac OS Mojave 10.14.2
Raylib: Version 2.0
Emscripten Version 1.38.21
Please help! I must be missing something.

 It should be defined manually...
In any case, I'm testing several things on web right now and I'll take a closer look.

Just tried with latest raylib version and it works ok for me. Be careful with space between -D $(PLATFORM), it should be -DPLATFORM_WEB or just try #define PLATFORM_WEB at the beggining of the code file, to make sure it picks the define.

@tahmidsadik112 Did you try recompiling latest raylib version from GitHub?

Just tested it again to make sure it works. Closing this issue.

Ok, I think I didn't understood this issue first time. The issue does not block web example from running (or it shouldn't) it's only a kind-of-warning because we are trying to change timming behaviour before emscripten_set_main_loop.
Issue corrected on commit https://github.com/raysan5/raylib/commit/0bacc978c39a234da4a2b73ce3cb5b43e072a103.


Cross-browser IE/FF compatibility issues

Nice interfaces!
I know that everything looks just flawlessly in Chrome,
but here are several IE/FF cross-browser compatibility issues I've found that could be useful to know about:
Dropdown elements
IE11:

Firefox:

Scrolling elements
IE11:

Firefox:

"Create a rule" page
No autocomplete for "Action name" in IE11:

Thanks!

Thanks for report!
I have to admit, we haven't tested it for IE at all and I'm not sure if we're going to do it anytime soon.
As for Firefox, seems like core team is not going to implement scroll customization on their side (https://bugzilla.mozilla.org/show_bug.cgi?id=77790, 14 years!) and the only way for us to deal with the problem is to recreate scrolling behavior in JS. We have this task in backlog, but as with IE, this is not a priority at the moment. Interestingly enough, Firefox on OSX with retina has another type of scrolls that look very much as the one we're using. May be by the time we get to that, it would become default style in every version.
The fact that select doesn't hide the button in windows version of Firefox (works in OSX) is interesting and requires additional investigation.

This one is partly resolved by @alex-shnayder (custom scrolls mostly work in Firefox with a polyfill afaik—at least where they can), dropdowns also aren't a problem in the most recent version. Closing.


Revert "Add Official Gradle Wrapper Validation Action (#2646)"

This reverts commit 0fd5f33dd8e139a5bafbf811804741670824d55a.
As stated by @sambsnyd, this is part of our base CI and it is not needed to have it as a separate workflow

@sambsnyd, I believe that this is already a part of the default workflow via the gh-automation repository. Unless I'm missing something?
https://github.com/openrewrite/gh-automation/blob/main/.github/workflows/ci-gradle.yml#L59

Closes #2656

Confirmed; also present in logs without this file.


DLScript module

This is a first version of the DLScript module. It's fully usable, a few things need to be worked on though.
Most notably the editor integration is disabled by default because it's not that useful without in-editor reloading of libraries. I'll create a patch for that soon.
(If you want to use the editor features without reloading, you have to uncomment line 42 in module/dlscript/dlscript.h)
Some parts of the wrapper API are incomplete, adding those is a very easy (junior-job maybe?).

that's awesome. how hard would it be to compile for 2.2? does the "api
generator" have to run?
On 3 April 2017 at 11:17, Thomas Herzog<EMAIL_ADDRESS>wrote:

This is a first version of the DLScript module. It's fully usable, a few
things need to be worked on though.
Most notably the editor integration is disabled by default because it's
not that useful without in-editor reloading of libraries. I'll create a
patch for that soon.
(If you want to use the editor features without reloading, you have to
uncomment line 42 in module/dlscript/dlscript.h)
Some parts of the wrapper API are incomplete, adding those is a very easy
(junior-job maybe?).

Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/8246, or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPaRbqxI-sGBi4aC2iUmiRvvzP81Kks5rsP-WgaJpZM4Mxmfo
.

For 2.2 a few ClassDB related things have to be changed, otherwise it should work fine.
The API generator is only important for creating bindings. So no, you don't need to run it.
The API generator generates a JSON file that other programs can use to create bindings for different languages. For example this Rust program that generates a C++ API

A little off topic. Do you want to do a short low effort youtube video. Showing how to use it from creating the library to writing a little script.

@toger5 I wanted to write a blog post when it's merged. I don't like videos that much


fix(parseQueryString): do not remove '+' from query

fixes #30

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

Closing as not working as the standard


Form > MUI Upload > Multiple = true > Error when select file

using version 0.5.6
for MUI upload component if multiple = true the following error occurs when select a file
2attachment.js:1 Uncaught ReferenceError: React is not defined
    at lt (attachment.js:1:1)
    at renderWithHooks (react-dom.development.js:16305:1)
    at mountIndeterminateComponent (react-dom.development.js:20074:1)
    at beginWork (react-dom.development.js:21587:1)
    at HTMLUnknownElement.callCallback (react-dom.development.js:4164:1)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:4213:1)
    at invokeGuardedCallback (react-dom.development.js:4277:1)
    at beginWork$1 (react-dom.development.js:27451:1)
    at performUnitOfWork (react-dom.development.js:26557:1)
    at workLoopSync (react-dom.development.js:26466:1)

reproduced here https://codesandbox.io/p/sandbox/trusting-bird-z5w85g?file=%2Fform.js%3A20%2C9

Fixed in 0.5.7 (I'll fix the missing font family problem in the next release)
Thanks for the feedback


Removed default cursor over buddies

Fixes #2566

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

src/generic_ui/polymer/contact.html, line 138 [r1] (raw file):

    <div tabindex='-1'
        class='nameRow frame {{ (isOnline || contact.status!=UserStatus.FRIEND) ? "online" : "offline" }} {{ contact.status==UserStatus.REMOTE_INVITED_BY_LOCAL ? "" : "expandable" }} {{ contact.status!=UserStatus.REMOTE_INVITED_BY_LOCAL ? "" : "notExpandable" }}'

Can you do me a quick favor and reply to this comment with a plain-English version of the logic in this string?  Thanks.

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion.

src/generic_ui/polymer/contact.html, line 138 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> Can you do me a quick favor and reply to this comment with a plain-English version of the logic in this string?  Thanks.

Assign the class nameRow and frame to the div. Assign the class online if isOnline or if if the contact is not a friend. If !isOnline and contact is a friend, assign class offline. Also, if contact was invited by local, assign class notExpandable, else, assign   class expandable

Comments from Reviewable

:thumbsup: now!

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

src/generic_ui/polymer/contact.html, line 138 [r1] (raw file):
Previously, Elewis97 wrote…
> Assign the class nameRow and frame to the div. Assign the class online if isOnline or if if the contact is not a friend. If !isOnline and contact is a friend, assign class offline. Also, if contact was invited by local, assign class notExpandable, else, assign   class expandable

Much better now :)

Comments from Reviewable


mongosh command instead of mongo

mongo command is deprecated as of MongoDB v5.0, and it is replaced with mongosh; see Deprecations - Compatibility Changes in MongoDB 5.0 - MongoDB Manual v7.0. The mongo command is not available in the current latest version (7.0.11).

Ops! Didn't notice the better PR #27; closing.


Bump Edition to 2018

What would you think of bumping the edition for this from its current, default, 2015 to the latest 2018?
This will require a few, hopefully minor, source code changes which I am willing (and I believe able) to tackle after completing #29, assuming you think this is worthwhile.

I am all for it! I would bet that this will be auto-fixable by Cargo.

Very cool!  I did try just bumping the edition to allow me to use some specific techniques in #29 ; but, as you might have guessed, that caused more issues than it resolved.  I'll tackle this as time permits if no one else does it first.

I ended up doing it myself in the same go as implementing the XML dumping tool :)


Add a reference to the birthday gift on the front page

As a visitor falls into our website, www.whichost.com, he will see what we offer, but nowhere we are showing clearly any other benefits, especially our birthday gift.

Our memory is very fragile, and we forget easily. It's only by repetition that we learn (that's how we learned that 2+2=4 in the early days of our lives, by repetition, by calculating it thousands of times).
To get to the information on our birthday gift, users have to scroll all the way down to our footer, to the bottom of our footer and click on "Deals for you". I believe we can all agree that we are not doing a great job of showcasing our birthday gift.
The purpose of posting this issue is for us to find a proper UX way to showcase our birthday gift to our users, as soon as they fall into www.whichost.com. So they will see it every time they visit us, therefore repetition.
Below is a simple idea to address this (that does not involve complicated coding):

Between the line "Find and book pubs..." and our big CTA "Browse pubs", we put a text line that says:
"Booking for your birthday? We have a gift for you!" Where the phrase "We have a gift for you!" is hyperlinked to the birthday deal page.
😄 👍

We’ll do that and we will also have to put it somewhere else too on the main page. I suggest two big pictures next to each other. One about the Birthday Deal and one about the Employees Benefit.
Let’s talk about it on Friday 😉

Added to be pushed to master this week.
Let's push the text improvement and afterwards, we can work on the section inside the main page with one image per benefit to promote them.
Thanks 👍

@buckwierd Could you style those two lines? They are in src/components/SectionHero/SectionHero.js
     <h2 className={css.temporaryOffer}>
      <FormattedMessage id="SectionHero.temporaryOffer" />
				<NamedLink
					name="BirthdayDealPage"
					className={css.temporaryOfferLink}
				>
					<FormattedMessage id="SectionHero.temporaryOfferLink" />
				</NamedLink>
    </h2>

In the corresponding CSS, you'll see classes .temporaryOffer and .temporaryOfferLink, I cannot find a way to make it look like the picture.

Started.

Done. Pull request will follow.

@lcoenen I've created a pull request for this but I'm not sure you received it. Creating a pull request looks pretty confusing for me. Inc ase the pull request went wrong, I've pushed the change over set-up-deal-pages.

Approved in staging 👍🏼

Approved in staging 👍


add change to a random background script

#99

anyone have windows machine please review this code

@ShivSt Thanks for the review 👍🏾 ,
Didnt know about that, I will work on it 😃

Thanks @ShivSt for review the code

:smile:

@chavarera  All the changes are fixed 😄 .
Now the user can enter windows version and the background will be changed.

@ShivSt
Please Review the code if possible. 🙏🏾
😄

@kana800 it should work. But, most often than not user don't know which version of windows they are using. So, it will be better to provide that automatically by checking system configuration.
User should just click on the script and bg should change.

@ShivSt  I am not familiar with windows so I had a some tough time testing this script out.
Thanks again for the review! 😄  🙏🏾
Really appreciate it !
I think everything should workout fine now

good work @kana800  so i am merging this pull request in next version you can add auto version detect code or i will asign this issue to someone who is interested in it


'Query variables' is not expandable by clicking on it in Chrome Canary.

Browser: Google Chrome
Version 49.0.2617.0 canary (64-bit)
OS: Win 10
Problem: 'QUERY VARIABLES' tab is not expandable by clicking on it.
It might be browser problem..
Also tested in Firefox Nightly 46.0a1, everything good there.

Thanks for the report - I took a look and it seems like EditorBar component's clientHeight is being incorrectly calculated during mousemove event. I'm investigating as to why this happens.

@asiandrummer Keep in mind this may be a bug with Canary - if so we could report an issue to Chrome (https://code.google.com/p/chromium/issues/list).
GraphiQL only strive to support the latest release version of major browsers, not nightly or pre-release builds which can often have their own bugs.

@leebyron good point - I was browsing through the issue list the other day and couldn't find anything. I'll open an issue with them, see if we can progress with that.

I tried to reproduce this and the issue seems to have gone away - I'll close this for now. Let us know if this happens again!


feat(css_parser): better handling for Dimensions

Summary
#268. Closes #1370.
CSS Dimensions (and percentages) are pretty straightforward, but also complicated to deal with in Biome/Rowan's token system. Tokens here are all lightweight, direct representations of a string of text, which is great for efficiency, but limits how much information can be stored in them (also a good thing most of the time!). Dimensions and percentages, however, rely on a bit of additional context to be parsed correctly.
<dimension-token>: Spec: https://drafts.csswg.org/css-syntax-3/#dimension-token-diagram
A <dimension-token> is a singular token that consists of a number immediately followed by an identifier (as shown in the railroad diagram in the link). No whitespace is allowed. The spec also calls out that for a <dimension>, it must be a "unit identifier", but does not define what a unit identifier actually is. For this reason, most parsers seem to treat <dimension> exactly like <dimension-token> (which the spec says is correct) and just allow any identifier, where the result of parsing is either a "regular" dimension for known unit values, or an "unknown" dimension otherwise.
While lexing a number and an identifier is easy enough, the restriction on whitespace presents a problem when the rest of the grammar effectively ignores whitespace. One possibility is to use a new LexContext when attempting to lex a dimension versus a number, but then if there's a failure, the lexer has to re-lex the token, and knowing when to attempt a dimension and when to stop at the end of the number is very difficult to thread through without duplicating work. It's also not really correct, either! It would be invalid to parse a number and an identifier with no whitespace between them as anything other than a dimension, because that is the syntax definition.
So we always want to parse the entirety of the dimension token together, but we also still want to know which part of the token is the number and which part is the unit. And this is where it gets complicated. In other parsers, they handle this by just creating a Dimension token that has multiple fields. One for the number and one for the unit. Servo's rust-cssparser does exactly this, for example. But with Rowan, we are limited to just tracking the raw text of the token and can't add fields to it all willy-nilly.
What do we do then? We cheat a little and use some intermediate representation! This PR introduces a new token type, CSS_DIMENSION_VALUE, that represents a number literal that is immediately followed by an identifier. It does not include the identifier, but just checks that the next bytes of the token stream will be an identifier. By returning this special kind of token, the parser can then distinguish between a plain number and a dimension value, and if it sees a dimension value it can continue to consume the identifier as well and create a CssRegularDimension from it (or CssUnknownDimension for unknown unit values). Before creating the node, it will also re-cast the value token into a CSS_NUMBER_LITERAL, keeping the behavior purely internal and opaque to the resulting syntax tree.
<percentage> is a very similar token type in the CSS spec: a number followed immediately by a % character. While not technically a dimension, we can treat them the same way, which this PR does by also introducing a CSS_PERCENTAGE_VALUE that does similar checks as the CSS_DIMENSION_VALUE described above, and again the parser consumes and converts the value as needed.

Other effects
This change touches a surprising amount of code! As an overview of everything that's changed:

Added CssUnknownDimension to handle dimensions with unknown unit types. This is the end-user solution for #1370, where 0\0 was not being parsed as a dimension, even though \0 is a valid identifier.
Added the new token types as described above, and adjusted the lexer to handle them.
Refactored css_dimension to understand and re-cast the dimension value tokens into Dimension nodes as needed.
Refactored the parsing for @keyframes to look for CSS_PERCENTAGE_VALUE tokens rather than CSS_NUMBER_LITERAL, which will also make effective recovery simple.
Refactored parse_pseudo_class_nth to treat the An+B microsyntax as a possible Dimension followed by an offset. This is awkward because the definition for the microsyntax is very specific but also flexible. The result still passes all existing tests, so I believe it is sound.
Updated snapshots for all tests that use Dimensions.
Added tests to cover the usae of the 0\0 hack.

Test Plan
All of the snapshots for the relevant features should be updated now, and they all pass. I want to wait on #1371 to get the updated recovery for @keyframes and then update that snapshot as well, since it's quite different and will change with this PR as well (a good change, but will probably cause git conflicts and such).

I'd like to mention that you did a great job with the summary and comments inside the code. I really appreciate that!

The CI failure here is the benchmarking issue that's currently known, so I'm going to merge anyway.


TypeError: Cannot read property 'name' of undefined

install prism plugin occurs error:
gitbook -d serve
TypeError: Cannot read property 'name' of undefined
at module.exports.hooks.init (/Users/sunlili/workspace/book/node_modules/gitbook-plugin-prism/index.js:120:46)
at /Users/sunlili/.gitbook/versions/2.4.3/lib/plugin.js:162:25
at _fulfilled (/Users/sunlili/.gitbook/versions/2.4.3/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/Users/sunlili/.gitbook/versions/2.4.3/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/Users/sunlili/.gitbook/versions/2.4.3/node_modules/q/q.js:749:13)
at /Users/sunlili/.gitbook/versions/2.4.3/node_modules/q/q.js:810:14
at flush (/Users/sunlili/.gitbook/versions/2.4.3/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
gitbook -V
CLI version: 2.3.0
GitBook version: 2.4.3
book.json:
{
"plugins": ["prism", "-highlight"],
"pluginsConfig": {
"prism": {
"css": [
"prismjs/themes/prism-okaidia.css"
]
}
}
}

I am not able to recreate using https://github.com/robmcguinness/gitbook-prism-example as the example.  Can you setup a sample repo with the issue?

Also having this issue.
CLI version: 2.3.0
GitBook version: 2.6.7

I'm using:
~/Code/temp/gitbook-prism-example master
❯ node ./node_modules/.bin/gitbook -V
CLI version: 2.3.0
GitBook version: 3.2.2

I'll try with older version of gitbook.

Please try with latest release.  It appears the plugin was not compatible with 2.x.x version of the Gitbook CLI.


letter-spacing with a decimal point  Not all browsers fully support letter-spacing, with fractional ...

letter-spacing with a decimal point
Not all browsers fully support letter-spacing, with fractional pixels, e.g. letter-spacing: 1.5px
(e.g. Chrome doesn't properly support letter-spacing with decimal points, and rounds them)

This issue was imported from Google Moderator
Moderator votes: +5
Issue added by jj05 on 2012-09-05
To vote this issue up or down, simply include +1 or -1 in your comment.

Approximate duplicate of #1002.

Updated #1002 to include that info so I can close this as duplicate.


Add EPA CEMS hourly

Currently the download is very slow, probably for FTP reasons.

More CEMS stuff on the way!

This isn't urgent, but when you have a chance, could you let me know if these changes seem reasonable?
Also, I'm not sure how to add a table to the pudl.models.entities.PUDLBase.metadata.tables.  Is it in the glue?
Most importantly, we should talk about identifiers! The CEMS has ORISPL codes, which are the same as the EIA plant IDs. The CEMS also has unit IDs, which apparently map to EIA 923 unit/generator IDs, but I haven't tried yet.
Crossref #171

Hmm, so the EIA plant_ids are a subset of a larger universe of ORISPL codes, which are controlled by EPA?
The table definitions that appear inside the PUDLBase metadata object are added automatically when a new table is defined that descends from the PUDLBase object (this is all SQLAlchemy stuff). If you look at, say, models/eia860.py you'll see a bunch of classes which descend from PUDLBase, and each of them defines a table, including foreign key relationships, primary keys, data types, etc. When those class definitions are imported, they populate the metadata object which contains a schema like definition of the DB structure. Does that make sense?

Ah!  Sorry, I meant to add that you shouldn't merge yet. This is currently broken because I haven't integrated correctly with SQLAlchemy.

Whoops. At first I thought this was just changing the udpate_datastore script to get the EPA CEMS data, but now I see this is much more extensive. Maybe we should have a call and talk about the pull request process and what you're thinking on the ETL process?

Partial list of things I need to change before this is merged, in no particular order:

[ ] Fix slow FTP download
[ ] Make SQLAlchemy ingest work
[ ] Figure out fac_id and unit_id

What do they represent?
When when do they appear or disappear?
Do we want to keep them?

[ ] Sort out any issues that prevent a plant-level foreign key relationship
[ ] Look into issues with a unit-level foreign key relationship (this is much harder)
[ ] Make the hourly measurements into intervals

Why is the FTP download so egregiously slow? My god.  It looks like they've deprecated the FTP server that is currently listed in the constants module.  New one is:
ftp://newftp.epa.gov/DMDnLoad/emissions/hourly/monthly/
I swear I've come across he FAC_ID and UNIT_ID references for EPA before, but my cursory search is not turning them up now. I think keeping the IDs is a good idea, even if we don't know exactly what they link up to yet, for future reference.
On the EIA Plant/Unit IDs, I'm curious what the Units are going to refer to -- Until 2014, they weren't reporting generation units in a clear way -- boilers and generators were reported separately, with some incomplete associations between them (especially for gas plants). @cmgosnell just recently finished re-organizing our best attempt at extracting those associations from all the available boiler & generator info in EIA.
Like we chatted about, both pandas and postgres appear to have native support for time intervals as a data type, and we want to migrate all of our current timestamps to intervals/PeriodIndex objects for our indices. Right now there's an artificial convention to choose the beginning time of each reporting interval

http://www.postgresqltutorial.com/postgresql-interval/
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.PeriodIndex.html

Are you doing anything about datetimes? My approach has been to convert everything to UTC. CEMS reports all times in local standard time, which means no daylight savings. If you aren't already taking care of this I can at least outline my approach.

Ugh, timezones. No, I haven't dealt with that yet. It'd be good to deal with those at the same time as I convert to interval/periodindex (see Zane's comment above).

Using an FTP connection seems useful. I think it's still helpful to separate the download and processing steps, so my first choice is to avoid downloading directly with pandas.

We've got the lat/lon for each of the plants from EIA860, so in theory we should be able to figure out the UTC offset (please god, someone must have already written that package). For a lot of analysis, I think it'll be most useful to have the option of putting things in local time -- since load curves are pretty tightly bound to the diurnal cycle.
On a structurally related note (and related to the first comment @karldw made on the whole project) at some point we probably need to shift all of the financial data into inflation adjusted dollars.

Some lat/lon are missing from earlier versions of 860 but you might be good from 2011 onward.
Check out a location's time zone offset from UTC in minutes in the [timezonefinder README] (https://github.com/MrMinimal64/timezonefinder). Keep in mind that CEMS reports all values in standard time (no daylight savings) so the solution provided there has to be modified. I changed
today = datetime.now()

to
# Provide a reference date during standard time (winter)
# Do this by setting the month from datetime.now() to 1 (january)
# This date will be used to determine the offset from UTC at the timezone
ref_date = datetime.now().replace(month=1)

Storing all datetimes in UTC ensures that times will accurately match in a regional analysis (e.g. NERCs or eGRID subregions). Offset in hours for each plant can be stored in a separate table.

@karldw where are you at on this pull request? Are you working with these changes locally? Is feedback from us holding you up on checking it in? @cmgosnell and @alanawlsn and I will probably be working together for some part of tomorrow. We can try and get some comments pulled together for you if that would be useful.

@zaneselvans, I think I have a working version, but it's really slow, and I wanted to run init_pudl.py at least once before pushing out the code. (And that's not even running the tests)


Add hook in system separate to where scene is loaded

I'd like to add a hook in a system to run whenever any scene is loaded. But it seems like I cannot do this since the component needs the SceneInstance component, which I don't have in my system.
For example:
pub(super) fn spawn_teleporters_from_scene(mut cmds: Commands) {
    cmds.spawn().insert(SceneHook::new(|entity, world, cmds| {
        println!("New scene loaded!");
    }));
}

Specifically, SceneHook is a component that must be added to the same Entity that the Handle<Scene> in SceneBundle. This crate provides only the SceneHook component. Indeed, if I were to remove all documentation, the whole crate would be around 20 lines of code.
Adding a hook independent from specific scene entities is out of scope for bevy-scene-hook. However, you can get quite close using SceneHook with the following trick:
fn default_hook(&EntityRef, &mut EntityCommands) {
    // Define a default hook
}

#[derive(Bundle)]
struct MySceneBundle {
    pub hook: SceneHook,
    pub scene: Handle<Scene>,
    pub transform: Transform,
    pub global_transform: GlobalTransform,
    pub visibility: Visibility,
    pub computed_visibility: ComputedVisibility,
}
impl MySceneBundle {
    fn new(scene: Handle<Scene>) -> Self {
        // Empty function: this only adds the default hook.
        Self::new_with_hook(|_, _| {})
    }

    fn new_with_hook<F>(scene: Handle<Scene>, special_hook: F) -> Self
    where
        F: Fn(&EntityRef, &mut EntityCommands) + Send + Sync + 'static
    {
        MySceneBundle {
            hook: SceneHook::new(|entity, commands| {
                default_hook(entity, commands);
                special_hook(entity, commands);
            }),
            scene,
            transform: default(),
            global_transform: default(),
            visibility: default(),
            computed_visibility: default(),
        }
    }
}

Now, replace all usages of SceneBundle with MySceneBundle.
If this is not sufficient (for example, you are using a 3rd party crate that spawns itself the scenes, and therefore cannot change the code where the scene is loaded) I'd suggest you clone the repo, delete/hide the documentation and look at the code yourself. You'll probably be able to come up with a satisfactory design.

From re-reading the issue. I think there is a misconception about what this crate is supposed to do.
It is meant to be used in combination with the bevy native SceneBundle. Bevy helpfully adds the SceneInstance component to entities with the Handle<Scene> component whenever the scene is loaded into the world.
We use this component because that's the purpose of this library: changing entities in a scene after they are loaded.
From the code you shared here. It's unclear what you are trying to accomplish. Do you later add a Handle<Scene> to the entity you just spawned? If so, the hook will run when the scene loads.
If not, what do you expect SceneHook to do? Why not simply print the message in the system that spawns your teleporter?


Fix connecting UI

Hi @GeckoEidechse :)
The #553 PR accidentally moved the circle animation and the button. This PR fixes their alignment.

Just so I can verify, what am I looking for exactly? ^^
(screenshot would be appreciated <3)

Current main

This PR


rcserver: remove _async key from input parameters after parsing - fixes #3346

Looks like a great fix to me - thank you :-)


Investigate WADM Integration Tests Failing

Feature or Problem
Some tests that require wasmCloud Host can't run.
4 Related Tests that use Wash Host and Commands:

event_consumer_integration.rs

test_nack_and_rereceive (passing)
test_event_stream (missing in log - maybe didn't run, but in same file as above test)

command_worker_integration.rs

test_annotation_stop (failing)
test_commands (failing)

Example Error:
running 1 test
thread 'test_commands' panicked at 'Unable to run detached wash up: Os { code: 2, kind: NotFound, message: "No such file or directory" }', tests/helpers.rs:124:37

Found CleanupGuard which impl drop which runs wash down. This is likely not correct change, but maybe drop is not running

Going to compare test_commands and test_nack_and_rereceive to see if any difference in setup/end

I have tested on local machine with wash 0.15.1 and wash 18 installed and get same error, which leads me to believe it is not wash 0.17.0 issue

Error:
Command { std: WASMCLOUD_DASHBOARD_PORT="43691" WASMCLOUD_PORT="43691" "wash" "up" "-d" "--nats-port" "40973", kill_on_drop: false }
Child { child: Child(ChildDropGuard { inner: Child { pid: 883113 }, kill_on_drop: false }), stdin: None, stdout: Some(ChildStdout { inner: PollEvented { io: Some(Pipe { fd: File { fd: 9, path: "pipe:[4864756]", read: true, write: false } }) } }), stderr: Some(ChildStderr { inner: PollEvented { io: Some(Pipe { fd: File { fd: 12, path: "pipe:[4864757]", read: true, write: false } }) } }) }
Output { status: ExitStatus(unix_wait_status(256)), stdout: "", stderr: "\nwasmCloud host did not start. Failed to connect to washboard. Check host-logs at \"/home/stephen/.wash/downloads/wasmcloud.log\".\n\nStack backtrace:\n   0: anyhow::error::<impl anyhow::Error>::msg\n   1: wash::up::handle_up::{{closure}}\n   2: wash::main::{{closure}}\n   3: tokio::runtime::park::CachedParkThread::block_on\n   4: tokio::runtime::scheduler::multi_thread::MultiThread::block_on\n   5: tokio::runtime::runtime::Runtime::block_on\n   6: wash::main\n   7: std::sys_common::backtrace::__rust_begin_short_backtrace\n   8: std::rt::lang_start::{{closure}}\n   9: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/core/src/ops/function.rs:287:13\n  10: std::panicking::try::do_call\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/panicking.rs:485:40\n  11: std::panicking::try\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/panicking.rs:449:19\n  12: std::panic::catch_unwind\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/panic.rs:140:14\n  13: std::rt::lang_start_internal::{{closure}}\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/rt.rs:148:48\n  14: std::panicking::try::do_call\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/panicking.rs:485:40\n  15: std::panicking::try\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/panicking.rs:449:19\n  16: std::panic::catch_unwind\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/panic.rs:140:14\n  17: std::rt::lang_start_internal\n             at /rustc/3a8a131e9509c478ece1c58fe0ea2d49463d2300/library/std/src/rt.rs:148:20\n  18: main\n  19: <unknown>\n  20: __libc_start_main\n  21: _start\n" }

10:17:57.226 [error] registered_name=default-rpc GenServer :"default-rpc" terminating
** (stop) "connection closed"
Last message: {:tcp_closed, #Port<0.10>}
State: %{connection_settings: %{connection_timeout: 3000, host: "<IP_ADDRESS>", inbox_prefix: "_INBOX.", no_responders: true, port: 44715, ssl_opts: [], tcp_opts: [:binary], tls: false}, next_sid: 1, parser: %Gnat.Parsec{partial: nil}, receivers: %{0 => %{recipient: #PID<0.2082.0>, unsub_after: :infinity}}, request_inbox_prefix: "_INBOX.0qTaCUF7dq5A6GkR.", request_receivers: %{}, server_info: %{client_id: 16, client_ip: "<IP_ADDRESS>", domain: "core", git_commit: "66524ed", go: "go1.17.10", headers: true, host: "<IP_ADDRESS>", jetstream: true, max_payload: 1048576, port: 44715, proto: 1, server_id: "NCDO2B3VZ25AQ4JNK", server_name: "NCDO2B34K5AQ4JNK", version: "2.8.4"}, socket: #Port<0.10>}
10:17:57.227 [error] registered_name=default-ctl GenServer :"default-ctl" terminating
** (stop) "connection closed"
Last message: {:tcp_closed, #Port<0.9>}
State: %{connection_settings: %{connection_timeout: 3000, host: "<IP_ADDRESS>", inbox_prefix: "_INBOX.", no_responders: true, port: 44715, ssl_opts: [], tcp_opts: [:binary], tls: false}, next_sid: 10, parser: %Gnat.Parsec{partial: nil}, receivers: %{0 => %{recipient: #PID<0.2083.0>, unsub_after: :infinity}, 1 => %{recipient: #PID<0.2084.0>, unsub_after: :infinity}, 2 => %{recipient: #PID<0.2088.0>, unsub_after: :infinity}, 3 => %{recipient: #PID<0.2091.0>, unsub_after: :infinity}, 4 => %{recipient: #PID<0.2084.0>, unsub_after: :infinity}, 5 => %{recipient: #PID<0.2091.0>, unsub_after: :infinity}, 6 => %{recipient: #PID<0.2084.0>, unsub_after: :infinity}, 7 => %{recipient: #PID<0.2084.0>, unsub_after: :infinity}, 8 => %{recipient: #PID<0.2084.0>, unsub_after: :infinity}, 9 => %{recipient: #PID<0.2288.0>, unsub_after: :infinity}}, request_inbox_prefix: "_INBOX.TEhd2TiYJugXOnm0.", request_receivers: %{}, server_info: %{client_id: 15, client_ip: "<IP_ADDRESS>", domain: "core", git_commit: "66524ed", go: "go1.17.10", headers: true, host: "<IP_ADDRESS>", jetstream: true, max_payload: 1048576, port: 44715, proto: 1, server_id: "NCDO2B3Z25AQ4JNK", server_name: "NCDO2B34K25AQ4JNK", version: "2.8.4"}, socket: #Port<0.9>}

https://github.com/search?q=repo%3AwasmCloud%2Fwasmcloud-otp GenServer&type=code
11:38:39.569 [error] registered_name=default-rpc GenServer :"default-rpc" terminating
** (stop) "connection closed"
Last message: {:tcp_closed, #Port<0.9>}
State: %{connection_settings: %{connection_timeout: 3000, host: "<IP_ADDRESS>", inbox_prefix: "_INBOX.", no_responders: true, port: 45617, ssl_opts: [], tcp_opts: [:binary], tls: false}, next_sid: 1, parser: %Gnat.Parsec{partial: nil}, receivers: %{0 => %{recipient: #PID<0.2082.0>, unsub_after: :infinity}}, request_inbox_prefix: "_INBOX.OlLauLLPNFgMeqEd.", request_receivers: %{}, server_info: %{client_id: 16, client_ip: "<IP_ADDRESS>", domain: "core", git_commit: "66524ed", go: "go1.17.10", headers: true, host: "<IP_ADDRESS>", jetstream: true, max_payload: 1048576, port: 45617, proto: 1, server_id: "NC5HJ72KJVDHQ2LHI4Q4Z3TLLFVJUH3G27R7UJGUCUZ3LNCA2LASL2Q6", server_name: "NC5HJ72KJVDHQ2LHI4Q4Z3TLLFVJUH3G27R7UJGUCUZ3LNCA2LASL2Q6", version: "2.8.4"}, socket: #Port<0.9>}
11:38:39.569 [error] registered_name=default-ctl GenServer :"default-ctl" terminating
** (stop) "connection closed"

@brooksmtownsend, closing this for now based on your changes in Wash PR https://github.com/wasmCloud/wash/pull/524. Can reopen if this isn't the solution.


Fix rehighlighting

Fixing issue discussed in previous pull request: https://github.com/PrismJS/prism/pull/1305

Thanks for the fix! Don't forget to run gulp and commit the minified file.

@mAAdhaTTah Thanks for notifying, of course I forget.
Minified version is there now

LGTM!


Http API params error

Http API reference at dev site said that wallet create_key should invoked with Json Object. This is bug, because create_key working with Json array.
For example:
--data '["foo", "K1"]' instead --data '{"name":"foo","key_type":"R1"}'
Please, fix it.

Confirmed the documentation should list the array of parameters instead of the json object.

Change has been made and will appear in the published update of the reference.


CIFAR10/ImageNet examples incorrectly calculate test metrics with default batch size

If I understand the current example code for CIFAR10 and ImageNet, it calculates the test metrics by first taking the mean over the mini-batch in each step, and then taking the mean over all steps, i.e. calculating the mean of means:
https://github.com/google/flax/blob/58e340bee4dc12415ea9a46e59056c6f4f1b5527/examples/cifar10/train.py#L119-L127
https://github.com/google/flax/blob/58e340bee4dc12415ea9a46e59056c6f4f1b5527/examples/cifar10/train.py#L265-L276
When all mini-batches are of the same size this is equivalent to the mean of the metrics over all data samples, however in the case where mini-batches differ in size this is not equivalent to the mean of the samples. This is of course the case typically when test data set is not evenly divisible by the batch size — and this is the case in both the CIFAR and ImageNet examples currently.
If my understanding of this is correct, both the CIFAR10/ImageNet examples the test metrics are likely currently being calculated incorrectly.
There are a number of solutions, the simplest is probably to instead use a weighted mean, i.e. weighting the metrics by the batch size for each step, and then taking the mean over the weighted metrics over all batches:
diff --git a/examples/cifar10/train.py b/examples/cifar10/train.py
index b9e0b2d..8643939 100644
--- a/examples/cifar10/train.py
+++ b/examples/cifar10/train.py
@@ -270,10 +270,10 @@ def train(module, model_dir, batch_size,
         eval_batch = load_and_shard_tf_batch(eval_batch)
         # Step
         metrics = p_eval_step(optimizer.target, state, eval_batch)
-        eval_metrics.append(metrics)
+        eval_metrics.append(jax.tree_map(lambda x: len(eval_batch) * x, metrics))
       eval_metrics = common_utils.get_metrics(eval_metrics)
       # Get eval epoch summary for logging
-      eval_summary = jax.tree_map(lambda x: x.mean(), eval_metrics)
+      eval_summary = jax.tree_map(lambda x: x.sum()/data_source.EVAL_IMAGES, eval_metrics)

       # Log epoch summary
       logging.info(

Alternatively the batch vector of metrics could be returned and accumulated (probably a performance hit?) or the CIFAR10 example could be changed to use a different compatible test batch size to prevent this, but this would not work for the ImageNet example in general over multiple devices, and doesn't serve the primary purpose of this code which is to be a good starter/example of training.

At the moment we actually drop the final batch (https://github.com/google/flax/blob/master/examples/imagenet/input_pipeline.py#L222) -- was also pointed out by #263, so the metrics are indeed misreported but for a different reason than described here.
I agree that we should fix this, but in general I'd prefer we just encapsulate a small "metrics" utility class that deals with this cleanly.
That being said, if you want to give a shot at fixing the input pipeline to not drop the final batch, as well as computing metrics correctly with the current example code, we'll be have to review a PR.

Sure, would be happy to try and address this after the NeurIPS deadline next week :-)

Thanks @yanii! Keep us posted if you have any questions.

@avital CCed you internally on the bug tracking CLA approval

Thanks for filing this issue!
I have created #527 that describes the problem in more detail and sketches a solution.


IF hint: true AND teams:{URL POST REQUEST}

have you solved the issue? because someone had reported something similar #106


tests, cleanup: Move cleanup to global BeforeEach

What this PR does / why we need it:
Having the concept of global BeforeEach that will run before each tests
the cleanup can be moved there so it does not have to be repeated at all
the tests.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

Having the concept of global BeforeEach that will run before each tests
the cleanup can be moved there so it does not have to be repeated at all
the tests.

Not only that, but now it does not depend on a test author remembering to do so.
I like this a lot!

/retest

Failures seems relevant but I can't be sure without closer look

Failures seem relevant but I can't be sure without a closer look

It could be the order between test BeforeEach and global BeforeEach maybe the test is doing something its BeforeEach that depends on the cleanup.
I can try to go for the gold and at the same PR move the cleanup to global AfterEach and the reporter to JustAfterEach.

@EdDev @xpivarc it looks way better now.

Moving to draft I need to do more investigations, no reviews needed yet.

/test pull-kubevirt-e2e-k8s-1.23-sig-compute
/test pull-kubevirt-e2e-k8s-1.23-sig-network

/hold
Undrafting it to run all the tests, please don't review

Failures seem relevant but I can't be sure without a closer look

It could be the order between test BeforeEach and global BeforeEach maybe the test is doing something its BeforeEach that depends on the cleanup.
I can try to go for the gold and at the same PR move the cleanup to global AfterEach and the reporter to JustAfterEach.

Go big or go home :grinning:
Good luck.

Some Jobs are failing, but there is not massive failure, I will check that out.

/retest

Hm, the artifacts from a failed build look good.
What is holding this PR back ?

Hm, the artifacts from a failed build look good.
What is holding this PR back ?

Nothing CI is good enough, undrafting this.

/hold cancel
CI is good enough for review now.

Thanks @qinqon!! I like this a lot! Can't believe we didn't have this before.
/lgtm
p.s. I think that you have many commits that could be been squashed.

Something that just crossed my mind - consider the following scenario @qinqon:
Someone is bringing up a local cluster for testing during his development. Then, it runs a functest. After the test starts running the developer realized he did something wrong, and presses Ctrl+C multiple times to stop the test asap. Then he fixes whatever he needs, then runs the test again.
Would AfterEach() (and therefore TestCleanup()) run if that's the case?
This can leave people very surprised, debugging bugs that aren't there (especially developers that are used to the test environment being cleaned before each test).
Maybe the right solution is to introduce some kind of a Makefile target, e.g. make cluster-clean or something like that?

Something that just crossed my mind - consider the following scenario @qinqon:
Someone is bringing up a local cluster for testing during his development. Then, it runs a functest. After the test starts running the developer realized he did something wrong, and presses Ctrl+C multiple times to stop the test asap. Then he fixes whatever he needs, then runs the test again.
Would AfterEach() (and therefore TestCleanup()) run if that's the case? This can leave people very surprised, debugging bugs that aren't there (especially developers that are used to the test environment being cleaned before each test).

Current implementation is even worse since ctrl-c in the middle of the test will not do any clean at all. Yes the cluster should be clean, Ginkgo v2 waits until all the AfterEach has being called.

Maybe the right solution is to introduce some kind of a Makefile target, e.g. make cluster-clean or something like that? Or maybe we can call TestCleanup() in a "beforeAll()"?

I don't think it will needed, we can do something if we see if needed at a follo up, but currently the state is worse since killing a test fixing and re-run sometimes make the test fail since namespaces are there.

/retest

Something that just crossed my mind - consider the following scenario @qinqon:
Someone is bringing up a local cluster for testing during his development. Then, it runs a functest. After the test starts running the developer realized he did something wrong, and presses Ctrl+C multiple times to stop the test asap. Then he fixes whatever he needs, then runs the test again.
Would AfterEach() (and therefore TestCleanup()) run if that's the case? This can leave people very surprised, debugging bugs that aren't there (especially developers that are used to the test environment being cleaned before each test).

Current implementation is even worse since ctrl-c in the middle of the test will not do any clean at all.

Right, but the BeforeTestCleanup() function will be called before the next test begins.

Yes the cluster should be clean, Ginkgo v2 waits until all the AfterEach has being called.

Do you mean that despite Ctrl+C the cleanup would still finish running? Because that would be great.

Maybe the right solution is to introduce some kind of a Makefile target, e.g. make cluster-clean or something like that? Or maybe we can call TestCleanup() in a "beforeAll()"?

I don't think it will needed, we can do something if we see if needed at a follo up, but currently the state is worse since killing a test fixing and re-run sometimes make the test fail since namespaces are there.

Aren't the namespaces (and everything else) supposed to be removed by today's BeforeEach() which calls BeforeTestCleanup()?
I also wonder if it can affect CI somehow or only developers.
In any case, I agree that we could deal with this in a follow-up PR

Note this:
https://onsi.github.io/ginkgo/MIGRATING_TO_V2#interrupt-behavior

About Ctrl+C Note this: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#interrupt-behavior

Thank you!

Previously, sending a second interrupt signal would cause Ginkgo to exit immediately. With the improved interrupt behavior this is no longer necessary and Ginkgo will not exit until the test suite has unwound and completed.

:ok_hand:

/hold
Just one comment about the BeforeEach.

/retest

/retest

Not related, virt-operator failing test is related to the virt-operator pod no VM involved.
/override pull-kubevirt-check-tests-for-flakes
/override pull-kubevirt-fossa
/override pull-kubevirt-e2e-k8s-1.22-sig-monitoring

/retest

/retest


erc20 nft payment network

Description of the changes

Hey @mliu and @shan-57blocks :wave: @omarspx and I agreed that we'd love to see you re-target this PR towards a development branch on the upstream repo. I created one named 1007-nft-payment-network