[gpu_reference_kernel] add gpu reference convolution

[gpu_reference_kernel]
kernel place: src/kernels/gpu_reference_kernel/
This is to add a gpu reference kernel,

to be used to boost the result validation of ctest and MIOpenDriver.  (https://github.com/ROCmSoftwarePlatform/MIOpen/issues/586)
as a fallback kernel for convolution, before we have igemm fully support any tensor size (as mensioned in https://github.com/ROCmSoftwarePlatform/MIOpen/issues/588)

This reference kernel is very simple and naive, that everybody can easily read & modify it. No optimization, no template, no fancy techniques, only utilize very basic gpu parallel computing knowledge. Correct computation result (and easy maintenance) is top priority.
Currently add convolution kernel. This can support fp32, fp16, bf16, nchw, ncdhw, with/without group.
~Internal API to call such reference layer is in header src/include/miopen/gpu_reference_kernel.hpp , currently add 3 as blow~:
re-use immediate API to call these reference kernel
add environment variable MIOPEN_DRIVER_USE_GPU_REFERENCE, if set to 1, then use gpu reference kernel while run MIOpenDriver and need verification. by default is 0 . Currently if use gpu reference kernel while validation, the gpu reference always use fp32 data type to run (same as cpu reference), the gpu reference will use same gpu data type (currently fp16/fp32/bf16), different from cpu validation which always use fp32.

[x] add hip kernel in src/kernels/gpu_reference_kernel/, support p32/fp16/bf16, nchw/ncdhw, with/without group.
[x] ~add internal API to call reference kernel.~ use immediate api to call reference kernel.
[x] add a method to be used in MIOpenDriver while we use cpu to do validation. (MIOPEN_DRIVER_USE_GPU_REFERENCE env)
[x] add a ctest to test this naive implementation with cpu code
[x] add this reference kernel a solver under Direct algorithm (ConvDirectNaiveConvFwd, ConvDirectNaiveConvBwd, ConvDirectNaiveConvWrw)

@carlushuang @atamazov @daniellowell Should we also compile these cpp kernels into ISA, and integrate the ISA into MIOpen too?

@asroy do you mean binaries? Which compiler you would like to use for building them?

Hip-clang, I think. And @asroy do you mean that, we measure the fwd/bwd/wrw gpu time of the naive_conv of this release, and then in next release we do a measurement again, and compare the gpu time to check if it became slow or fast?

Hip-clang, I think. And @asroy do you mean that, we measure the fwd/bwd/wrw gpu time of the naive_conv of this release, and then in next release we do a measurement again, and compare the gpu time to check if it became slow or fast? Which may indicate some compiler behavior change

@asroy do you mean binaries? Which compiler you would like to use for building them?

Any release rocm can be used to generate the ISA. We don't need to update the ISA for every rocm release, we can just keep it forever, until we need to support a new hardware.

Hip-clang, I think. And @asroy do you mean that, we measure the fwd/bwd/wrw gpu time of the naive_conv of this release, and then in next release we do a measurement again, and compare the gpu time to check if it became slow or fast? Which may indicate some compiler behavior change

@asroy do you mean binaries? Which compiler you would like to use for building them?

Any release rocm can be used to generate the ISA. We don't need to update the ISA for every rocm release, we can just keep it forever, until we need to support a new hardware.

OK, I added it in src/kernels/gpu_reference_kernel/naive_conv_gcn.s

How many times does GPU reference kernel run faster than CPU reference kernel?

@shaojiewang it's hard to say, but I only can say that if flop is bigger, then gpu will much much faster than cpu. about 2~10x times I think.

@shaojiewang it's hard to say, but I only can say that if flop is bigger, then gpu will much much faster than cpu. about 2~10x times I think.

For the following config
./bin/MIOpenDriver conv -F 1 -n 256 -c 128 -k 128 -H 28 -W 28 -x 3 -y 3 -p 1 -q 1

acceleration on my Radeon VII / Threadripper 1950X system is ~40X

I see some verification failures with MIOPEN_DRIVER_USE_GPU_REFERENCE=1. Please expect update soon.

I run a set of 93 popular FP32 configs with MIOPEN_DRIVER_USE_GPU_REFERENCE=1, some failures:
./bin/MIOpenDriver conv -x 20 -y 5 -W 700 -H 161 -c 1 -n 4 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 5.90656e-06 > 3e-06
./bin/MIOpenDriver conv -x 20 -y 5 -W 700 -H 161 -c 1 -n 8 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 1.27719e-05 > 3e-06
./bin/MIOpenDriver conv -x 20 -y 5 -W 700 -H 161 -c 1 -n 16 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 4.05545e-05 > 3e-06
./bin/MIOpenDriver conv -x 20 -y 5 -W 700 -H 161 -c 1 -n 32 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 0.000142916 > 3e-06
./bin/MIOpenDriver conv -x 10 -y 5 -W 341 -H 79 -c 32 -n 8 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 3.48422e-06 > 3e-06
./bin/MIOpenDriver conv -x 10 -y 5 -W 341 -H 79 -c 32 -n 16 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 5.48012e-06 > 3e-06
./bin/MIOpenDriver conv -x 10 -y 5 -W 341 -H 79 -c 32 -n 32 -k 32 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 1.17529e-05 > 3e-06
./bin/MIOpenDriver conv -x 3 -y 3 -W 480 -H 48 -c 1 -n 16 -k 16 -p 1 -q 1 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 2.79963e-05 > 3e-06
./bin/MIOpenDriver conv -x 3 -y 3 -W 240 -H 24 -c 16 -n 16 -k 32 -p 1 -q 1 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 4.65254e-06 > 3e-06
./bin/MIOpenDriver conv -x 3 -y 3 -W 224 -H 224 -c 3 -n 16 -k 64 -p 1 -q 1 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 0.000124008 > 3e-06
./bin/MIOpenDriver conv -x 7 -y 7 -W 224 -H 224 -c 3 -n 16 -k 64 -p 3 -q 3 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 1.11165e-05 > 3e-06
./bin/MIOpenDriver conv -x 3 -y 3 -W 56 -H 56 -c 64 -n 16 -k 64 -p 1 -q 1 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 3.36763e-06 > 3e-06
./bin/MIOpenDriver conv -x 5 -y 5 -W 700 -H 161 -c 1 -n 16 -k 64 -p 1 -q 1 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 4.2319e-05 > 3e-06
./bin/MIOpenDriver conv -x 3 -y 3 -W 350 -H 80 -c 64 -n 16 -k 64 -p 1 -q 1 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 4.22074e-05 > 3e-05
./bin/MIOpenDriver conv -x 5 -y 5 -W 350 -H 80 -c 64 -n 16 -k 128 -p 1 -q 1 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 5.74359e-06 > 3e-06
./bin/MIOpenDriver conv -x 1 -y 1 -W 112 -H 112 -c 64 -n 8 -k 64 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 5.40505e-06 > 3e-06
./bin/MIOpenDriver conv -x 1 -y 1 -W 112 -H 112 -c 64 -n 16 -k 64 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 1.16249e-05 > 3e-06
./bin/MIOpenDriver conv -x 1 -y 1 -W 56 -H 56 -c 64 -n 16 -k 256 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 3.48879e-06 > 3e-06
./bin/MIOpenDriver conv -x 1 -y 1 -W 56 -H 56 -c 256 -n 16 -k 64 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6 ...Backward Convolution Weights Failed: 3.48305e-06 > 3e-06

All failures are related to WrW convolutions so far. The worst case is 0.000142916 (142.916e-06) which is ~50 times bigger than the current threshold (3e-06).

All FP16 tests fail during WrW with:
$ ./bin/MIOpenDriver convfp16 -x 3 -y 3 -W 17 -H 17 -c 192 -n 128 -k 192 -p 0 -q 0 -u 2 -v 2 -l 1 -j 1 -g 1 -F 0 -V 1 -s 0 -w 2 -t 1 -i 6
...
Wall-clock Time Backward Weights Conv. Elapsed: 1.07413 ms, Auxiliary API calls: 4766.92 ms (GWSS: 50.3467)
MIOpen Backward Weights Conv. Algorithm: 5, Solution: 31/ConvHipImplicitGemmV4R1WrW
GPU Kernel Time Backward Weights Conv. Elapsed: 0.927936 ms (average)
stats: name, n, c, ho, wo, x, y, k, flopCnt, bytesRead, bytesWritten, GFLOPs, GB/s, timeMs
stats: bwdw-conv3x3u2, 128, 192, 8, 8, 3, 3, 192,<PHONE_NUMBER>, 0, 0, 5858, 0, 0.927936
MIOpen(HIP): Warning [SetupFloats] Unsupported data types configuration: FP16xFP16xFP32
terminate called after throwing an instance of 'miopen::Exception'
  what():  /home/atamazov/github/MLOpen2/src/include/miopen/conv/conv_direct_naive_conv.hpp:67: unsupported data type:

Is it expected?

Great job, but little bit too much for a single PR ;)

Hi @atamazov Thanks for the careful review. Let me change the code design based on comments.

[Off-topic] @carlushuang Our CI is low on resources. Therefore I think it is worth keeping it from testing intermediate commits. Please avoid pushing interim commits to repo. If you need to push, then:

Either use [skip ci] in commit message,
Or open CI web UI, "Scan Repository Now" and then terminate unwanted job.

:warning: Fwd kernels segfaults on big configs. I've seen this with 6043fb2b66eb0, but I suspect the issue still persists in the most recent commit. ROCm 3.5, Radeon VII (gfx906/56 16GiB).
Example (you need #638 to reproduce this):
atamazov@morpheus:~/github/MLOpen2/build/release.hip-clang$ ./bin/MIOpenDriver conv -W 256 -H 256 -c 128 -k 3 -x 3 -y 3 -n 257 -p 1 -q 1 -w 1 -t 1 -i 6 -F 1 -S ConvDirectNaiveConvFwd -V 0
MIOpenDriver conv -W 256 -H 256 -c 128 -k 3 -x 3 -y 3 -n 257 -p 1 -q 1 -w 1 -t 1 -i 6 -F 1 -S ConvDirectNaiveConvFwd -V 0
MIOpen(HIP): Info [Handle] stream: 0x33441e0, device_id: 0
MIOpen(HIP): Info [GetFindModeValueImpl] MIOPEN_FIND_MODE = NORMAL(1)
MIOpen(HIP): Info [GPUMem] hipMalloc 0x7faeb3e00000<PHONE_NUMBER>
MIOpen(HIP): Info [GPUMem] hipMalloc 0x7fb5dc809000 13824
MIOpen(HIP): Info [GPUMem] hipMalloc 0x7fae9fc00000 202113024
MIOpen(HIP): Info [GetForwardSolutionCount]
MIOpen(HIP): Info [Measure] Db::Prefetch time: 160.554 ms
MIOpen(HIP): Info [GetForwardSolutions]
MIOpen(HIP): Info [HipCompilerVersionImpl] 3.5.20214
MIOpen(HIP): Info [AmdRocmMetadataVersionDetect] ROCm MD version AMDHSA_COv3, MIOpen version <IP_ADDRESS>12-6043fb2b6
Forward Conv solutions available: 3
- id: 11 algo: 1, time: 30.1283 ms, ws: 0, name: ConvOclDirectFwd
- id: 14 algo: 3, time: 56.2034 ms, ws: 0, name: ConvBinWinograd3x3U
- id: 33 algo: 0, time: 425.099 ms, ws: 301989888, name: gemm
Warning: Solution id (85) is not reported by the library. Trying it anyway...
MIOpen(HIP): Info [GetForwardSolutionWorkspaceSize] solver_id = ConvDirectNaiveConvFwd
MIOpen(HIP): Info [CompileForwardSolution] solver_id = ConvDirectNaiveConvFwd
MIOpen(HIP): Info [FindSolutionImpl] ConvDirectNaiveConvFwd (not searchable)
MIOpen(HIP): Info [ConvolutionForwardImmediate] solver_id = ConvDirectNaiveConvFwd, workspace = 0
Memory access fault by GPU node-2 (Agent handle: 0x32f2ec0) on address 0x7facb3e00000. Reason: Page not present or supervisor privilege.
Aborted (core dumped)

@atamazov ok let me check this.

add .s file for gcn 36359d5

@carlushuang What about implementation limits for asm kernels?

@atamazov  asm kernel is just dumped from the hip kernel, exactly the same source code and same logic. This is added requested by @asroy to make sure the asm remain the same across different releases.

@carlushuang If there are blocking reviews on a PR it is not READY TO MERGE.

@carlushuang If there are blocking reviews on a PR it is not READY TO MERGE.

@daniellowell  OK. I guess this PR I updated all the review comments, @atamazov please help check if there is anything missing on this PR?

@daniellowell  OK. I guess this PR I updated all the review comments, @atamazov please help check if there is anything missing on this PR?

Hi @atamazov I think all the change is done based on comments, please help check if anything else need change, thanks.

Hi @atamazov I think all the change is done based on comments, please help check if anything else need change, thanks.

Will re-review today.

Will re-review today.

Rewiew in progress... Big diff...

Rewiew in progress... Big diff...

@carlushuang The problem shown at https://github.com/ROCmSoftwarePlatform/MIOpen/pull/583#issuecomment-739033426 is not reproducible anymore.
Please check if these two comments are resolved as well:

https://github.com/ROCmSoftwarePlatform/MIOpen/pull/583#issuecomment-738166046
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/583#issuecomment-738167963

@carlushuang The problem shown at https://github.com/ROCmSoftwarePlatform/MIOpen/pull/583#issuecomment-739033426 is not reproducible anymore.
Please check if these two comments are resolved as well:

https://github.com/ROCmSoftwarePlatform/MIOpen/pull/583#issuecomment-738166046
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/583#issuecomment-738167963

@carlushuang The problem shown at #583 (comment) is not reproducible anymore.
Please check if these two comments are resolved as well:

#583 (comment)
#583 (comment)

Yes, it solves above comments as well. The root cause for above failure is in previous commit not using double type as accumulator. By changing this to double can keep the accuracy and no computation error anymore. Indeed CPU reference code currently used in MIOpen also use double
    for(int tid = threadIdx.x; tid < thread_length; tid += 256)
    {
        int iho = tid / wo;
        int iwo = tid % wo;

        double value = .0f;    // use double as accumulator

        for(int ic = 0; ic < c_per_group; ic++)

@carlushuang The problem shown at #583 (comment) is not reproducible anymore.
Please check if these two comments are resolved as well:

#583 (comment)
#583 (comment)

Yes, it solves above comments as well. The root cause for above failure is in previous commit not using double type as accumulator. By changing this to double can keep the accuracy and no computation error anymore. Indeed CPU reference code currently used in MIOpen also use double
    for(int tid = threadIdx.x; tid < thread_length; tid += 256)
    {
        int iho = tid / wo;
        int iwo = tid % wo;

        double value = .0f;    // use double as accumulator

        for(int ic = 0; ic < c_per_group; ic++)

@daniellowell @carlushuang Can we get the PR in the next release (i.e., ROCm 4.1)?

@daniellowell @carlushuang Can we get the PR in the next release (i.e., ROCm 4.1)?

@zjing14 I hope so. currently I'm waiting for @atamazov 's comments on if anything need to change for the code design. At least the feature introduced by this PR is done.

@zjing14 I hope so. currently I'm waiting for @atamazov 's comments on if anything need to change for the code design. At least the feature introduced by this PR is done.


Reformat only changed code

Hi,
I'm facing an issue with reformating the code. Although I have git properly configured in IntelliJ (2017.2.2) the whole file is affected even though I change only one line.
Thanks in advance for the fix.
Pavel

It's duplicate of issue #35. So you may close it.

Hey @bikerp, no actually #35 is for inspections (the quick fix section in the settings). The option "Reformat only changed code" should apply on changed lines, the quick fix on the whole file.

Hi @dubreuia, I thougt that the reformat feature also includes inspections. And my comment was concerning inspections (particulary adding final to method parameters). Lately I found the #35 and figured out that inspections change whole file. So I'm sorry for confusion.


Fix "upstream remote" dependence in Makefile

See https://github.com/docker/docker/pull/10841

LGTM

nice! LGTM


WyzeIOTCSession - IOTC_ER_NOT_INITIALIZED

🐛 Bug Report
Hello, I'm trying to adjust the bitrate/frame size via WyzeIOTCSession as listed in the documentation, however, I keep getting IOTC_ER_NOT_INITIALIZED whenever I try to use WyzeIOTCSession.
🔬 How To Reproduce
Steps to reproduce the behavior:
import os
import wyzecam

auth_info = wyzecam.login(os.environ["WYZE_EMAIL"], os.environ["WYZE_PASSWORD"])
account = wyzecam.get_user_info(auth_info)
camera = wyzecam.get_camera_list(auth_info)[0]

with wyzecam.iotc.WyzeIOTCSession(wyzecam.tutk.tutk.load_library(),account,camera) as w:
	print(w.state)

Environment

OS: macOS 11.4
Python version:  3.8.9

📈 Expected behavior
WyzeIOTCSessionState.AUTHENTICATION_SUCCEEDED

Hey there!  I saw you closed the issue, were you able to figure out what was happening?

yes, I was able to resolve it by calling iotc_initialize and av_initialize.


I found the simple method to solve the code hightlight !

Download the prism.js css or hightlight.js css

and the configure with the webpack (resolve.alias)

to import the alias

Finally, I  works,

Thanks for the guide! Added a reference label so I (and others) can find this easier in the future.

:+1:


RichTextLabel and Sprite3D doesn't work in playmode Godot 4.2.2

Outside playmode:

In playmode:

The debugger pops this single error:

RichTextLabel's have this bug which I reported some time ago and has been fixed (https://github.com/godotengine/godot/pull/87587) for 4.3 builds. This hasn't been backported yet to any 4.2 version, so we'll have to wait until it's picked for a new minor release.
Sprite3D should not be doing that though; thanks for reporting, I'll have a look :+1:

@fernandoSGameDevelopment I've pushed a fix that fixes this on my side, could you test this and check if it fixes on yours as well?
https://github.com/rsubtil/controller_icons/archive/refs/heads/fix_sprite3d_icon.zip

@rsubtil Yep, it fixed the sprite here as well. Thank you!
When 4.3 or 4.2.3 comes out, I'll test RichTextLabel as well and let you know.

@rsubtil 4.3 just released, but RichTextLabel seems not to work.
I've tested it on a Windows 11 machine with version 3.1.1 and with the fix_sprite_3d_icon version in this thread.

Thanks for reporting it promptly. I've also found this issue, and I'll issue a fix shortly :+1:

@fernandoSGameDevelopment this is fixed on my side, can you confirm if everything works correctly for you as well now?
https://github.com/rsubtil/controller_icons/archive/refs/heads/fix_texture_null_size.zip

@rsubtil It now works perfectly! Thanks again for the awesome and fast support.

Thanks for testing it quickly! There are enough fixes queued so far, so with this one I'll prepare to publish another version.


Commit e555a60 (MB vs MiB)

I think it's reversed. MB = 1000^2 and MiB = 1024^2
https://en.wikipedia.org/wiki/Byte#Multiple-byte_units

How in the world has this ended up reversed? Byte quite literally means the power of 8...
So which is correct Memory or HDD's now?

I was using the metrics from the app because i thought it was the other way around, but I know i hate the system because HDD manufacturers are Arses, they should never have been saying GB for 1000

This has been an issue for decades. One thing though, bit is never used, only bytes. So it never mattered if 1 byte is 8 bits. Technically the value is correct (a 8 GB  thumbrive does have <IP_ADDRESS> bytes). It's the OSs that have been using the wrong prefixes all these years, not disk manufacturers. The IS prefixes have existed way before computers were a thing, only god knows why someone decided to use the same prefixes with different values. Binary prefixes were supposed to fix this, sadly they never really caught on.
IMO, if you want to clear all doubt, you should replace instances of KB, MB and GB to KiB, MiB and GiB, in 7th Heaven.

It's the OSs that have been using the wrong prefixes all these years, not disk manufacturers.

This is wrong OSes use the Older Standard for JEDEC, IEC should not have created an alternative standard in 2008 after the JEDEC standard in 1990's the only reason to do that was to cause competition as it defies the point of having standards...
All Major OS came long before 2008, the IEC going against the convention presented to users for many years is a failure of a standards organisation, how can they say that everything people have been exposed to for 20 years is incorrect in favour of their view. that quite literally defies the point of standard...

Are you sure? The JEDEC standard is from 2002 according to their page: https://www.jedec.org/document_search/field_doc_type/148
The SI prefixes were defined in 1960, weren't they?

The point should have been if your using metrics you use lower case, E.G (mm, cm, m, km), (ml, cl, lt), (mg, g, kg) they should always use lower case, KB, MB, GB, TB, are all uppercase

All units above kilo (k) are in uppercase according to the SI. The lowercase units have a different meaning (mili, deci, centi, etc) and, as you said, b means bit and B means byte. The fact remains that there was no reason to "overload" units even if you were using a different base. You can see that this was going to be an issue back in 1968:
https://en.wikipedia.org/wiki/Binary_prefix#Early_suggestions
While early computer scientists typically used k to mean 1000, some recognized the convenience that would result from working with multiples of 1024 and the confusion that resulted from using the same prefixes for two different meanings.
Several proposals for unique binary prefixes were made in 1968. Donald Morrison proposed to use the Greek letter kappa (κ) to denote 1024, κ2 to denote 1024^2, and so on. (At the time, memory size was small, and only K was in widespread use.) Wallace Givens responded with a proposal to use bK as an abbreviation for 1024 and bK2 or bK^2 for 1024^2, though he noted that neither the Greek letter nor lowercase letter b would be easy to reproduce on computer printers of the day. Bruce Alan Martin of Brookhaven National Laboratory further proposed that the prefixes be abandoned altogether, and the letter B be used for base-2 exponents, similar to E in decimal scientific notation, to create shorthands like 3B20 for 3×220, a convention still used on some calculators to present binary floating point-numbers today.
None of these gained much acceptance, and capitalization of the letter K became the de facto standard for indicating a factor of 1024 instead of 1000, although this could not be extended to higher powers.
As the discrepancy between the two systems increased in the higher-order powers, more proposals for unique prefixes were made. In 1996, Markus Kuhn proposed a system with di prefixes, like the "dikilobyte" (K₂B or K2B). Donald Knuth, who uses decimal notation like 1 MB = 1000 kB, expressed "astonishment" that the IEC proposal was adopted, calling them "funny-sounding" and opining that proponents were assuming "that standards are automatically adopted just because they are there." Knuth proposed that the powers of 1024 be designated as "large kilobytes" and "large megabytes" (abbreviated KKB and MMB, as "doubling the letter connotes both binary-ness and large-ness"). Double prefixes were already abolished from SI, however, having a multiplicative meaning ("MMB" would be equivalent to "TB"), and this proposed usage never gained any traction.

expressed "astonishment" that the IEC proposal was adopted, calling them "funny-sounding" and opining that proponents were assuming "that standards are automatically adopted just because they are there."

This bit, not to mention co-opting another pre-existing standard... which should not be done standards are the to alleviate confusion not create more :D

I think I read that Apple recently changed MacOS to use SI prefixes correctly (1000^n) but I don't have a Mac to check. If Microsoft followed the same trend, it would be better in the long-run IMO. This mess has been dragged out long enough.


Xcode 8 compatibility

Hi all,
I have installed xcode 8 beta and cordova-hot-code-push-local-dev-addon plugin have a problem of compatibility with new version SWIFT code.
How can solve this problem ?
Thank you,
Davide

Hi,
I haven't tested it with Xcode 8 yet. I'll do that and get back to you. Most likely it will require just to update the swift code of the socket.io library.

Looks like they have this issue targetted on socket.io: on a branch

Yep, just need to wait for them to fix it, and then I'll update the sources.

Released v0.4.0. It should now build in Xcode 8.


Threading problems

We are polling a modbus system with very high frequency. We are facing problems that there are major delays when new threads are spawned for every read request and the system is very busy with other threads. Is there a way to have the calls running in a specific thread without spawning? We are aware this might conflict with the whole design.

ModbusTcpMasterConfig config = new ModbusTcpMasterConfig.Builder(ioParameter.getAddress())
                        .setPort(ioParameter.getPort()).setTimeout(Duration.ofSeconds(2))
                        .build();
                modbusClient = new ModbusTcpMaster(config);
                modbusClient.connect();

      CompletableFuture future = modbusClient.sendRequest(new ReadDiscreteInputsRequest(0, 8), 0);
      ^^^^^ Thread is spawned and execution is not guaranteed ^^^^^

Version: 1.1.1

Calling sendRequest doesn't spawn a new thread, but it does leave you with an unanswered CompleteableFuture that will eventually be completed by a different thread.
It sounds like you need to implement some kind of queue mechanism in your system that you submit requests to and it provides some kind of guarantees that only N requests at a time will be executing, i.e. until there are less than N currently executing requests to finish before executing polling and executing new ones.
However I can't tell from your description if your problem is that:

you have a set of requests that you execute repeatedly without actually waiting for the previous set to finish
or
the device you're connected to has issues with the level of parallelism you're issuing requests
or both

Also, if you're not already aware, you can turn this into a synchronous call just by immediately calling get() on the CompleteableFuture from sendRequest.

Thanks for the the fast helpful answers. My problem is following:
I want to make sure I can poll a Slave with very high frequency with as low as possible delay. I am speaking of 250 Hz. On top of this the Master is a Java system which must do a lot of parallel processing things simultaneously (spawning threads and so on not related to the Modbus part).
Yes, you are right what I want to achieve is a synchronous system making sure the Slave will be polled sequentially as best as possible regardless how busy the system is (threading wise). So taking your advice I could check following which would not create any threads:

private int sendRead(ReadDiscreteInputsRequest input) throws Throwable {
      CompletableFuture future = modbusClient.sendRequest(input, 0);
      ReadDiscreteInputsResponse response = null;
      try {
         response = future.get();
         return response.getInputStatus().readUnsignedByte();
      } finally {
         if(response != null) {
            ReferenceCountUtil.release(response);
         }
      }
}

I have tested and it looks performing ok. Thanks for suggestions again.


Merging recent changes in JDK9 javac into nb-javac.

Merging the new nb-javac built from the latest JDK9 sources.

Merging.


[WFLY-6462] Add support for JSF 2.3 using the ee8.preview.mode switch

https://issues.jboss.org/browse/WFLY-6462
https://issues.jboss.org/browse/EAP7-893
https://github.com/wildfly/wildfly-proposals/pull/20

@fjuma This needs a rebase.

This PR has been placed on "hold" for now since it needs an EE7 compatibility strategy.

@kabir I've updated this PR so the 'hold' label can be removed now. Thanks.

@kabir @jamezp I've added a smoke test for JSF 2.3 functionality in the EE8 testsuite. It verifies that JSF 2.3 injection works properly.


Generate Python 3 bindings with type hints

Enhance Python bindings to produce type hints:
https://docs.python.org/3/library/typing.html
This is best done by copying the existing template for Python bindings and adding type hints.

I'm going to add separate Python 2 and Python 3 bindings template files.
With custom generators in place a MODULE_NAME module can be created which will create a init.py file which can load the appropriate bindings.
Without custom generators I'll just add new templates for now.

I've done some preliminary investigation on this item and have hit an issue. Basically the following pattern will not work:
class Tree:
.....
def get_substree(...) -> Tree:
....
The problem is that the Tree class is not defined at the point the type hint is specified and you get a 'NameError'. This scenario is answered by eg http://stackoverflow.com/questions/33533148/how-do-i-specify-that-the-return-type-of-a-method-is-the-same-as-the-class-itsel
It's not great; we either
(1) define a 'dummy' Tree class "class Tree: pass" before the declaration of the proper Tree
(2) use strings as the annotation "-> 'Tree'"
(3) monkey patch "Tree.get_subtree.annotations['return'] = Tree"
Option (2) is recommended by the module docs. I THINK that this method produces a hint that is more than just a comment ie it is parsed by the typing module but I am not 100%; more reading needed,

Great work. If you accept my invite I'll assign this issue to you.


Syncing from upstream zalando/patroni (master)

bt_gitbot

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 67 (100.0%)  changed or added relevant lines in 15 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.861%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13617

Relevant Lines:
13636

💛  - Coveralls


Water ridge moons texture problem

Um what happen to water ridge texture they look like glass now

Um what happen to water ridge texture they look like glass now

Logs please


making labels consistent across the datasets

Hi
For accessing the labels one can type
>>> a.features['label']
ClassLabel(num_classes=3, names=['entailment', 'neutral', 'contradiction'], names_file=None, id=None)

The labels however are not consistent with the actual labels sometimes, for instance in case of XNLI, the actual labels are 0,1,2, but if one try to access as above they are entailment, neutral,contradiction,
it would be great to have the labels consistent.
thanks

Hi ! The ClassLabel feature type encodes the labels as integers.
The integer corresponds to the index of the label name in the names list of the ClassLabel.
Here that means that the labels are 'entailment' (0), 'neutral' (1), 'contradiction' (2).
You can get the label names back by using a.features['label'].int2str(i).


⚠ Bofrost.de has degraded performance

In 293e366, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1523 ms

Resolved: Bofrost.de performance has improved in ae503f7 after 2 hours, 16 minutes.


Internal template

This is mainly a better organisation of Sass files. I.e. each file is has single concern.
It uses a new rebased version of template dependancies (mojular & govuk-template) and matches their directory structure.

Looks good to me, @matharden, but “Better organised Mojular styles” is a bit of a clunky commit message :disappointed:

Is this ready to be merged, @matharden?


Generator update permissioned payloads controller

Temp changes

.gitmodules:
needed to add dependencie to deploy PermissionedPayloadsController. Dependency has to be removed when PermissionedPayloadsController will be deployed.
foundry.toml, remappings.txt:
foundry recursive auto-detected dependencies fix. Changes will be reverted after aave-v3-governance dependency removed

What was made
Old tests were adopted to return IPayloadsControllerCore.ExecutionActions[] object. This object has to be passed to PermissionedPayloadsController by PAYLOADS_MANAGER address as payload. Now tests also responsible for deploying PermissionedPayloadsController. That functionality has to be removed later, after deploying controller

@Cycxyz The generator seems to be breaking when custom reward asset is passed

Also can you update the readme, explaining in detail how the new flow would be with clear instructions - ex. running the tests for validation and using the scripts to register the payloads and so on.


Move off of peter-evans/link-checker GH action

Move off of peter-evans/link-checker GH action, it's been replaced with https://github.com/lycheeverse/lychee-action

It looks like lycheeverse/lychee-action doesn't support recursive usages (traversing into all child directories), see:
https://github.com/lycheeverse/lychee/issues/78
Since both kured workflows that use peter-evans/link-checker use its -r option (recursively search), should we wait until lycheeverse/lychee-action supports the recursive before making this change?

Update: Work not finished in lychee 165, maybe someone can help there? : )


Add correlation id string support for BLS

Thank you, Kris. Closing draft PR.
Please find the https://github.com/triton-inference-server/python_backend/pull/344 with additional changes.


"Login timeout expired" on Centos 7

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python: 2.7
pyodbc: 4.0.23
OS: Centos 7
DB: MS SQL Server 6.01.7601.17514
driver: ODBC Driver 17 for SQL Server

Issue
"expected behavior": Connect to MS SQL Server's database
"observed behavior": pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
Code related to PYODBC:
conn = pyodbc.connect(
    r'DRIVER={ODBC Driver 17 for SQL Server};'
    r'SERVER={HOST},{PORT};'
    r'DATABASE={DATABASE};'
    r'UID={UID};'
    r'PWD={PWD}'
    )

I was able to connect to the Database with sqlcmd -S {Host},{Port} -U {USER} -P {PWD} -Q "use {Database};" so I wonder if it is me doing it wrong with conn string. My code reference was https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows
I can reproduce the error with sqlcmd if I remove the port from the command, so maybe the conn_string I am passing to pyodbc is not in the correct format?

Try not using { and } quoting for host and port. I.e. if host is example.com and port is 1433, try SERVER=example.com,1433

Oh, the {} is not there, it is placeholder for the question, this is the actual one:
conn = pyodbc.connect(
r'DRIVER={ODBC Driver 17 for SQL Server};'
r'SERVER=example.com,1111;'
r'DATABASE=name_of_db;'
r'UID=uid;'
r'PWD=pwd'
)

It looks like it started to work if I use ip address instead of hostname. Is there any configuration in pyodbc to make sure it resolves hostname correctly?

Hostname resolution is not the concern of pyODBC, it just passes connection string to DM and the DM passes it to the ODBC driver. Your connection string is correct and I could not reproduce this error. Please check your network DNS configuration.

@v-chojas yeah, closing this issue. The problem seems to be network DNS related.

@v-chojas yeah, closing this issue. The problem seems to be network DNS related.

How did you resolve the DNS issue?

@v-chojas yeah, closing this issue. The problem seems to be network DNS related.

How did you resolve the DNS issue?

You should use the IP instead of DNS :/
You can get that using nslookup on CLI


Could not enable arena,complete setup first.

Issue description

I can't enable the eggwars arena I set.I used /ew set arenaname and I did all the things that it needed,then /ew level set arenaname I did all the needed things again but still it says could not enable arena,....

Server software:

PocketMine-MP release 3.7.0 but its not that the problem

Plugin version:

1.0.0-beta1

Steps to reproduce:

/ew create arenaname
/ew set arenaname
/ew level set arenaname

[ ] Tested without other plugins
[x] There are not same issue

plugin is not done

fixed


Allow kafka-streams binder to consume messages from multiple kafka topics

This is a proposal to fix the issue #361.
Changes

Modified org.springframework.cloud.stream.binder.kafka.streams.KafkaStreamsStreamListenerSetupMethodOrchestrator#getkStream so that the KStream object is built from list of topic names.
Added new test case org.springframework.cloud.stream.binder.kafka.streams.KafkaStreamsBinderMultipleInputTopicsTest

While this might work fine for the Kafka Streams binder, I think there needs to be a more general solution for all binders that can support consuming from multiple topics (kafka, rabbitmq etc message channel binders, where the listener containers can be configured to consume from a lis of topics/queues).

I agree with @garyrussell  and there is actually an issue that we already have for it https://github.com/spring-cloud/spring-cloud-stream/issues/1168

Thank you Soby
On Tue, Apr 24, 2018 at 3:49 AM, Soby Chacko<EMAIL_ADDRESS>wrote:

Hi @sarathshyam https://github.com/sarathshyam - We are actively
reviewing this PR. We might have to take a slightly different approach or
add some extra changes at the core framework level to address this
scenario. We will update soon on this PR about any progress.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/pull/362#issuecomment-383741276,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGXNr7qKboLkuUqo8m696SiC-tPaokhRks5trlOMgaJpZM4TVCzd
.

@sarathshyam Thank you for the PR. This is merged upstream. A couple of notes related to this change. We introduced a new property at the core consumer level called  multiplex. When it is true, the binder natively is capable of consuming from multiple topics through a single input binding. This is always made true in the kafka streams binder. See the changes at this commit: https://github.com/spring-cloud/spring-cloud-stream/commit/61bce5272270b8f4e6b6ff8bed8c4be85450ae1d
Once this change was in the core framework, I added two more commits on top of your commit in the kafka streams binder. The following changes are introduced through those 2 commits.

Spring Cloud Stream is updated to 2.1.0.BUILD-SNAPSHOT
multiplex property is made true always
When we have multiple inputs, the DLQ handling in kafka streams binder needs to be adjusted differently, so that we can have separate dlq topic per input topic or a catch all DLQ topic specified through the dlq name. These changes are also addressed through a commit in the PR.

I did not squash the 2 commits that I added in the PR as they have individual focus but related to your base commit.
Once again, thank you. Looking forward to more PR's in the future!


doc: fix flipped documentation in process.rst

The descriptions of UV_PROCESS_WINDOWS_HIDE and UV_PROCESS_WINDOWS_HIDE_CONSOLE were flipped.

They're correct, aren't they? The comments are above the flags the describe, not below.

@bnoordhuis Is right.

Oops my bad.


enhance package.json finder

implements #1284
For assets loaded from a subdirectory of node_modules, it will pick the first package.json that actually has name and version attributes.
Added a testcase for this, which verifies this functionality for the luxon and libphonenumber-js packages.
The package.json for libphonenumber-js/max misses a version number while for luxon the name is missing.
The snapshot has quite a lot of changes:

For some reason the purl entries are no longer url encoded.
The @apollo/client/* entries have been merged into a single @apollo/client entry
The @babel/runtime was added as dependency

Thanks for the implementation, @reey .
I really like the solution, but it needs to be safe and waterproof.
The thing with the "enhancement" you plan on introducing is: it opens up for a whole world of false-positives and edge cases.
Let's take the time and make sure it meets the needed edge cases. :-)
For additional tests, we need to have a

yarn2 setup with the edge case s in unplugged mode
yarn2 setup with the edge cases in non-unplugged (cached) mode
yarn2/pnp setup with the edge case s in unplugged mode
yarn2/pnp setup with the edge cases in non-unplugged (cached) mode
all edge cases with pnpm ... dont knwon what exists, there
all edge cases with "external" linked-in paths ... have fun figguring out what edge cases might exists there ...

@jkowalleck Thanks for the feedback.
I've done some testing with yarn, but it should not be any different as the (folder) structure still has a node_modules directory:
/home/<user>/.yarn/berry/cache/libphonenumber-js-npm-1.11.3-8309751739-10c0.zip/node_modules/libphonenumber-js/build/legacy.
The overall idea was if there would be no node_modules for some package manager, to not change the behavior from how it currently works.
In case changes are required for a specific package manager, this could still be done.
Regarding the URL encoded purls it seems that the behavior is different for windows vs linux? is this intended?

@reey, your implementation looks solid, your test beds are great!
a thing that might be missing:
add a lock file to the yarn test bed, and add a yarn set version ... before the yarn install happens for the test beds.

Thanks for the contribution,
it was released via https://github.com/CycloneDX/cyclonedx-webpack-plugin/releases/tag/v3.12.0


Complete level 1b processing for CPOL

The level 1b production code that I'm using for CPOL. More details in the mail I'd send you.

Thanks @vlouf !


Change tracing chart to use tracing.provider to select backend

Currently the jaeger-query and jaeger-collector services are not deployed by default when tracing.enabled=true is set when using the helm chart. The users need to include tracing.jaeger.enabled.  I've seen a few situations in recent days where users are expecting the jaeger-query service to be available - so thinking it may be better to have these enabled by default (it is only adding two more services, no additional deployments).
Additional, when originally working on the helm chart for tracing there were discussions about supporting multiple backends, and using a mechanism that would ensure only one backend was deployed. This PR changes from using tracing.jaeger.enabled to a property tracing.provider with default value of jaeger.
As getting close to the 1.0 release, was wondering whether we wanted to consider making this change now to make it easier to add other providers in the future?

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: objectiser
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ostromart
Assign the PR to them by writing /assign @ostromart in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Apologies I didn't do this PR sooner, as I am now off for two weeks. If any changes are required, can someone create another PR to incorporate these changes with any updates.
cc @gyliu513 @douglas-reid @rshriram @costinm @sdake
@sebastien-prudhomme would also be interested in your thoughts on this change for your use case?

@objectiser: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
3cfb3bc66f03a54c75908ca350c9588ff357ff2d
link
/test e2e-mixer-no_auth

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

/test e2e-mixer-no_auth

@costinm yes probably the deployment should be dependent upon the provider.
However this pr is not related to the ingress. There are many ingress config in the helm chart that all need to be converted so feel it is better to have a single pr to convert them all at once?

@costinm merge??

values.yaml is pretty much a permanent API as it makes upgrades hard to sort out with changes to values.yaml.  We want to get the API right.  I don't know how Jaeger should be deployed, but I'd encourage if this PR is the correct approach, to merge it and sort out the gateway problem independently.
Cheers
-steve

+1 to @sdake , the istio helm chart include many ingress.enabled checking, and it is better do a swipe and replace them with ingressgateway. But for this PR, we can merge it first.


Touch-swiping does not work if the images are dynamically set in useEffect

Describe the bug
Touch-swiping does not work on the slides when the images are dynamically set in the useEffect() hook by developer users.
To Reproduce
Steps to reproduce the behavior:

Make a carousel and set the images in useEffect()
Swipe the slides part of the carousel (the slides part is in contract with the optional thumbnails part)
See error that touch-swiping does not work

Expected behavior
Touch swiping should work even if the images are dynamically set.
Screenshots
The GIF below is taken from the initial loading to the occurrence of the bug.

Desktop (please complete the following information):

macOS
Chrome
Version 89.0.4389.90 (Official Build) (x86_64)

This issue is now fixed in v0.1.3
Here is the carousel to show that the bug is fixed.
The GIF below is taken from the initial loading to the place where the bug had occurred.


Moveto command

Hi @colinmeinke
Thanks for this library, amazing, unreplaceable stuff in points of SVG Data
There i'm explain as i can.
Note: This case very rare, but can be.
import { toPoints } from 'svg-points'

let d = 'M10 10 30 10 L40 10'
let points = toPoints({type:"path", d})

console.log(points)

[
{x: 10, y: 10, moveTo: true},
{x: 40, y: 10}
]
// but should be really these points (see below)
[
{x: 10, y: 10, moveTo: true},
{x: 30, y: 10},
{x: 40, y: 10}
]

If any questions, ask.
Thanks again for project

Ah I see, good catch! It should really be this right?
[
  { x: 10, y: 10, moveTo: true },
  { x: 30, y: 10, moveTo: true },
  { x: 40, y: 10 }
]

No, second moveTo should be lineTo as browser renders like lineTo insteadof moveTo

Ah yeah, that seems to be the case... but I can't find any mention of that in the spec?

Got it.
If a moveto is followed by multiple pairs of coordinates, the subsequent pairs are treated as implicit lineto commands. Hence, implicit lineto commands will be relative if the moveto is relative, and absolute if the moveto is absolute. If a relative moveto (m) appears as the first element of the path, then it is treated as a pair of absolute coordinates. In this case, subsequent pairs of coordinates are treated as relative even though the initial moveto is interpreted as an absolute moveto.
https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands

@colinmeinke
Try morph from M 110 110 m -110 0 a 110 110 0 0 1 220 0 a 110 110 0 0 1 -220 0 z M 110 110 m -55 0 a 55 55 0 0 1 110 0 a 55 55 0 0 1 -110 0 z M 69.4<PHONE_NUMBER> A 100 100 0 0 0 135.210724<PHONE_NUMBER> L<PHONE_NUMBER><PHONE_NUMBER> A 65 65 0 0 1 69.4<PHONE_NUMBER> L 69.4<PHONE_NUMBER> Z M 74.0879504 16.6708797 A 100 100 0 0 0 23.7466522 59.4 L 69.2 59.4 A 65 65 0 0 1<PHONE_NUMBER> 45.3982898 L 74.0879504 16.6708797 Z M<PHONE_NUMBER> 150.6 A 100 100 0 0 0<PHONE_NUMBER> 84.789276 L<PHONE_NUMBER><PHONE_NUMBER> A 65 65 0 0 1<PHONE_NUMBER> 150.6 L<PHONE_NUMBER> 150.6 Z M 150.6 18.6126924 A 100 100 0 0 0 84.789276 13.2300698 L<PHONE_NUMBER> 45.3704402 A 65 65 0 0 1 150.6 59.2393854 L 150.6 18.6126924 Z M 18.6126924 69.4 A 100 100 0 0 0 13.2300698 135.210724 L 45.3704402<PHONE_NUMBER> A 65 65 0 0 1 59.2393854 69.4 L 18.6126924 69.4 Z M 16.6708797<PHONE_NUMBER> A 100 100 0 0 0 59.4<PHONE_NUMBER> L 59.4 150.8 A 65 65 0 0 1 45.3982898<PHONE_NUMBER> L 16.6708797<PHONE_NUMBER> Z M<PHONE_NUMBER><PHONE_NUMBER> A 100 100 0 0 0<PHONE_NUMBER> 160.6 L 150.8 160.6 A 65 65 0 0 1<PHONE_NUMBER><PHONE_NUMBER> L<PHONE_NUMBER><PHONE_NUMBER> Z M<PHONE_NUMBER> 74.0879504 A 100 100 0 0 0 160.6 23.7466522 L 160.6 69.2 A 65 65 0 0 1<PHONE_NUMBER><PHONE_NUMBER> L<PHONE_NUMBER> 74.0879504 Z to M 90 90 m -90 0 a 90 90 0 0 1 180 0 a 90 90 0 0 1 -180 0 z M 115 65 m -10 0 a 10 10 0 0 1 20 0 a 10 10 0 0 1 -20 0 z M<PHONE_NUMBER><PHONE_NUMBER> A 50 50 0 0 1 54.6446609<PHONE_NUMBER> M 55 70 75 70 (BUG comes from this path) and see the result

hi @colinmeinke
You should update prevPoint Object value inside 2nd for...loop
I believe you should add this to line 245, right after switch..case
prevPoint = i === 0 ? null : points[ points.length - 1 ]

Working as expected now @dalisoft?

I cant test now, but i sure, you smart for these things, thank for you for fixing this issue


Super weird bug in slider path rendering

I'm currently working on something big and i can't finish it because of one bug that's bothering me. This happens with EVERY slider and at first glance is not noticeable at all. At the very beginning of the slider, when it is just starting to fade in, the path appears in the wrong place literally for 1-2 frames.

And after that, the slider itself starts drawing the path, but skipping that piece, which appeared at the beginning by 1-2 frames.

Slider path sprite with alpha locked to 1:

The position of the SliderPathSprite is set here:
https://github.com/blueberrymuffin3/osu-js/blob/602cbafaae93950b88655cdd4e792a89358c811d/src/play/render/standard/components/slider_path.ts#L172-L174
It appears that the texture modification is processed immediately, while the position modification is deferred until the next frame.
The transform matrices of each display object are calculated before the _render function is called, since you're not really supposed to modify anything in the render function.
I'm working on a fix RN.


Add support for using .babelrc in the app root.

Reverts https://github.com/zeit/next.js/pull/466
And allows to configure babel via the .babelrc file.
If there's no such file, we'll add our preset next/babel by default. If not we'll use the .babelrc file.
Most of the time, user need to add next/babel as a preset.
If we are taking this in, we could support ES2015 in the config.next.js as well.

Missing README ref

@rauchg Oh! I forgot that :)

@rauchg done.

@arunoda needs re-base 🙏

@rauchg done.


[DPE-3267] - feat: in-place upgrades

Changes Made
feat: add in-place upgrade support

Disabled the resume-upgrade functionality from the lib, to keep behavior the same between VM + K8s
Although it works, upgrades on K8s needs to be manually tested more thoroughly before merging. NOTE - int test is skipped for now, as we don't have a published stable charm to test against
No unit-tests right now, as they're currently being refactored

Sorry for blocking with the refactor here

No worries! Was just getting it out early for review, helpful comments :). I'll address these next week.


Wrapping the GridCell in a NavigationLink does not display the image

struct GridCell: View {
var person: Person
var body: some View {
NavigationLink(
destination: Text("")
) {
VStack() {
Image(person.imageName)
.resizable()
.scaledToFit()
.clipShape(Circle())
.shadow(color: .primary, radius: 5)
.padding([.top, .leading, .trailing], 7)
Text(person.firstName).lineLimit(1)
Text(person.lastName).lineLimit(1)
}
.font(.headline).foregroundColor(.white)
}
}
}

Another Apple bug it seems tried this with GridStack GItHib project with the same result.

Seem when you have a NavbigationLink you need to set the image to Render as Original this fixes the problem


[BUG] Zeus URL is incorrect

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The Zeus link on the accounts page links to bluewallet.io.
Screenshots [optional]

Steps To Reproduce
Click on Zeus link on Accounts page.
Expected behavior
Link to https://zeusln.app
Alby information
Running extension 3.1.1 in Brave.
Looked in the Accounts Detail code, but couldn't see anything.
Perhaps it's in the translation JSON as the elements don't look to be incrementing? If so I'm happy to submit a PR.
Device information
No response
Additional context
No response
Are you working on this?
None

Thanks for reporting this error! :raised_hands:
I just pushed a fix, should be included in the next release. :crossed_fingers:

Damn, I was looking for my first PR! 🤣

Damn, I didn't know that, sorry. :cry:
Next time please please let us know about your plans and we can help you with questions, etc. You might also take a look at the good-for-starter issues on our repository:
https://github.com/getAlby/lightning-browser-extension/issues?q=is%3Aopen+is%3Aissue+label%3A"good+first+issue"+no%3Aassignee

No worries - next time!


Make a kata about global git configuration

Might not make sense as it is global ( and thus broken ) but could be a good idea to elaborate on the differences between user, repo and global configurations.

As per git's documentation, there are different levels config could be set up, i.e. --system, --global, --local, --worktree and --file .
Aren't first 3 sufficient for this story which are more or less usual scenarios? @RandomSort @sofusalbertsen @JKrag ?

I totally agree that we can leave out --worktree and --file.
I would even argue that for a basic Kata, --system is not even needed. The important thing for normal users is to really understand the difference between global and local configs.
On the other hand it might be relevant to address that some configuration options can be overruled by environment variables and especially command line switches? By I am not sure about this. Maybe we can leave it for an advanced kata later?
I would probably be useful to included the use of git config -l --show-origin, partly because it is in general a useful command to know, and partly because it is a great teaching tool :-)

I totally agree that we can leave out --worktree and --file.
I would even argue that for a basic Kata, --system is not even needed. The important thing for normal users is to really understand the difference between global and local configs.
On the other hand it might be relevant to address that some configuration options can be overruled by environment variables and especially command line switches? By I am not sure about this. Maybe we can leave it for an advanced kata later?
I would probably be useful to included the use of git config -l --show-origin, partly because it is in general a useful command to know, and partly because it is a great teaching tool :-)

Agree. --system option is rarely touched per my experience.
--global and --local options with some listing commands would it be.


Less an issue and more a Suggestion

Regarding the Community calls - there seems to have been no update on when these are going to continue to run (see Readme.md where this states 12/08/2015)
Now to me as a UK Guy that reads 12th August though I'm hoping that it is 8th December??
Could you specify on the Readme.md the frequency of these calls - if weekly I may not be able to join but if monthly then I should be able to
Looking forward to hearing from you guys - Keep up the good work :-)

Hi Ryan.
Thank you for the suggestion.
Community meetings happen once every 4 weeks [12/8 is Dec 8 - Will make sure this is readable -:)]
We might have one by in the next couple of weeks - some team members are out of office during December.
If you have any feedback/questions, please contact us via the Issues page:
https://github.com/PowerShell/PSScriptAnalyzer/issues
We monitor this page daily.
Thanks,
Raghu


no mapping for Get /etoro-api/swagger-ui.html

when trying the 1.4 update i found that the api has no mapping
JPY, 100256=DASHGBP, 100257=USDXUSD, 100263=GOLDBTC, 100269=BTCGRAM, 100270=GRAM, 100271=ETHGRAM, 100272=GRAMEUR}
2021-03-15 11:52:57.496  INFO 3812 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'messageBrokerTaskScheduler'
2021-03-15 11:52:57.553  INFO 3812 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'brokerChannelExecutor'
2021-03-15 11:52:57.612  INFO 3812 --- [           main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2021-03-15 11:52:57.694  INFO 3812 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2021-03-15 11:52:57.704  INFO 3812 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2021-03-15 11:52:57.760  INFO 3812 --- [           main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
2021-03-15 11:52:58.440  INFO 3812 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : Starting...
2021-03-15 11:52:58.441  INFO 3812 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [DefaultSubscriptionRegistry[cache[0 destination(s)], registry[0 sessions]]]]
2021-03-15 11:52:58.443  INFO 3812 --- [           main] o.s.m.s.b.SimpleBrokerMessageHandler     : Started.
2021-03-15 11:52:58.483  INFO 3812 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8088 (http) with context path '/etoro-api'
2021-03-15 11:52:58.488  INFO 3812 --- [           main] ok.work.etoroapi.EtoroApiApplicationKt   : Started EtoroApiApplicationKt in 17.334 seconds (JVM running for 17.966)
2021-03-15 11:53:17.326  INFO 3812 --- [nio-8088-exec-1] o.a.c.c.C.[.[localhost].[/etoro-api]     : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-03-15 11:53:17.327  INFO 3812 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-03-15 11:53:17.345  INFO 3812 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 11 ms
2021-03-15 11:53:17.374  WARN 3812 --- [nio-8088-exec-1] o.s.web.servlet.PageNotFound             : No mapping for GET /etoro-api/swagger-ui.html
2021-03-15 11:53:57.553  INFO 3812 --- [MessageBroker-1] o.s.w.s.c.WebSocketMessageBrokerStats    : WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]

Remove @EnableWebMvc annotation from file CorsConfig
Location : \src\main\kotlin\ok\work\etoroapi\config\CorsConfig.kt


Add a validator for ELB names

The LoadBalancerName has some constraints that we can validate for ahead of time:

This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.

From: http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_CreateLoadBalancer.html
My current implementation of the regex doesn't quite work.  A one character name ought to work but I have created a regex that will fail on names of one character.  I could use some help on it.

@markpeek - Thanks for the help on this.  It looks to have passed the tests.  Do you want me to squash the commits before you accept it?

@chrisgilmerproj thanks for making the changes. I'll have time to review further and commit later. I'll squash as part of the github commit flow.

I appreciate it.  Thanks so much.

Thanks!


Handle tuples and lists in object assignments

So we can write code like this:
"routing": {
    "0": "animation.color = (255, 0, 0)",
    "1": "animation.color = [0, 255, 0]",

To be honest, I'm not entirely sure this doesn't work - I can't test it because of #829.  However, it certainly doesn't have a unit test or documentation.  :-)

Well, this actually does work with this format:
"routing": {
    "0": "animation.color = 255, 0, 0",
    "1": "animation.color = 0, 255, 0",
    ...

however I'm going to add the ability to also read () and [] since I'm here.

Nope, I think that's a bad idea and I'm just closing this :-) though I'm adding some tests for this functionality.


DistributedLock expiration handling starts to leak a bit

Now the expiration handling gets bundled in multiple places when it's used in migrations. E.g. the migrator needs to handle it separately and the cleanup job is not running yet at that point.
Optimal usage of lock would be something like:
with_dlock('mongodb_migrate', timeout: 60, expires: 3 * 60) do
    ...
end

From: https://github.com/kontena/kontena/pull/2123#discussion_r110587430

Advantage: the lock expiry is right there in the same place where the lock is created so it's much clearer to understand how it will behave, as opposed to having the cleanup in some different place.

This could be implemented using Mongo TTL's so we could get rid of whole DistributedLockCleanupJob

Adding more dirty laundry to the DistributedLock pile: if something like the Mongodb::Migrator#migrate with_dlock(...) do /* migrate */ end timed out, then it would just return false, and boot up the server without running the migrations: https://github.com/kontena/kontena/pull/2187#discussion_r112388267
Returning false instead of raising on a timeout without running the block is a bad interface design that's likely to lead to nasty and unexpected behavior, since callers are likely to ignore any return values.

It turns out that the GridServiceSchedulerWorker with_dlock timeout case is also horribly broken: https://github.com/kontena/kontena/issues/2213

DistributedLock clearly needs some tender refactoring, didn't make it into 1.3.0 release though. Is it something we want to include in patch release, or should we schedule it for 1.4.0?

Is it something we want to include in patch release, or should we schedule it for 1.4.0?

Refactoring doesn't sound like a 1.3.x maintenance release.

Agreed, I'll mark it for 1.4.0 then.

Not in 1.4 either, at least not yet. Dropping refactoring milestone.


Content update of website

Update about content to be more welcoming:

intranet
homepage
about
installation

Two options for update of website content about GC Design System:
Figma mockups

The about content is ready to be published.
A couple notes:

This update splits the About us and Contact us page into 2 pages, introducing a new page in the site architecture. The About us page is linked from the homepage hero and from the Contact us page. Many areas on the site currently point to the Contact page.

The top nav menu items have changed order and "Foundations" is now called "Styles" – I didn't include the token overview page title change in the mockups but one of use will have to make that change too.

Changes are in pink text – Although the About us page is pretty well all net new.

The first couple pages are on the CDS intranet – I can take care of updating the WordPress.


Replay System POC

This is going to be a lot of working, but it could make so many cool things possible (e.g. benchmarking, time trials, cut-scenes, etc.)!

#146  supersedes this :+1:


Fix for highlighting

Added a new type of VAR to variable_logic_view.js.coffee.
In highlightPatientData (population_logic_view.js.coffee) add logic to let VARiables bypass the test for being in the finalSpecifics.
In data_criteria_logic_view.js.coffee added logic to check for Thorax.Views.VariablesLogic so that it will get the right type for VARiables.
In data_criteria.hbs removed the if condition so that highlight-target gets added to derived elements.

logic-wise it looks good. Have a few comments regarding styling and comments.

@pkmitre what are your thoughts on adding test cases for testing highlighting? do we even have a test measure with variables in it? If not, we should definitely update that set.

I like the idea of a test case for highlighting; my first instinct was that this would be tricky, but thinking about it more I think it's plausible. Though, I think I'd focus first on the basic logic highlighting, rather than the hover highlighting...


LB ip gets assigned a random port when setting ports in launch_config to a specific port.

Tested with Rancher Version: latest cattle build from lbrefactormetadata from https://github.com/alena1108/cattle.git
Create a balance service with ports in  launch_config set to "ports": [8900] .
When LB service gets activated , a random port gets assigned to LB service as below:
"ports": [
"49560:8900/tcp",
],

In this case , we expect LB to be available in 8900 on the host.
Also the default protcol should bd http instead of tcp.

Tested with latest cattle build from lbrefactormetadata from https://github.com/alena1108/cattle.git and latest version of image - alena1108/lb-controller-haproxy.
Creating a balance service with ports in launch_config set to "ports": [8900] , results in 8900 port being available for LB service on the host.


Resource files for project properties and tools options

Adding resource files that can be localized for Project properties and Tools - Options

👍


Build the docker image with local modules first.

Use the local modules if exist.

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

Stale


Rename JsonInteger to JsonLong, and JsonDecimal to JsonDouble, and insert JsonNumber as a common interface of them

It is another follow-up to: #1462
#1462 named integral numbers as JsonInteger, and decimal numbers as JsonDecimal. But, after some thoughts, I changed my mind that JsonLong and JsonDouble could be better.
The reasons are :

Those implementation classes are coupled more strongly with their internal representations: long and double. Developers cannot easily imagine that JsonInteger is based on long, then it has limitations by the type.
Embulk has had the LONG column type and the DOUBLE column type. It should be acceptable for Embulk-related developers to use names like Long and Double in such class names.
JSON values in JSON columns sometimes need to be interoperable with Embulk's native columns. For example, embulk-filter-expand_json expands JSON values into Embulk columns. They need to be named consistently for that purpose.

The discussion is included in the draft EEP: #1538

Thanks!


Use encoding/binary's conversion functions when possible.

Can you use PutUint64 for the uint48 functions as well? Or does that become too hacky?
Assuming this has no impact on performance? It might actually be faster? (Sorry to keep going on about performance - it is just the theme of the month :) )

I couldn't decide if it was worth it.  I think we'd have to allocate a
buffer and then copy into it starting at index 2 and then pass that to the
PutUint64.  It's extra work so I assume it would be slower, but I haven't
benchmarked.
On Wed, Jun 8, 2016 at 12:03 AM, Miek Gieben<EMAIL_ADDRESS>wrote:

Can you use PutUint64 for the uint48 functions as well? Or does that
become too hacky?
Assuming this has no impact on performance? It might actually be faster?
(Sorry to keep going on about performance - it is just the theme of the
month :) )
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/miekg/dns/pull/364#issuecomment-224506317, or mute
the thread
https://github.com/notifications/unsubscribe/AHf2z7CcVehpNK0PjYGE0bKJiz7A7FWvks5qJmlNgaJpZM4IwlVu
.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Use encoding/binary..." ]

I couldn't decide if it was worth it.  I think we'd have to allocate a
buffer and then copy into it starting at index 2 and then pass that to the
PutUint64.  It's extra work so I assume it would be slower, but I haven't
benchmarked.

Ok, let it be :) I'll merged this as-is.
Thanks!
/Miek
--
Miek Gieben


