Add macOS support

Hi,
First thank you for this great piece of software. Just FYI that I ported it to macOS for evaluation on my machine. All the tests passed without a hitch and the performance stats are attached below.
Best,
Fan Jiang
(The machine is an i7-8700K @4.3GHz with 32GB of memory)
Test name (ALL by default):   ?

Latency Test to run => PingPongSequencedLatencyTest, Runs => 3
Starting latency tests
binding to core 1
binding to core 0
Run: Duration (s): 24.2, Latency: min: 3.73 us, mean: 7 us, max: 1.43 ms, Q99.99: 51.1 us, Q99.9: 19.6 us, Q99: 11 us, Q98: 9.25 us, Q95: 7.57 us, Q93: 7.36 us, Q90: 7.24 us, Q50: 6.86 us
binding to core 1
binding to core 0
Run: Duration (s): 24.4, Latency: min: 3.6 us, mean: 7.06 us, max: 1.73 ms, Q99.99: 51.8 us, Q99.9: 24.8 us, Q99: 12 us, Q98: 10.2 us, Q95: 7.97 us, Q93: 7.47 us, Q90: 7.26 us, Q50: 6.86 us
binding to core 0
binding to core 1
Run: Duration (s): 24.3, Latency: min: 313 ns, mean: 7.03 us, max: 350 us, Q99.99: 51.5 us, Q99.9: 21.7 us, Q99: 11.7 us, Q98: 10.1 us, Q95: 7.96 us, Q93: 7.52 us, Q90: 7.27 us, Q50: 6.84 us
Throughput Test to run => OneToOneRawBatchThroughputTest, Runs => 7
Starting throughput tests
Run: Ops: 643 603 976 - Duration (s): 3.11
Run: Ops: 642 391 340 - Duration (s): 3.11
Run: Ops: 624 379 522 - Duration (s): 3.2
Run: Ops: 648 166 272 - Duration (s): 3.09
Run: Ops: 642 900 561 - Duration (s): 3.11
Run: Ops: 642 843 941 - Duration (s): 3.11
Run: Ops: 649 735 638 - Duration (s): 3.08
Throughput Test to run => OneToOneRawThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
Run: Ops: 56 409 008 - Duration (s): 3.55
binding to core 0
binding to core 1
Run: Ops: 55 760 008 - Duration (s): 3.59
binding to core 0
binding to core 1
Run: Ops: 56 448 157 - Duration (s): 3.54
binding to core 0
binding to core 1
Run: Ops: 58 024 329 - Duration (s): 3.45
binding to core 0
binding to core 1
Run: Ops: 55 330 988 - Duration (s): 3.61
binding to core 0
binding to core 1
Run: Ops: 57 415 465 - Duration (s): 3.48
binding to core 0
binding to core 1
Run: Ops: 55 454 997 - Duration (s): 3.61
Throughput Test to run => OneToOneSequencedBatchThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
Run: Ops: 384 729 471 - Duration (s): 2.6
binding to core 0
binding to core 1
Run: Ops: 386 647 215 - Duration (s): 2.59
binding to core 0
binding to core 1
Run: Ops: 386 474 624 - Duration (s): 2.59
binding to core 0
binding to core 1
Run: Ops: 387 625 445 - Duration (s): 2.58
binding to core 0
binding to core 1
Run: Ops: 388 768 629 - Duration (s): 2.57
binding to core 0
binding to core 1
Run: Ops: 387 378 735 - Duration (s): 2.58
binding to core 0
binding to core 1
Run: Ops: 387 056 370 - Duration (s): 2.58
Throughput Test to run => OneToOneSequencedLongArrayThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
Run: Ops: 1 712 732 594 - Duration (s): 1.2
binding to core 0
binding to core 1
Run: Ops: 1 650 651 797 - Duration (s): 1.24
binding to core 0
binding to core 1
Run: Ops: 1 670 673 400 - Duration (s): 1.23
binding to core 0
binding to core 1
Run: Ops: 1 695 823 289 - Duration (s): 1.21
binding to core 0
binding to core 1
Run: Ops: 1 622 324 708 - Duration (s): 1.26
binding to core 0
binding to core 1
Run: Ops: 1 527 741 411 - Duration (s): 1.34
binding to core 0
binding to core 1
Run: Ops: 1 587 040 819 - Duration (s): 1.29
Throughput Test to run => OneToOneSequencedPollerThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
Run: Ops: 26 737 438 - Duration (s): 3.74
binding to core 0
binding to core 1
Run: Ops: 26 003 163 - Duration (s): 3.85
binding to core 0
binding to core 1
Run: Ops: 26 121 466 - Duration (s): 3.83
binding to core 0
binding to core 1
Run: Ops: 25 439 803 - Duration (s): 3.93
binding to core 0
binding to core 1
Run: Ops: 25 373 955 - Duration (s): 3.94
binding to core 0
binding to core 1
Run: Ops: 24 740 405 - Duration (s): 4.04
binding to core 0
binding to core 1
Run: Ops: 25 809 022 - Duration (s): 3.87
Throughput Test to run => OneToOneSequencedThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
Run: Ops: 26 274 607 - Duration (s): 3.81
binding to core 0
binding to core 1
Run: Ops: 26 022 874 - Duration (s): 3.84
binding to core 0
binding to core 1
Run: Ops: 26 299 504 - Duration (s): 3.8
binding to core 0
binding to core 1
Run: Ops: 26 385 377 - Duration (s): 3.79
binding to core 0
binding to core 1
Run: Ops: 25 239 631 - Duration (s): 3.96
binding to core 0
binding to core 1
Run: Ops: 25 675 246 - Duration (s): 3.89
binding to core 0
binding to core 1
Run: Ops: 24 881 737 - Duration (s): 4.02
Throughput Test to run => OneToOneTranslatorThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
Run: Ops: 34 150 812 - Duration (s): 2.93
binding to core 0
binding to core 1
Run: Ops: 33 925 583 - Duration (s): 2.95
binding to core 0
binding to core 1
Run: Ops: 30 175 971 - Duration (s): 3.31
binding to core 0
binding to core 1
Run: Ops: 29 556 801 - Duration (s): 3.38
binding to core 0
binding to core 1
Run: Ops: 29 388 772 - Duration (s): 3.4
binding to core 0
binding to core 1
Run: Ops: 30 020 591 - Duration (s): 3.33
binding to core 0
binding to core 1
Run: Ops: 26 044 644 - Duration (s): 3.84
Throughput Test to run => OneToThreeDiamondSequencedThroughputTest, Runs => 7
Starting throughput tests
Run: Ops: 27 306 117 - Duration (s): 3.66
Run: Ops: 27 145 108 - Duration (s): 3.68
Run: Ops: 27 395 488 - Duration (s): 3.65
Run: Ops: 27 217 238 - Duration (s): 3.67
Run: Ops: 27 143 398 - Duration (s): 3.68
Run: Ops: 27 363 853 - Duration (s): 3.65
Run: Ops: 27 408 576 - Duration (s): 3.65
Throughput Test to run => OneToThreePipelineSequencedThroughputTest, Runs => 7
Starting throughput tests
Run: Ops: 21 473 148 - Duration (s): 4.66
Run: Ops: 20 333 741 - Duration (s): 4.92
Run: Ops: 21 718 092 - Duration (s): 4.6
Run: Ops: 19 489 218 - Duration (s): 5.13
Run: Ops: 19 681 990 - Duration (s): 5.08
Run: Ops: 21 295 775 - Duration (s): 4.7
Run: Ops: 21 120 171 - Duration (s): 4.73
Throughput Test to run => OneToThreeReleasingWorkerPoolThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 2
binding to core 1
binding to core 3
Run: Ops: 9 969 016 - Duration (s): 1
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 9 985 032 - Duration (s): 1
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 9 764 852 - Duration (s): 1.02
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 9 791 298 - Duration (s): 1.02
binding to core 0
binding to core 3
binding to core 1
binding to core 2
Run: Ops: 9 882 711 - Duration (s): 1.01
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 9 861 398 - Duration (s): 1.01
binding to core 0
binding to core 3
binding to core 1
binding to core 2
Run: Ops: 9 806 536 - Duration (s): 1.02
Throughput Test to run => OneToThreeSequencedThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 50 621 018 - Duration (s): 5.93
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 51 340 149 - Duration (s): 5.84
binding to core 0
binding to core 2
binding to core 1
binding to core 3
Run: Ops: 50 389 079 - Duration (s): 5.95
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 51 258 183 - Duration (s): 5.85
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 51 126 922 - Duration (s): 5.87
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 50 920 645 - Duration (s): 5.89
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 52 591 572 - Duration (s): 5.7
Throughput Test to run => OneToThreeWorkerPoolThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 10 363 566 - Duration (s): 9.65
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 10 313 644 - Duration (s): 9.7
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 10 296 297 - Duration (s): 9.71
binding to core 0
binding to core 1
binding to core 2
binding to core 3
Run: Ops: 10 426 598 - Duration (s): 9.59
binding to core 0
binding to core 3
binding to core 1
binding to core 2
Run: Ops: 10 306 898 - Duration (s): 9.7
binding to core 0
binding to core 3
binding to core 1
binding to core 2
Run: Ops: 10 295 814 - Duration (s): 9.71
binding to core 0
binding to core 3
binding to core 1
binding to core 2
Run: Ops: 10 460 699 - Duration (s): 9.56
Throughput Test to run => ThreeToOneSequencedBatchThroughputTest, Runs => 7
Starting throughput tests
Run: Ops: 119 998 608 - Duration (ms): 833
Run: Ops: 121 027 718 - Duration (ms): 826
Run: Ops: 120 204 010 - Duration (ms): 832
Run: Ops: 120 438 685 - Duration (ms): 830
Run: Ops: 120 456 094 - Duration (ms): 830
Run: Ops: 119 930 536 - Duration (ms): 834
Run: Ops: 120 453 918 - Duration (ms): 830
Throughput Test to run => ThreeToOneSequencedThroughputTest, Runs => 7
Starting throughput tests
binding to core 0
binding to core 1
binding to core 2
binding to core 3
binding to core 4
Run: Ops: 3 416 279 - Duration (s): 5.85
binding to core 0
binding to core 1
binding to core 2
binding to core 3
binding to core 4
Run: Ops: 3 425 510 - Duration (s): 5.84
binding to core 0
binding to core 1
binding to core 2
binding to core 4
binding to core 3
Run: Ops: 3 392 300 - Duration (s): 5.9
binding to core 0
binding to core 1
binding to core 2
binding to core 4
binding to core 3
Run: Ops: 3 383 040 - Duration (s): 5.91
binding to core 0
binding to core 1
binding to core 2
binding to core 3
binding to core 4
Run: Ops: 3 488 598 - Duration (s): 5.73
binding to core 0
binding to core 2
binding to core 1
binding to core 3
binding to core 4
Run: Ops: 3 446 748 - Duration (s): 5.8
binding to core 0
binding to core 1
binding to core 2
binding to core 3
binding to core 4
Run: Ops: 3 386 453 - Duration (s): 5.91
Throughput Test to run => ThreeToThreeSequencedThroughputTest, Runs => 7
Starting throughput tests
Run: Ops: 508 944 223 - Duration (s): 1.06
Run: Ops: 511 072 286 - Duration (s): 1.06
Run: Ops: 529 820 037 - Duration (s): 1.02
Run: Ops: 532 306 048 - Duration (s): 1.01
Run: Ops: 530 170 115 - Duration (s): 1.02
Run: Ops: 513 763 632 - Duration (s): 1.05
Run: Ops: 517 745 238 - Duration (s): 1.04
Throughput Test to run => TwoToTwoWorkProcessorThroughputTest, Runs => 7
Starting throughput tests
Run: Ops: 5 508 974 - Duration (ms): 182
Run: Ops: 5 085 435 - Duration (ms): 197
Run: Ops: 5 408 796 - Duration (ms): 185
Run: Ops: 5 243 646 - Duration (ms): 191
Run: Ops: 5 428 881 - Duration (ms): 184
Run: Ops: 5 214 416 - Duration (ms): 192
Run: Ops: 5 473 783 - Duration (ms): 183

