Implementation of Batching, Enabling HPU Graphs and FP8 quantization for SD3 Pipeline

Added support for batch wise implementation and enabled HPU Graph integration, FP8 quantization for sd3 pipeline to optimize the pipeline performance on Gaudi 2.
What does this PR do?

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?

@dsocek @skavulya need your feedback to review

LGTM. Please add a test for batch sizes to tests /test_diffusers.py

Added the tests for Batch Size

@skavulya @dsocek Request to review - Have updated the changes specified.

Should add example of running FP8 mode in README

Added the example

Looks good. There are some extra spaces in sd3 pipeline file you should run make style to fix.

Fixed

@dsocek Please provide Feedback on the changes

@libinta Request to review the PR and push for merging

@deepak-gowda-narayana ,
Also run fast tests i.e., tests/ci/fast_tests*.sh and the SLOW test_diffusers.py  and post summary of results here.
Also make style and fix any errors.

@emascarenhas

@deepak-gowda-narayana , Also run fast tests i.e., tests/ci/fast_tests*.sh and the SLOW test_diffusers.py and post summary of results here. Also make style and fix any errors.

Result Summary of fast_tests.sh
python -m pytest tests/test_gaudi_configuration.py tests/test_trainer_distributed.py tests/test_trainer.py tests/test_trainer_seq2seq.py
================================================================================================================= test session starts =================================================================================================================
platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0
rootdir: /mnt/deepak_sd3
configfile: setup.cfg
collected 89 items
tests/test_gaudi_configuration.py ..                                                                                [  2%]
tests/test_trainer_distributed.py ..                                                                                [  4%]
tests/test_trainer.py .............................s....................................sssssss..........                                                                                [ 97%]
tests/test_trainer_seq2seq.py ..                                                                                [100%]
================================================================================================================== warnings summary ===================================================================================================================
../../usr/lib/python3.10/inspect.py:288
/usr/lib/python3.10/inspect.py:288: FutureWarning: torch.distributed.reduce_op is deprecated, please use torch.distributed.ReduceOp instead
return isinstance(object, types.FunctionType)
../../usr/local/lib/python3.10/dist-packages/transformers/deepspeed.py:24
/usr/local/lib/python3.10/dist-packages/transformers/deepspeed.py:24: FutureWarning: transformers.deepspeed module is deprecated and will be removed in a future version. Please import deepspeed modules directly from transformers.integrations
warnings.warn(
tests/test_trainer.py::GaudiTrainerIntegrationPrerunTest::test_cosine_with_min_lr_scheduler
/usr/local/lib/python3.10/dist-packages/torch/optim/lr_scheduler.py:216: UserWarning: Detected call of lr_scheduler.step() before optimizer.step(). In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step() before lr_scheduler.step().  Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
warnings.warn(
tests/test_trainer.py: 12 warnings
/mnt/deepak_sd3/optimum/habana/transformers/trainer.py:1494: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
torch.load(os.path.join(checkpoint, OPTIMIZER_NAME), map_location=map_location)
tests/test_trainer.py: 12 warnings
/mnt/deepak_sd3/optimum/habana/transformers/trainer.py:1305: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
checkpoint_rng_state = torch.load(rng_file)
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_load_best_model_from_safetensors
/mnt/deepak_sd3/tests/test_trainer.py:491: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
state_dict = torch.load(os.path.join(checkpoint, WEIGHTS_NAME))
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_load_best_model_with_save
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_load_best_model_with_save
/mnt/deepak_sd3/optimum/habana/transformers/training_args.py:366: FutureWarning: evaluation_strategy is deprecated and will be removed in version 4.46 of 🤗 Transformers. Use eval_strategy instead
warnings.warn(
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_multiple_peft_adapters
/usr/local/lib/python3.10/dist-packages/transformers/generation/configuration_utils.py:579: UserWarning: pad_token_id should be positive but got -1. This will cause errors when batch generating, if there is padding. Please set pad_token_id explicitly as model.generation_config.pad_token_id=PAD_TOKEN_ID to avoid errors in generation
warnings.warn(
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_multiple_peft_adapters
/usr/local/lib/python3.10/dist-packages/transformers/data/datasets/language_modeling.py:119: FutureWarning: This dataset will be removed from the library soon, preprocessing should be handled with the 🤗 Datasets library. You can have a look at this example script for pointers: https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_mlm.py
warnings.warn(
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_resume_training_with_safe_checkpoint
tests/test_trainer.py::GaudiTrainerIntegrationTest::test_resume_training_with_safe_checkpoint
/mnt/deepak_sd3/tests/test_trainer.py:537: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
state_dict = loader(weights_file)
tests/test_trainer.py::GaudiTrainerOptimizerChoiceTest::test_optim_supported_0_adamw_hf
tests/test_trainer.py::GaudiTrainerOptimizerChoiceTest::test_optim_supported_1_adamw_hf
/usr/local/lib/python3.10/dist-packages/transformers/optimization.py:591: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set no_deprecation_warning=True to disable this warning
warnings.warn(
tests/test_trainer_seq2seq.py::GaudiSeq2seqTrainerTester::test_bad_generation_config_fail_early
/usr/local/lib/python3.10/dist-packages/transformers/generation/configuration_utils.py:606: UserWarning: do_sample is set to False. However, top_p is set to 0.9 -- this flag is only used in sample-based generation modes. You should set do_sample=True or unset top_p. This was detected when initializing the generation config instance, which means the corresponding file may hold incorrect parameterization and should be fixed.
warnings.warn(
tests/test_trainer_seq2seq.py::GaudiSeq2seqTrainerTester::test_finetune_t5
/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:797: FutureWarning: resume_download is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use force_download=True.
warnings.warn(
tests/test_trainer_seq2seq.py::GaudiSeq2seqTrainerTester::test_finetune_t5
/usr/local/lib/python3.10/dist-packages/transformers/modeling_utils.py:2618: UserWarning: Moving the following attributes in the config to the generation config: {'max_length': 128}. You are seeing this warning because you've set generation parameters in the model config, as opposed to in the generation config.
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=============================================================================================== 81 passed, 8 skipped, 39 warnings in 109.40s (0:01:49) ================================================================================================
Result Summary of fast_tests_diffusers.sh
python -m pytest tests/test_diffusers.py
===================================================================================================== test session starts ======================================================================================================
platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0
rootdir: /mnt/deepak_sd3
configfile: setup.cfg
collected 159 items
tests/test_diffusers.py .......sssss..........s.......s........................s.ss.sssssssssssss.............sss.......s....s.....ss.s.ssssss......s...s......s.sss........s..s.s....s                                  [100%]
======================================================================================================= warnings summary =======================================================================================================
../../usr/lib/python3.10/inspect.py:288
/usr/lib/python3.10/inspect.py:288: FutureWarning: torch.distributed.reduce_op is deprecated, please use torch.distributed.ReduceOp instead
return isinstance(object, types.FunctionType)
../../usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:20
/usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:20: FutureWarning: VQEncoderOutput is deprecated and will be removed in version 0.31. Importing VQEncoderOutput from diffusers.models.vq_model is deprecated and this will be removed in a future version. Please use from diffusers.models.autoencoders.vq_model import VQEncoderOutput, instead.
deprecate("VQEncoderOutput", "0.31", deprecation_message)
../../usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:25
/usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:25: FutureWarning: VQModel is deprecated and will be removed in version 0.31. Importing VQModel from diffusers.models.vq_model is deprecated and this will be removed in a future version. Please use from diffusers.models.autoencoders.vq_model import VQModel, instead.
deprecate("VQModel", "0.31", deprecation_message)
tests/test_diffusers.py: 50 warnings
/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:797: FutureWarning: resume_download is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use force_download=True.
warnings.warn(
tests/test_diffusers.py::GaudiPipelineUtilsTester::test_save_pretrained
/usr/local/lib/python3.10/dist-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py:251: FutureWarning: The configuration file of the unet has set the default sample_size to smaller than 64 which seems highly unlikely. If your checkpoint is a fine-tuned version of any of the following:

CompVis/stable-diffusion-v1-4
CompVis/stable-diffusion-v1-3
CompVis/stable-diffusion-v1-2
CompVis/stable-diffusion-v1-1
runwayml/stable-diffusion-v1-5
runwayml/stable-diffusion-inpainting
you should change 'sample_size' to 64 in the configuration file. Please make sure to update the config accordingly as leaving sample_size=32 in the config might lead to incorrect results in future versions. If you have downloaded this checkpoint from the Hugging Face Hub, it would be very nice if you could open a Pull request for the unet/config.json file
deprecate("sample_size<64", "1.0.0", deprecation_message, standard_warn=False)

tests/test_diffusers.py: 10 warnings
/usr/local/lib/python3.10/dist-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py:201: FutureWarning: The configuration file of this scheduler: GaudiDDIMScheduler {
"_class_name": "GaudiDDIMScheduler",
"_diffusers_version": "0.29.2",
"beta_end": 0.012,
"beta_schedule": "scaled_linear",
"beta_start": 0.00085,
"clip_sample": false,
"clip_sample_range": 1.0,
"dynamic_thresholding_ratio": 0.995,
"num_train_timesteps": 1000,
"prediction_type": "epsilon",
"rescale_betas_zero_snr": false,
"sample_max_value": 1.0,
"set_alpha_to_one": false,
"steps_offset": 0,
"thresholding": false,
"timestep_spacing": "leading",
"trained_betas": null
}
is outdated. steps_offset should be set to 1 instead of 0. Please make sure to update the config accordingly as leaving steps_offset might led to incorrect results in future versions. If you have downloaded this checkpoint from the Hugging Face Hub, it would be very nice if you could open a Pull request for the scheduler/scheduler_config.json file
deprecate("steps_offset!=1", "1.0.0", deprecation_message, standard_warn=False)
tests/test_diffusers.py: 79 warnings
/usr/local/lib/python3.10/dist-packages/diffusers/models/unets/unet_2d_blocks.py:1369: FutureWarning: scale is deprecated and will be removed in version 1.0.0. The scale argument is deprecated and will be ignored. Please remove it, as passing it will raise an error in the future. scale should directly be passed while calling the underlying pipeline component i.e., via cross_attention_kwargs.
deprecate("scale", "1.0.0", deprecation_message)
tests/test_diffusers.py: 79 warnings
/usr/local/lib/python3.10/dist-packages/diffusers/models/unets/unet_2d_blocks.py:2628: FutureWarning: scale is deprecated and will be removed in version 1.0.0. The scale argument is deprecated and will be ignored. Please remove it, as passing it will raise an error in the future. scale should directly be passed while calling the underlying pipeline component i.e., via cross_attention_kwargs.
deprecate("scale", "1.0.0", deprecation_message)
tests/test_diffusers.py: 13 warnings
/usr/local/lib/python3.10/dist-packages/diffusers/image_processor.py:628: FutureWarning: the output_type numpy is outdated and has been set to np. Please make sure to set it to one of these instead: pil, np, pt, latent
deprecate("Unsupported output_type", "1.0.0", deprecation_message, standard_warn=False)
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_batch_sizes
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_bf16
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_default
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_hpu_graphs
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_num_images_per_prompt
/mnt/deepak_sd3/tests/test_diffusers.py:1606: FutureWarning: nn.init.normal is now deprecated in favor of nn.init.normal_.
torch.nn.init.normal(m.weight)
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_batch_sizes
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_bf16
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_default
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_hpu_graphs
tests/test_diffusers.py::GaudiStableDiffusionControlNetPipelineTester::test_stable_diffusion_controlnet_num_images_per_prompt
tests/test_diffusers.py::StableDiffusionXLInpaintPipelineFastTests::test_stable_diffusion_xl_inpaint_2_images
/usr/local/lib/python3.10/dist-packages/diffusers/image_processor.py:528: FutureWarning: Passing image as a list of 4d torch.Tensor is deprecated.Please concatenate the list along the batch dimension and pass it as a single 4d torch.Tensor
warnings.warn(
tests/test_diffusers.py::GaudiStableDiffusionMultiControlNetPipelineTester::test_stable_diffusion_multicontrolnet_batch_sizes
tests/test_diffusers.py::GaudiStableDiffusionMultiControlNetPipelineTester::test_stable_diffusion_multicontrolnet_bf16
tests/test_diffusers.py::GaudiStableDiffusionMultiControlNetPipelineTester::test_stable_diffusion_multicontrolnet_default
tests/test_diffusers.py::GaudiStableDiffusionMultiControlNetPipelineTester::test_stable_diffusion_multicontrolnet_hpu_graphs
tests/test_diffusers.py::GaudiStableDiffusionMultiControlNetPipelineTester::test_stable_diffusion_multicontrolnet_num_images_per_prompt
/mnt/deepak_sd3/tests/test_diffusers.py:1869: FutureWarning: nn.init.normal is now deprecated in favor of nn.init.normal_.
torch.nn.init.normal(m.weight)
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_batch
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_bf16
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_default
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_hpu_graphs
/usr/local/lib/python3.10/dist-packages/transformers/models/dpt/feature_extraction_dpt.py:28: FutureWarning: The class DPTFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please use DPTImageProcessor instead.
warnings.warn(
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_batch
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_bf16
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_default
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_hpu_graphs
/usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:303: UserWarning: In HPU autocast, but the target dtype is not supported. Disabling autocast.
HPU Autocast only supports dtypes of torch.bfloat16 and torch.float16 currently.
warnings.warn(error_message)
tests/test_diffusers.py::GaudiStableDiffusionDepth2ImgPipelineTester::test_depth2img_pipeline_batch
/mnt/deepak_sd3/optimum/habana/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py:175: FutureWarning: You have passed 2 text prompts (prompt), but only 1 initial images (image). Initial images are now duplicating to match the number of text prompts. Note that this behavior is deprecated and will be removed in a version 1.0.0. Please make sure to update your script to pass as many initial images as text prompts to suppress this warning.
deprecate("len(prompt) != len(image)", "1.0.0", deprecation_message, standard_warn=False)
tests/test_diffusers.py: 14 warnings
/usr/local/lib/python3.10/dist-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py:306: FutureWarning: The configuration file of this scheduler: PNDMScheduler {
"_class_name": "PNDMScheduler",
"_diffusers_version": "0.29.2",
"beta_end": 0.02,
"beta_schedule": "linear",
"beta_start": 0.0001,
"num_train_timesteps": 1000,
"prediction_type": "epsilon",
"set_alpha_to_one": false,
"skip_prk_steps": true,
"steps_offset": 0,
"timestep_spacing": "leading",
"trained_betas": null
}
is outdated. steps_offset should be set to 1 instead of 0. Please make sure to update the config accordingly as leaving steps_offset might led to incorrect results in future versions. If you have downloaded this checkpoint from the Hugging Face Hub, it would be very nice if you could open a Pull request for the scheduler/scheduler_config.json file
deprecate("steps_offset!=1", "1.0.0", deprecation_message, standard_warn=False)
tests/test_diffusers.py::StableDiffusionInpaintPipelineFastTests::test_karras_schedulers_shape
/usr/local/lib/python3.10/dist-packages/torchsde/_brownian/brownian_interval.py:608: UserWarning: Should have tb<=t1 but got tb=25.1461181640625 and t1=25.146116.
warnings.warn(f"Should have {tb_name}<=t1 but got {tb_name}={tb} and t1={self._end}.")
tests/test_diffusers.py::StableDiffusionInpaintPipelineFastTests::test_karras_schedulers_shape
/usr/local/lib/python3.10/dist-packages/torchsde/_brownian/brownian_interval.py:599: UserWarning: Should have ta>=t0 but got ta=0.0291675366461277 and t0=0.029168.
warnings.warn(f"Should have ta>=t0 but got ta={ta} and t0={self._start}.")
tests/test_diffusers.py::StableDiffusionXLInpaintPipelineFastTests::test_stable_diffusion_xl_inpaint_2_images
/usr/local/lib/python3.10/dist-packages/diffusers/image_processor.py:582: FutureWarning: Passing image as torch tensor with value range in [-1,1] is deprecated. The expected value range for image tensor is [0,1] when passing as pytorch tensor or numpy Array. You passed image with value range [-0.9999732375144958,0.999970555305481]
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================================================================== 112 passed, 47 skipped, 277 warnings in 946.38s (0:15:46) ===================================================================================
Result Summary of  slow_tests_diffusers.sh
tests/test_diffusers.py:872: AssertionError
======================================================================================================= warnings summary =======================================================================================================
../../usr/lib/python3.10/inspect.py:288
/usr/lib/python3.10/inspect.py:288: FutureWarning: torch.distributed.reduce_op is deprecated, please use torch.distributed.ReduceOp instead
return isinstance(object, types.FunctionType)
../../usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:20
/usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:20: FutureWarning: VQEncoderOutput is deprecated and will be removed in version 0.31. Importing VQEncoderOutput from diffusers.models.vq_model is deprecated and this will be removed in a future version. Please use from diffusers.models.autoencoders.vq_model import VQEncoderOutput, instead.
deprecate("VQEncoderOutput", "0.31", deprecation_message)
../../usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:25
/usr/local/lib/python3.10/dist-packages/diffusers/models/vq_model.py:25: FutureWarning: VQModel is deprecated and will be removed in version 0.31. Importing VQModel from diffusers.models.vq_model is deprecated and this will be removed in a future version. Please use from diffusers.models.autoencoders.vq_model import VQModel, instead.
deprecate("VQModel", "0.31", deprecation_message)
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=================================================================================================== short test summary info ====================================================================================================
FAILED tests/test_diffusers.py::GaudiStableDiffusionPipelineTester::test_textual_inversion - AssertionError: 10.952491965134426 not greater than or equal to<PHONE_NUMBER>525933
================================================================================== 1 failed, 158 deselected, 3 warnings in 157.57s (0:02:37) ===================================================================================
make: *** [Makefile:99: slow_tests_diffusers] Error 1

AttributeError: 'Conv2d' object has no attribute 'custom_name'

@deepak-gowda-narayana
Can you reproduce the AttributeError: 'Conv2d' object has no attribute 'custom_name' error please?

AttributeError: 'Conv2d' object has no attribute 'custom_name'

@deepak-gowda-narayana Can you reproduce the AttributeError: 'Conv2d' object has no attribute 'custom_name' error please?

@imangohari1  I am not seeing this error with sd3 run, could you please provide more information about this

@deepak-gowda-narayana Thanks for this PR. We need to work a bit on this:

The SD3 generation_samples_per_second is zero when num_images_per_prompt is the set to warmupsteps (below). We need to understand why this is happening and fix it.
1 prompt(s) received, 3 generation(s) per prompt, 1 sample(s) per batch, 3 total batch(es).
Speed metrics: {'generation_runtime': 68.4306, 'generation_samples_per_second': 0.0, 'generation_steps_per_second': 2.676}
@imangohari1
We see 0 throughput as number of samples was being set to '0' because of incorrect condition used.
The fix for this was to update condition based on which num of samples was calculated for speed_metrics function
Below is the updated results
2024-11-15 20:53:04,295 >> 1 prompt(s) received, 3 generation(s) per prompt, 1 sample(s) per batch, 3 total batch(es).
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:47<00:00, 15.67s/it]
[INFO|pipeline_stable_diffusion_3.py:626] 2024-11-15 20:53:51,304 >> Speed metrics: {'generation_runtime': 47.0088, 'generation_samples_per_second': 0.085, 'generation_steps_per_second': 2.376}

AttributeError: 'Conv2d' object has no attribute 'custom_name'

@deepak-gowda-narayana Can you reproduce the AttributeError: 'Conv2d' object has no attribute 'custom_name' error please?

@imangohari1 This error is while quantization, will check on this. Did not notice the edited comment

@deepak-gowda-narayana
The details are given here: https://github.com/huggingface/optimum-habana/pull/1345#pullrequestreview-2436802895
I ran the cmd on both 1.18 and 1.19 driver and it crashes.
Please run the measure cmd and share the results.

as of here, I still see the same issue reported here. FYI.
https://github.com/huggingface/optimum-habana/pull/1345#pullrequestreview-2436802895

as of here, I still see the same issue reported here. FYI. #1345 (review)

@imangohari1
The root cause is habana torch framework assumes that custom_name attribute is defined and tries to access it for the submodules of SD3Transformer2DModel which is not defined.
The block doin this is shown below ( module.custom_name)
def _pre_fwd_hook(module, input):
# handle the naming mismatch issue with a temp fix, till we
# find a way to get unique module names from the calibration tool
with _lock:
try:
if _is_inference() and _name_stack and "relu" in module.custom_name:
ns = str(_name_stack[-1])
if ns in _module_dict.keys():
_module_dict[ns] += 1
new_name = _name_stack[-1] + "/" + module.custom_name + "." + str(_module_dict[ns])
else:
_module_dict[ns] = 0
new_name = _name_stack[-1] + "/" + module.custom_name if _name_stack else module.custom_name
else:
new_name = _name_stack[-1] + "/" + module.custom_name if _name_stack else module.custom_name
Adding this attribute to the transformer modules (by code changes in stable diffusion 3 pipeline) fixed the issue, below is the result
Code change
for name, module in transformer.named_modules():
if not hasattr(module, 'custom_name'):  # Only add if it doesn't already exist
module.custom_name = name  # Assign the module's name as the custom_name
Output:
[auto_accelerator.py:419] Auto detect accelerator: HPU_Accelerator.
2024-11-18 22:43:34 [WARNING][auto_accelerator.py:419] Auto detect accelerator: HPU_Accelerator.
2024-11-18 22:43:34 [INFO][pipeline_stable_diffusion_3.py:406] Preparation started.
2024-11-18 22:43:34 [INFO][quantize.py:160] Start to prepare model with fp8_quant.
2024-11-18 22:43:35 [INFO][pipeline_stable_diffusion_3.py:406] Preparation end.
[INFO|pipeline_stable_diffusion_3.py:490] 2024-11-18 22:43:35,751 >> 1 prompt(s) received, 1 generation(s) per prompt, 1 sample(s) per batch, 1 total batch(es).
[WARNING|pipeline_stable_diffusion_3.py:495] 2024-11-18 22:43:35,751 >> The first two iterations are slower so it is recommended to feed more batches.
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:28<00:00, 28.94s/it]
[INFO|pipeline_stable_diffusion_3.py:642] 2024-11-18 22:44:04,695 >> Speed metrics: {'generation_runtime': 28.9442, 'generation_samples_per_second': 0.041, 'generation_steps_per_second': 1.15}
11/18/2024 22:44:04 - INFO - main - Saving images in /mnt/deepak_oh/examples/stable-diffusion/stable_diffusion_3_images...
Please advise whether this is the correct way?  Or the fix should be from habana torch implementation to check if the attribute exists before accessing it (Comments under _pre_fwd_hook says they have implemented this as a temp fix, so do we assume this would be fixed in future? ) .

as of here, I still see the same issue reported here. FYI. #1345 (review)

@imangohari1
The root cause is habana torch framework assumes that custom_name attribute is defined and tries to access it for the submodules of SD3Transformer2DModel which is not defined.
The block doin this is shown below ( module.custom_name)
def _pre_fwd_hook(module, input): # handle the naming mismatch issue with a temp fix, till we # find a way to get unique module names from the calibration tool with _lock: try: if _is_inference() and _name_stack and "relu" in module.custom_name: ns = str(_name_stack[-1]) if ns in _module_dict.keys(): _module_dict[ns] += 1 new_name = _name_stack[-1] + "/" + module.custom_name + "." + str(_module_dict[ns]) else: _module_dict[ns] = 0 new_name = _name_stack[-1] + "/" + module.custom_name if _name_stack else module.custom_name else: new_name = _name_stack[-1] + "/" + module.custom_name if _name_stack else module.custom_name
Quick Fix : Adding this attribute to the transformer modules (by code changes in stable diffusion 3 pipeline) fixed the issue, below is the result
Code change
for name, module in transformer.named_modules(): if not hasattr(module, 'custom_name'): # Only add if it doesn't already exist module.custom_name = name # Assign the module's name as the custom_name
Output: [auto_accelerator.py:419] Auto detect accelerator: HPU_Accelerator. 2024-11-18 22:43:34 [WARNING][auto_accelerator.py:419] Auto detect accelerator: HPU_Accelerator. 2024-11-18 22:43:34 [INFO][pipeline_stable_diffusion_3.py:406] Preparation started. 2024-11-18 22:43:34 [INFO][quantize.py:160] Start to prepare model with fp8_quant. 2024-11-18 22:43:35 [INFO][pipeline_stable_diffusion_3.py:406] Preparation end. [INFO|pipeline_stable_diffusion_3.py:490] 2024-11-18 22:43:35,751 >> 1 prompt(s) received, 1 generation(s) per prompt, 1 sample(s) per batch, 1 total batch(es). [WARNING|pipeline_stable_diffusion_3.py:495] 2024-11-18 22:43:35,751 >> The first two iterations are slower so it is recommended to feed more batches. 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:28<00:00, 28.94s/it] [INFO|pipeline_stable_diffusion_3.py:642] 2024-11-18 22:44:04,695 >> Speed metrics: {'generation_runtime': 28.9442, 'generation_samples_per_second': 0.041, 'generation_steps_per_second': 1.15} 11/18/2024 22:44:04 - INFO - main - Saving images in /mnt/deepak_oh/examples/stable-diffusion/stable_diffusion_3_images...
Please advise whether this is the correct way? Or the fix should be from habana torch implementation to check if the attribute exists before accessing it (Comments under _pre_fwd_hook says they have implemented this as a temp fix, so do we assume this would be fixed in future? ) .

I am not sure. @regisss  @libinta  WDYT?
p.s. @deepak-gowda-narayana  can you please make sure your commits are not duplicated and pushed? https://github.com/huggingface/optimum-habana/pull/1345/commits shows ike 45 commits and many are the same.

@imangohari1
Closing PR for now, I see some more regressions in other tests from diffusers tests. Will clear that and start a new PR


chore(main): release 0.0.24

:robot: I have created a release beep boop
0.0.24 (2024-06-09)
Bug Fixes

add yaml struct tags to VsphereCloudAccount (#276) (923a14c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/validator-labs/validator-plugin-vsphere/releases/tag/v0.0.24 :sunflower:


stop coercing falsy values to null before xhr.send()

This is intended to resolve https://github.com/angular/angular.js/issues/11552.

I signed it!

I authored the commits.

I've had problems with the CLA too :D I've had a little play with this issue. I've added a test I think is valid to check the behaviour.
see: https://github.com/royka/angular.js/commit/89ec5af6425c624f6c2f641ac5718fa69ec3ee98

@johnhoffman your commit is missing tests so we can't merge it as-is. There also seems to be an issue with the CLA - I suspect you've used a different e-mail / GitHub user name to author the commit and different one to sign the CLA.
@royka would you mind opening a PR with your change to see if the existing test pass? For example - do we need to convert undefined to null?

@pkozlowski-opensource see here https://github.com/angular/angular.js/pull/11579
unit tests pass

I fixed the CLA and updated the PR. Still unable to build angular and run tests on my machine (https://docs.angularjs.org/misc/contribute) so I guess we resort to Travis CI?


enableLogAccessUsingOnlyResourcePermissions is a boolean, but docs give 3 options

The type of this flag is a bool, but the documentation says:
"Flag that indicate which permission to use - resource or workspace or both."
I think the correct two options that are being referred to are:

workspace permissions only
workspace & resource permissions

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 974b72d0-2f8c-5aed-0b8f-d0bc3002162b
Version Independent ID: 37578e8a-0010-0c99-2607-c9de1c4cf8db
Content: WorkspaceFeatures.EnableLogAccessUsingOnlyResourcePermissions Property (Azure.ResourceManager.OperationalInsights.Models) - Azure for .NET Developers
Content Source: xml/Azure.ResourceManager.OperationalInsights.Models/WorkspaceFeatures.xml
Service: azure
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

The swagger spec defines this property as boolean type, need service team to confirm why the description is different with the property definition.


Get xiaomi (scene history|message) for [REDACTED] failed

Hi,
I keep getting these warnings on startup:
This error originated from a custom integration.

Logger: custom_components.xiaomi_miot.sensor
Source: custom_components/xiaomi_miot/sensor.py:838
Integration: Xiaomi Miot Auto (documentation, issues)
First occurred: 12:10:56 PM (2 occurrences)
Last logged: 12:11:13 PM

Get xiaomi scene history for [REDACTED] failed: {'code': 0, 'message': '成功', 'result': {'history': []}}

This error originated from a custom integration.

Logger: custom_components.xiaomi_miot.sensor
Source: custom_components/xiaomi_miot/sensor.py:720
Integration: Xiaomi Miot Auto (documentation, issues)
First occurred: 12:10:56 PM (2 occurrences)
Last logged: 12:11:13 PM

Get xiaomi message for [REDACTED] failed: {'code': 0, 'message': 'ok', 'result': {'messages': None}}

My main question is, why does the integration keep connecting to the cloud and asking for random data I don't even use, when I connected to my zhimi_mb3 air purifier locally, instead of using the Auto mode?

Found the solution:


Develop a component dashboard/landing page for Eventyay-Talk

Right there is no module for start page where attendee/organizers will proceed for the event activities.
This is to achieve:

starting page/dashboard for Eventyay-Talk.
with support for installed Eventyay-components like(Eventyay-Tickets,Eventyay-Video).

Part of https://github.com/fossasia/eventyay-talk/issues/235


[D3FC] Non-numeric axes on X/Y scatter charts

When a user selects a non-numeric column on an axis of an X/Y scatter chart, is there a way to apply a category axis ala Y scatter chart?  This is helpful when e.g. you want an aggregate which returns a non-numeric (like "unique" or "dominant") on an axis, which is different than the pivoted column - e.g. in this example, the data is grouped by "State", but we have the dominant 'Sub-Category" for each state as a category on the X axis (D3FC on left, HighCharts on right)

Similarly - when a datetime column is on the axis of an X/Y chart, it should be a datetime axis ala the Y series when pivoted by that column - e.g. in the below, the X axis is showing the datetime stringified and overlapped, rather than the Y line in the following chart.

I'll take a look. We should be able to detect the desired axis type easily enough, then we'll see if anything else breaks (though I think it should be fine).

This is fixed in 511 and was released in 0.2.23!


The Pagination with known total number of items control is too strict when validating the page number input

Go to the pagination with known total number of items here:

http://react.carbondesignsystem.com/?selectedKind=Pagination&selectedStory=with known total number of items&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel

Click on the input control which indicates the current page.  It will say 1 when you start.
Try to go to page four.

You can't press backspace and delete the 1 because that would make the current page be blank for a moment.  You can't type 4 and then delete the 1 because that would take you to either page 14 or 41 and there are only 11 pages.  The only thing you can do is highlight the 1 and then press 4 which will set the page number to 4 with just one change event.
It would be great if you could delete the 1 and then type 4.  It would be even better if there was a slight delay on this field.  Changing this field will likely cause a request back to the server to load the data for that page.  If you have 500 pages and are trying to go to page 349 you don't want to have to load the data for page 3, page 34, and then page 349.  If this input field had a 0.25 second delay before it took the input that would provide a much better user experience.

Looking in to this


Add recovery password request flow

Given

A valid email from a user registered in the platform
I am in the recovery password view

When

I enter a valid email like<EMAIL_ADDRESS>I click in the Submit button

Then

I validate I am in the login view
I validate I have a message "An email was sent with recovery instructions"

Screenshot

PR merged: https://github.com/josdem/playwright-vetlog/pull/24


Connection Timeout

Code
Formatted: https://pastebin.com/V8dAKU4n
$promises = [];         foreach ($items as $item) {             $promises[] = Worker\enqueueCallable(function() use ($item, $productConcreteStorages, $productMerchantStorages) {                 return $this->mapItem($item, $productConcreteStorages, $productMerchantStorages);             });         }         $productViews = Promise\wait(Promise\all($promises));
Exception:
[previous exception] [object] (ErrorException(code: 0): stream_socket_accept(): accept failed: Connection timed out at /data/shop/development/current/vendor/amphp/parallel/lib/Context/Internal/ProcessHub.php:78) [stacktrace] #0 [internal function]: Spryker\\Shared\\ErrorHandler\\ErrorHandlerEnvironment->Spryker\\Shared\\ErrorHandler\\{closure}(2, 'stream_socket_a...', '/data/shop/deve...', 78, Array) #1 /data/shop/development/current/vendor/amphp/parallel/lib/Context/Internal/ProcessHub.php(78): stream_socket_accept(Resource id #1119, 0) #2 /data/shop/development/current/vendor/amphp/amp/lib/Loop/NativeDriver.php(183): Amp\\Parallel\\Context\\Internal\\ProcessHub::Amp\\Parallel\\Context\\Internal\\{closure}('a', Resource id #1119, NULL) #3 /data/shop/development/current/vendor/amphp/amp/lib/Loop/NativeDriver.php(96): Amp\\Loop\\NativeDriver->selectStreams(Array, Array, 4.976) #4 /data/shop/development/current/vendor/amphp/amp/lib/Loop/Driver.php(138): Amp\\Loop\\NativeDriver->dispatch(true) #5 /data/shop/development/current/vendor/amphp/amp/lib/Loop/Driver.php(72): Amp\\Loop\\Driver->tick() #6 /data/shop/development/current/vendor/amphp/amp/lib/Loop.php(95): Amp\\Loop\\Driver->run() #7 /data/shop/development/current/vendor/amphp/amp/lib/functions.php(229): Amp\\Loop::run(Object(Closure))
Any idea how to fix?

Can you disable the Spryker error handler and try again? It appears the error handler may not be honoring the current error reporting level and throwing an exception.

Ran into the same issue with xdebugger ignoring the error suppression. See #125 for a potential fix.

Can you disable the Spryker error handler and try again? It appears the error handler may not be honoring the current error reporting level and throwing an exception.

100% the error handler is the issue.
Just upgraded to 8.0 and came back here because my error handler needed updates to reflect the following breaking change: https://www.php.net/manual/en/migration80.incompatible.php

The @ operator will no longer silence fatal errors (E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR, E_PARSE). Error handlers that expect error_reporting to be 0 when @ is used, should be adjusted to use a mask check instead:

Saw a potential option for a future fix instead of just suppressing the E_WARNING https://github.com/walkor/Workerman/blob/master/Worker.php#L2463
\set_error_handler(function(){});
$new_socket = \stream_socket_accept($socket, 0, $remote_address);
\restore_error_handler();

Implemented here: https://github.com/amphp/parallel/compare/master...duckboy81:master

We've switched out uses of @ across all libraries compatible with AMPHP v3 to use a custom error handler to avoid mis-behaving error handlers.
For AMPHP v2, this is far from the only usage of @ and we are not planning on back-porting this "feature." As such, I'd recommend fixing any error handlers to properly check error_reporting().


[BUG] Installation crashes and odd installation problem

Please confirm these before moving forward

[X] I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
[X] I have tested that this issue has not been fixed in the latest (beta or stable) release.
[X] I have checked the FAQ section for solutions
[X] This issue is about a bug (if it is not, please use the correct template)

Describe your issue
I tried installing losslesscut, but in normal installation it gets stuck on a warning about a shortcut creation, and as admin installation it runs really fast but seems to install nothing. And then wingetui registers it as installed.
Steps to reproduce the issue
Go to package finder, search lossless cut, choose install. Searching windows for lossless cut gives no results. Installation worked correctly on another computer with chocolatey in powershell.
WingetUI Log
Welcome to WingetUI Version 3.0.2
               Version Code 3,02
C:\Users\friso\AppData\Local\WingetUI\CachedLangFiles\lang_nl.json
C:\Program Files\WingetUI\Assets\Languages\lang_nl.json
Loaded language locale: nl
Api auth token: 6qo6dofdqcw509iaft58un0a83tia9ufqldama16ebjhiqc60n0mvqy7efu0zpfb
Starting update check
Api running on http://localhost:7058
System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at ModernWindow.Core.Data.LanguageEngine.UpdateLanguageFile(String LangKey) in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\Core\Data\LanguageData.cs:line 104
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: Npm
█ Enabled: True
█ Found: False
█ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
█ INSTALLED OR IT HAS BEEN MISCONFIGURED
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: .NET Tool
█ Enabled: True
█ Found: True
█ Fancye exe name: dotnet tool
█ Executable path: C:\Program Files\dotnet\dotnet.exe
█ Call arguments: tool
█ Version:
█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
WingetUI is up to date
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: Pip
█ Enabled: True
█ Found: True
█ Fancye exe name: pip
█ Executable path: C:\Users\friso\AppData\Local\Microsoft\WindowsApps\python.exe
█ Call arguments:  -m pip
█ Version:
█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Downloaded icons and screenshots successfully!
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: Chocolatey
█ Enabled: True
█ Found: True
█ Fancye exe name: choco.exe
█ Executable path: C:\Users\friso\AppData\Local\Programs\WingetUI\choco-cli\choco.exe
█ Call arguments:
█ Version:
█   2.2.2
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: Scoop
█ Enabled: True
█ Found: False
█ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
█ INSTALLED OR IT HAS BEEN MISCONFIGURED
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: Winget
█ Enabled: True
█ Found: True
█ Fancye exe name: winget.exe
█ Executable path: C:\Program Files\WingetUI\PackageEngine\Managers\winget-cli_x64\winget.exe
█ Call arguments:
█ Version:
█   v1.7.10582
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ Name: PowerShell
█ Enabled: True
█ Found: True
█ Fancye exe name: powershell.exe
█ Executable path: C:\Windows\system32\windowspowershell\v1.0\powershell.exe
█ Call arguments:  -NoProfile -Command
█ Version:
█   Name                           Value
█   ----                           -----
█   PSVersion                      5.1.22621.2506
█   PSEdition                      Desktop
█   PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
█   BuildVersion                   10.0.22621.2506
█   CLRVersion                     4.0.30319.42000
█   WSManStackVersion              3.0
█   PSRemotingProtocolVersion      2.3
█   SerializationVersion           <IP_ADDRESS>
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
LoadComponentsAsync finished executing. All managers loaded. Proceeding to interface.
Error finding updates on manager .NET Tool:
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'C:\ThisExe\WasNotFound\InPath\dotnet-tools-outdated.exe' with working directory 'C:\Program Files\WingetUI'. The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at ModernWindow.PackageEngine.Managers.Dotnet.GetAvailableUpdates_UnSafe() in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\PackageEngine\Managers\Dotnet.cs:line 83
   at ModernWindow.PackageEngine.Classes.PackageManager.GetAvailableUpdates() in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\PackageEngine\Classes\Manager.cs:line 164
Start backup
Starting check for updates wait interval with waitTime=259200
Finished loading serializable objects. Serializing with format JSON
Finished serializing
Backup saved to C:\Users\friso\Documents\WingetUI\PC_FRISO geïnstalleerde pakketten 2024-06-08 16-57-14.json
Error finding packages on manager Pip with query loss:
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'C:\ThisExe\WasNotFound\InPath\parse_pip_search' with working directory 'C:\Program Files\WingetUI'. The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at ModernWindow.PackageEngine.Managers.Pip.FindPackages_UnSafe(String query) in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\PackageEngine\Managers\Pip.cs:line 39
   at ModernWindow.PackageEngine.Classes.PackageManager.FindPackages(String query) in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\PackageEngine\Classes\Manager.cs:line 135
Error finding packages on manager Pip with query lossless:
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'C:\ThisExe\WasNotFound\InPath\parse_pip_search' with working directory 'C:\Program Files\WingetUI'. The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at ModernWindow.PackageEngine.Managers.Pip.FindPackages_UnSafe(String query) in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\PackageEngine\Managers\Pip.cs:line 39
   at ModernWindow.PackageEngine.Classes.PackageManager.FindPackages(String query) in C:\Users\marti\Desktop\wingetui-tempo\src\wingetui\PackageEngine\Classes\Manager.cs:line 135
Caching admin rights for process id 1572
Erasing admin rights

Package Managers Logs
Chocolatey v2.2.2
Chocolatey detected you are not running from an elevated command shell
(cmd/powershell).
You may experience errors - many functions/packages
require admin rights. Only advanced users should run choco w/out an
elevated shell. When you open the command shell, you should ensure
that you do so with "Run as Administrator" selected. If you are
attempting to use Chocolatey in a non-administrator setting, you
must select a different location other than the default install
location. See
https://docs.chocolatey.org/en-us/choco/setup#non-administrative-install
for details.
For the question below, you have 20 seconds to make a selection.
Do you want to continue?([Y]es/[N]o):
Timeout or your choice of '' is not a valid selection.
Installing the following packages:
lossless-cut
By installing, you accept licenses for the packages.
lossless-cut v3.61.1 [Approved]
lossless-cut package files install completed. Performing other installation steps.
File appears to be downloaded already. Verifying with package checksum to determine if it needs to be redownloaded.
Hashes match.
Hashes match.
Extracting C:\Users\friso\AppData\Local\Temp\chocolatey\lossless-cut\3.61.1\LosslessCut-win-x64.7z to C:\Users\friso\AppData\Local\Programs\WingetUI\choco-cli\lib\lossless-cut\tools...
C:\Users\friso\AppData\Local\Programs\WingetUI\choco-cli\lib\lossless-cut\tools
WARNING: Unable to create shortcut. Error captured was Unable to save shortcut "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\LosslessCut.lnk"..
WARNING: Unable to create shortcut. Error captured was Unable to save shortcut "C:\Users\Public\Desktop\LosslessCut.lnk"..

Relevant information
No response
Screenshots and videos
No response

Installing from the CLI does work?
choco install losslesscut

Opening PS as admin I did the following:
PS C:\Users\friso> choco list
Chocolatey v2.2.2
lossless-cut 3.61.1
PS C:\Users\friso> choco uninstall lossless-cut
Chocolatey v2.2.2
Uninstalling the following packages:
lossless-cut
lossless-cut v3.61.1
The package lossless-cut wants to run 'chocolateyuninstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): y
Skipping auto uninstaller - No registry snapshot.
lossless-cut has been successfully uninstalled.
then I did
PS C:\Users\friso> choco install lossless-cut
which was followed by a very long return message, and a succesful installation
so calling chocolatey directly worked


fixed invalid markdown image link

The current link 'assets/test_2016-01-27 15:08:54.png' has a space so it's invalid in markdown and cannot show the image.

Why 20 is added? Also, I can see the images from README.md from browser well. What do you mean by "cannot show the image"?

My mistake. Thanks for the PR!

This my pleasure.
BTW, %20 is the encoded value of space. (reference)


[REVIEW] Resume

Remove all personal data, otherwise the resume will be deleted.
Resume link: Resume
You can also join the discord community here
Feel free to check out other cool repositories of EddieHub Community here

Hey @starlightknown The design is very good but I would love to suggest you few things

Keep the resume of 1 page only
About me is not needed in the resume
Also the heading is not aligned. It becomes a bit confusing to understand what you are trying to show

Don't add soft skills as they should be reflected in the interview.
Try to make the resume using a single column resume template
Also give some structure to the project section.

Avoid adding colors and make it black and white (This is personal opinion)
You can watch Kunal's resume review live stream he has discussed some awesome points there

Hope that helped :heart:

yep thanks a lot, will update it with the suggestions

changed a lot of things, hope it's fine now @kaiwalyakoparkar let me know your feedback on this

Hey @starlightknown I still have some suggestions

Don't add profile photo
Make it a single column resume. Refer templates at overleaf.com
Add more about your projects, give links to them, Tell what did you do, etc
I will still recommend you to watch Kunal's resume review stream. You will get many points there

There will be more projects coming and more sections too, description would occupy more space. I did add the links. Going to watch it

Like the resume 👍🏼 one addition why is there a @ by twitter and at the other links not?

Good spot @schmelto :clap:

maybe I should remove @ in that too

Thanks for sharing 👍 , I will review on a live stream soon. Great to see the community already giving you feedback 💥

Hey @starlightknown ! Thanks for sharing your Resume with us! Some Suggestions from my side are

You should give some information about your projects in your resume  like what you've done in that project and what problem does it solve.
And in volunteering section you should add more about what you have done in that position, how you helped others grow in your college etc.
And some info about what you have build in those competitions or hackathons which you gave.

And you have written wrong linkedin username your username should be karuna-tata63 and you have written karuna-tata-63
Kunal's Review Part 1
Part 2
Striver
Tech Lead
Tech Lead
These are some of the videos which you can watch . And you can analyse other's resume on LinkedIn who are placed in big tech giants! :)

Requested Changes 😉

[ ] All points from the other folks
[ ] Visual hierarchy is missing
[ ] Attention is not parted
[ ] Headlines should be at the same height
[ ] Needs a change in the color scheme

Feedback

[x] Overall Layout 🤩
[x] Sidebar method 😍

Copy This Checklist Paste It Into An Comment Then Keep It Updated With Your Workflow. I will update mine once I see your checklist is updated 😃

I didn't get attention is not parted

I didn't get attention is not parted

Contrast, you should keep important text on a more contrasted color and the lesser important on a lesser contrast. That creates a attention to the important text just like bolding something to grap attention

got it, thanks. I was updating it so glancing at all points

At the website there is a missing :

yes, thanks! I made few changes now. Is it okay? except : I'll do it

Reviewed on live stream https://www.youtube.com/watch?v=gN9SWGV8YME
Looks great some thoughts:

really stands out and is memorable 💥
maybe a profile photo at the top left in the space
achievements maybe to have dates?
maybe remove the word website in the "get in touch section?
maybe remove the duplicate word education
suggest putting the full GitHub links under each projects, just incase it is printed or imported/exported from another platform and clickable links are lost


Remove "optional" requirement for nvim-lspinstall as it's no longer maintained

First of all, thank you for this plugin. It's great!
As a suggestions, you could remove the optional requirement for nvim-lspinstall as it's no longer maintained. The developer recommends using nvim-lsp-installer instead. By doing this, you eliminate a healhcheck warning that is confusing.
If you accept contributions I can submit a PR to do it.

This seems worthwhile. Please feel free to submit a PR.
An unrelated question:  Where/how did you hear about Goldsmith?

I have submitted a PR to resolve this issue. Please review.
I have tested it with my current Neovim installation as well as a new installation and it looks good.
On the unrelated question: I've heard about Goldsmith in a tweet from Brian Ketelsen. I've been using both Neovim and this plugin only for a few days and really happy so far. Still comparing with my previous Vim + Vim-Go based setup.

I'd be interested in the conclusion(s) from your comparison.


How to create API's using, C++ crow web-framework

I am new to C++, I am trying to implement web-server using C++ crow web-framework. The main task is to create GET and POST API's using 'crow' framework. I already have a JSON file that is created using cJSON library, What need to be implemented is,
1)GET API need to access the sample.json file and need to show the information present in that file.
And, suppose, if we made any changes in the sample.json file,
2)By using, POST API we need to update the changes in that file.
This is the sample.json:-
``
{
"log_enable": 1,
"log_level": 1,
"device": [
{
"server_ip": "<IP_ADDRESS>",
"server_port": "17001",
"http_max_users": "16",
}
],
"user": [
{
"username": "user",
"password": "123456"
}
],
"proxy": [
{
"suffix": "proxy",
"url": "rtsp://<IP_ADDRESS>/proxyStreamer_profile_1",
"user": "admin",
}
]
}
``
I have seen the github examples, but not able to understand how this crow framework works to implement these API's and getting and updating the details using the web.
Any help would be greatly appreciated.......

Well, you've got a long way to go, I would suggest reading the docs at https://crowcpp.org and maybe some file io guides. keep in mind you can read and write JSON within crow itself using crow::json::rvalue and crow::json::wvalue.

I don't think it's a correct place for the questions like that - a more appropriate would be the stackoverflow site and not the issue tracker in github

I don't think it's a correct place for the questions like that - a more appropriate would be the stackoverflow site and not the issue tracker in github

I posted in stackoverflow as well,but I didn't get any response there.

Well, you've got a long way to go, I would suggest reading the docs at https://crowcpp.org and maybe some file io guides. keep in mind you can read and write JSON within crow itself using crow::json::rvalue and crow::json::wvalue.
P.S. An API is the whole application you're trying to develop, the individual routes are called "endpoints", not "APIs"

can you help me with the code and explain about it? I would like to learn how it can be done. By seeing the examples I am not getting how crow really works and how to write.........

@saivamsi98 I can't really help you here, what you need is to learn general things about REST, the web, C++, etc.. Once you know these things you should be able to figure this stuff out yourself.

You should also read about reading/writing file in C++ (maybe with use of streams).

You should also read about reading/writing file in C++ (maybe with use of streams).

Yes, I'll do, thanks


update

Pull Request Test Coverage Report for Build 189445114

30 of 42 (71.43%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.008%) to 75.964%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/neo/SmartContract/Native/PolicyContract.cs
21
22
95.45%

src/neo/Network/P2P/Peer.cs
0
2
0.0%

src/neo/SmartContract/ApplicationEngine.Contract.cs
8
17
47.06%

Totals

Change from base Build 175282592:
0.008%

Covered Lines:
10320

Relevant Lines:
13074

💛  - Coveralls


Convenience link to github

Feature Request
Desired behaviour
Links out to GitHub can be versioned based on the current version selected.
i.e. rather than link to https://github.com/ICGC-TCGA-PanCancer/CGP-Somatic-Docker we can link to https://github.com/ICGC-TCGA-PanCancer/CGP-Somatic-Docker/tree/2.0.4 if we're looking at 2.0.4 of that tool/workflow

While we're at it, we need a more prominent place to display links to the TRS version of a tool/workflow for use by integrators

@denis-yuen Where do we want the TRS links? Would this be in the info tab?

I think that would be reasonable if we have the room.

We use this link https://dockstore.org:8443/static/swagger-ui/index.html#/GA4GH/toolsIdGet1 ?

Would we just be displaying the link, or displaying text which links to the TRS endpoint (and opens in a new tab)
Like
TRS: #workflow/workflow_path
or
TRS: https://dockstore.org...{version_id}/descriptor

I think displaying text which links to the endpoint, full URL is likely to be long and unwieldy

Working on staging with
DockstoreAPI - 1.5.0-alpha.6
DockstoreUI - 2.2.0-alpha.4

Breaks everything that requires providerUrl: commitID and cwl viewer DAG.  I'll work on this

Links look functional on
DockstoreAPI - 1.5.0-alpha.7
DockstoreUI - 2.2.0-alpha.5


templates: preserve \e

This allows for config like:
	'hyperlink(url, text)' = '''
		"\e]8;;" ++ plain_text(url) ++ "\e\\" ++ text ++ "\e]8;;\e\\"
	'''
	'format_short_change_id(id)' = '''
		hyperlink("https://gerrit/q/Id0000000" ++ id.normal_hex(), id.shortest())
	'''

Change-Id: Id00000003ea90dd3f9c6bcf9be0f597e0b3256b3

@yuja, I just hacked this together to see if it would even work (and it does :)) but would you be able to suggest a mergeable approach? (https://github.com/martinvonz/jj/pull/4593 enables this.)

Maybe you'll need a raw(content: Template_or_String?) function or something that will evaluate inner template and writes the result to formatter.raw(). Because not all formatters implement raw(), we'll need some workaround for that. (See FormatRecorder.)
Regarding escape, it might be better to add a generic \x1b syntax.


Can not stop box from sliding down slope by friction

Hello,
I have a box on a slope and I want the box to "stick" to the slope and stop moving down.
No matter how much I increase the friction (1) or frictionStatic (10+) parameters on both bodies, it will still slide down slowly.
Example: http://brm.io/matter-js/demo/#friction (top one)
What parameters do I have to set to stop the box sliding down the slope?

I found that is one of the disadvantages in matter.js. You might find the solution on your own because it's a known glitch.

Right, it is a duplicate of #613

Friction has its limits. It's often a balancing act between friction values, slop and mass, after that you may need more iterations. I've opened the other issue again to investigate if there's a bigger problem, thanks.

In fact, after logging body.speed and body.velocity, I found that body.speed is not equal to the magnitude of body.velocity. The magnitude of body.velocity seems normal (very very small), but body.speed is quite large.


Make ttyshots scripted and reproducible

The main benefits of this change are:

It uses a hermetic "home" directory with a known command and location
history. Which means it no longer depends on the interactive history
and directory layout of the person creating the ttyshot. Which also
means it no longer leaks the private history of anyone creating a
ttyshot. This produces reproducible results when updating ttyshots.

The user no longer has to augment the ttyshot by manually adding the
output of the commands to the generated HTML file. A process that is
error prone. The output of the commands that generate the ttyshot is
now captured and automatically included in the resulting HTML.

It makes it trivial to recreate every ttyshot. Simply execute these
commands:
make ttyshot
for f [website/ttyshot/**.spec] { put $f; ./ttyshot $f }

It makes it easy to introduce new "ttyshot" images by creating a
shell session "spec" file. This makes it easy to replace the existing
"elvish-transcript..." examples with ttyshots in order to
ensure a consistent representation and visual consistency with the
transcripts that are currently generated as ttyshots.

The downside of this change is the introduction of a dependency on the
Tmux application. But that seems reasonable since Tmux is a mature
application available on Linux, macOS, BSD, and probably every other
UNIX like OS we care about. Note that generating the Elvish
documentation already depends on similar apps such as Pandoc.
Related #1459

Before I get to do an in-depth review of this PR, can you describe why this needs tmux? It's not clear what it is being used for from my cursory look.

I use tmux because it makes it trivial to capture the final terminal image; including the colorization and other highlighting of the output of the commands run to produce the "ttyshot". That is the second point of the commit comment:
The user no longer has to augment the ttyshot by manually adding the
output of the commands to the generated HTML file. A process that is
error prone. The output of the commands that generate the ttyshot is
now captured and automatically included in the resulting HTML.

The entire point of this PR is that producing "ttyshots" should require zero human involvement and be 100% scripted. That makes it easier to update the ttyshots when the language evolves or things like the default color theme is revised. It also means that the cost of updating ttyshots is now close to zero since, in theory, doing so no longer requires human involvement. The ttyshots could, again in theory, always be generated on the fly as part of creating the Elvish web site. I didn't actually go that far with this change because I felt that, for now, updating the ttyshots should still be initiated, and the results reviewed by, a human.

You can see the result of this P.R. at https://www.skepticism.us/elvish. I updated those pages using this P.R. a few seconds before I wrote this comment. I did not have to copy/paste the output of the curl command in the "Powerful Pipelines" example. Other ttyshots that used to be inconsistent with respect to things like the right-prompt are now consistent with the documentation. I have no doubt this change has many shortcomings but I believe they are outweighed by the benefit of automating the creation of "ttyshots".

I use tmux because it makes it trivial to capture the final terminal image; including the colorization and other highlighting of the output of the commands run to produce the "ttyshot".  I am still not sure why tmux is needed.

I get that, but that is because you're using PTY. I am still not sure why tmux is needed.

A couple of reasons. First, if we ever wanted to automate generation of the ttyshots without doing so interactively from a real terminal we need a tool like tmux. Second, the tmux capture-pane command (see the definition and use of captureCmd) provides a simple means of obtaining an image of the screen that doesn't depend on a "real" terminal and in a form that is trivial to convert to HTML. I'm unaware of any general purpose mechanism for doing the same thing when interacting with a real terminal that will work regardless of the terminal type. Third, using tmux I can configure the desired dimensions completely independently of the real terminal someone might be using to generate the ttyshots. This means that generating the ttyshots does not depend on the user properly sizing their terminal.
I just noticed there are some left-over debugging prints in the code. So I'll rebase on the master branch, remove those unwanted diagnostic prints, and force push an update.

Please keep changes to the actual content of the ttyshots minimal. In particular, the colorful prompts are very distracting. Don't do that.

Okay, I'll simplify the prompts. That is a simple matter of editing the edit:prompt and edit:rprompt definitions in website/ttyshot/ttyshot.rc. I happen to like the more colorful prompts but that is clearly not central to this change.

I won't be reviewing the implementation of the ttyshot command or its DSL - there are things I'd like to change, but it will probably take too long and it will be easier for me to just make changes after merging.

That's what I expected. This is a huge change that I've been working on, an hour or two each week, for many months. Much of it is based on the earlier pull-request I opened to generate AsciiCinema images of ttyshots that you, correctly, rejected. I'm sure there is cruft and otherwise problematic aspects of this change. For example, the DSL for scripting a ttyshot is deliberately no more complicated than needed for my immediate purpose. If a more complex ttyshot DSL is warranted in the future it should be easy to introduce without impacting any existing Elvish users.

Followup to my previous comment: Every single time I review this change I find something that can be improved. I have no illusion that it is within a kilometer of being perfect. The question is whether it is good enough, and adds sufficient value, to be merged. I, obviously since I opened this pull-request, think the answer is yes.

I think it's worth belaboring that the primary point of this change is to eliminate the need for a human who wants to update (or create) a ttyshot having to
a) start a terminal with a specific size,
b) manually modify the Elvish prompts,
c) enter one or more commands,
d) use the experimental edit:-dump-buf command to capture the  Elvish rendering of the command or equivalent such as entering Navigation mode, and
e) possibly copy/paste the output of executing the command into the generated ttyshot.
A process that is error prone and so painful that some of the existing ttyshots do not conform to the current documentation for generating such images because the process to update them is painful. For example, some include a right hand prompt such as xiaq@xiaqsmb rather than elf@host.
I like the concept of ttyshots. I simply don't like how error prone and expensive it is to generate them without a mechanism such as provided by this pull-request. This change makes generating ttyshots require minimal, and potentially zero, human involvement. It also no longer exposes, or depends on, the Elvish history of the user generating the ttyshots. Which means it no longer leaks potentially sensitive information and makes regenerating a ttyshot reproducible (modulo external differences such as the state of Github).
I believe that this change will make it so easy to generate ttyshots that they can be used more often. Potentially replacing some, possibly all, of the existing elvish-transcript literals in the Markdown files. Thus improving fidelity with how such code snippets are actually rendered by the current Elvish version.

I suppose I should explicitly say that I do see the value of automating ttyshots since you've been stating it several times. That's why I'm OK with merging the pretty large ttyshot.go as is.
Aside from the change in color theme, another noticeable change is that the prompts now start with [$num]. I looked at the code and see that this is necessary for the wait-prompt to work. However, this means that the ttyshots diverge from Elvish's default prompt, which is confusing especially for newcomers. There may be some merit in making the default prompt actually show the command number, but that needs to be another conversation. I personally find it more distracting than useful and prefer to keep the default prompt minimal.
I just found out that I could merge the PR to a different branch than what you proposed. So I'll do that, apply the changes I have in mind before merging the change into the master branch.

The inclusion of the command number in the prompt is clearly a kludge and would have preferred to not include that information. I simply didn't feel comfortable modifying the logic that renders prompts to make it possible to disable the optimization(s) that made my kludge necessary to reliably detect a new prompt.
The CSS color name to hex changes are probably due to working around quirks of Asciinema rendering. I'm certain those changes were not based on my terminal profile. So replacing the hex values with either the original symbolic name or the official hex value for the symbolic name should be fine. The key point is that the new ttyshot mechanism does not use the legacy compound selectors.


Don't type-erase EntityRef/EntityMut::get calls

Objective
EntityRef::get and friends all type erase calls to fetch the target components by using passing in the TypeId instead of using generics. This is forcing a lookup to Components to fetch the storage type. This adds an extra memory lookup and forces a runtime branch instead of allowing the compiler to optimize out the unused branch.
Solution
Make all of the _with_type helper functions generic, and leverage Component::Storage::STORAGE_TYPE as a constant instead of fetching the metadata from Components.
Performance
This has a near 2x speedup for all calls to World::get. Microbenchmark results from my local machine. Query::get_component, which uses EntityRef::get internally also show a slight speed up. This has largely closed the gap between World::get and Query::get for the same use case.
group                                                             entity-ref-generics                     main
-----                                                             -------------------                     ----
query_get_component/50000_entities_sparse                         1.00   890.6±40.42µs        ? ?/sec     1.10   980.6±28.22µs        ? ?/sec
query_get_component/50000_entities_table                          1.00   968.5±73.73µs        ? ?/sec     1.08  1048.8±31.76µs        ? ?/sec
query_get_component_simple/system                                 1.00    703.2±4.37µs        ? ?/sec     1.00    702.1±6.13µs        ? ?/sec
query_get_component_simple/unchecked                              1.02    855.8±8.98µs        ? ?/sec     1.00    843.1±8.19µs        ? ?/sec
world_get/50000_entities_sparse                                   1.00    202.3±3.15µs        ? ?/sec     1.85   374.0±20.96µs        ? ?/sec
world_get/50000_entities_table                                    1.00    193.0±1.78µs        ? ?/sec     2.02   389.2±26.55µs        ? ?/sec
world_query_get/50000_entities_sparse                             1.01    162.4±2.23µs        ? ?/sec     1.00    161.3±0.95µs        ? ?/sec
world_query_get/50000_entities_table                              1.00    199.9±0.63µs        ? ?/sec     1.00    200.2±0.74µs        ? ?/sec

This should also, by proxy, speed up the ReflectComponent APIs as most of those use World::get variants internally.

Did you try just passing StorageType in as an argument instead of making it generic

Did you try just passing StorageType in as an argument instead of making it generic

That'd also work, but it'd add yet another safety invariant and force fetching ComponentInfo in untyped APIs onto the caller. Wanted to avoid that where possible. If it's more desirable that we keep code duplication low, I can do this if need be.

I've gone ahead and made the APIs not generic again, though the _with_type APIs are rather thin wrappers around the untyped APIs at this point. Very tempted to just remove them at this point.

assuming miri passes I think we should merge this, removing with_type can be done in a separate PR

bors try

bors r+


Chocolatey GUI icon is a blank image

Icon missing:

I've noticed that there are two folders in C:\Program Files (x86)\:
Chocolatey GUI and ChocolateyGUI (this latest is empty)

@superbonaci can you please confirm what version of Chocolatey GUI you are using?

@gep13 ChocolateyGui.exe is version <IP_ADDRESS> (MD5=f5ceb8aac15566dc4e7413fbb613e83f)

Bump

@superbonaci @Kobus-Smit I have just tried to reproduce this problem with the latest pre-release version of Chocolatey GUI and I have not been able to.
Can you please verify with the latest pre-release version if the issue persists, and if it does, we can get this re-opened.  Thanks

@gep13 Yes the pre-release's shortcut does have an icon but the .exe file does not:

@Kobus-Smit thank you for the clarification.
I have just made a change which should correct this problem.  It should be available in the next version of Chocolatey GUI, or in the next version of the pre-release from MyGet.

The issue is not fixed yet.

@superbonaci can you confirm what version of Chocolatey GUI you are currently using?

@gep13 https://github.com/chocolatey/ChocolateyGUI/issues/696

@superbonaci that doesn't answer my question.

Ok thank you. I've merged the icon into the exe for now.

Thank you, tested and works.

@superbonaci that is great, thank you for confirming!

After running choco upgrade all the icon is missing again. Download link:
ChocolateyGui.exe | 991 KB
MD5:
CF0ACB3B80349D6E3C6F74B2EEE2F31C  .\ChocolateyGui.exe

I also ran this command:
choco install .\qbittorrent.4.2.2.nupkg

@superbonaci I am not sure how the qbittorrent command is relevant here.

@gep13 in case the install modifies something in the system.

@superbonaci said...
in case the install modifies something in the system.

No, this is unlikely to have caused any issues.


Audit log filters not working correctly

Going from a filtered env to all envs doesnt clear the env ID from the API call
Filtered env list isnt showing all records

I realised in the end that I was filtering the results on the frontend due to the environment param appearing not to work, given the following 2 endpoints:
audit/?project=112&environment=270&page_size=20
audit/?page_size=20&project=112
They appear to return the exact same results, also it returns 1500 results.

Related hub.com/Flagsmith/flagsmith/issues/738

Reopening for frontend work to get paging working.


Add Google Workspace

See this thread for more details https://twitter.com/agl__/status/1536058673327288320

This makes me sad. I was aware of this incompatibility but not the exact reason for it; and that it will presumably be slow trickle through the device ecosystem.


Clarify 2 byte color encoding

From the example I believe this is what was intended? A literal interpretation of the original text could be interpreted as saying the color values literally are just 4 bits per channel, but in 8 bit color space, so the brightest you can generate in each channel is 0x0F, which doesn't match the example.

Thanks!


Dark theme support for ipywidgets

Ipywidgets don't look too pleasant in dark mode

Therefore I'd like to ask Is it possible to support theming for ipywidgets?
There was a discussion about this 3 years ago, where @DavidKutu mentioned that there is no theming support planed:
https://github.com/microsoft/vscode-jupyter/issues/1355
Maybe things have changed since then? Would be great to have that feature!
cc. @DonJayamanne

Duplicate of https://github.com/microsoft/vscode-jupyter/issues/7161


Relative path to re-used schemas wrong

When I generate the spec zip file e.g. from here, there is Tourist destination reusing Bezbariérový přístup.
The XSD for Tourist destination is in ofn-turtisticke-cile/tourist-destinations/schema.xsd. The XSD for Bezbariérový přístup is in prepouziti-bezbarierovy-pristup/bezbarierovy-pristup/schema.xsd. However, the import in the first XSD is:
<xs:include schemaLocation="prepouziti-bezbarierovy-pristup/bezbarierovy-pristup/schema.xsd"/>

while it should be
<xs:include schemaLocation="../../prepouziti-bezbarierovy-pristup/bezbarierovy-pristup/schema.xsd"/>

if we intend on keeping this ZIP file structure (and I think that now there is no reason not to).

At the moment, the location is taken from the DataSpecificationArtefact.publicUrl without any changes, which is also true for other generators like JSON Schema (so I suppose it might be incorrect there as well), so a solution should be something usable by all generators, perhaps a utility function like resolveArtifactUrl(resolved: DataSpecificationArtefact, base: DataSpecificationArtefact) which should look at the publicUrl of both artifacts and generate a relative URL (or simply use resolved.publicUrl directly if it is absolute). What do you think @sstenchlak?

Hi @cermakmarek, I have implemented pathRelative function according to the Node.js Path.relative function (which is available only for Node).


Best way to clear Presenter-forked repo state when a user logs out?

Whenever a user logs out of our application, we send the user to our /login page. Presenters, through componentWillUnmount, seem to instruct their forked repos to tear down (effectively clearing them?). We see the teardown happening, and going to /login will have unmounted all the presenters, but we see the old data in the forked repos within presenters after logging back in. In an attempt to address this, we've considered doing repo.clear from every domain or presenter when our logOut action is called. It's starting to feel like we aren't doing it right. We'll appreciate any guidance you can offer.

You should get a fresh fork of the parent repo if your presenter unmounts, and a new one takes its place.
In the past, we've called repo.reset() when a user logs out. That forces all domains to return to their initial state.
Is the same Presenter instance persisting between moving to /login, then wherever they land once they have signed in?

@djmccormick Didn't want to drop the ball here. I've also been thinking...
What if there were a hard reset that reset an entire tree of forks? You could call it to completely blow away state, restarting from the result of getInitialState.

In Microcosm 12.x, calling reset should operate on the entire network of Microcosm forks. Do you think that helps for your use case here?

@djmccormick I think I hit the only other edge case that might produce this in the latest recent 12.1.0-rc release. Basically, if an action was left open, history would always rollback to that point whenever a new action was pushed. This might reproduce state unexpectedly.
This should no longer be the case. However I still want to explore a hard reset, that completely resets from the beginning, wiping away history along the way. What do you think?

We ended up just ensuring things get unmounted instead of trying to reset. I'm not clear on how reset would work against a repo passed to an effect, say. Is that a fork I'd be clearing? What determines that? At any rate, we are beyond the issue. Thanks for your thoughts on this!


"Doroteia" and "Plutonița" are listed in the drop-down menu

Description:
The villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions:
The website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Doroteia".

Expected results
The location is listed in the drop-down menu as "Sat Doroteia SUCEAVA (Frasin)".

Step 2
Write in the search bar "Plutonița".

Expected results
The location is listed in the drop-down menu as "Sat Plutonița SUCEAVA (Frasin)".


draw a line use openseadragon-fabric，but it's drag background image together

It's hard for me to tell exactly what's going on without playing with it... could you make a CodePen with it?
At any rate, I think it might work well to use the canvas-drag event and tell it to prevent the default action. Something like so:
viewer.addHandler('canvas-drag', function(event) {
  event.preventDefaultAction = true;

  // move line
});

sorry to forget to reply immediately,it's useful ,thanks for your help~~

Great... thanks for letting me know!

@oyy123
When version 3.0.0 is released, there's a bunch of new stuff to make these things easier!
Closing this for now...feel free to re-open if there's any more questions or issues!


feat: Apply bluetooth controller stuck on sleep workaround

This solves the issue with controllers being kept powered on during suspend.
See issue #1289, issue #1040 and potentialy issue #1119

Any regressions for this? Just trying to avoid breaking Bluetooth if we can, we had previous similar concepts to this that caused devices not to sleep.

#1289 can not be affected by this workaround because the issue has nothing to do with the sleep mode.

Thanks! Merging into testing because we've been bit by bluetooth changes before. Will get on Main if no issues are found.


ImportError: cannot import name 'LangchainLLM' from 'ragas.llms'

In docs and the examples mentioned, Ragas uses LangchainLLM but that throws the following error:
ImportError: cannot import name 'LangchainLLM' from 'ragas.llms'

Ragas version: git+https://github.com/explodinggradients/ragas.git@5f105c08b7579188aea1113334dae6b6a8a15660#egg=ragas
Python version: 3.9
Upon quick inspection into the imports I believe LangchainLLMWrapper should be in place for the docs.

Hi @abhijithneilabraham , you're using latest version of ragas but the docs you're referring to are from stable version. Please refer to https://docs.ragas.io/en/latest/

Oops, sorry. I am raising a fix for this https://github.com/explodinggradients/ragas/pull/473


AdaptiveShowCardAction event only fires if HostConfig ShowActionMode is Popup

See HostConfig and ShowActionMode

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a5f9ff5d-ffa5-8453-8553-9e6c2fe6b3e5
Version Independent ID: a31723cf-b1d9-ff9c-56eb-4d66240972db
Content: Actions - UWP SDK - Adaptive Cards
Content Source: AdaptiveCards/sdk/rendering-cards/uwp/actions.md
Product: adaptive-cards
GitHub Login: @matthidinger
Microsoft Alias: mahiding

@matthidinger I've updated the docs in master for this, but they'll need to be published!


Fix early forking in networks when block height < k

This is part of epic #4744. The best tip prover will not serve proofs that are less than k in length. The effect of this is that nodes cannot bootstrap to the network properly for the first k blocks of the network. I think we should adjust the best tip prover logic to serve proofs of length min(block_height, k), where block_height is the block height of a sufficiently "recent" block (recent in terms of consensus time). We can compute what exactly "recent" means using delta.

We have decided to not do this until we observe this again. This issue was exacerbated by gossip network issues, and we believe that nodes will not be stuck in this situation again so long as new block messages are consistently gossiped through the network. We would prefer to avoid changing best tip prover logic so that we do not introduce any additional surface area for mistakes.

This has not been observed since the gossip net was fixed.


Add turbo:load event listener to Matomo code

Why these changes are being introduced:
It’s a known issue that the out-of-the-box Matomo tracking code does not work with Turbo, but we want to continue using Turbo because it's great.
Relevant ticket(s):

GDT-289

How this addresses that need:
This adds a JS snippet to the tracking code, based on Matomo's instructions for tracking SPA's, that sends an event to Matomo when Turbo loads a page. See this GitHub issue for details.
Side effects of this change:
We should add this change to the theme gem if it works for apps that are not using Turbo. (It should, but I haven't confirmed it.)
Developer
Accessibility

[ ] ANDI or WAVE has been run in accordance to our guide.
[x] This PR contains no changes to the view layer.
[ ] New issues flagged by ANDI or WAVE have been resolved.
[ ] New issues flagged by ANDI or WAVE have been ticketed (link in the Pull Request details above).
[ ] No new accessibility issues have been flagged.

New ENV

[ ] All new ENV is documented in README.
[ ] All new ENV has been added to Heroku Pipeline, Staging and Prod.
[x] ENV has not changed.

Approval beyond code review

[ ] UXWS/stakeholder approval has been confirmed.
[x] UXWS/stakeholder review will be completed retroactively.
[ ] UXWS/stakeholder review is not needed.

Additional context needed to review
To confirm the changes, you can deploy this to GeoData staging and confirm that pageviews and search terms are logged in Matomo staging. (Note that only the q param is captured at present.)
Code Reviewer
Code

[ ] I have confirmed that the code works as intended.
[ ] Any CodeClimate issues have been fixed or confirmed as
added technical debt.

Documentation

[ ] The commit message is clear and follows our guidelines
(not just this pull request message).
[ ] The documentation has been updated or is unnecessary.
[ ] New dependencies are appropriate or there were no changes.

Testing

[ ] There are appropriate tests covering any new functionality.
[ ] No additional test coverage is required.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.456%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
548

Relevant Lines:
551

💛  - Coveralls


Fixing the job portal section in website

Description
the ui of this page does not look good, so i want to edit this
Screenshots
No response
Additional information
No response
Do you want to work on this issue?

[ ] I want to work on this issue.

would need what are your plans!
maybe show some designs

@AnirudhPanda pls respon

@AnirudhPanda ....

i need some visual designs before approving this

i need some visual designs before approving this

we can decrease the with, and update the buttons, its not actually very appealing,

also the text color, heading  is not good and i want to change it to a darker color and align them also

@AnirudhPanda ...?

can i start working on this ?

okay

okay

alright thanks

@AnirudhPanda pls review PR


Check failed: allow_null  LocalFileSystem: fail to open "model/resnet-50-0000.params"

mxnet.base.MXNetError: [22:47:15] src/io/local_filesys.cc:154: Check failed: allow_null  LocalFileSystem: fail to open "model/resnet-50-0000.params"

Hi, please download Resnet-50 pretrained model first, refer to step 2.

thank you  i download model but path is not scrips/model  it is /rcnn/utils/

@pythonnewer Did you solve this problem?

Close due to inactive status. Please reopen it if needed.


cli command: app -> use

Not implemented: unikube app use

I am not sure if we need this command (at least currently)?
What do you think @Schille ?
Do we really want to set an app, such as "buzzword-counter-web-574569d7dc-56j5x", into the context?


backup-now throwsdate: invalid date '@' warning

backup-now throws this message:
[NOTICE] ** [db-backup] Next Backup at
date: invalid date '@'
It can be removed by adding a condition, will push a fix soon.

We noticed this on my inclusion of some of this script on my tiredofit/mariadb image today. Your fix is much more elegant than my sleepy eyed/no coffee hack that I introduced. Thanks for this!

Thank you for making such a good tool, I love it!

Tagged as tiredofit/db-backup:2.2.1


Add CODEOWNERS file.

As per the discussion from the core developer's meeting https://github.com/numba/numba/wiki/Minutes_2020_11_03#0-feature-discussion this adds a CODEOWNERS file with both information for github automation and also information for others about who to contact first regarding various parts/concepts in the code base.

Thanks for the feedback, there's multiple levels of approval so marking for merge.