E3012 - boolean - mismatch between cfn-lint & Cloudformation

cfn-lint version: (cfn-lint --version)
cfn-lint --version
cfn-lint 0.4.2

Description of issue.
The rule
E3012 Property Resources/Subnet0/Properties/MapPublicIpOnLaunch should be of type Boolean
fires, however the supplied value is acceptable to Cloudformation, and results in CREATE_COMPLETE
Please provide as much information as possible:

Template linting issues:

Please provide a CloudFormation sample that generated the issue.

        "Subnet0": {
            "Properties": {
                "AvailabilityZone": {
                    "Fn::Select": [
                        0,
                        {
                            "Fn::GetAZs": ""
                        }
                    ]
                },
                "CidrBlock": "<IP_ADDRESS>/20",
                "MapPublicIpOnLaunch": "true",
                "Tags": [
                    {
                        "Key": "Name",
                        "Value": {
                            "Fn::Join": [
                                "-",
                                [
                                    "sites-infrastructure",
                                    {
                                        "Ref": "Stage"
                                    },
                                    "public",
                                    {
                                        "Fn::Select": [
                                            0,
                                            {
                                                "Fn::GetAZs": ""
                                            }
                                        ]
                                    }
                                ]
                            ]
                        }
                    }
                ],
                "VpcId": {
                    "Ref": "VPC"
                }
            },
            "Type": "AWS::EC2::Subnet"
        },