@ProfFan sorry for the very late answer. Thank you very much for your piece of work, we appreciate!


Investigate if Caffeine cache is really necessary

I think libraries like this should have as few dependencies as possible. When used in a large project (as ours) this easily leads to version clashes with other libraries.
Looking at the code, Caffeine is used in a very simple way and the usage of this library seems a bit overkill. Seeing that pebble depends on Java 8 since version 3.0.0, a ConcurrentHashMap (which can be used as a loading cache using the new lambda-compatible methods) should be more than adequate.
I may submit a pull request for this.

Maybe an interface with a default implementation (no external dependencies) and an optional (in pom.xml) Caffeine based implementation.

Like the idea of @decebals to have an interface. We can provide a default implementation using ConcurrentHashMap. I'd like to give the option of another another cache implementation to the enduser (if you want cache with TTL for example)

Gonna be available in next release


Pony model fusion lora error

C:\Users\86189>C:\Users\86189\Desktop\lora-scripts-main\venv\Scripts\python C:\Users\86189\Desktop\lora-scripts-main\sd-scripts\networks\merge_lora.py --v2 --sd_model E:\sd-webui-aki-v4.7\models\Stable-diffusion\ponyDiffusionV6XL_v6StartWithThisOne.safetensors   --save_to C:\Users\86189\Desktop\089-000005-0.6.safetensors --models C:\Users\86189\Desktop\zzh2-000002.safetensors  --ratios 0.85 --save_precision=bf16
2024-07-29 13:34:59 WARNING  A matching Triton is not available, some optimizations will not be enabled   init.py:59
Traceback (most recent call last):
File
"C:\Users\86189\Desktop\lora-scripts-main\venv\lib\site-packages\xformers__
init__.py", line 55, in _is_triton_available
from xformers.triton.softmax import softmax as triton_softmax  # noqa
File
"C:\Users\86189\Desktop\lora-scripts-main\venv\lib\site-packages\xformers\tr
iton\softmax.py", line 11, in
import triton
ModuleNotFoundError: No module named 'triton'
INFO     loading SD model:                                                         merge_lora.py:246
E:\sd-webui-aki-v4.7\models\Stable-diffusion\ponyDiffusionV6XL_v6StartWit
hThisOne.safetensors
INFO     UNet2DConditionModel: 64, [5, 10, 20, 20], 1024, True, False          original_unet.py:1387
Traceback (most recent call last):
File "C:\Users\86189\Desktop\lora-scripts-main\sd-scripts\networks\merge_lora.py", line 361, in
merge(args)
File "C:\Users\86189\Desktop\lora-scripts-main\sd-scripts\networks\merge_lora.py", line 248, in merge
text_encoder, vae, unet = model_util.load_models_from_stable_diffusion_checkpoint(args.v2, args.sd_model)
File "C:\Users\86189\Desktop\lora-scripts-main\sd-scripts\networks..\library\model_util.py", line 1008, in load_models_from_stable_diffusion_checkpoint
info = unet.load_state_dict(converted_unet_checkpoint)
File "C:\Users\86189\Desktop\lora-scripts-main\venv\lib\site-packages\torch\nn\modules\module.py", line 2153, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for UNet2DConditionModel:
Missing key(s) in state_dict: "down_blocks.0.attentions.0.norm.weight", "down_blocks.0.attentions.0.norm.bias",

  size mismatch for down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([640, 1024]).
  size mismatch for down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([640, 1024]).
  size mismatch for down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([640, 1024]).
  size mismatch for down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([640, 1024]).
  size mismatch for down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([1280, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([1280, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([1280, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([1280, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.0.resnets.2.norm1.weight: copying a param with shape torch.Size([1920]) from checkpoint, the shape in current model is torch.Size([2560]).
  size mismatch for up_blocks.0.resnets.2.norm1.bias: copying a param with shape torch.Size([1920]) from checkpoint, the shape in current model is torch.Size([2560]).
  size mismatch for up_blocks.0.resnets.2.conv1.weight: copying a param with shape torch.Size([1280, 1920, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 2560, 3, 3]).
  size mismatch for up_blocks.0.resnets.2.conv_shortcut.weight: copying a param with shape torch.Size([1280, 1920, 1, 1]) from checkpoint, the shape in current model is torch.Size([1280, 2560, 1, 1]).
  size mismatch for up_blocks.1.attentions.0.norm.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.norm.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.proj_in.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.proj_in.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj.weight: copying a param with shape torch.Size([5120, 640]) from checkpoint, the shape in current model is torch.Size([10240, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj.bias: copying a param with shape torch.Size([5120]) from checkpoint, the shape in current model is torch.Size([10240]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.ff.net.2.weight: copying a param with shape torch.Size([640, 2560]) from checkpoint, the shape in current model is torch.Size([1280, 5120]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.ff.net.2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.norm1.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.norm1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.norm2.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.norm2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.norm3.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.transformer_blocks.0.norm3.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.0.proj_out.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.0.proj_out.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.norm.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.norm.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.proj_in.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.proj_in.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj.weight: copying a param with shape torch.Size([5120, 640]) from checkpoint, the shape in current model is torch.Size([10240, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj.bias: copying a param with shape torch.Size([5120]) from checkpoint, the shape in current model is torch.Size([10240]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.ff.net.2.weight: copying a param with shape torch.Size([640, 2560]) from checkpoint, the shape in current model is torch.Size([1280, 5120]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.ff.net.2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.norm1.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.norm1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.norm2.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.norm2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.norm3.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.transformer_blocks.0.norm3.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.1.proj_out.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.1.proj_out.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.norm.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.norm.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.proj_in.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.proj_in.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_q.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_k.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_v.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_out.0.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_out.0.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.ff.net.0.proj.weight: copying a param with shape torch.Size([5120, 640]) from checkpoint, the shape in current model is torch.Size([10240, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.ff.net.0.proj.bias: copying a param with shape torch.Size([5120]) from checkpoint, the shape in current model is torch.Size([10240]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.ff.net.2.weight: copying a param with shape torch.Size([640, 2560]) from checkpoint, the shape in current model is torch.Size([1280, 5120]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.ff.net.2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_q.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([640, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_out.0.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_out.0.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.norm1.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.norm1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.norm2.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.norm2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.norm3.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.transformer_blocks.0.norm3.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.attentions.2.proj_out.weight: copying a param with shape torch.Size([640, 640]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.attentions.2.proj_out.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.0.norm1.weight: copying a param with shape torch.Size([1920]) from checkpoint, the shape in current model is torch.Size([2560]).
  size mismatch for up_blocks.1.resnets.0.norm1.bias: copying a param with shape torch.Size([1920]) from checkpoint, the shape in current model is torch.Size([2560]).
  size mismatch for up_blocks.1.resnets.0.conv1.weight: copying a param with shape torch.Size([640, 1920, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 2560, 3, 3]).
  size mismatch for up_blocks.1.resnets.0.conv1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.0.time_emb_proj.weight: copying a param with shape torch.Size([640, 1280]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.resnets.0.time_emb_proj.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.0.norm2.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.0.norm2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.0.conv2.weight: copying a param with shape torch.Size([640, 640, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 1280, 3, 3]).
  size mismatch for up_blocks.1.resnets.0.conv2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.0.conv_shortcut.weight: copying a param with shape torch.Size([640, 1920, 1, 1]) from checkpoint, the shape in current model is torch.Size([1280, 2560, 1, 1]).
  size mismatch for up_blocks.1.resnets.0.conv_shortcut.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.1.norm1.weight: copying a param with shape torch.Size([1280]) from checkpoint, the shape in current model is torch.Size([2560]).
  size mismatch for up_blocks.1.resnets.1.norm1.bias: copying a param with shape torch.Size([1280]) from checkpoint, the shape in current model is torch.Size([2560]).
  size mismatch for up_blocks.1.resnets.1.conv1.weight: copying a param with shape torch.Size([640, 1280, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 2560, 3, 3]).
  size mismatch for up_blocks.1.resnets.1.conv1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.1.time_emb_proj.weight: copying a param with shape torch.Size([640, 1280]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.resnets.1.time_emb_proj.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.1.norm2.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.1.norm2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.1.conv2.weight: copying a param with shape torch.Size([640, 640, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 1280, 3, 3]).
  size mismatch for up_blocks.1.resnets.1.conv2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.1.conv_shortcut.weight: copying a param with shape torch.Size([640, 1280, 1, 1]) from checkpoint, the shape in current model is torch.Size([1280, 2560, 1, 1]).
  size mismatch for up_blocks.1.resnets.1.conv_shortcut.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.2.norm1.weight: copying a param with shape torch.Size([960]) from checkpoint, the shape in current model is torch.Size([1920]).
  size mismatch for up_blocks.1.resnets.2.norm1.bias: copying a param with shape torch.Size([960]) from checkpoint, the shape in current model is torch.Size([1920]).
  size mismatch for up_blocks.1.resnets.2.conv1.weight: copying a param with shape torch.Size([640, 960, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 1920, 3, 3]).
  size mismatch for up_blocks.1.resnets.2.conv1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.2.time_emb_proj.weight: copying a param with shape torch.Size([640, 1280]) from checkpoint, the shape in current model is torch.Size([1280, 1280]).
  size mismatch for up_blocks.1.resnets.2.time_emb_proj.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.2.norm2.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.2.norm2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.2.conv2.weight: copying a param with shape torch.Size([640, 640, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 1280, 3, 3]).
  size mismatch for up_blocks.1.resnets.2.conv2.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.resnets.2.conv_shortcut.weight: copying a param with shape torch.Size([640, 960, 1, 1]) from checkpoint, the shape in current model is torch.Size([1280, 1920, 1, 1]).
  size mismatch for up_blocks.1.resnets.2.conv_shortcut.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.1.upsamplers.0.conv.weight: copying a param with shape torch.Size([640, 640, 3, 3]) from checkpoint, the shape in current model is torch.Size([1280, 1280, 3, 3]).
  size mismatch for up_blocks.1.upsamplers.0.conv.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.2.resnets.0.norm1.weight: copying a param with shape torch.Size([960]) from checkpoint, the shape in current model is torch.Size([1920]).
  size mismatch for up_blocks.2.resnets.0.norm1.bias: copying a param with shape torch.Size([960]) from checkpoint, the shape in current model is torch.Size([1920]).
  size mismatch for up_blocks.2.resnets.0.conv1.weight: copying a param with shape torch.Size([320, 960, 3, 3]) from checkpoint, the shape in current model is torch.Size([640, 1920, 3, 3]).
  size mismatch for up_blocks.2.resnets.0.conv1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.0.time_emb_proj.weight: copying a param with shape torch.Size([320, 1280]) from checkpoint, the shape in current model is torch.Size([640, 1280]).
  size mismatch for up_blocks.2.resnets.0.time_emb_proj.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.0.norm2.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.0.norm2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.0.conv2.weight: copying a param with shape torch.Size([320, 320, 3, 3]) from checkpoint, the shape in current model is torch.Size([640, 640, 3, 3]).
  size mismatch for up_blocks.2.resnets.0.conv2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.0.conv_shortcut.weight: copying a param with shape torch.Size([320, 960, 1, 1]) from checkpoint, the shape in current model is torch.Size([640, 1920, 1, 1]).
  size mismatch for up_blocks.2.resnets.0.conv_shortcut.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.1.norm1.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.2.resnets.1.norm1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([1280]).
  size mismatch for up_blocks.2.resnets.1.conv1.weight: copying a param with shape torch.Size([320, 640, 3, 3]) from checkpoint, the shape in current model is torch.Size([640, 1280, 3, 3]).
  size mismatch for up_blocks.2.resnets.1.conv1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.1.time_emb_proj.weight: copying a param with shape torch.Size([320, 1280]) from checkpoint, the shape in current model is torch.Size([640, 1280]).
  size mismatch for up_blocks.2.resnets.1.time_emb_proj.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.1.norm2.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.1.norm2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.1.conv2.weight: copying a param with shape torch.Size([320, 320, 3, 3]) from checkpoint, the shape in current model is torch.Size([640, 640, 3, 3]).
  size mismatch for up_blocks.2.resnets.1.conv2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.1.conv_shortcut.weight: copying a param with shape torch.Size([320, 640, 1, 1]) from checkpoint, the shape in current model is torch.Size([640, 1280, 1, 1]).
  size mismatch for up_blocks.2.resnets.1.conv_shortcut.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.2.norm1.weight: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([960]).
  size mismatch for up_blocks.2.resnets.2.norm1.bias: copying a param with shape torch.Size([640]) from checkpoint, the shape in current model is torch.Size([960]).
  size mismatch for up_blocks.2.resnets.2.conv1.weight: copying a param with shape torch.Size([320, 640, 3, 3]) from checkpoint, the shape in current model is torch.Size([640, 960, 3, 3]).
  size mismatch for up_blocks.2.resnets.2.conv1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.2.time_emb_proj.weight: copying a param with shape torch.Size([320, 1280]) from checkpoint, the shape in current model is torch.Size([640, 1280]).
  size mismatch for up_blocks.2.resnets.2.time_emb_proj.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.2.norm2.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.2.norm2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.2.conv2.weight: copying a param with shape torch.Size([320, 320, 3, 3]) from checkpoint, the shape in current model is torch.Size([640, 640, 3, 3]).
  size mismatch for up_blocks.2.resnets.2.conv2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for up_blocks.2.resnets.2.conv_shortcut.weight: copying a param with shape torch.Size([320, 640, 1, 1]) from checkpoint, the shape in current model is torch.Size([640, 960, 1, 1]).
  size mismatch for up_blocks.2.resnets.2.conv_shortcut.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
  size mismatch for mid_block.attentions.0.transformer_blocks.0.attn2.to_k.weight: copying a param with shape torch.Size([1280, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).
  size mismatch for mid_block.attentions.0.transformer_blocks.0.attn2.to_v.weight: copying a param with shape torch.Size([1280, 2048]) from checkpoint, the shape in current model is torch.Size([1280, 1024]).

--v2 is started or error,

Thank you, the code runs successfully


class prefix

All css styles should be prefixed to prevent css conflicts.
Like angular-material prefixed with md-*

I agree. Or add the possibility to do it easily.

+1

+1

+1

+100

The correct way to make this change without breaking anything would be to provide 2 builds: the primary one, with prefixes, and the legacy one, without them. Look to libraries like modernizr which allow users to make a custom build with custom class prefixes.
P.S. A CSS framework without prefixes is very much like a person who thinks he is alone while in fact he is in a crowded room. The awkwardness of the situation becomes apparent very, very soon. :) In a big project especially. :)

All css styles should be prefixed with a custom prefix.
A good solution and alternative is Ant Design. You should look at their solution:
.@{prefix} {
    ...
}

It is needed to exclude any conflicts when someone can redefine the standard prefix (for example, is actual for browser extensions). So, the prefix should be customized too.

In some way, a duplicate of https://github.com/Dogfalo/materialize/issues/1303


hardware Acceleration support for video stream decode and encode

does pymediasoup supports GPU hardware Acceleration like nvdec nvenc?
Because my machine sometimes glitches when decoding frames from the consumer
i think it can be configure in aiortc or pyav, but i don't know where to start

pyav use ffmpeg, you can build you ffmpeg with hardware acceleration [Using FFmpeg with NVIDIA GPU Hardware Acceleration](https://docs.nvidia.com/video-technologies/video-codec-sdk/12.0/ffmpeg-with-nvidia-gpu/index.html) and install pyav use
pip install av --no-binary av


Allow skipping state update by the worker-state controller

How to categorize this PR?

/kind enhancement
What this PR does / why we need it:
For a Shoot with high amount of worker pools (> 60), we see that the Worker resource can no longer be updated with:
task "Configuring shoot worker pools" failed: retry failed with context deadline exceeded, last error: etcdserver: request is too large

We hit the etcd's request limit of 1.5MiB. See https://etcd.io/docs/v3.4/dev-guide/limit.
This PR introduces support for skipping state update for a Worker annotated with worker.gardener.cloud/skip-state-update as short-term mitigation for dealing with the above problem. In long-term, the worker-state update controller is planned to be dropped. See https://github.com/gardener/gardener/blob/7fbf64f49acec19cbd8398c8121830705db5388e/extensions/pkg/controller/worker/state_reconciler.go#L41-L42
Which issue(s) this PR fixes:
See above.
Special notes for your reviewer:
N/A
Release note:

extension library: State update for a Worker object can be now skipped by annotating it with `worker.gardener.cloud/skip-state-update=true`.

/cherry-pick release-v1.79

/cherry-pick release-v1.78

/cherry-pick release-v1.77

/test pull-gardener-e2e-kind-operator

/lgtm

/test pull-gardener-e2e-kind-operator

/test pull-gardener-e2e-kind-operator
Last run failed with:

Job execution failed: Pod pending timeout.

/test pull-gardener-e2e-kind-ha-multi-zone-upgrade


Question about confidence determination

Hello,
Thank you very much for ESM Fold!
During prediction here is a sample output:

Predicted structure for X with length 337, pLDDT 84.5, pTM 0.687 in 9.0s. 1 / 2 completed

Question:
How exactly pTM counted in case of ESM Fold prediction? With what structures/fragments alignments are made or other way?
Thank you!

pTM captures the model's confidence, it stands for "predicted TM-score". It is well-calibrated with actual TM-score to target  structure which is presented during supervised training, but is a metric that does not need a target itself.

Thank you for a fast response.
Is there a way to measure (with ESM Fold current presented models) pTM for 3rd party .pdb? Roughly compare other party predicted structure with the same sequence predicted by ESM Fold.

if you have an existing (sequence, structure) pair from your .pdb file, you can give the sequence to ESMFold and it will give you a structure prediction and pTM score. With the predicted structure, you can use TMalign to compute TM-score to the reference structure from the original pdb file.


Added: Function to check a number is even or odd

[x]   Function to check a number is even or odd

Few changes left


Update to Pulsar client 3.0

This updated version shades the javax.xml.bind:jaxb-api library. This change is required in order for Spring Pulsar to be accepted into Spring Boot 3.2.
The Pulsar client 3.0 schedule is as follows:

2023-04-11 - RC-1
2023-04-18 - RC-2
2023-04-25 - RC-3
2023-05-02 - GA

Todos

[ ] Identify and cleanly isolate any required code changes.
[ ] Spring Pulsar must be usable for both 2.x and 3.x clients.
[ ] Add compatability matrix to docs
[ ] Add compatibility tests against client 2.11.x and 3.0.x

It is now available https://github.com/apache/pulsar/releases/tag/v3.0.0 🎉

Closed via https://github.com/spring-projects/spring-pulsar/commit/9f2b2844afab7f51d70ace655e33b7afd65a3786


Register Contracts as AnteHandlers

Allow us to do some pre-processing on every tx. With pinned/permissioned contracts this becomes possible to do safely and efficiently.
See https://github.com/confio/priv_wasmd/pull/4 for a spike that inspired this (and more discussion)

@ethanfrey what do you think, is this ticket still relevant?

I think this is a very cool idea, more valuable than  #138 (raw events one).
There was some ask for this from other chains to allow eg cw20 tokens as fees. It may make more sense as a wasmd issue than tgrade.
Definitely not needed, but higher up on my list of good ideas


Remove IP Filter from Cosmos DB via Azure CLI does not work

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
We are migrating from firewall to using VNET using this document:
https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-configure-vnet-service-endpoint#migrate-from-firewall-to-vnet
Step 5 is "Remove the IP firewall rule for the subnet from the Azure Cosmos DB account's Firewall rules."
However, when attempting to do this using Azure CLI, I get the error:
ArgumentParseError: argument --ip-range-filter: expected at least one argument
I do not see any other Azure CLI method to remove IP Firewall.
To Reproduce
az cosmosdb update -n 'database account name' -g 'resource group name' --ip-range-filter '’
Expected behavior
Remove the IP range filter.
Environment summary

Hey @Craigmeister68 thanks for reporting this. Let me debug this. As a temporary work around you can use Powershell module Az.CosmosDB to do the same.

I am adding a fix that will allow an empty string to reset ip rules on an account via the command line. For the particular issue you are seeing, I believe this is a powershell issue where it does not recognize "" as a valid parameter. @yungezz, do you know if there is a workaround for supplying an empty/null string via powershell?

Using PowerShell command is the current workaround for this issue with Azure CLI.

Hi, by powershell, I mean the shell used to execute the "az cosmosdb update" command, not the powershell modules. Running the command in powershell versus command prompt yields different results because of how they handle the empty string.

We are still waiting for the PR to be reviewed, but it should be in the next CLI release.

Fixed in 2.14.0. It will work to use an empty string in command prompt, but Powershell shell does not handle empty strings

Can you provide an example how this would work with Azure CLI? I still get the message 'argument --ip-range-filter: expected at least one argument' while I have version 2.27.2 for Azure CLI.


Slow code editor response on large js code

Maybe avoid translating on each character input when a js file is larger than a certain threshold, or use some heuristics to change the code to blocks translation on large code files.

Maybe we could use a timeout to avoid translating on each character.


added tooltips to file cards

This PR adds tooltips to FileCards...I had an issue when adding BoundaryClickWatchers to the mix but that was a hang up from bootstrap & our own styling.
This PR sorts that too!

 Revisions: Add viewing of 'Who' made changes with each revision


Run Flutter driver in a test context (ex from Android test class via gradlew)

Actually Flutter driver can't interact with a native view, for example a webview. I developed a flutter plugin that uses UI Automator to interact with the webview for android and XUIc for Ios.
But the problem is flutter driver does not launch  the app in test mode, so the context is not initialized for the driver.
I tried this package https://pub.dev/packages/integration_test, but it launches test widgets not driver tests.
So how can we launch a driver test with the android test context so we can develop packages to handle webviews or other native interactions ?

Hi @Tiska
Flutter team is moving away from Flutter drive https://github.com/flutter/flutter/issues/7474#issuecomment-558882182  and https://stackoverflow.com/questions/57933204/flutter-driver-test-coverage-report/59739989#59739989
This will likely not be implemented in Flutter driver.
lease see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

Thank's for your quick answer, so we have to wait for the flutter tests to be able to do end to end tests to go further that's the point ?


Add radio buttons in the email capture box under the email textbox

The options should be:

I am a concerned citizen (default)
I am a healthcare / government decision maker

Is there a way to edit the iframe?

@sarabpj you should be able to edit it with mailjet — https://www.mailjet.com/feature/subscription-widget/


Reporting the element in error

I would like to suggest improving the way errors are reported. The line in the ids file is not enough, but it would be useful to have the specific item in error. For example, if the library is used in software with a graphic interface, the line number is not enough to show the user the element in error (e.g. specification, applicability, requirement...).

Thanks @francescoaielloALMA,
Indeed this makes a lot of sense.
I forgot to close the issue when it was first solved it.
But for future reference, this is possible using the information provided by the logger, see relevant documentation.
For an example on how to use it, see the https://github.com/buildingSMART/IDS-Audit-tool/blob/ce816ee92b118dab89fc695efcfb8efeccc43dbe/ids-tool.tests/FeedbackTests.cs#L35 ILogger implementation.


request.path has been replaced by request.url.pathname

I'm getting this error when calling the signIn() function using the latest version of SvelteKit.

Same, related to https://stackoverflow.com/questions/70534899/sveltekit-error-request-query-has-been-replaced-by-request-url-searchparams

@krg-digital looks like the author is not very active, have you found a workaround yet?

Same, related to https://stackoverflow.com/questions/70534899/sveltekit-error-request-query-has-been-replaced-by-request-url-searchparams

Yeah, stumbled upon that thread when investigating the error. I'm definitely no expert when it comes to the inner-workings of SvelteKit, but I'd guess these lines of code is where the issues lies... and that TODO might hint at what needs to be done?

Hey everyone! Sorry for the inactivity, SK-Auth has now been upgraded to v0.4.0 thanks to #58 by @lulzneko which should resolve these issues.


Remove % From Percentage Done State

Version : 1.0.0
The state value for percentage done contains a % which means when trying to use for example the custom:bar-card it displays like it is always full like this

Where as if the state was without the % it would display as expected

Thank you for noticing and opening an issue!
v1.1.0 fixes that.

Working now as expected in v1.1.0, thank you very much for the quick fix and for all the work your doing in this repo!


Rewrote docs, added behaviors and more

I want to use this package in my work (I work for a corporation). However, for that to happen, I think these things that I propose here should be fixed. Alternatively I think I will make a fork at some point.
It's a big one. I hope it's okay, and that you can find the time for looking into it 🙏
Documentation

Added new pipeline behavior example.
Added new example of reordering execution order for both notifications and pipeline behaviors.
Separated the documentation into "Core concepts", and then extracted the Dependency Injection part out as a separate section.

Notification handlers

Removed the order in the decorator. This is generally bad practise, because it breaks encapsulation. If one class knows about the order of the other classes implicitly, it is typically a smell. We can't remove the need for this entirely, but we can centralize it in one place so it's easier to see what the order of handlers are (see the new documentation on changing the order). That way, it is way less likely to implicitly break, and easier to keep track of. It also follows closer with Mediatr's own setup.
Got rid of the DispatcherInstance class. Instead, we now have mapping classes (similar, but not entirely identical). See the rest of the notes.
The Dispatcher has a property called notifications from where the notifications mappings are controlled (and execution order).
Added new types called INotificationClass and INotificationHandlerClass. These are used for classes instead of instances of these types. The code wrongly had INotification specified in cases where the actual real type was INotificationClass. This also strengthens the code and makes it harder to write it wrong.
The publish method on the Mediator now returns a Promise<void> instead of Promise<void[]>.

Dispatcher

The Dispatcher now just has two properties. notifications and behaviors, which control the handler mappings for each of them, and the order.

Pipeline behaviors

Added support for Pipeline behaviors.
The Dispatcher has a property called behaviors from where the pipeline behavior mappings are controlled (and execution order).
A new decorator has been introduced for this.
A new IPipelineBehavior interface, as well as a IPipelineBehaviorClass type has been introduced.

Boyscouting

Changed imports to type imports where possible, to speed up compilation, and decrease the chance of accidental circular dependencies.
Added "importsNotUsedAsValues": "error" to the tsconfig.json file, so that the TypeScript compiler will give an error if a regular import is used where a type import could have been used instead. Again, to decrease the chance of accidental circular dependencies.
Added "strict": true to the tsconfig.json file, so that we now have full TypeScript strictness in the project.

Miscellaneous

Bumped package version to 1.0.0.

cc @m4ss1m0g (in case you don't get notifications for this kind of stuff).

@ffMathy You have done great work!
Can you also update the CHANGELOG with these new improvements?

Close the #5

Thanks for merging! However, I realized I forgot to follow the "keep a changelog" format, so I actually made an additional commit after. See #10 now.
Sorry about that!

No problem. However, you must increment 1 the patch level of packages.json, 1.0.1 otherwise I can't publish the package

I think it's actually okay to not publish the package, as only CHANGELOG.md has changed, which is not actually part of the package. Do you agree?

In this case, the PR remains open, otherwise, if I merge it tries to publish and returns an error.

I think is better to merge.

Awesome stuff ❤ thanks once again.
More improvements will come, but I don't know when.
For instance, I'd like to throw an exception if the settings get mutated after they've been used once.
That way, we can tell the user if they are mutating settings after load.


Configure google analytics

Need to set up GA for the site, coordinating with PUC

Tracking ID: UA-53975719-4

Tracking code added to config vars


More Debian build failures

This is for version 0.4.2 on i386. The package builds fine, however tests segfault. Is this a known issue (I can't see any GH issues that match)?
The build daemon log is here.
Cheers,
Kevin

My first guess is probably SSW. We had a similar issue with i686 in #409 which was theoretically solved with #761, but not really. Can you run the tests in verbose mode to verify?
If it is SSW (90% sure it is) then I'm not even sure if it's worth fixing, that time would be better invested in replacing it entirely, it's currently blocking Windows support as is.

That's my assumption too. It's annoyingly difficult to accurately reproduce these builds locally, short of changing and re-uploading the package. I'm happy to assume that this is SSW, and await a fix in the form of removing libssw.
On that topic, has a replacement C implementation been found?

We haven't found a replacement yet, @anderspitman will be starting to work on that soon though.


feat(website): init smart contracts docs

@dantaik we will need to update the github action for protocol to do a 1) pnpm import:docs from packages/website 2) automate a commit. then the website will be automatically updated on contract docs changes.
in the mean time we can merge this to init the docs.

@dantaik we will need to update the github action for protocol to do a 1) pnpm import:docs from packages/website 2) automate a commit. then the website will be automatically updated on contract docs changes.

Not sure how to do it, do you know?


SAP Gateway Development system user name and password

Saw the pre-requisite section for the creation of the credentials


PIpe Error

hello i'm trying to pipe passgen result on aircrack but i got this error
python wordlists/passgen/passgen.py -l 13  | aircrack-ng capture.cap -w -
Traceback (most recent call last):
File "wordlists/passgen/passgen.py", line 114, in
KeyGenerate()
File "wordlists/passgen/passgen.py", line 16, in KeyGenerate
print(result)
IOError: [Errno 32] Broken pipe

Run both with sudo or as su

If no other issues I'll close this issue.
Also for future reference the python version won't be updated in further, I implore you to try the julia version as it's faster and will be updated more often.


adding CGcenter_ORCID_ID_Corrected

ORCIDs for CGSPACE_1200_authors

Your file has encoding issues that mess up some names, and it needs to be run through XML tidy to clean up whitespace and syntax. Also, I don't need you to send me this file, as I will have to verify the order, remove duplicates, and then fetch the names from ORCID's API again myself anyways.


Request Codecov service to ignore AppVeyor

Code coverage reports are not uploaded when run in AppVeyor. This informs Codecov of that fact.
My hope is that this improves the reliability of Codecov providing reports in comments on PRs (I've noticed it's very hit and miss, and checking the Codecov site many PRs have a message saying it's waiting for CI to complete).

^ This is promising - the comment was posted by Codecov within seconds of Travis build passing, but before AppVeyor was done.


Syn Breaking Change

https://github.com/dtolnay/syn/commit/957840eba2c7f11c95e0227760d78dc481a91de7
https://github.com/paritytech/substrate/blob/master/frame/support/procedural/src/storage/parse.rs#L50
Which would cause
error[E0433]: failed to resolve: could not find `export` in `syn`
  --> /home/xavier/.cargo/git/checkouts/substrate-a7fa553ead635512/7314a78/frame/support/procedural/src/storage/parse.rs:50:37
   |
50 | impl<P: syn::export::ToTokens> syn::export::ToTokens for Opt<P> {
   |                                     ^^^^^^ could not find `export` in `syn`

error[E0433]: failed to resolve: could not find `export` in `syn`
  --> /home/xavier/.cargo/git/checkouts/substrate-a7fa553ead635512/7314a78/frame/support/procedural/src/storage/parse.rs:50:14
   |
50 | impl<P: syn::export::ToTokens> syn::export::ToTokens for Opt<P> {
   |              ^^^^^^ could not find `export` in `syn`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0433`.
error: could not compile `frame-support-procedural`

Workaround lock syn to 1.0.57

I have received this as well while following: https://substrate.dev/docs/en/tutorials/start-a-private-network/keygen

I have received this as well while following: https://substrate.dev/docs/en/tutorials/start-a-private-network/keygen


Update sql-database-migrate-ssms.md

Minor edits.

Hi @joseidz, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (joseidz). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


change needed version of exeu/apai-io

change needed version of exeu/apai-io

This should be merged.

@Exeu  is it wrong?

@tubssp no it has been merged in PR #5
Greets
Roman


Feature/fix parsing access filter field

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (8fc4f94) 80.84% compared to head (24f83b8) 80.83%.

:exclamation: Current head 24f83b8 differs from pull request most recent head ad31894. Consider uploading reports for the commit ad31894 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #130      +/-   ##
==========================================
- Coverage   80.84%   80.83%   -0.01%
==========================================
  Files          47       47
  Lines        5649     5626      -23
  Branches     1387     1380       -7
==========================================
- Hits         4567     4548      -19
+ Misses        831      830       -1
+ Partials      251      248       -3

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


Running powershell under emacs results in an error

Hi Powershellers,
Thanks for a fantastic project. I just tried using Powershell on Linux (Debian Testing) and it runs fine on a terminal so that is great news! Now, on Windows, I normally consume Powershell from within Emacs thanks to the amazing Powershell Mode[1]. On Linux, this did not work so well, with the shell failing to start. Whilst trying to get to the bottom of this, I decided to start Powershell within Emacs via bash and I got the following rather strange behaviour:
 $ /usr/bin/powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS /home/marco>

Oops, something went wrong.  Please report this bug with the details below.
Report on GitHub: https://github.com/lzybkr/PSReadLine/issues/new
-----------------------------------------------------------------------
Last 0 Keys:

Exception:
System.DivideByZeroException: Attempted to divide by zero.
   at Microsoft.PowerShell.PSConsoleReadLine.Initialize(Runspace runspace, EngineIntrinsics engineIntrinsics)
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)
-----------------------------------------------------------------------
[

Characters such as  appear without any key presses. Not really sure what could be causing this?
Many thanks for your time.
Marco
[1] https://www.emacswiki.org/emacs/Powershell.el

Firstly I think this may be to do with PSReadline so I'm adding in @lzybkr
Does it happen when you try running powershell with the -noprofile switch ?

Hi @kilasuit,
Thanks for the prompt reply. I'm afraid I get the exact same behaviour even with -noprofile. I get these spurious characters appearing after a few seconds or so - not sure if it makes any difference. They stop after a while and then I get the above exception.
Cheers

Hello! I just want to say that it makes me incredibly happy to see someone using PowerShell under Emacs!
I just want to give a quick hypothesis: this looks to me like an System.Console API we're depending on unexpectedly returned 0 (because of the Emacs TERM it's running under); probably something like BufferWidth; which of course isn't very useful.
Also, the �[6n�[6n you're seeing are likely just the ASCII colors (again, a guess; I'm not an termcap code expert, I'd have to look it up).

Aha, great theory @andschwa! So if I use Emacs' ansi-term then suddenly Powershell behaves just like it does in a regular terminal. Sadly, this is not a solution for Powershell Mode.

 We might be able to be outsmart System.Console; but really we should file a bug with CoreFX.
@mcraveiro are you using this particular fork of PowerShell mode?

@andschwa good point - I installed it from ELPA/MELPA/etc (package-list-packages), without paying too much attention. Didn't realise it had been forked.

As far as I could tell, there half a dozen forks floating around. That appears to be the most recently maintained one.

  All rights reserved.

PS /home/marco> PS /home/marco> l
PS /home/marco> ls
<snip>
PS /home/marco>
PS /home/marco> PS /home/marco> e
                                PS /home/marco> ex
                                PS /home/marco> exi
                                PS /home/marco> exit

Cheers
Marco

This issue was moved to lzybkr/PSReadLine#467


ValueError: Port could not be cast to integer value as

What I'm trying to achieve
Setting EMAIL_URL to smtp://username:password@email-smtp.us-east-1.amazonaws.com:587/?tls=True where password contains slash character of /.
Amazon SES is giving me a password which contains / character for some reason.
Steps to reproduce the problem

Run
export EMAIL_URL="smtp://AKIAYZT73XCKGD:BFB6UvkMgn9dniEGQZc/xM/KDS9Agc/S2@email-smtp.us-east-2.amazonaws.com:587/?tls=True"
Then run python3.9 manage.py runserver

What I expected to happen
I expected the API server would run just fine.
Screenshots and logs
However, I'm receiving this log and error:
(saleor-venv) m3@suse15:~/repos/fork/saleor> python3.9 manage.py runserver                                            Traceback (most recent call last):
  File "/home/m3/repos/fork/saleor/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/m3/repos/fork/saleor/saleor-venv/lib64/python3.9/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/home/m3/repos/fork/saleor/saleor-venv/lib64/python3.9/site-packages/django/core/management/__init__.py", line 345, in execute
    settings.INSTALLED_APPS
  File "/home/m3/repos/fork/saleor/saleor-venv/lib64/python3.9/site-packages/django/conf/__init__.py", line 83, in __getattr__
    self._setup(name)
  File "/home/m3/repos/fork/saleor/saleor-venv/lib64/python3.9/site-packages/django/conf/__init__.py", line 70, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/m3/repos/fork/saleor/saleor-venv/lib64/python3.9/site-packages/django/conf/__init__.py", line 177, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/m3/repos/fork/saleor/saleor/settings.py", line 139, in <module>
    email_config = dj_email_url.parse(
  File "/home/m3/repos/fork/saleor/saleor-venv/lib64/python3.9/site-packages/dj_email_url.py", line 75, in parse
    'EMAIL_PORT': url.port,
  File "/usr/lib64/python3.9/urllib/parse.py", line 175, in port
    raise ValueError(message) from None
ValueError: Port could not be cast to integer value as 'BFB6UvkMgn9dniEGQZc'

System information
Saleor version: Git tag 2.11.0 checked out
Saleor storefront: Git tag 2.11.1 checked out
Saleor dashboard: Git tag 2.11.1 checked out
Operating system
Linux, openSUSE Leap 15.3

Source file
The error is thrown by line 75 of this file at saleor-venv/lib/python3.9/site-packages/dj_email_url.py:
# -*- coding: utf-8 -*-

import os
import warnings

import urllib.parse

# Register email schemes in URLs.
urllib.parse.uses_netloc.append('smtp')
urllib.parse.uses_netloc.append('console')
urllib.parse.uses_netloc.append('file')
urllib.parse.uses_netloc.append('memory')
urllib.parse.uses_netloc.append('dummy')

DEFAULT_ENV = 'EMAIL_URL'

SCHEMES = {
    'smtp': 'django.core.mail.backends.smtp.EmailBackend',
    'submission': 'django.core.mail.backends.smtp.EmailBackend',
    'submit': 'django.core.mail.backends.smtp.EmailBackend',
    'smtps': 'django.core.mail.backends.smtp.EmailBackend',  # pend deprecation
    'console': 'django.core.mail.backends.console.EmailBackend',
    'file': 'django.core.mail.backends.filebased.EmailBackend',
    'memory': 'django.core.mail.backends.locmem.EmailBackend',
    'dummy': 'django.core.mail.backends.dummy.EmailBackend'
}

TRUTHY = (
    '1',
    'y', 'Y', 'yes', 'Yes', 'YES',
    't', 'T', 'true', 'True', 'TRUE',
    'on', 'On', 'ON',
)

def unquote(value):
    return urllib.parse.unquote(value) if value else value

def config(env=DEFAULT_ENV, default=None):
    """Returns a dictionary with EMAIL_* settings from EMAIL_URL."""

    conf = {}

    s = os.environ.get(env, default)

    if s:
        conf = parse(s)

    return conf

def parse(url):
    """Parses an email URL."""

    conf = {}

    url = urllib.parse.urlparse(url)
    qs = urllib.parse.parse_qs(url.query)

    # Remove query strings
    path = url.path[1:]
    path = path.split('?', 2)[0]

    # Update with environment configuration
    conf.update({
        'EMAIL_FILE_PATH': path,
        'EMAIL_HOST_USER': unquote(url.username),
        'EMAIL_HOST_PASSWORD': unquote(url.password),
        'EMAIL_HOST': url.hostname,
        'EMAIL_PORT': url.port,
        'EMAIL_USE_SSL': False,
        'EMAIL_USE_TLS': False,
    })

    if url.scheme in SCHEMES:
        conf['EMAIL_BACKEND'] = SCHEMES[url.scheme]

    # Set defaults for `smtp`
    if url.scheme == 'smtp':
        if not conf['EMAIL_HOST']:
            conf['EMAIL_HOST'] = 'localhost'
        if not conf['EMAIL_PORT']:
            conf['EMAIL_PORT'] = 25

    # Set defaults for `smtps`
    if url.scheme == 'smtps':
        warnings.warn(
            "`smtps` scheme will be deprecated in a future version,"
            " use `submission` instead",
            UserWarning,
        )
        conf['EMAIL_USE_TLS'] = True

    # Set defaults for `submission`/`submit`
    if url.scheme in ('submission', 'submit'):
        conf['EMAIL_USE_TLS'] = True
        if not conf['EMAIL_PORT']:
            conf['EMAIL_PORT'] = 587

    # Query args overwrite defaults
    if 'ssl' in qs and qs['ssl']:
        if qs['ssl'][0] in TRUTHY:
            conf['EMAIL_USE_SSL'] = True
            conf['EMAIL_USE_TLS'] = False
    elif 'tls' in qs and qs['tls']:
        if qs['tls'][0] in TRUTHY:
            conf['EMAIL_USE_SSL'] = False
            conf['EMAIL_USE_TLS'] = True

    # From addresses
    if '_server_email' in qs:
        conf['SERVER_EMAIL'] = qs['_server_email'][0]
    if '_default_from_email' in qs:
        conf['DEFAULT_FROM_EMAIL'] = qs['_default_from_email'][0]

    return conf

I tried to escape the / with \ but it didn't work...

I replaced / character in password with %2F when setting environment variable:
### Replace this:
export EMAIL_URL="smtp://AKIAYZT73XCKGD:BFB6UvkMgn9dniEGQZc/xM/KDS9Agc/S2@email-smtp.us-east-2.amazonaws.com:587/?tls=True"

### With this:
export EMAIL_URL="smtp://AKIAYZT73XCKGD:BFB6UvkMgn9dniEGQZc%2FxM%2FKDS9Agc%2FS2@email-smtp.us-east-2.amazonaws.com:587/?tls=True"

Looks like it resolved the error without the need to modify the code! Needs more testing.

Your solution is correct. You need to urlencode each part of the URL to make sure the username, the password, and so on do not contain any invalid characters.


Add visitWithObj to std.variant

visit function with function object
can use template function for visiting

std.variant has visit function, but to use it, we should write all overloads.
We often want to use visit with template function.
For example:
alias V = Algebraic!(ClassA, ClassB, ClassC);
V x = ...;
x.visit!((T t) { return t.toString(); });

But we can't do this now.
To resolve this problem, this request propose visitWithObj function.
visitWithObj can accept a function object to visit variant.
This pull request is my first request to phobos, so if something is wrong, I'm sorry for it.

Also, all {'s have to be on their own line per the style guide.

ping @agatan  Any updates wrt reviewer comments?

I'm sorry for replying late.
I tried to implement generic visit, but I'm not really an expert of D meta programming...
Please see #4035 (Thanks to @rcorre).
The pull request is really I wanted and nicer than this.


Ruby 2.7.0 support

Seeing this warning...
lib/ruby/gems/2.7.0/gems/draper-3.1.0/lib/draper/delegation.rb:10: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

@olleolleolle @codebycliff 🤝

Fixed by: https://github.com/drapergem/draper/pull/870


stm32: can: fd: allow filter setting during normal operation

I have an application where I need to modify the FDCAN filters dynamically.
As far as I can tell, there's no restriction on writing to the filters in message RAM during normal mode. I still need to test it properly though.
This is somewhat a first pass. I don't really like duplicating the methods like this. Ideas welcome

Yeah, it does add a bit of bloat. I'm happy to have a play too when I get a chance, see if I can come up with some ideas.

Something like this could almost work: https://gist.github.com/cschuhen/b6502d54e01f6ded5c7d86ecf3aaa186
Except that I'm not sure how to hide 'registers()' from the user.

Closing, I'm gonna give this another go, as I want to add yet more functions that should be common to buffered/nonbuffered


Home connect started using a new platform called 'Single key'

I reveived a e-mail from siemens/home connect that they will tranform the platform to 'single key'
https://singlekey-id.com/nl/home/
Since this time the regular login via api call doesn't work anymore.
Maybe the applications has to check with another platform for login creditials?
I did create a single key login etc etc. but it didn't work.
Conclusion: because of this the integration doesn't work anymore.
Anyone else has this problem?

They integration is using OAuth for authenticating with Home Connect, it shouldn't matter how you are logging in. If you can login to the Home Connect developer website and configured everything as the instructions say it should work.

Thanks for the reply and all your work
I am getting this message:
" unauthorized_client " and "request rejected by client authorization authority (developer portal)"
Ever since they start changing it to 'single key' in home connect.
I tried to install everything from the beginning but no luck

I am getting the same error request rejected by client authorization authority (developer portal) when I setup this integration. The core integration stopped working for me so I tried to switch to this one but no luck here. I did not switch to the SingleKey ID if that is important to know.

Please double check that everything is configured as documented in the README. If it is then post your HC app config, the integration config and the URL where you get the error.

Homeconnect.pdf
I made a pdf with the configuration see file attached

Could anyone update if the problem is fixed and how to fix? I still can't get my dishwasher connected to HA after the "single key" was rolled out. Thanks.

@socialhugo I'm not sure why it's not working, the whole OAuth handshake is something that HA is handling by itself.  Just to verify, is the account configured there for testing (socialhugo) the same account you use when logging in to the HC mobile app?
In your PDF the next page after adding the integration in HA is the error message. Where you asked to login and and grant permissions before getting the error?
PS, once you manage to login you should delete this app and register a new one because it's secret key is now public.

Is the account configured there for testing (socialhugo) the same account you use when logging in to the HC mobile app?
Answer: yes.
In your PDF the next page after adding the integration in HA is the error message. Where you asked to login and and grant permissions before getting the error?
Answer: yes, i have to login with my e-mail adress and credentials. Which works, but I haven't put it in the document.
PS, once you manage to login you should delete this app and register a new one because it's secret key is now public.
Answer: I already deleted it and made a new one.
I do not think it's the fault of your integration. Home connect has changed something because of the new 'single key' authentication. I will contact them also.
Greetings and thanks for the effort

I just tried it and it's working fine for me.
In the "Home Connect user account for testing" set the same email address you use for logging in to HC after you add the integration in HA.

FWIW, the developer portal does not appear to have moved to singlekey. Only the consumer phone application. These have always been two seperate logins. Once you have the API key, that's the only form of auth ekutners app is using.
For some reason the developer portal does seem to forget my password and every time I log back in I need to reset it but that's an unrelated issue.

I finally got it working again! I deleted my account as home connect user in the android app. I deleted my account as developer via de webportal. And then I registered/created both accounts again. Using the same e-mail address ofcourse.
I also got a reply from the home connect helpdesk. I explained my situation, but they say 'nothing' changed. But something has changed otherwise it would still work now wouldn't it :)
Thanks for thinking along

Happy to hear it was solved


Writing news, homepage.. e.t.c

Hi,
an bit news would be really fine :)
and an bit update the homepage and so on..
the last news was on 2011 .. now now 6 years ago..
what's going on.. an update would be really well
on the homepage
best regards
Blacky

@jsorg71
At least mailing list address must be updated ASAP.
GitHub address and something like "xrdp is developed on GitHub now" also must be written.

I agree, this project is a mess. Everything is everywhere, so many different versions everywhere. If you're a newbie and don't know about freerdp etc reading any kind of documentation on here is confusing and a mess. I would put money forward to have this project actively developed whether for hosting, sponsorship or whatever. We should all really get together and do it.

Jay, if you have no time to update website, I will always help you.

speidy is working on the new website.

Not GitHub is the latest site.


Origin/addtokenDRM

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

first timer here, could someone pls advise how I resolve the conflict highlighted?  Just trying to add token image and description here.


[feature] - add Quarkus open-api / swagger-ui to app backend

Might be nice from a devex point of view - to just deploy the openapi/swagger ui rather than terminal+curl from app pods.
Then add the link + openapi docs into Backstage ?
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-smallrye-openapi</artifactId>
        </dependency>

initially addressed with this already merged PR https://github.com/hpgrahsl/rhsummit23-backstage-gpts/pull/25
we might do more API resource related improvements in backstage i.e. also include similar stuff for the gateway component


duck-type isinstance is not always wanted

One use of interfaces is to label a set of classes.  You cannot do this if duck-type checking is done by isinstance.
Fix:
isinstance should not do duck-type checking.
Add provided_by(obj) interface class method which does duck-type checking too (with warnings).

Done


Different "look" in dev and production mode

The problem:
The demo page does not look the same in dev mode and in production mode.
The CSS stuff seems all missing in the production setting.
The content of the main.css in build/ seem to be javascript not CSS.
How to reproduce:
git clone repo
cd repo
npm install
npm run build
#open index.html with browser of choice
npm run start
#go to localhost:3000
Notice the difference in appearance of the two sites.
I suspect that webpack is not packing the CSS correctly, but i lack the insight to fix it myself. :-(

Hi @Lazarus535 ,
Thanks for reporting this.
I've updated webpack configuration for extract css plugin. Now it should works fine.
https://github.com/jquintozamora/react-typescript-webpack2-cssModules-postCSS/commit/e1a219399fc90e81949db355b8d1c35e685ebe9f


Throw error if array is set in Polymer (or implement this functionality)

 Issue by gemaSantiago
Monday Jan 25, 2016 at 13:37 GMT
Originally opened as https://github.com/canoo/dolphin-platform/issues/36

Components : dolphin-js

 Comment by hendrikebbers
Tuesday Mar 21, 2017 at 16:23 GMT

@netopyr can you describe this in a few words?


Wrong intersect result for Quad curve

        shapePath1 = [UIBezierPath bezierPath];
        [shapePath1 moveToPoint:CGPointMake(100, 100)];
        [shapePath1 addQuadCurveToPoint:CGPointMake(300, 100) controlPoint:CGPointMake(200, 200)];

        [[UIColor purpleColor] setStroke];
        [shapePath1 setLineWidth:3];
        [shapePath1 stroke];

        shapePath2 = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(190, 90, 20, 220)];

        [[UIColor greenColor] setStroke];
        [shapePath2 setLineWidth:3];
        [shapePath2 stroke];

        BOOL contains = NO;
        NSArray *intersections = [shapePath1 findIntersectionsWithClosedPath:shapePath2 andBeginsInside:&contains];
        NSLog(@"有%ld个点相交，是否内含 %d", intersections.count, contains);

        for (DKUIBezierPathIntersectionPoint *intersection in intersections) {
            [[UIColor redColor] setFill];
            CGPoint p = intersection.location1;

            [[UIBezierPath bezierPathWithArcCenter:p radius:7 startAngle:0 endAngle:2 * M_PI clockwise:YES] fill];
        }

there are 2 intersections but not on curve line

Awesome - thanks for the report and test case, i'll take a look

Hi Realank! Better late than never I hope!
I've just recently properly fixed the quad intersection issue (in #19 for the curious). When i use your paths in the ClippingExampleApp, i now see the correct 2 locations:

Many thanks for reporting this and for the clear test case


Add Production Network FAQ Page

As people move from testing locally to starting up networks of collators and more, they need to account for things thus far not covered in the devhub. This page proposal is for a non-exausive FAQ of things to consider (mostly conceptual) as notes for those who are doing this.
Here are a few things to add, and please add more in the comments! :

procotolId needs to be set uniquely - otherwise you will get conflicting networks merging and the nodes will become very confused and the network may stop completely.

[ ]  Put this in the private chain tutorial as a big warning
[ ]  Reference this in the parachain template & workshop - as you can get issues when using a relaychain to gossip peers with the same protocolId
[ ] Note:  This will be automated based on genesis hash 🔜

Gist on Devops from Erin: https://gist.github.com/lovelaced/cddc1c7234b883ee37e71cf4a1d63cac

SBP call recording: https://drive.google.com/file/d/1-nQ_SI2XK6vxPQvORWuv68Yj0UDz5FrO/view

https://github.com/substrate-developer-hub/substrate-docs/issues/173


Fixed two issues and re-added 'open' event

Hi, i made some minor fixes:

Fixed issue #236 moving the emitter to the setMap method and using emitter.off to desubscribe the problematic events.
Fixed typescript errors on events, referenced on issue #233
Added originalEvent attribute on the mouse events
Re-added the open event that was missing after commit https://github.com/jonataswalker/ol-contextmenu/commit/f1608b299b386ec7ede47fb7afa86144d3c4e91d (but still included in the documentation)

Let me know if changes are required, hope it helps.

@GastonZalba many thanks for this work, I had an accident and this is the reason for this delay.

I will (probably) make some changes to continue returning pixel and coordinate on events.

I will (probably) make some changes to continue returning pixel and coordinate on events.

@jonataswalker they are still returning! The ContextMenuEvent now extends the ol class MapBrowserEvent, which already calculates and returns pixel and coordinates values.

Yeah haha, realized right now


Create-api-group.md

/easycla

Hi @GitBatra ,  I'm closing this PR since the CLA has not been signed
After signing the CLA, please feel free to reopen this PR with /reopen in a comment
/close


Add eqBigInt and ordBigInt

Closes #1371

Open to feedback :+1:

Open to feedback :+1:

Hi!
Do you have a reason to use loose equality instead of strictEqual?
Seems like === works well for bigint equality check.

Hi!
Do you have a reason to use loose equality instead of strictEqual?
Seems like === works well for bigint equality check.

I did witness that too in a test after I put up this PR, but came to this implementation after reading the documentation on MDN. This doc seems to be a superset of the information in the tc39 bigint proposal.
Since bigints are wrapped in objects, this loose equality makes sense from a theoretical level. I would expect the strict equality to return true only when the left and right operand are the same object in memory. I'm not sure how to explain yours and my local test just yet

I did witness that too in a test after I put up this PR, but came to this implementation after reading the documentation on MDN. This doc seems to be a superset of the information in the tc39 bigint proposal.
Since bigints are wrapped in objects, this loose equality makes sense from a theoretical level. I would expect the strict equality to return true only when the left and right operand are the same object in memory. I'm not sure how to explain yours and my local test just yet

@EricCrosson

I would like some confidence about why the strict equality should be a correct alternative before diverging from the specification.

Maybe this can help: 3.2.6 Strict Equality Comparison

@EricCrosson

I would like some confidence about why the strict equality should be a correct alternative before diverging from the specification.

Maybe this can help: 3.2.6 Strict Equality Comparison

Also, looks like the link you mentioned as a bigint proposal telling us about comparison between bigint and number, not between two instances of bigint.

Also, looks like the link you mentioned as a bigint proposal telling us about comparison between bigint and number, not between two instances of bigint.

Also, looks like the link you mentioned as a bigint proposal telling us about comparison between bigint and number, not between two instances of bigint.

Aha, yes that does clear it up! Thanks for the helpful links @pashutk, I'm much happier to use strict equality

Also, looks like the link you mentioned as a bigint proposal telling us about comparison between bigint and number, not between two instances of bigint.

Aha, yes that does clear it up! Thanks for the helpful links @pashutk, I'm much happier to use strict equality

Thanks @EricCrosson @pashutk @DenisFrezzato

Thanks @EricCrosson @pashutk @DenisFrezzato


[Program]: Write a Swift program to print ascii value of a character

Description
Write a Swift program to print ascii value of a character
ASCII value is the numeric representation of a character. For example, the ASCII value of the character 'A' is 65. The ASCII value of the character 'a' is 97. The ASCII value of the character '0' is 48. The ASCII value of the character ' ' is 32.
Input  : A
Output : 65

How to contribute

Save the solution in program/program/print-ascii-value-of-a-character/program/PrintAsciiValueOfACharacter.swift file

!assign


modules: fix fontconfig.nix to use '$dst', not 'dst'

Without the change non-default configs like:
fonts.fontconfig.subpixel.rgba = "rgb"

fail to build the system as:
fontconfig-conf> ln: failed to create symbolic link 'dst/': No such file or directory

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Thanks.