If present, please add links to the (official) documentation for clarification.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch

The template in question was created by troposphere. Since Cloudformation accepts booleans enclosed in quotes, it seems arguable that E3012 should not fire. On the other hand, perhaps there is documentation that defines boolean's cannot be enclosed in quotes? If that documentation exists it would be good to become aware of it - in that case this seems like something that should get fed back to the troposphere project for consideration.

This conversation has come up a few times.  #180
Originally we had it setup as you talked about.  Where these mistype issues were Warnings and not Errors.  However, we have ran into a few scenarios where the types are strict.  The result of that is that we have made all type checks strict.
Spec data for reference:
"MapPublicIpOnLaunch": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch",
          "PrimitiveType": "Boolean",
          "Required": false,
          "UpdateType": "Mutable"
        },


Universal Terminate Application keystroke

Description of the new feature / enhancement
It would be great if we could have a universal Terminate Application keystroke, like Mac's Cmd+Q; maybe via PowerToys? Currently, Alt+F4 does not end applications which close to the System Tray. Maybe Win+Shift+Q
Scenario when this would be used?
To quickly end applications without needing to navigate menus or using the mouse in the system tray.
There are many such apps which are designed to stay running in the System Tray such as steam, Epic Games Store, Teams. But Many a times people (like me) may want to quickly open Teams and then exit it. Without going through the hassle of changing settings and committing to a specific behavior, such a shortcut will allow one to quickly end the application when they wish to, or leave it running as normal.
Supporting information
No response

I understand the ask but I don't think this will be possible without force quitting the application as well as a deep knowledge of every application.  There will be large sum of edge cases.
For instance

PowerToys: PowerToys main exe, runner, is what powers the systray but as an end user, you would interact with one of the edge applications.  If you tried and quit the settings app, it is actually a totally different EXE.  Approach maybe would be see if we could see which app called the child app and terminate the top most.
Edge/Chrome/Calculator: multi-instances, scan for all instances and terminate
Steam: Would bet they have different apps, one for serivce/systray and one that is GUI
Apps from different users
What happens if someone does this with File Explorer

It would be how MacOS handles it. I don't know if it would be feasible to emulate this behavior on Windows, but the CMD+Q keystrokes ends the application and all processes started by it. For MacOS's File Explorer (Finder) the command does not work.
All applications in Windows do have a 'Terminate  the Whole Application' command - in Steam, one can right click the SysTray icon and select Quit, in PyCharm there is File>Exit . During Shutdown, Windows invokes these to terminate running applications, suggesting there is some universal interface to send the Graceful Exit Signal to any and all apps.
Maybe that could be tapped into.


Clipboard content's does not work well with dark theme

Black on black is very difficult to read.

]: how disappointing
I'm curious about the best way to approach this. Right now the plugins have 100% control of that part of zazu, including the background color. We could pass in a "dark" or "light" flag maybe.

It has a really neat built-in way of dealing with colors when you copy a hex color code to the clipboard. Can that be adapted? I wasn't knowledgeable enough to adapt it, but it's in:
.zazu/plugins/tinytacoteam/zazu-clipboard/src/lib/present.js
and the color formula thing is:
.zazu/plugins/tinytacoteam/zazu-clipboard/node_modules/color/index.js
I did fool around like a monkey at a typewriter trying to haphazardly figure out how it worked, but I'm not that technical.

@cecoates what would the behavior be? We'd need some way of detecting the parent background color, right? Basically zazu would need to pass that in somehow.
I see two options:

Apply the style's css inside of the iframe, and the plugin can overwrite the styles if they want, similar to how the color does it.

Detect the exact color of the iframe background, we'd have to traverse up the dom tree until we find the correct element, then pass that in to the plugin somehow via classes or something.

I may have kind sorta broken the plugin on my install, and I can't update it without crashing it again. :-)
So I can't take a video of exactly what it was doing before I broke it, but this:
const ago = require('s-ago')
const Color = require('color')
const { htmlEncode } = require('js-htmlencode')
module.exports = (allClips) => {
return allClips.map((clip) => {
if (clip.type === 'text') {
const isHexColor = clip.raw.match(/^#([0-9a-f]{3}){1,2}$/i)
const response = {
title: clip.raw,
value: clip._id,
preview:
${htmlEncode(clip.raw)}

${ago(new Date(clip.createdAt))}
${clip.raw.length} characters

}
if (isHexColor) {
const color = new Color(clip.raw)
const colorType = color.dark() ? 'dark' : 'light'
response.preview =
${clip.raw}

             ${ago(new Date(clip.createdAt))}
${clip.raw.length} characters

}
return response
} else if(clip.type === 'image') {
return {
title: clip.title,
value: clip._id,
preview:
${ago(new Date(clip.createdAt))}
        ,
}
}
})
}
Seemed to detect if the clipboard contents was a hex color code. If it was, it used the formula in index.js:
dark: function () {
	// YIQ equation from http://24ways.org/2010/calculating-color-contrast
	var rgb = this.values.rgb;
	var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
	return yiq < 128;
},

light: function () {
	return !this.dark();
},

To automatically adjust the background and font colors. Like if I copied yellow, it would make the background yellow, but the text black. Really cool!

Got it! It only works if the color code uses capital letters.
http://cld.wthms.co/CNZ1

@cecoates isn't the issue not with showing colors, but showing normal text?

@blainesch I was curious if the same thing that makes the background color and text color change when it's a hex color code could also be applied to text in general when you use the dark theme.
Although now that I write that out, your #1 sounds better. Sorry!


Fix : fixed the worker logic and updated the tests

Current Scenario :

We are taking the last successful job and then fetching the successful proving jobs.
Then we are creating jobs for each of the blocks and their proofs which will run parallelly.
This will lead to nonce issues when we are settling the transactions on ethereum.

Required scenario :

We take the last successful jobs.
We take the successful proving jobs and collect their block numbers and then we pass these block numbers into the metadata.
Then we settle the transactions in one go on ethereum. (this logic is implemented in our state update job)

Fixed state update worker logic as per the new implementation.

coverage: 50.836% (+0.2%) from 50.64%
when pulling af5ae6caaf30f117371f2b8632f93071fc25711e on fix/state-update-worker
into cfa43b0e6e4b0517b4d73332f94724045f5a00b4 on main.


flawfinder: init at 2.0.15

Motivation for this change
Tool to examines C/C++ source code for security flaws
http://dwheeler.com/flawfinder
Related to #81418
Fixes #117382
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 117417 run on x86_64-linux 1

1 package built:

flawfinder

Result of nixpkgs-review pr 117417 at 90894a7d run on x86_64-linux 1

1 package built successfully:

flawfinder

3 suggestions:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/development/tools/flawfinder/default.nix:23:3:
   |
23 |   installPhase = ''
   |   ^

warning: unused-argument
Unused argument: coreutils.
Near pkgs/development/tools/flawfinder/default.nix:3:3:
  |
3 | , coreutils
  |   ^

warning: unused-argument
Unused argument: makeWrapper.
Near pkgs/development/tools/flawfinder/default.nix:6:3:
  |
6 | , makeWrapper
  |   ^

Result of nixpkgs-review pr 117417 run on x86_64-linux 1

1 package built:

flawfinder


"docker diff" error on windows

docker ps -a
CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS                      PORTS               NAMES
4678a4ed444d        microsoft/nanoserver:latest   "powershell"        55 minutes ago      Exited (0) 13 minutes ago                       boring_boyd

docker diff 467
Error response from daemon: hcsshim::UnprepareLayer failed in Win32: Die angegebene Netzwerkressource bzw. das angegebene Gerät ist nicht mehr verfügbar. (0x37) layerId=4678a4ed444df9411a79ae1aa7b8
453958fe98bb960e820208e703ef3f279316 flavour=1

tested on either Win10, Nano VM and Server2016 full.
Server Version: 1.12.2-cs2-ws-beta-rc1
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: nat null overlay
Swarm: inactive
Kernel Version: 10.0 14393 (14393.321.amd64fre.rs1_release_inmarket.161004-2338)
Operating System: Windows Server 2016 Standard Evaluation
OSType: windows
Architecture: x86_64
Server Version: 1.12.2-cs2-ws-beta
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: nat null overlay
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 14393 (14393.206.amd64fre.rs1_release.160915-0644)
Operating System: Windows Server 2016 Standard
OSType: windows
Architecture: x86_64
CPUs: 2
Total Memory: 511.6 MiB
Name: NanoVMi7
Server Version: 1.12.2-cs2-ws-beta
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: nat null overlay transparent
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 14393 (14393.321.amd64fre.rs1_release_inmarket.161004-2338)
Operating System: Windows 10 Pro
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 15.91 GiB
Name: HPi7

also tested with 1.13.0 dev
Client:
Version:      1.13.0-dev
API version:  1.25
Go version:   go1.7.3
Git commit:   1f9bece
Built:        Sat Oct 22 22:35:05 2016
OS/Arch:      windows/amd64
Server:
Version:      1.13.0-dev
API version:  1.25
Go version:   go1.7.3
Git commit:   1f9bece
Built:        Sat Oct 22 22:35:05 2016
OS/Arch:      windows/amd64

@darrenstahlmsft can repo this also?

I'm also seeing this. I'm not sure if diff has ever worked on Windows though... I can take a look in a couple days unless someone else wants to look now.
/cc @jhowardmsft @jstarks @swernli FYI

docker diff used to work.

#dibs

I'll see what I can find.

Opened https://github.com/docker/docker/pull/27842 to fix.

can confirm it now works!!


Closing modal by pressing Esc or clicking outside produces an error

Can be reproduced in the last example on the official examples page.
Error thrown: sweetalert2.min.js:6 sweetAlert2 expects at least 1 attribute!

Fixed in https://github.com/limonte/sweetalert2/commit/e95bd5dd578f2db10d2a7693a3510e40efba1379#diff-eacf331f0ffc35d4b482f1d15a887d3bR1127


test: Make sure the payload is output on error

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


dnsmasq: update the "Disable systemd-resolved" tasks

Fixed:
ERROR: src file does not exist
TASK [consul : Disable systemd-resolved service] ****************************************************************************************************************************************************************
changed: [<IP_ADDRESS>]
changed: [<IP_ADDRESS>]
changed: [<IP_ADDRESS>]

TASK [consul : Check if resolv.conf is pointing to systemd-resolved] ********************************************************************************************************************************************
ok: [<IP_ADDRESS>]
ok: [<IP_ADDRESS>]
ok: [<IP_ADDRESS>]

TASK [consul : Remove resolv.conf association with systemd-resolved] ********************************************************************************************************************************************
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "gid": 0, "group": "root", "mode": "0777", "msg": "src file does not exist, use \"force=yes\" if you really want to create the link: /run/resolvconf/resolv.conf", "owner": "root", "path": "/etc/resolv.conf", "size": 39, "src": "/run/resolvconf/resolv.conf", "state": "link", "uid": 0}
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "gid": 0, "group": "root", "mode": "0777", "msg": "src file does not exist, use \"force=yes\" if you really want to create the link: /run/resolvconf/resolv.conf", "owner": "root", "path": "/etc/resolv.conf", "size": 39, "src": "/run/resolvconf/resolv.conf", "state": "link", "uid": 0}
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "gid": 0, "group": "root", "mode": "0777", "msg": "src file does not exist, use \"force=yes\" if you really want to create the link: /run/resolvconf/resolv.conf", "owner": "root", "path": "/etc/resolv.conf", "size": 39, "src": "/run/resolvconf/resolv.conf", "state": "link", "uid": 0}

NO MORE HOSTS LEFT **********************************************************************************************************************************************************************************************

PLAY RECAP ******************************************************************************************************************************************************************************************************
<IP_ADDRESS>               : ok=48   changed=19   unreachable=0    failed=1    skipped=68   rescued=0    ignored=0
<IP_ADDRESS>                : ok=54   changed=21   unreachable=0    failed=1    skipped=69   rescued=0    ignored=1
<IP_ADDRESS>              : ok=48   changed=19   unreachable=0    failed=1    skipped=68   rescued=0    ignored=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

ubuntu@ip-172-31-5-27:~/postgresql_cluster$ ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Dec  1 11:06 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
ubuntu@ip-172-31-5-27:~/postgresql_cluster$ ls -la /run/resolvconf/resolv.conf
ls: cannot access '/run/resolvconf/resolv.conf': No such file or directory

Test result:
ubuntu@source-pgnode02:~$ cat /etc/dnsmasq.d/10-consul
server=/consul/<IP_ADDRESS>#8600
server=<IP_ADDRESS>
server=<IP_ADDRESS>
ubuntu@source-pgnode02:~$ ls -la /etc/resolv.conf
-rw-r--r-- 1 root root 21 Jan  4 19:22 /etc/resolv.conf
ubuntu@source-pgnode02:~$
ubuntu@source-pgnode02:~$ cat /etc/resolv.conf
nameserver <IP_ADDRESS>
ubuntu@source-pgnode02:~$
ubuntu@source-pgnode02:~$ dig +short master.patroni.service.consul SRV
1 1 6432 source-pgnode01.node.us-east-1d.consul.

New error for Red Hat family version 9
FAILED! => {"changed": false, "msg": "Could not find the requested service systemd-resolved: host"}

Ok, this PR is starting to look much better. However, I'm a bit concerned about the lack of a molecule test. Is this something that can easily be tested in a Docker container? If not, can you test it locally on whatever platforms you have access to?

this has been tested as part of the project https://github.com/vitabaks/postgresql_cluster
I didn't do any molecule tests as part of this PR.

@vitabaks Ok, this PR looks good. :+1: Could you please run a quick test with the latest changes before I merge?

Could you please run a quick test with the latest changes before I merge?

@nre-ableton Ok, here are the test results on my repository

details: https://github.com/vitabaks/postgresql_cluster/actions/runs/4303678548

@vitabaks Great!


⚠ ClamAV has degraded performance

In 1d45b60, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 112 ms

Resolved: ClamAV performance has improved in 302f917.


feat: themes

This is a draft of theming feature.
Preview of this PR is at https://oi-wiki.onrender.com

Preview of this PR is at https://oi-wiki.onrender.com


HSEARCH-2039

Hey @Sanne, this uses temporary directories as index dirs for the tests in "orm".
Other modules I still let use their "target" dir as that's generally safer to clean-up (the temp dirs used in "orm" are deleted upon normal JVM shut-down, but e.g. not when killing a test run). I've pushed the determination of target dirs to the individual modules, as a common re-used helper just seemed to easy to be abused in cases where it shouldn't (tests in "orm").
I'm also adding the caller name to index dirs now so to make it easier to identify tests potentially causing file leaks.

I identified some minor concerns, but since it's just test helpers I'm ok to merge this as-is if you prefer.. I'm sure it's not the definitive framework anyway ;)
Why still rely on classloader detection? Seems such a fragile approach.

Marked as "just push it": I could push now myself but giving you the chance to reply on my comments if you think any question is actually warranting a change.
Tests pass for me.

Why still rely on classloader detection? Seems such a fragile approach.

Not sure I am following? To which part specifically do you refer?

Rebased and applied.


defect#232599: Fixed that mulitiple user list can not update

It's just a temporary solution and will fe refactor


[Server] Game Logic

Handle some of the game logic like movement checking and death checking.

done

done


Improved mask sampler

Types of change(s)

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Trivial change (affects only documentation or cleanup)

Checklist

[ ] Tested this change with a run of GEOSgcm
[x] Ran the Unit Tests (make tests)

Description
In the Mask sampler (input =  OR_ABI-L1b-RadF-M6C04_G16_*.nc), the following improvement is added:

parallelization for a do loop over 29.4 million points [nx=ny=5424]
add LS_chunk (uniform distributed points) as intermediate step between LS_root and LS_distributed(bkg=CS-grid) to circumvent a slow down from ESMF_redist  between root and distributed case.

Time improvement on 126 cores (C360_L137)
HIST control:   49.6 s
new code:  25 s
Now the new code can run  with thin_factor = 1;  control code will crash with 126 cores.
Related Issue

@metdyn I think you meant to make this against develop. Can you change the base of the PR?

Oh wait. Is this a hotfix? I see in your comment:

Now the new code can run with thin_factor = 1; control code will crash with 126 cores.

So, was there a bug in v2.47.0?


Android - Login - App crashes when tapping 'Use recovery code' and 'Use 2FA code' very quickly

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.83-5
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Issue found when executing PR https://github.com/Expensify/App/pull/29195
Action Performed:

Go to staging.new.expensify.com
Enter email of account with 2FA enabled
Enter magic code
Tap 'Use recovery code' and 'Use two-factor authentication code' repeatedly and very quickly

Expected Result:
App does not crash
Actual Result:
App crashes
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/78819774/306e10ff-b681-45e8-a70d-2b9558eadb0d
logs 2.txt

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

@hoangzinh what are your thoughts here?

Doesn't need to block deploy, honestly doesn't really need to be fixed

Similar to Jasper, I'm also dubious as to whether we need to do anything to fix this at all. This doesn't seem like something an actual user would ever do.

Hmm...this is weird. I don't know how the input.current could be null on line 52 given that we check for it just above on line 46.
https://github.com/Expensify/App/blob/main/src/components/TextInput/BaseTextInput.js#L43-L53
@joekaufmanexpensify I know it is unlikely that a user will rapidly change between the two options that quickly, but this might be a good one to make external. I'm just thinking we want to make sure there isn't some sort of race condition when focusing that could cause the app to crash. 🤷♂ I'll defer to your judgement.

Spoke with @tgolen about this 1:1. I believe all we need to do is put a check for !input.current inside the setTimeout callback and we will be able to avoid this race condition.

This should be a very easy fix (I've already outlined the solution in my comment above). I'm going to leble as external.

Sounds good to me. Thanks @joelbettner !

Thanks @hoangzinh! Hmm...this is weird. I don't know how the input.current could be null on line 52 given that we check for it just above on line 46.
Cannot read property 'focus' of null BaseTextInput.js (52:64)
https://github.com/Expensify/App/blob/9e19e40aef0f303ab5d5fc1c9cf8c9caf86a8098/src/components/TextInput/BaseTextInput.js#L43-L53
@joekaufmanexpensify I know it is unlikely that a user will rapidly change between the two options that quickly, but this might be a good one to make external. I'm just thinking we want to make sure there isn't some sort of race condition when focusing that could cause the app to crash. 🤷♂ I'll defer to your judgement.

@joelbettner this code not yet in the staging can we wait until this PR goes to staging
https://github.com/Expensify/App/pull/29339

this code not yet in the staging can we wait until this PR goes to staging
https://github.com/Expensify/App/pull/29339
because this issue before this PR merged

The above mentioned PR is merged and I am unable to repro the issue in latest main. We can close this issue @joekaufmanexpensify

Sounds good! Closing.


[Feature] Hover animation on card

Description
There is no hover animation on cards, an hover effect  must be there.
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Hey there! I'm Ashutosh Kumar, a full-stack MERN web developer. With experience in numerous successful MERN stack  projects, I excel in  HTML, CSS,JavaScript,C, C++,jQuery, Node.js, React.js, Bootstrap, Tailwind, Express, MongoDB, API,GraphQL,WebRTC.
You can find me on LinkedIn : https://www.linkedin.com/in/ashutosh-kumar-60b262251/
GitHub : https://github.com/Ashutosh-0506.
Looking forward to contributing to GSSOC 2024!

Hey there! I'm Ashutosh Kumar, a full-stack MERN web developer. With experience in numerous successful MERN stack  projects, I excel in  HTML, CSS,JavaScript,C, C++,jQuery, Node.js, React.js, Bootstrap, Tailwind, Express, MongoDB, API,GraphQL,WebRTC.
You can find me on LinkedIn : https://www.linkedin.com/in/ashutosh-kumar-60b262251/
GitHub : https://github.com/Ashutosh-0506.
Looking forward to contributing to GSSOC 2024!

Hey @Ashutosh-0506  Welcome to the Gssoc24

👋 Hello! I'd be happy to help with this issue. Could you please assign it to me? Additionally, could you please label it for the appropriate level? Thank you! 🚀

I am Agamjot singh. Under GSSOC'24, I would like to work on this issue. Pls assign me this!!

Assign this issue to me under GSSoc'24


Add non-shell commands to SSH port supplier

Extends the SSH port supplier to allow commands to be run without starting
a shell and allocating a PTY on the remote host.

[Guid("808CC6CA-45B1-47D5-9779-62BAA597BA50")]

We should probably change the GUID

Refers to: src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.cs:18 in e67acae. [](commit_id = e67acaedc5733872e836d8f9491c74b8722fd0c9, deletion_comment = False)


Download pdf, converted to html

Now it's return zip archive instead of html file. So need fixes in ApiClient.rb to use "wb" in File.open. Aspose.PDF for Ruby

Hi RuslanKhabibullinFs,
Thank you for your inquiry and sharing details.
Both our Aspose.Pdf native and Cloud APIs return Zip file once convert PDF to HTML functionality is being used. It’s a defined behavior. The reason API returns ZIP file instead of HTML because HTML page normally contains multiple files e.g. .css file, .html file and attachments. You can simply unzip it to get the HTML file.
I hope this helps. If you have any further questions, please feel free to share.
Thanks,
Naeem Akram
Aspose - File Format APIs.
Got a Complaint? File it!
Keep in touch! We're on Twitter and Facebook

I see. But at the moment the download of the archive in the SDK for Ruby is implemented with an error. ApiClient writes a file in the "w" mode at download time. This is the reason for the exception. You need to open the file in "wb" mode. Try to convert any file into html in ruby

Same for Aspose::Words (

Hi RuslanKhabibullinFs,
Thank you for your inquiry and sharing details.
We are working on this issue and will  updated you as soon as issue is fixed.
Please be patient. We are sorry for the inconvenience.
Thanks,
Naeem Akram
Aspose - File Format APIs.
Got a Complaint? File it!
Keep in touch! We're on Twitter and Facebook

Hi RuslanKhabibullinFs,
Our product team has just informed us that the issue you are facing has been resolved. We apologize for any inconvenience this may have caused you.
We have tested this issue at our end. However if you are still facing issue, please send us your Pdf file which you are trying to convert to HTML using our http://api.aspose.cloud/swagger/ui/index#!/v{version:apiVersion}/pdf/PdfDocument_GetDocument API.
If you have any further questions, please feel free to share.
Thanks,
Naeem Akram
Aspose - File Format APIs.
Got a Complaint? File it!
Keep in touch! We're on Twitter and Facebook