WIP: python3Packages.torch: migrate to setupCudaHook

python3Packages.torch: asserts -> meta.broken
python3Packages.torch: symlinkJoin -> CUDAToolkit_ROOT
python3Packages.pynvml: drop the unused cudatoolkit input

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 245516 --extra-nixpkgs-config '{ cudaCapabilities = [ "8.6" ]; cudaSupport = true; }' run on x86_64-linux 1

24 packages marked as broken and skipped:

python310Packages.dalle-mini
python310Packages.dalle-mini.dist
python310Packages.elegy
python310Packages.elegy.dist
python310Packages.pymanopt
python310Packages.pymanopt.dist
python310Packages.qiskit
python310Packages.qiskit-machine-learning
python310Packages.qiskit-machine-learning.dist
python310Packages.qiskit.dist
python310Packages.treex
python310Packages.treex.dist
python310Packages.vqgan-jax
python310Packages.vqgan-jax.dist
python311Packages.dalle-mini
python311Packages.dalle-mini.dist
python311Packages.elegy
python311Packages.elegy.dist
python311Packages.pymanopt
python311Packages.pymanopt.dist
python311Packages.treex
python311Packages.treex.dist
python311Packages.vqgan-jax
python311Packages.vqgan-jax.dist

174 packages failed to build:

easyocr (python310Packages.easyocr)
easyocr.dist (python310Packages.easyocr.dist)
khoj
khoj.dist
pentestgpt
pentestgpt.dist
piper-train (python310Packages.piper-train)
piper-train.dist (python310Packages.piper-train.dist)
python310Packages.arviz
python310Packages.arviz.dist
python310Packages.bambi
python310Packages.bambi.dist
python310Packages.boxx
python310Packages.boxx.dist
python310Packages.bpycv
python310Packages.bpycv.dist
python310Packages.clean-fid
python310Packages.clean-fid.dist
python310Packages.cleanlab
python310Packages.cleanlab.dist
python310Packages.clip
python310Packages.clip-anytorch
python310Packages.clip-anytorch.dist
python310Packages.clip.dist
python310Packages.detectron2
python310Packages.detectron2.dist
python310Packages.effdet
python310Packages.effdet.dist
python310Packages.fastai
python310Packages.fastai.dist
python310Packages.ffcv
python310Packages.ffcv.dist
python310Packages.grad-cam
python310Packages.grad-cam.dist
python310Packages.invisible-watermark
python310Packages.invisible-watermark.dist
python310Packages.k-diffusion
python310Packages.k-diffusion.dist
python310Packages.langchain
python310Packages.langchain.dist
python310Packages.manifest-ml
python310Packages.manifest-ml.dist
python310Packages.mmcv
python310Packages.mmcv.dist
python310Packages.pymc
python310Packages.pymc.dist
python310Packages.pytorch-lightning
python310Packages.pytorch-lightning.dist
python310Packages.pytorch-metric-learning
python310Packages.pytorch-metric-learning.dist
python310Packages.pytorch-pfn-extras
python310Packages.pytorch-pfn-extras.dist
python310Packages.sentence-transformers
python310Packages.sentence-transformers.dist
python310Packages.sfepy
python310Packages.sfepy.dist
python310Packages.skrl
python310Packages.skrl.dist
python310Packages.tensorboardx
python310Packages.tensorboardx.dist
python310Packages.timm
python310Packages.timm.dist
python310Packages.tiny-cuda-nn
python310Packages.torch-tb-profiler
python310Packages.torch-tb-profiler.dist
python310Packages.torchinfo
python310Packages.torchinfo.dist
python310Packages.torchvision
python310Packages.torchvision.dist
python310Packages.unstructured-inference
python310Packages.unstructured-inference.dist
python310Packages.xformers
python310Packages.xformers.dist
python310Packages.zcs
python310Packages.zcs.dist
python311Packages.apptools
python311Packages.apptools.dist
python311Packages.argos-translate-files
python311Packages.argos-translate-files.dist
python311Packages.argostranslate
python311Packages.argostranslate.dist
python311Packages.ax
python311Packages.ax.dist
python311Packages.botorch
python311Packages.botorch.dist
python311Packages.clean-fid
python311Packages.clean-fid.dist
python311Packages.cleanlab
python311Packages.cleanlab.dist
python311Packages.clip
python311Packages.clip-anytorch
python311Packages.clip-anytorch.dist
python311Packages.clip.dist
python311Packages.ctranslate2
python311Packages.ctranslate2.dist
python311Packages.detectron2
python311Packages.detectron2.dist
python311Packages.easyocr
python311Packages.easyocr.dist
python311Packages.effdet
python311Packages.effdet.dist
python311Packages.envisage
python311Packages.envisage.dist
python311Packages.fairseq
python311Packages.fairseq.dist
python311Packages.fastai
python311Packages.fastai.dist
python311Packages.faster-whisper
python311Packages.faster-whisper.dist
python311Packages.grad-cam
python311Packages.grad-cam.dist
python311Packages.invisible-watermark
python311Packages.invisible-watermark.dist
python311Packages.k-diffusion
python311Packages.k-diffusion.dist
python311Packages.langchain
python311Packages.langchain.dist
python311Packages.libretranslate
python311Packages.libretranslate.dist
python311Packages.manifest-ml
python311Packages.manifest-ml.dist
python311Packages.mayavi
python311Packages.mayavi.dist
python311Packages.mmcv
python311Packages.mmcv.dist
python311Packages.mmengine
python311Packages.mmengine.dist
python311Packages.nianet
python311Packages.nianet.dist
python311Packages.pytorch-lightning
python311Packages.pytorch-lightning.dist
python311Packages.pytorch-metric-learning
python311Packages.pytorch-metric-learning.dist
python311Packages.pytorch-pfn-extras
python311Packages.pytorch-pfn-extras.dist
python311Packages.sentence-transformers
python311Packages.sentence-transformers.dist
python311Packages.sfepy
python311Packages.sfepy.dist
python311Packages.skorch
python311Packages.skorch.dist
python311Packages.skrl
python311Packages.skrl.dist
python311Packages.spacy
python311Packages.spacy-loggers
python311Packages.spacy-loggers.dist
python311Packages.spacy-lookups-data
python311Packages.spacy-lookups-data.dist
python311Packages.spacy-transformers
python311Packages.spacy-transformers.dist
python311Packages.spacy.dist
python311Packages.tensorboardx
python311Packages.tensorboardx.dist
python311Packages.textacy
python311Packages.textacy.dist
python311Packages.textnets
python311Packages.textnets.dist
python311Packages.timm
python311Packages.timm.dist
python311Packages.tiny-cuda-nn
python311Packages.torch-tb-profiler
python311Packages.torch-tb-profiler.dist
python311Packages.torchinfo
python311Packages.torchinfo.dist
python311Packages.torchvision
python311Packages.torchvision.dist
python311Packages.translatehtml
python311Packages.translatehtml.dist
python311Packages.unstructured-inference
python311Packages.unstructured-inference.dist
python311Packages.wandb
python311Packages.wandb.dist
python311Packages.xformers
python311Packages.xformers.dist

246 packages built:

gwe
libretranslate (python310Packages.libretranslate)
libretranslate.dist (python310Packages.libretranslate.dist)
ocamlPackages.torch
openai-full
openai-full.dist
openai-whisper (python310Packages.openai-whisper)
openai-whisper.dist (python310Packages.openai-whisper.dist)
pianotrans
pianotrans.dist
python310Packages.accelerate
python310Packages.accelerate.dist
python310Packages.apptools
python310Packages.apptools.dist
python310Packages.argos-translate-files
python310Packages.argos-translate-files.dist
python310Packages.argostranslate
python310Packages.argostranslate.dist
python310Packages.ax
python310Packages.ax.dist
python310Packages.bitsandbytes
python310Packages.bitsandbytes.dist
python310Packages.blosc2
python310Packages.blosc2.dist
python310Packages.botorch
python310Packages.botorch.dist
python310Packages.ctranslate2
python310Packages.ctranslate2.dist
python310Packages.deepdish
python310Packages.deepdish.dist
python310Packages.deepwave
python310Packages.deepwave.dist
python310Packages.envisage
python310Packages.envisage.dist
python310Packages.experiment-utilities
python310Packages.experiment-utilities.dist
python310Packages.ezyrb
python310Packages.ezyrb.dist
python310Packages.fairscale
python310Packages.fairscale.dist
python310Packages.fairseq
python310Packages.fairseq.dist
python310Packages.faster-whisper
python310Packages.faster-whisper.dist
python310Packages.flammkuchen
python310Packages.flammkuchen.dist
python310Packages.flyingsquid
python310Packages.flyingsquid.dist
python310Packages.fvcore
python310Packages.fvcore.dist
python310Packages.gpytorch
python310Packages.gpytorch.dist
python310Packages.ignite
python310Packages.ignite.dist
python310Packages.iopath
python310Packages.iopath.dist
python310Packages.kornia
python310Packages.kornia.dist
python310Packages.layoutparser
python310Packages.layoutparser.dist
python310Packages.linear_operator
python310Packages.linear_operator.dist
python310Packages.lion-pytorch
python310Packages.lion-pytorch.dist
python310Packages.mayavi
python310Packages.mayavi.dist
python310Packages.mmengine
python310Packages.mmengine.dist
python310Packages.monai
python310Packages.monai.dist
python310Packages.nianet
python310Packages.nianet.dist
python310Packages.pandas-stubs
python310Packages.pandas-stubs.dist
python310Packages.pdfplumber
python310Packages.pdfplumber.dist
python310Packages.peft
python310Packages.peft.dist
python310Packages.pgmpy
python310Packages.pgmpy.dist
python310Packages.piano-transcription-inference
python310Packages.piano-transcription-inference.dist
python310Packages.pydmd
python310Packages.pydmd.dist
python310Packages.pynvml
python310Packages.pynvml.dist
python310Packages.pyro-ppl
python310Packages.pyro-ppl.dist
python310Packages.resize-right
python310Packages.resize-right.dist
python310Packages.rising
python310Packages.rising.dist
python310Packages.safetensors
python310Packages.safetensors.dist
python310Packages.shap
python310Packages.shap.dist
python310Packages.skorch
python310Packages.skorch.dist
python310Packages.slicer
python310Packages.slicer.dist
python310Packages.snorkel
python310Packages.snorkel.dist
python310Packages.spacy
python310Packages.spacy-loggers
python310Packages.spacy-loggers.dist
python310Packages.spacy-lookups-data
python310Packages.spacy-lookups-data.dist
python310Packages.spacy-transformers
python310Packages.spacy-transformers.dist
python310Packages.spacy.dist
python310Packages.speechbrain
python310Packages.speechbrain.dist
python310Packages.stanza
python310Packages.stanza.dist
python310Packages.stytra
python310Packages.stytra.dist
python310Packages.tables
python310Packages.tables.dist
python310Packages.test-tube
python310Packages.test-tube.dist
python310Packages.textacy
python310Packages.textacy.dist
python310Packages.textnets
python310Packages.textnets.dist
python310Packages.torch (python310Packages.torchWithCuda ,python310Packages.torchWithoutRocm)
python310Packages.torch.dev (python310Packages.torchWithCuda.dev ,python310Packages.torchWithoutRocm.dev)
python310Packages.torch.dist (python310Packages.torchWithCuda.dist ,python310Packages.torchWithoutRocm.dist)
python310Packages.torch.lib (python310Packages.torchWithCuda.lib ,python310Packages.torchWithoutRocm.lib)
python310Packages.torchaudio
python310Packages.torchaudio.dist
python310Packages.torchdiffeq
python310Packages.torchdiffeq.dist
python310Packages.torchgpipe
python310Packages.torchgpipe.dist
python310Packages.torchio
python310Packages.torchio.dist
python310Packages.torchlibrosa
python310Packages.torchlibrosa.dist
python310Packages.torchmetrics
python310Packages.torchmetrics.dist
python310Packages.torchsde
python310Packages.torchsde.dist
python310Packages.transformers
python310Packages.transformers.dist
python310Packages.translatehtml
python310Packages.translatehtml.dist
python310Packages.ttach
python310Packages.ttach.dist
python310Packages.wandb
python310Packages.wandb.dist
python311Packages.accelerate
python311Packages.accelerate.dist
python311Packages.bitsandbytes
python311Packages.bitsandbytes.dist
python311Packages.blosc2
python311Packages.blosc2.dist
python311Packages.deepdish
python311Packages.deepdish.dist
python311Packages.deepwave
python311Packages.deepwave.dist
python311Packages.experiment-utilities
python311Packages.experiment-utilities.dist
python311Packages.ezyrb
python311Packages.ezyrb.dist
python311Packages.fairscale
python311Packages.fairscale.dist
python311Packages.flammkuchen
python311Packages.flammkuchen.dist
python311Packages.flyingsquid
python311Packages.flyingsquid.dist
python311Packages.fvcore
python311Packages.fvcore.dist
python311Packages.gpytorch
python311Packages.gpytorch.dist
python311Packages.ignite
python311Packages.ignite.dist
python311Packages.iopath
python311Packages.iopath.dist
python311Packages.kornia
python311Packages.kornia.dist
python311Packages.layoutparser
python311Packages.layoutparser.dist
python311Packages.linear_operator
python311Packages.linear_operator.dist
python311Packages.lion-pytorch
python311Packages.lion-pytorch.dist
python311Packages.monai
python311Packages.monai.dist
python311Packages.pandas-stubs
python311Packages.pandas-stubs.dist
python311Packages.pdfplumber
python311Packages.pdfplumber.dist
python311Packages.peft
python311Packages.peft.dist
python311Packages.pgmpy
python311Packages.pgmpy.dist
python311Packages.pydmd
python311Packages.pydmd.dist
python311Packages.pynvml
python311Packages.pynvml.dist
python311Packages.pyro-ppl
python311Packages.pyro-ppl.dist
python311Packages.resize-right
python311Packages.resize-right.dist
python311Packages.rising
python311Packages.rising.dist
python311Packages.safetensors
python311Packages.safetensors.dist
python311Packages.slicer
python311Packages.slicer.dist
python311Packages.snorkel
python311Packages.snorkel.dist
python311Packages.speechbrain
python311Packages.speechbrain.dist
python311Packages.stanza
python311Packages.stanza.dist
python311Packages.tables
python311Packages.tables.dist
python311Packages.test-tube
python311Packages.test-tube.dist
python311Packages.torch (python311Packages.torchWithCuda ,python311Packages.torchWithoutRocm)
python311Packages.torch.dev (python311Packages.torchWithCuda.dev ,python311Packages.torchWithoutRocm.dev)
python311Packages.torch.dist (python311Packages.torchWithCuda.dist ,python311Packages.torchWithoutRocm.dist)
python311Packages.torch.lib (python311Packages.torchWithCuda.lib ,python311Packages.torchWithoutRocm.lib)
python311Packages.torchaudio
python311Packages.torchaudio.dist
python311Packages.torchdiffeq
python311Packages.torchdiffeq.dist
python311Packages.torchgpipe
python311Packages.torchgpipe.dist
python311Packages.torchio
python311Packages.torchio.dist
python311Packages.torchmetrics
python311Packages.torchmetrics.dist
python311Packages.torchsde
python311Packages.torchsde.dist
python311Packages.transformers
python311Packages.transformers.dist
python311Packages.ttach
python311Packages.ttach.dist
whisper-ctranslate2
whisper-ctranslate2.dist
wyoming-faster-whisper
wyoming-faster-whisper.dist
xpraWithNvenc
xpraWithNvenc.dist

Failed derivations

[ ] python3.10-torchvision-0.15.2.drv (derivation hash: i6zfiswg0z27kfbfg4rqav2lnf4qv1vh)

https://gist.github.com/SomeoneSerge/7d43dd7d4fd988a955d411be29c64800

[ ] python3.10-invisible-watermark-0.1.5.drv (derivation hash: mvx2l46w7c0zyvp2v1zg6cp139d2kjrn)

https://gist.github.com/SomeoneSerge/5c90df4269fb16dbaf8d41b576ad7c1a

[ ] python3.10-skrl-0.10.2.drv (derivation hash: zppaipi31ilv6i78bv7s7f8blli1ffxi)

https://gist.github.com/SomeoneSerge/c24b70ca8a4fb9e1953a3ff3b2e07a2f

[ ] tiny-cuda-nn-1.6.drv (derivation hash: gv90vni69cns9zfny9yp53j6s01phc03)

https://gist.github.com/SomeoneSerge/95b1ac21b6b10d72365e1a394202ff4b

[ ] python3.11-pyemd-0.5.1.drv (derivation hash: w94v71j3af5bp36iwyc9bz5xk0k06l21)

https://gist.github.com/SomeoneSerge/d35de4a0f112057a8b1a05b22cf6e1a6

[ ] python3.10-xformers-0.0.20.drv (derivation hash: jrm2r2273smri0d0nplp0i3phcq5b62x)

https://gist.github.com/SomeoneSerge/a01e2da80d4c43f7121020d9c793c7cd

[ ] python3.11-invisible-watermark-0.1.5.drv (derivation hash: 1klnplwaay7p8014w21x7294snzvd8nr)

https://gist.github.com/SomeoneSerge/566a3ac9b98d73741b7583bcfdfc1d48

[ ] python3.11-nianet-1.1.4.drv (derivation hash: hxb63iwiqv2brrblxw5m9w9phfx17xkr)

https://gist.github.com/SomeoneSerge/931ee6e61e5def335654aa895fec1728

[ ] python3.11-skorch-0.14.0.drv (derivation hash: 677nh8p278fgszg68ib0vkv3gxszr4k5)

https://gist.github.com/SomeoneSerge/533c9828fa35f70d799051329e5e1e7b

[ ] python3.11-torchvision-0.15.2.drv (derivation hash: ss6bkjjnzh89x78zil2my00npk622nvb)

https://gist.github.com/SomeoneSerge/c79a2307f763eaf9c243c673b24f475c

[ ] python3.11-mmengine-0.7.4.drv (derivation hash: fqrnldy6ws52h3ijsck5ylmi163yp9l6)

https://gist.github.com/SomeoneSerge/4dc393121716783a767d1c80a747cef2

[ ] python3.11-xformers-0.0.20.drv (derivation hash: 2dvd2yvqf4f4p6885jw65s5p5pr4m3ml)

https://gist.github.com/SomeoneSerge/68f34fd5cbb8f569a73ee9edaff8c547

[ ] python3.11-fairseq-0.12.3.drv (derivation hash: 2sliqjxlmm6vgw1y7riffinnhfzyc95c)

https://gist.github.com/SomeoneSerge/333ff96d58f88cdc579c72e7c1f92750

[ ] tiny-cuda-nn-1.6.drv (derivation hash: rigwvxr222rjzdd04fxpmc5gqz2ivddj)

https://gist.github.com/SomeoneSerge/650c2be8794c01b47828b16645f2e04a

[ ] python3.11-apptools-5.1.0.drv (derivation hash: p4gqd3bkw9zfa90sbf3kcixhgx3ffa57)

https://gist.github.com/SomeoneSerge/90652284d3d06b9fb18cafc4eb72e1a1

[ ] tensorflow-gpu-2.11.1.drv (derivation hash: mlp58wmshxqsr2f3253kxdldhqk52n8w)

https://gist.github.com/SomeoneSerge/62ddba7beb8882a771339d9a1463f0dd

[ ] python3.11-botorch-0.8.5.drv (derivation hash: a1l283glh0xz7frysiwd1f7dpzcwqr41)

https://gist.github.com/SomeoneSerge/cbabb2cc379c012cd9abc3d284111c52

I think a lot of these are new failures on master due to python311Packages.tensorboard having been enabled (maybe should have targeted staging).   python310Packages.torchvision is probably the most concerning one (failing with CUDA-related errors).

RE: torchvision
Unbelievavble. This actually resulted in a WITH_CUDA=OFF build. The setup py even seems to ignore USE_CUDA=1. We really should invoke cmake directly

cmake_dependent_option(
    USE_CUDNN "Use cuDNN" ON
    "USE_CUDA" OFF)

This silently resets use_cuda to false. There's a bunch of other occasions where pytorch does that. The behaviour we'd like whenwe've set with_cuda but a dependency is missing is immediate failure

Looking at the logs, this torch revision seems to ignore cmake_cudatoolkit_root. Maybe the release is still using the legacy findcuda. I guess I'll just come back to this in 2 weeks

Superseded by the much more thorough implementation in https://github.com/NixOS/nixpkgs/pull/249259!


Language client does not get a chance to send shutdown message

Try RedHat Java extension and/or Spring Boot Tools extension

Install both or just the Java extension.
Start VSCode open java file. Note Java extension and its LS have started. Spring Boot LS would start if it a Spring Boot project
Quit VSCode
Run jps in the terminal right away after shutting down VSCode.
You'd see:

98408 org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar <-- Java LS
2277 BootLanguageServerBootApp <-- Spring Boot LS

After 30 sec of being idle Java LS would shut itself down while Boot LS stays up as it only relies on shutdown request from the client.
Anyway, the issue is that shutting LS down is being done via LanguageClient#stop() which returns a Promise and called from extension deactivate function. It appears that shutting VSCode down is not waiting for async functions to finish in the deactivate function and therefore LS shutdown request sequence never has a chance to be executed. Therefore, rogue LS processes appear...

@BoykoAlex this is the design of the VS Code extension host. It waits n seconds for the promise to finish. If the promise doesn't finish the extension host shuts down. Otherwise a bad extension would result in stale extension host processes. You have two possibilities to work around this:

start your server in detached mode (https://github.com/microsoft/vscode-languageserver-node/blob/e3fa8c7fb9eaab718124c6314beb2fca4ba43f8a/client/src/node/main.ts#L62) and manage everything yourself.
make the server check for the process id of the extension host and exit itself if that process goes away (the process id comes on the command line as an argument and in the initialize request). This is what we do in all our servers since the extension host could die unexpected as well.

I am closing the issue since IMO there is nothing that can be done in the library itself. Please ping if you think otherwise.

@dbaeumer yes, I've read later that extension has 5 sec to shutdown... I will do the same as Java LS and XML LS which is check for the parent process being around.
I'm concerned a bit by the fact that extension deactivation procedure doesn't even get to sending the shutdown message to the LS...


Add a maximum log batch size to avoid exceeding max message size limit

Description
While trying to repo https://github.com/dotnet/aspire/issues/6007 I managed to generate enough logs to exceed the max receive size limit (4MB). I've had a feeling we'd see this one day with initial snapshots of existing data, but this is the first time I've seen it.
This PR forces console logs into batches with a max size of 500. It doesn't guarentee we don't exceed the size because we don't limit log line size, but it should prevent most cases of big data.
Checklist

Is this feature complete?

[x] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[x] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[x] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[x] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[x] No

Microsoft Reviewers: Open in CodeFlow

This PR forces console logs into batches with a max size of 500. It doesn't guarentee we don't exceed the size because we don't limit log line size, but it should prevent most cases of big data.


OCPBUGS-3414: fix: Missing 'ImageContentSourcePolicy' and 'CatalogSou…

Description
Cherry picks PR e491750907450588a53b8cdd5f8f77eadf2d835e
Related #540
Type of change
Please delete options that are not relevant.

[x] 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 not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@flaper87 Does this PR still need a review? Looks like this may have been backported to 4.12 in another PR.

@flaper87 Does this PR still need a review? Looks like this may have been backported to 4.12 in another PR.

Yeah, I think this PR is now obsolete. @sherine-k  can you confirm? :pray:

Yes! it's ok to close this now : the fix is both in main and release-4.12

Fantastic, thanks a bunch!


N3921 string_view: a non-owning reference to a string

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html

完了


[pulsar-broker] capture managed-ledger add-latency

Motivation
With #4290 , now broker has capability to capture e2e publish latency since publish-request arrives till it completes. now, we can capture bk-client latency to find out exact break down for broker to bookie latency. Right now broker does capture ml-add latency but ml-add-latency starts timer as soon as add-ops inserted into queue which also adds waiting time at the queue and doesn't give correct broker to bookie latency.
Modification
To capture broker to bookie latency: start ml-add-ops latency timer when bk-add entry request initiates.
Result
with this change: broker is able to provide bookie-persistent latency.
It will add additional metrics: brk_ml_LedgerAddEntryLatencyBuckets
 "brk_ml_AddEntryErrors": 0.0,
        "brk_ml_AddEntryLatencyBuckets_0.0_0.5": 0.0,
        "brk_ml_AddEntryLatencyBuckets_0.5_1.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_1.0_5.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_10.0_20.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_100.0_200.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_20.0_50.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_200.0_1000.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_5.0_10.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_50.0_100.0": 0.0,
        "brk_ml_AddEntryLatencyBuckets_OVERFLOW": 0.0,
        "brk_ml_AddEntryMessagesRate": 0.0,
        "brk_ml_AddEntrySucceed": 0.0,
        "brk_ml_EntrySizeBuckets_0.0_128.0": 0.0,
        "brk_ml_EntrySizeBuckets_1024.0_2084.0": 0.0,
        "brk_ml_EntrySizeBuckets_102400.0_1232896.0": 0.0,
        "brk_ml_EntrySizeBuckets_128.0_512.0": 0.0,
        "brk_ml_EntrySizeBuckets_16384.0_102400.0": 0.0,
        "brk_ml_EntrySizeBuckets_2084.0_4096.0": 0.0,
        "brk_ml_EntrySizeBuckets_4096.0_16384.0": 0.0,
        "brk_ml_EntrySizeBuckets_512.0_1024.0": 0.0,
        "brk_ml_EntrySizeBuckets_OVERFLOW": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_0.0_0.5": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_0.5_1.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_1.0_5.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_10.0_20.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_100.0_200.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_20.0_50.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_200.0_1000.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_5.0_10.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_50.0_100.0": 0.0,
        "brk_ml_LedgerAddEntryLatencyBuckets_OVERFLOW": 0.0,

rerun integration tests

@rdhabalia do we need this issue for 2.4.0? or can we move it to 2.5.0?

ping @rdhabalia

moving to 2.5 for now and I will address the change.

@rdhabalia Looks this PR is related to https://github.com/apache/pulsar/pull/6705, can you help to confirm this?

@rdhabalia I moved this PR to 2.7.0. Looks #6705 have added these metrics. Feel free to move it back if need.

@codelipenghui this is additionally metrics to capture ml add latency.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@rdhabalia Looks the failed CI can't be triggered again, I'm not sure what the problem is. And I try to merge the apache/master to this branch, it still nothing happens in this branch. Interesting thing!

@codelipenghui I have rebased the PR. I think this should fix it.


Where is member?

Hi,
I upgraded mailchimp3 and got the following error when trying to add a member to a list:

AttributeError: 'MailChimp' object has no attribute 'member'

What happened?

You will need to provide some context, what was the exact code you were using when trying to add a member to a list and how were you authenticating your MailChimp account? Please post snippets of both of those (with your credentials redacted)

Here's my code:
data = {
    'email_address': None,
    'status': 'subscribed',
    'interests': {},
    'merge_fields': {}
}

/* filling data, not important */

mc = MailChimp(current_app.config['MAILCHIMP_USER'], current_app.config['MAILCHIMP_API_SECRET'])
email_hash = hashlib.md5(data['email_address']).hexdigest()
mc.member.create_or_update(current_app.config['MAILCHIMP_LIST'], email_hash, data)

Ok, I see what you are doing. We completely overhauled the structure of the API wrapper with the change from version 1 to 2, with all endpoints now being linked using the hierarchy provided by the API documentation. Take a quick look at the README files for a quick rundown on making sure you are connecting to the API correctly (I don't think we changed that) and specifically look at the list members section for info on where you will be able to create or update a member object on a list.
As a note, all of the functions that interact with members, which require a hash of the email address, will accept either in our endpoint and we will make sure that the address is transformed properly if a hash is not provided. You can manually run the transformation using the helper function check_subscriber_hash, which will return either the input if it matches the format of a proper hash, or check that the info provided was an email address and compute the hash of that. If you don't want to, we automatically run that transformation on anything passed in that must be a subscriber_hash.

Thanks a lot @stephenross!


Sketch39 support

Please Sketch39 support

HI, after updating Sketch to version 39.1 (31720) plugin doesn't work anymore. After I press shortcut to generate styles (ctrl + ⌘ + ⌥ + I) I get empty page. Can you please do something about that, unfortunately I'm stuck in the middle of the important project. If it helps here are screenshots.
Step 1:

Step 2:

Having the same issue here.

Also having this problem, so sad

Having the same problem! Would love to see this resolved, plugin looks awesome.

Same here. "foo"'s the message I get (+ empty artboard)

Having the same issue here.

Having the same issue as well. This was a big reason I got onto Sketch and now with this update Im looking down the barrel of a tonne of extra work...
When can we get a fix? please.

One thing I do in the meantime is use Zeplin. It will gather all the screens and auto pull the styles and font sizes.
Still waiting on a fix for this.

On Aug 13, 2016, at 2:51 AM, jasondiameter<EMAIL_ADDRESS>wrote:
Having the same issue as well. This was a big reason I got onto Sketch and now with this update Im looking down the barrel of a tonne of extra work...
When can we get a fix? please.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/getflourish/Sketch-Style-Inventory/issues/81#issuecomment-239606202, or mute the thread https://github.com/notifications/unsubscribe-auth/ATxViy9fK-m6kCHaaRLIU66a9Z1y2Pyeks5qfWlegaJpZM4JT2m9.

Same issue here --- getting "foo" message + empty artboard

Same thing happening for me. Would really love for this to be fixed. Heavily relying on this plugin for an upcoming project. Thanks!

+1 Same thing is happening to me

+1

+1

+1

+1

423

+ 165

+1

+1

+1

+1

Fixed: Generate, Export, Selection.
@AquaHacker @LastPixelBorn @khoadpham @sseen @wacoom @soulwasted @pablochux @vanamco @brookenbrooklyn @grzegorz-s @nareeboy @thebillettestate @ximenacolla @siscelica @thebillettestate @jasondiameter @YurienJob @hhrrmnn @mattstvartak @gnoren

Crazy! It works!
Thanks! :)


[BUG] Phases for Celene are inconsistent

Describe the bug
When using the provided Greyhawk calendar, the phases for Celene don't line up properly. Specifically, Celene is suppose to be full on Godsday of each festival. Instead, Celene is full on Coldeven 2, Wealsun 2, Harvester 2, and Sunsebb 2.
To Reproduce
Steps to reproduce the behavior:

Use Quick Setup
Click on 'Greyhawk'
Check out the moon phases.

Expected behavior
Celene should be full on the midpoint of each of the four festivals.
Screenshots
If applicable, add screenshots to help explain your problem.
Foundry Information

Foundry Version: 11 build 311
Game System: ARS
Simple Calendar Version: 2.2.0
Simple Calendar Configuration: Greyhawk calendar

Browser (please complete the following information):

Browser n/a

Additional context
I resolved the problem by correcting one inconsistency in the official description of the Greyhawk calendar. Because the new moon is the basis for the phases, but the new moon is not connected to the festivals, I adjusted the reference new moon to Goodmonth 14. Thus, with 1 day phase lengths for the new, first quarter, full, and last quarter, the full moon always falls on the midpoint of one of the festival weeks.
This is essentially an error in the official description of the phases of Celene, since I believe it gives the new moon on the 15th of the month, but I decided that the festivals were more important and adjusted the calendar accordingly.
I'm attaching a zip of my calendar backup if that would be useful.
simple-calendar-export.json.zip

Upon further study, I find I may have misunderstood some of the primary information. The principle seems to be that Celene is full during the length of the holiday weeks. Thus, Celene's first fullness would be on the first day, and it would continue full until the last. However, since the phase calculations seem to be limited to 1 day or calculated fraction of the cycle, this is still not possible to implement, as far as I can see.


How to dynamic set eureka client information [InstanceID, port]

Hello!
I'm developing an app and i wanna register with eureka after starting the server, and the port will be a random one, that the server will first try to bind and if it success that port will be used, so since eureka-client uses file based configuration, there is someway to set the port and instanceID info without using a file?
Thank you

Eureka provides EurekaClientConfig configuration class, so you can always write your own implementation to set Eureka service urls with dynamic ports. If you need this for unit testing, please have a look at our DiscoveryClientResource junit resource that we use internally for testing (eureka-test-utils package). We are using ephemeral ports there.

Hey @tbak, thank you, i'll sure check your implementation and maybe try to create my own.
Quick question, i noticed when i start the injector the eureka-client begins the initialisation, there is a way to delay it till i call something to start it?

@kennedyoliveira Eureka is starting the initialization immediately in the constructor. To delay it, you would have to implement a wrapper.

@tbak, got it, thank you for clarifying my doubts!


In Shared Axes while zooming Y Axis, only Y1 scale is updating for all the graphs but Y2 scale is not updating

Y2 Scale not updating while zooming Y axis using Shared Axes
ScottPlot Version:5.0.34
While using Shared Axes when zooming Y Axis, only Y1 scale is updating for all the graphs but Y2 scale is not updating.

Hi @kareem469, I think you are referring to https://scottplot.net/demo/#shared-axes
Sharing the X but not Y limits was intentional. You can modify this line to achieve the behavior you are looking for.
https://github.com/ScottPlot/ScottPlot/blob/093994e1b020d2d1f349e4e0a06c9d67e2577b44/src/ScottPlot5/ScottPlot5 Demos/ScottPlot5 WinForms Demo/Demos/SharedAxes.cs#L60

Here, the Y1 axis (left side) is updating for all the graphs. But the Y2 axis (right side) is not updating.
Following is the code sample
foreach (var plot in plots)
{
if (plot != sourcePlot)
{
AxisLimits axesBefore = destPlot.Plot.Axes.GetLimits();
     if(GraphZoomAxisTypes.XY.ToString() == cmbAxisType.Text)
                plot.Plot.Axes.SetLimits(sourcePlot.Plot.Axes.GetLimits());
     else if(GraphZoomAxisTypes.Y.ToString() == cmbAxisType.Text)
              plot.Plot.Axes.SetLimitsY(sourcePlot.Plot.Axes.GetLimits());
     else if(GraphZoomAxisTypes.X.ToString() == cmbAxisType.Text)
              plot.Plot.Axes.SetLimitsX(sourcePlot.Plot.Axes.GetLimits());

    AxisLimits axesAfter = plot.Plot.Axes.GetLimits();
    if (axesBefore != axesAfter)
        plot .Refresh();

}

}
Thanks in advance.

But the Y2 axis (right side) is not updating.

SetLimits() works on the bottom and left axes by default, but there are overloads which let you pass in the right axis and it will adjust that axis.

Hi @swharden
Can you provide the overlords which let me pass in the right axis and it will adjust that axis.

Can you provide the information about the overloads

I'm on a cell phone at the moment, but if you're using Visual Studio and start typing the method, a tooltip will pop up displaying the different overloads that are available. Ones that accept an IYAxis will allow you to pass in  plot.Plot.Axes.Right

Hi @swharden
I am using visual studio. Will try and let you know

Hi @swharden
For the above query, i observed that when Y axis is zoomed, the X axis is zooming for all the graphs but when i zoom only Y axis, then only the graph on which the mouse exists, for that Y2 is also zooming, and for the remaining graphs only Y1 is zooming.
I wonder how Y1 is zooming for all the graphs at a time and not for Y2?


Fetching data in geocodeLatAndLng() and fixing test

Ref. ticket #2518: Geocoding by Lon/Lat doesn't refresh the table automatically
The issue was that the table hadn't been fetched when it was georeferenced by Lon/Lat.
This PR also fixed that test (should add lat and lon to the_geom if georeferenced by column)
Demo-gif:

Please, @viddo , could you check it?

:+1: don't forget to update NEWS and bump version

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)


Update bot.py

Made some of it async.
What does this PR do?
Closes #23

Rejected
This is not closing it..

#23 is supposed to separate bot and net loading to deal with the net loading time

By net you mean Nueral Net?

Yes. Loading chatting and the net separate allows for faster boot. And chatexchange is forced async by the code creating its instance

What I am thinking is you could load the bot chatting, wait 5 seconds, and add all methods using techniques mentioned in this SO answer: https://stackoverflow.com/questions/972/adding-a-method-to-an-existing-object-instance

class Foo(object):
    '''An empty class to demonstrate adding a method to an instance'''
#Create an instance:

foo = Foo()
#Create a method to add to it:

def sample_method(self, bar, baz):
    print(bar + baz)

Which would you like to load first? The


Rename to libxdf

I think it would be a good idea to rename the project to libxdf - this would make life on the command line a bit easier :-).
Similarly, the file XDF.pro could be renamed to xdf.pro or maybe even better to libxdf.pro.

@cbrnr :) I think my earlier attempt was made exactly as libxdf.pro, but then the .a file became the grotesque liblibxdf.a LOL. Or do you suggest to manually alter just the pro file from xdf.pro to libxdf.pro?

The latter - just rename the .pro file. The target defined in the .pro file should be xdf (I'd change it to small letters as well).

@cbrnr Will do

@cbrnr seems altering only the .pro file doesn't work. Qt Creator IDE doesn't allow me to alter the name inside it. If I alter it outside the IDE, it then cannot find the file anymore.
As an alternative I built another copy with all lower case, like libxdf.a etc. Currently they are in a different directory. I will update this one soon.

I'm not sure I understand you. I renamed the file to xdf.pro, changed the target to xdf, and everything worked. It might be a Windows-related problem, because Windows file systems usually doesn't differentiate between small and caps.
Anyway, since we're going to switch to cmake anyway, we won't need the .pro file at all. You can rename the project in the settings tab directly on the GitHub website.

@cbrnr Unfortunately I think I am having some trouble here. I tried doing it with CMake: we should add set_property(TARGET xdf PROPERTY C_STANDARD 99) otherwise there are some smarc code that doesn't compile. After doing so, it builds correctly.
Everything looks fine until I reached a point trying to open a mega-huge 600MB file; it crashed. Then I replaced it with a previous build made by qmake and it doesn't crash. Apparently there are some problems in this step. (I am very embarrassed to say I don't know CMake well. All I did is to add CMake in the Qt Toolkit and do everything in Qt Creator IDE. I am one of those amateurs who can't live without GUI...)

Can you post the error messages that you get without this flag?
Regarding the crash, the difference can only be due to different compiler flags. Can you post the compiler commands created by qmake and cmake?

@cbrnr @josef-faller
The error message is bad_alloc:

and below is my settings of cmake in Qt Creator: not sure whether anything is wrong with my setting.

@cbrnr
Because of the crashing bug I have reset the master back to qmake, and created a new branch called "CMake" to work on the CMake version until we resolve the bug.

Can you post the error messages that you get without this flag?
Regarding the crash, the difference can only be due to different compiler flags. Can you post the compiler >commands created by qmake and cmake?

@cbrnr Sorry I don't really understand what compiler flags are. About the compiler commands, are you talking about these?

Fixed #2


chore: add .idea folder to .gitignore

This PR ensures that .idea folder that contains idea configuration files is correctly ignored from git.

:tada: This PR is included in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


avoid conflicting data type in properties attributes field

Describe the bug
Elasticsearch is silently dropping ingested metadata when there is a data type conflict in properties.attributes field. Columbus returns 200 but the metadata is not ingested.
To Reproduce
Steps to reproduce the behavior:

Create a new type/index called dashboard
Ingest a new data to the dashboard index with  properties.attributes.id field is in integer e.g. 1234
Check and verify elasticsearch, the data supposed to be ingested properly
Ingest another new data to the dashboard index with  properties.attributes.id field is in string e.g. "df431-54abf42-xxxx"
Check and verify elasticsearch, the other new data is not ingested

Expected behavior
Ingesting different kind of metadata that has the same type should always be succeed.
Additional context
This is happened when we tried to ingest metabase and tableau dashboard data. We ingest metabase metadata first, then tableau data. tableau data is not ingested to elasticsearch because it has id in string and metabase has id in long.

@ravisuhag @StewartJingga for this issue, the problem is
the field data.charts[].properties.attributes.id from metabase is sinked as integer
while
the field data.charts[].properties.attributes.id from tableau is sinked as string.
the problem is actually from the meteor extractor that sends a same field with the different data type. if that is not the case then this will not happen.
What if we just make sure that every dynamic data type that sent by meteor extractor should send the same type for each plugin?
So we make changes in meteor instead of compass.

Meeting Notes

Disabling mapping on the specific field would limit our search feature and that is not really preferred
Updating meteor to guarantee sending id as string would not be the best and scalable solution (might work only for the short term)
It does make sense to index it as a service to avoid conflicted data type

Concerns

What should we do with types index migration

Remove it

What should we do with the hardcoded list of types

Keep it

Decision
Switch back to where type is the service (e.g. bigquery, metabase). Since a type is an index in ES, this would make sure its documents will always have the same schema.


support for private repo with username and password.

I have private repository with username and password. I am not able to login to my private repo.
can you please add support for it.

@guruvan could you provide a gist to show how this might work? I have a local registry that I do not expose any ports, and then tried to define a link with the docker-registry-frontend container. However it still asked for the environment setting for the "ENV_DOCKER_REGISTRY_HOST".

You'll need to

start the registry with
--name registry_container_name

set the following in the frontend startup
--link registry_container_name:registry
-e ENV_DOCKER_REGISTRY_HOST=registry

And you should be all set.

@guruvan Awesome! That worked nicely without ssl on the registry_frontend. However when I tried to use SSL with the frontend, I saw no repositories.
Here are my commands:
private_registry
docker run -d --name="private_registry" -e SETTINGS_FLAVOUR=local -v /var/lib/docker-registry:/tmp/registry registry
USE_SSL frontend (not working)
docker run -d --name="private_registry_frontend" --link private_registry:registry -e ENV_DOCKER_REGISTRY_HOST=registry -e ENV_DOCKER_REGISTRY_PORT=5000 -e ENV_USE_SSL=yes -v /var/lib/docker-registry/docker-ssl/private-registry.crt:/etc/apache2/server.crt:ro -v /var/lib/docker-registry/docker-ssl/private-registry.key:/etc/apache2/server.key:ro -p 80:80 -p 443:443 konradkleine/docker-registry-frontend
No SSL frontend (working)
docker run -d --name="private_registry_frontend" --link private_registry:registry -e ENV_DOCKER_REGISTRY_HOST=registry -e ENV_DOCKER_REGISTRY_PORT=5000 -p 80:80 konradkleine/docker-registry-frontend
Questions:

How would the PROXY settings work if I wanted to use the front-end as my registry?
With the nginx proposal, would I still be able to provide a proxy for my registry?

@guruvan Quick update, in that I retried the SSL option and things started showing up properly. So, SSL is working for me. Still curious about the proxy questions, if you have any insight.

I run the frontend proxy and the registry proxy from the same nginx, that way both the proxies can use the same port 443 - not sure which PROXY setting you're referring to?
At this point we've moved our entire network to coreos, but I have some older scripts to run this on without fleet/systemd. I'll find those, and I'll post the unitfiles we're using now, along with the nginx config

I've put a wiki page here with my nginx configurations and some rough 'docker run' statements - I'll update that shortly with more scripts and put some coreos examples as well.

@guruvan , Thanks very much! @jainishshah17 , and sorry if this ended up hijacking the issue thread.

I have the same requirement as @jainishshah17 . Remote private registry, authentication with basic auth, want to install docker-registry-frontend in a separate machine.
@kwk any guidance on this one? Maybe you can write here some kind of description of what needs to be done and perhaps someone can implement that (such as, myself).

@aliok no I have no guidance. Feel free to experiment.

I'm running a registry using the official simple way of securing it: https://github.com/docker/distribution/blob/master/docs/deploying.md#native-basic-auth
This is simply adding basic auth to the builtin web server - Having the frontend support this would be really useful.
In another project (or a previous version of this project) all the API requests were done from the clientside javascript which means authentication was handled by the browser (i.e. it just showed a login dialog)

I would love to see this implemented, most of the registries require auth and guruvan solution doesn't work for me. Linking the containers and using port 5000 also requires user and password

+1

+1

+1, same for me

+1

+1

+1

+1

+111111

+1111111

+1 for a built-in auth solution.
I run the https://hub.docker.com/_/registry/ behind an nginx proxy (https://hub.docker.com/r/jwilder/nginx-proxy/) secured with a basic auth + the let's encrypt companion (https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion/). Everything works fine for the registry.
Tried the workaround solution from guruvan but without success; maybe I missed a setting.

+1 registry is not modifiable and not on same host!

This issue seems a bit stale but I am dealing with the same issue.  This is an enhancement request and I would propose the following approach be used.
Add two new environment variables: BACKEND_USER and BACKEND_PASSWORD.  If these are set, create an authorization header and send that header with all calls to the backend registry API V2 server.  This allows you to service registries that are created using Docker's suggested recipes for  registry deployment.  They have two, one where their container exposes an SSL endpoint, and another where they use Nginx (with SSL offloading) to frontend an http registry. In both cases the client is expected to send a basic authorization header if the registry is configured for basic auth.
The end result would be the ability to manage any deployed registry whether or not it requires the client to send credentials.


The Now Command

Is the Now command in the 1.17.1 release, or am I just being an idiot? I can't seem to get it to work.

sorry, should be /when


cmake: Improve library dependencies by reducing number of libraries, whole-archive, start/end-group

Zephyr subsystems creates multiple (sub-)sublibraries, especially bluetooth and
net. Those subsystems also has internal dependencies to each other.
Multiple subsystems in Zephyr has a lot of sub libraries, which I believe
should be minimized, especially a KConfig is good for configuring the libraries.
Subsystem Bluetooth contains:
subsys_bluetooth, subsys__bluetooth__common, subsys__bluetooth__controller,
subsys__bluetooth__host__mesh, subsys__bluetooth__host
Subsystem net contains:
subsys__net, subsys__net_ip, subsys__net_ip_l2, subsys__net_ip_l2_ethernet,
subsys__net_ip_l2_ieee802154, subsys__net_ip_l2_openthread,
subsys__net__lib__app, subsys__net__lib__dns, subsys__net__lib__http,
subsys__net__lib__lwm2m, subsys__net__lib__mqtt,  subsys__net__lib__websocket
When working in an IDE, all those libraries are presented to the user.
Such libraries are often displayed at the top of the tree in an IDE.
A general user of Zephyr must must be expected to primarly work on libapp and
his own libraries and therefor it is not a good experience to be presented with
so many sub-libraries.
Having a single bluetooth or network library would be much nicer.
Furthermore Zephyr links everything together using -Wl,--start-group
 -Wl,--end-group, as well as Zephyr build system uses
-Wl,--whole-archive.
This principle has several drawbacks;
The -Wl,--whole-archive drawback is also described in: #6961
Creating executables in this manner requires extra build scripts and
is non-standard for a CMake project. Instead of using the CMake API
to link together libraries into an executable with
target_link_libraries() one must have build scripts that ensures the
linker is passed this list of linker flags.
It introduces two kinds of libraries, instead of having just one kind.
Libraries which must be whole-archived, and libraries that should not.
There is also a theoretical code size performance impact. If
whole-archive is used and there exists an object file in a library
that happens to not be in use (dead code) the object file will still
be included in the executable, instead of being pruned as one would
want it to be. But if one links without '--whole- archive' only the
object files that have symbols needed by the link will be used.
In Zephyr, the handling of library content is well handled using
KConfig, and doesn't seem to suffer from this risk.
However, that doesn't mean the problem may not be present in certain
parts of Zephyr.
Finally, using a flat linking model where all libraries are included
means that we do not have readily available information about how
libraries depend on each other.
CMake list ${ZEPHYR_LIBS_PROPERTY} is furthermore a global variable
to which libraries are added and later used in the linking stage.
Use of global variables should be minimized whenever possible.

Would you mind splitting the "many libraries causes noise in IDE's" out into it's own issue?

Would you mind splitting the "many libraries causes noise in IDE's" out into it's own issue?

Done: see #8826

Great that 8826 was created. But could we also remove the parts of 8826 that are redundant with this issue?
e.g. remove the text above
"Furthermore Zephyr links everything together using -Wl,--start-group"

Removed the text directly related to the IDE, but kept text which describes/lists the sub-libraries, as that is important for the issue. With many sub-libraries, it becomes hard to setup all inter dependencies (and are they circular as well ?)
Example,
every subsys__bluetooth_X probably depends upon subsys__bluetooth__common
but are there inter dependencies between subsys__bluetooth__controller and subsys__bluetooth__host ?
subsys__bluetooth__host__mesh and subsys__bluetooth__host
Thus, reducing this to single subsys_bluetooth lib removes the need in CMake to described such relations, as well as it makes a cleaner and easier to describe build system, in terms of what libraries are build and what do they provide.

and change the title to
"cmake: Improve library dependencies by removing whole-archive, start/end-group"

Done


review all carina dependencies and produce a doc about actual versions etc

Please review all pom.xml files and dependencies for each sub-module.
need a doc with info about useless dependencies etc.
Also info about
module, dependency, current and actual version

finished reorganization in 6.0-beta14
6.0.211-SNAPSHOT+


Add possibility to configure where a new page shall be inserted

This PR allows the developer to decide, where a new page should
be inserted, when a new page is created. A new configuration option
called insert_page_at_beginning was added. The default is false.
If set to true, the new page will be inserted at the beginning
of a partial tree.
Technically the new page will have position 0 and all other
pages are updated with page.position = page.position + 1

Like the idea. Few things:

need a test for this
hash rockets 4 life
i think single method assign_position should be enough
there's ordering on other models besides pages

cool ;-). I need some time to prepare the PR better. I hope I can come to that next week.

tests - for sure
ugh ... hash rockets are so old but I will write them ;-)
I like to write many small methods because the code in the 'main' method is very much better readable (extract method refactoring)
can you please point me to the other models? I will do that also there ...

Resubmit if there's interest in this functionality.

Hey @GBH ,
thanks but we are not using Comfy or cms-fortress only in one project and the functionality is not important anymore.
I am really looking forward to see 2.0 though. Keep on goin' with your great work.
Cheers
Andy


DOC: small note on cd examples

This adds a small note that if you clone the repo you should do cd examples.
I got /Users/raybell/Documents/PYTHON_dev/pydantic-ai/.venv/bin/python: Error while finding module specification for 'pydantic_ai_examples.pydantic_model' (ModuleNotFoundError: No module named 'pydantic_ai_examples') first time round :facepalm:

I don't think this is necessary, if you've run make install (or just uv sync --all-packages), pydantic_ai_examples should be installed and usable with
uv run -m pydantic_ai_examples

What made you think this was necessary?


dev-state page not working in 0.38.1 or 0.38.2

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.38.2
Python release (python3 --version):
3.4.3
Component/platform:
Front end; https://hass.xxxx.com:8123/dev-state
Description of problem:
This page presents a blank which screen with a spinner in the middle spinning forever.  The Home Assistant left hand menu is still there, but nothing other than the spinner appears witihn the content portion of the page.
Expected:
The normal dev-state page with a list of all my sensors, devices etc.
Problem-relevant configuration.yaml entries and steps to reproduce:
None.
Traceback (if applicable):
This is what the log reports when I refresh the page;
17-02-13 18:27:25 INFO (MainThread) [homeassistant.components.http] Serving /api/bootstrap to <IP_ADDRESS> (auth: True)
17-02-13 18:27:25 INFO (MainThread) [homeassistant.components.http] Serving /api/websocket to <IP_ADDRESS> (auth: False)
Additional info:

Try to clear the browser cache.

Hi @Danielhiversen
clearing the browser cache works, but the problem occurs each time I open HA and I need to clear the cache again.

Are you using SSL?
For me with 0.38.2 (and .1) trying to access the Developer tools Services/States icons via SSL results in a spinner which never resolves.  Connecting via http:// works fine.
In my particular case I'm going through a reverse proxy so Home Assistant itself is not set up to use SSL.   Nothing to speak of in the logs.

@scottdalton,
I use LetsEncrypt.

Seems to be working for me after clearing the cache

I had the same issue, just using shift_F5 did the job !!

Clearing the cache worked for me and it hasn't been an issue since.
Thx
JP


:green_heart: Update worklow to test accessibility

Closes #100

Started working on the workflow, lets see if I can get it to work as expected :sweat_smile:

This article might be of help later on..


Reworking leap year calculation

I reworked the leap year calculation to be in accordance to the way it's calculated in the Gregorian system, in order to account for the date drifting caused by the Julian method.
Although this was not defined in the decrees instituting the republican calendar, it seems to be the accepted method for the usage of the republican calendar after year XIX, to prevent date drifting.

For reference :

Continuous: The leap years would have continued in a fixed rule every four years from the last one (thus years 15, 19, 23, 27...) with the leap day added before, rather than after, each year divisible by four, except most century years. This rule has the advantage that it is both simple to calculate and is continuous with every year in which the calendar was in official use during the First Republic. Some concordances were printed in France, after the Republican Calendar was abandoned, using this rule to determine dates for long-term contracts.

From the English Wikipedia article, emphasis mine.
French Wikipedia article.

Found an error in the change I made


Update Icon downloader

move all icons to an "icons" folder in the smoke-resources.
have the icons folder stored as a variable in all_vars
Have the install role download icons when icon name defined

Moved icons to a common folder in smoke-repository and updated the links in group_vars.

https://github.com/gooseberry/smoke/pull/33


How does bonding work?

Bonding seem to be undocumented at all.
I'd like to be able to pair a device (a remote control) with my ESP32 and then have this device be able to just work after a reboot without having to trigger the advertise on the remote.
When does the bonding data saved? How can it be used to replace the scanning functionality?

Bonding is for saving the credentials so that the pin etc does not need to be entered again. There is no way to avoid advertising as the stack would not be listening for connections otherwise.

Thank you


how does “on_change” work?

website agent for stock.
if the events like this.

--
20m ago
title: item name
stock: no
--
30m ago
title: item name
stock: yes

is that means : it's never create new event. because the event already "yes" or "no" ?
i think is can be just on_change/ different with last event

like this
1m ago
title: item name
stock: yes
--
20m ago
title: item name
stock: no
--
30m ago
title: item name
stock: yes

I have tested but im not sure. pls confirm.
：）

i think is can be just on_change/ different with last event

That is correct, on_change compare the extracted values with the previous Event, in your case it will create new events every time stock flips from yes to no and visa-versa .


feat: updating sdk to rc-1889

✨ This PR updates the SDK to tag rc-1889

Not a breaking change PR


Background color

I've attached a typical output by using curl and wttr.in, outputting a png. The background color is black. How can I make this white, so white background and black text?
Any help appreciated.

This helps: https://wttr.in/:help

Actually, reopening this. I have this command: curl "wttr.in/London_transparency=0_background=#ffffff" but I get a 404, unknown location. What am I doing wrong?

Okay, worked out the background color - it would be great if we could choose text color as on a white background it looks quite dull with grey. I'm also printing to a thermal printer so black text is the only thing that really works for me

Accepted.


New release

Thanks for your wonderful work on this software!
https://github.com/ammen99/wf-recorder/commit/0b74ad4ec264e648ab91949aa182c5c22aa09885 contains a handy UX improvement that can prevent some data loss. I myself just overwrote a great recording accidentally T.T.
It'd be great to get a release so others don't suffer the same fate :(

And https://github.com/ammen99/wf-recorder/pull/56 is also handy, right now wf-recorder  -g "$(slurp)"  with 1.5 scale results im [libx264 @ 0x7f2558002440] height not divisible by 2 (996x1563) error most of the time.


Debounce

Is there an option to set a debounce timer when creating the button?

Default time is 50 milliseconds or 50000 microseconds depending on what you set the precision to.

Where is that done in the code?
private:
    bool            State, lastState;
    unsigned long   onTime, holdTime, heldTime, DBTime, DBInterval, RO_Time;//, DubPTime;
    byte            _P;

The DBInterval variable can have whatever value after its declaration.
void SetDebounceTime(unsigned long T = 50)
    {
      DBInterval = _P ? (T * 1000) : T;
    }

This functioin sets it. But what if I dont't include B.SetDebounceTime() in my code?
Btw it seems like there are some comments missing in this thread.


LEDVANCE SMART+ Wifi Floor Corner RGB + TW

Request for adding a profile for LEDVANCE SMART+ Wifi Floor Corner RGB + TW. Has a BK7231N. Managed to dump the firmware using ltchiptool.

Dump can be found here.
Hope it's enough info! Thanks in advance.

This device is patched (firmware 1.5.21, already in the known patched list).  Serial flashing will be your only option.


issue updating tags with the az devops rest api

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az rest
Errors:
The command failed with an unexpected error. Here is the traceback:
not enough values to unpack (expected 2, got 1)
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 506, in shell_safe_json_parse
  File "json\__init__.py", line 370, in loads
  File "json\decoder.py", line 337, in decode
  File "json\decoder.py", line 355, in raw_decode
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 812, in send_raw_request
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 531, in shell_safe_json_parse
azure.cli.core.azclierror.InvalidArgumentValueError: Failed to parse JSON: System.Collections.Hashtable
Error detail: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/util/custom.py", line 19, in rest_call
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 815, in send_raw_request
ValueError: not enough values to unpack (expected 2, got 1)

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
$AuthHeader = @{
'Authorization' = "BEARER $token"
"Content-Type" = "application/json-patch+json"
}
$json = '[{"op": "replace","path": "/fields/System.Tags","value": ""}]'
az rest --method patch --url "https://dev.azure.com/{client}/{project}/_apis/wit/workitems/$($issue.id)?api-version=7.0" --headers $AuthHeader --body $json

Expected Behavior
Expect tags to be cleared out.
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.8.9
Installer: MSI

azure-cli 2.31.0 *

Extensions:
application-insights 0.1.14
azure-devops 0.25.0

Additional Context

route to CXP team

just updated and get the same error
I get the error when running other commands as well such as:
az webapp config set -g group-n APP--generic-configurations '{"vnetRouteAllEnabled": true}'
az --version
azure-cli                         2.46.0

core                              2.46.0
telemetry                          1.0.8

Extensions:
application-insights              0.1.14
azure-devops                      0.25.0

Dependencies:
msal                              1.20.0
azure-mgmt-resource             21.1.0b1

For ValueError: not enough values to unpack (expected 2, got 1), it is due to incorrect --header format. Please follow the document to provide --header:
    --headers                         : Space-separated headers in KEY=VALUE format or JSON string.
                                        Use @{file} to load from a file.

Also, when passing JSON string to az, make sure to take quoting rules into consideration: https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively?tabs=bash%2Cbash2#use-quotation-marks-in-parameters

I am not using any headers in this case
the command I am running is
az webapp config set --subscription MySubscription -g MyResourceGroupName -n MyAppName --generic-configurations '{"vnetRouteAllEnabled": true}'
I think this is valid json : '{"vnetRouteAllEnabled": true}'
Thanks

@vllama You need to pass json with escaped double quotes to make it work, like below -
 --generic-configurations '{\"vnetRouteAllEnabled\": true}'

That seems to have fixed it.  Interesting that old scripts that worked without escaping " inside ' have stopped working.


validate if #61 is present in Sia

Sia does not seem to have the changes applied in https://github.com/rivine/rivine/pull/72/files#diff-cc3103986703bcfc324ae6d1da4c8921 (dbRemoveCoinOutput and dbAddCoinOutput).
So perhaps that fix wasn't really the correct fix, or perhaps Sia has the bug as well, or for some reason only we suffer from that bug, and that fix is either correct or it is not.

I checked the sia code at the time i made the fix, they indeed did not have such behaviour. So I did a quick search through the open and closed issues, did not find anything related. Since sia is a has a reasonable userbase, it would be strange if they have the same bug but nobody noticed it or cared to file a bug report. This is why I thought the bug might have been caused by the modifications applied for rivine itself

This is why I thought the bug might have been caused by the modifications applied for rivine itself

Seems indeed like a reasonable assumption. Which made me wonder if our fix for that issue is the correct one.

I noticed when merging in the Sia changes that some changes have been made there   (like https://github.com/rivine/rivine/commit/2f9257e2afe4913a8715c91de91270d515448c96)
After merging in the rest , need to validate if the fix is still needed and if so, why.


Froala fields not displaying on index

Hi
I have the following code
public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            Froala::make('Question')->withFiles('public')->sortable(),
            Froala::make('Answer')->withFiles('public')
        ];
    }

Which works fine when adding or editing a resource, but when i go to the index view of the resource i only get the ID and not the Question/Answer text displayed in the table
If i switch from Froala to a standard Text::make it then works and displays on the resource group index
Anyone have any ideas?

Hi @JoshReading
Field doesn't show on index page by default.
You should use showOnIndex() method to enable this behavior.
Check out the documentation - https://github.com/froala/nova-froala-field/blob/master/README.md#show-on-index-page

@slavarazum sorry didn't spot that - thanks!
Although for every field it just displays 'Show Content' which when clicked gives a popup, is there no way to just display the content within the table without the extra click?
Thanks!
Josh

It opens with popup, because in general textareas has much content and it will be difficult to read it in table field directly.


MSAA makes a border around the game

When using MSAA, there is a border around the game like seen here:

When using Alternate Pixel Center its at least gone from top and left side, but therefore at the bottom.
Can we fix it? This issue is not happening with dgvoodoo 2.

Which game is it?

NICE 2

It seems to be only a problem when changing settings dynamically with the config overlay, no?

I personally have it always. Just turning MSAA entirely off fixes it.
`# AlignSysMemSurfaces     = on
AltTabFix               = keepvidmem(1)
AlternatePixelCenter    = on
Antialiasing            = msaa8x(7)
BltFilter               = point
ColorKeyMethod          = auto
ConfigHotKey            = shift+f11
ConfigRows              = allrw, allro
ConfigTransparency      = alpha(90)
CpuAffinity             = all
CpuAffinityRotation     = off
CrashDump               = off
DepthFormat             = app
DesktopColorDepth       = initial
DesktopResolution       = desktop
DisplayAspectRatio      = display
DisplayFilter           = spline(3)
DisplayRefreshRate      = desktop
DisplayResolution       = desktop
DpiAwareness            = permonitor
FontAntialiasing        = app
ForceD3D9On12           = off
FpsLimiter              = flipend(120)
FullscreenMode          = borderless
LogLevel                = none
PalettizedTextures      = on
RemoveBorders           = off
RenderColorDepth        = appd8
ResolutionScale         = display(1)
ResolutionScaleFilter   = point
SoftwareDevice          = rgb
SpriteDetection         = zconst
SpriteFilter            = app
SpriteTexCoord          = clamp
StatsAggregateTime      = 3
StatsColumns            = label, cur, avg, min, max
StatsHotKey             = shift+f12
StatsPosX               = right
StatsPosY               = top
StatsRows               = label, presentrate, fliprate, blitcount, lockcount, ddiusage
StatsTransparency       = alpha(75)
StatsUpdateRate         = 5
SupportedDepthFormats   = all
SupportedResolutions    = native, 640x480, 800x600, 1024x768
SupportedTextureFormats = all
TerminateHotKey         = ctrl+alt+end
TextureFilter           = af16x
ThreadPriorityBoost     = on
VSync                   = off
VertexBufferMemoryType  = sysmem
WinVersionLie           = off
`
This is the config I use. zconst and clamp fixes the black line under the tach which is cool.

Ok, I understand the problem now. The game's internal software vertex processing engine generates vertex coordinates that only cover about 90% of the last pixel row/column. E.g. if the internal resolution is 640x480, then the rendering is constrained to (0, 0)-(639.9, 479.9) instead of (0, 0)-(640, 480). This may be made worse by resolution scaling, e.g. at your current settings I think the internal resolution is 1280x720 upscaled to 3840x2160, so that would give (1279.9, 719.9) -> (3839.7, 2159.7), so the covered area actually shrinks to just 70% at the bottom and right edges.
This is less of a problem without MSAA, because the pixel center is still covered, so the entire pixel gets a new color. But with MSAA, some subpixel samples may fall into the uncovered area, which will then retain the previous color and will be blended with the covered part's color for determining the final pixel color. This is what causes the discoloration of the bottom and right edges.
I'm fairly certain dgVoodoo should also be affected by this, but I didn't find any AlternatePixelCenter or similar setting in it to test it properly, so only the top and left edges are discolored. By default, this is hidden by its "Deframer size" setting of 1, which removes a 1 pixel border around the image.
There are multiple workarounds I can think of, but each would require some new setting:

Add a "dreframer" like dgVoodoo to just hide the ugly edges, but I don't really like this solution.
Scale the viewport slightly so that the edges are properly covered. This could be done practically for free when ResolutionScale is also used, because only the scale factor would have to be adjusted. It might cause further problems with sprite coordinates though. But if needed, sprites could be excluded from the extra scaling based on the SpriteDetection setting.
Any vertices that fall close to the uncovered area of the last pixel row/column could be clamped to the bottom/right edge of the pixel, based on some configurable threshold. This avoids having to scale up everything (including sprites) but has some extra performance cost because it needs to be limited to vertices within the uncovered pixel areas. It can also slightly distort the image in an uneven way, though probably it wouldn't be noticeable.

I'll probably go with the scale option for now.

Does this fix  the issue? ddraw.zip (diff.txt compared to v0.5.3)
For now it's hardcoded to do a 0.1 pixel adjustment, but it can easily be made configurable if it works. It seems to fix the issue on my end.

Yes, fixes it when Alternate Pixel Center kept enabled.

Fixed in v0.5.4. Use ViewportEdgeFix=scale(10).


Support double rewards in the UX

Need to figure out how to display users' earned NEAR/extra rewards.


build: choose between clang/prettier/semistandard for linting

as discussed previously https://github.com/skatejs/skatejs/pull/1118#discussion_r112497202 we should consider prettier vs clang or just stay with semistandard

We'll probably have to have some level of linting no matter what to catch potential perf pitfalls etc. This is stuff that prettier cannot do for you. That said, I ran Skate through Prepack yesterday and it worked just fine. The output came out a bit big, and I ran into some friction when trying to enable minification on the output. This has something to do with how NWB passes plugins to Webpack and how Webpack 2 automates minification for a prod build.

I was thinking that prettier replaces eslint ?
If not we should proabably stick with what we have now and we can close this.
Or clang is a good alternative -> works for js, ts

Prettier would take the burden off of us having to worry about formatting. ESLint forces the user to make the changes etc. There's an eslint plugin, though!
Happy to just close. Can revisit if we start having formatting issues, but configurationless semistandard is 🆒

yup yup, agreed


fix same account different memos test condition

The SEP-12 test "memos differentiate customers registered by the same account" had a bug when checking the configuration needed for the test, causing the test to fail.

Preview is available here:http://stellar-anchor-tests-pr55.previews.kube001.services.stellar-ops.com/

Preview is available here:http://stellar-anchor-tests-pr55.previews.kube001.services.stellar-ops.com/


Only exact matches

Hi
We have a problem with our redirect. We only want exact match to redirect.
If we have
/A -> /
Then /A/B will be redirected to /B
We want to keep /A/B with that url.
Wildcard is not checked.
We are using Geta.404Handler version 1.2.0 (latest)
How do we accomplish that only exact match will be redirected and not subpages?

Not sure what you want to achieve.
First, you had this page structure:

Then you deleted page "A" and added a redirect from "/A" to "/" because page "A" does not exist and returns 404. What did you do with page "B"? How it stayed on the same URL "/A/B" after you deleted page "A"?

Hi
We are using for it migrating an old structure, so we wanted some urls to be redirected to one place, and sub pages to another.
For now we use INotFoundHandler to handle this.

Ok. Then it means that you are not keeping "/A/B" URL. It is now more clear.
Then you want to redirect "/A" -> "/" and "/A/B" -> "/C". Am I right?

In my case yes.
But, what is Wildcard? Is it when you have "/Page1", "/Page2" and "/Page3" and you define "/Page" with wildcard, all the pages will get redirect?

Form what I understand, when a wildcard is checked, it will redirect all subpages to a single page while it is unchecked - it will redirect to the matching subpage.
So if we have a redirect: /a -> /b

with wildcard it will redirect /a/1 to /b
without wildcard it will redirect /a/1 to /b/1

I have added an explanation to the docs: https://github.com/Geta/404handler#wildcards


TS doesn't see when we add symbol properties to functions.

TypeScript Version:  3.4.0-dev.20190207

Search Terms:
function, property, symbol
Code
const mySymbol = Symbol()

interface Foo {
    [mySymbol]: true
    (): any
}

const foo: Foo = () => {} // error:
// Property '[mySymbol]' is missing in type '() => void'
// but required in type 'Foo'.
foo[mySymbol] = true

Expected behavior:
Just like with regular (non-symbol) props, show no error if the symbol property actually has been added .
Actual behavior:
There is an error.
Playground Link: link
P.S. Even if I am posting this issue, it can wait really (I'll put type assertions), but I beg you to react on this one: https://github.com/Microsoft/TypeScript/issues/29799

What is the cleanest workaround BTW, anyone knows?

Object.assign can work
const foo: Foo = Object.assign(() => { }, {
  [mySymbol]: true as true // must cast, literal types will be widened here to boolean causing an error on assignment, but it will work with other things.
});

@dragomirtitian  Woah! Indeed! Cool! Thanks! :+1: :+1: :+1:


Enable rules using patterns not regexes

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

/kind flaky-test

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area engine

/area rules

/area deployment

/area integrations

/area examples

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #742
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Change the semantics of -D (disable rules) to work on rule substrings instead of regex patterns.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: mstemm
If they are not already assigned, you can assign the PR to them by writing /assign @mstemm 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:

OWNERS

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

LGTM label has been added.  Git tree hash: 3b1d93b087ccd1055b8a271767e7a25e1992cfc0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
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:

OWNERS [leodido]

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


Updates the aliases episode

Also makes sure we all add git graph.

I'd say looks good.  I provided the aliases so I should probably be the one to describe in more detail, which I can do once you merge, or replace this PR.
What about remaning episode to "Aliases and config" and include other important config?  Though a bit of that is also in the basics, so... commenting on them in other issue.

Patch coming up in a moment, then I will merge and you can do a second pass. The config is hopefully covered in the basics but I have nothing against a separate episode.

Actually commenting here.  One idea is to add an "optional, not in class" section at bottom that can keep the interest of semi-advanced people (they can explore some interesting things).  But, it should only be done if someone else is +1.5 or more.
[core]
        pager = less -RS
        excludesfile = ~/.gitignore
[merge]
        conflictstyle = diff3
[interactive]
        singlekey = true
[diff]
        #       wordRegex = [^[:space:]]+  # default is something like this.
        wordRegex = [a-zA-Z0-9_]+|[^[:space:]]
        mnemonicPrefix = true

# remote aliases (example, edit if used in lesson):
[url "git@github.com:"]
        insteadOf = gh:
[url "git@github.com:username/"]
        insteadOf = ghu:

I like it!


dis: zydis guarantees visible/explicit operands to be first

referenced here but im not sure where else: https://github.com/zyantific/zydis/issues/189

since we only care about explicit operands in our analysis, we can stop enumerating once we hit a non-visible operand

but im not sure where else

It's also stated in this documentation comment here: https://github.com/zyantific/zydis/blob/6a17c48576e1b016ce098c4bdbd001a1403b6a0a/include/Zydis/DecoderTypes.h#L1005-L1007
:-)

thank you!


Change  tag

Is it possible to create a setting to change the text of the  tag?
Thanks

.env
APP_NAME=xxx


Factor out some leftover direct references to runc binary

Signed-off-by: Tibor Vass<EMAIL_ADDRESS>This is a few things I missed in #146

LGTM


travisCiAltRemotes configuration and parsing fixes

Fix
Adding this package on a fresh Atom install wasn't working out of the box for me. After looking into things further I was able to see an issue with the remote override parsing. When no overrides are set the defaults are not JSON parseable and thus throws the error seen in #88. If you set the travisCiAltRemotes setting to an empty {} then things will work. Doing a real override appeared to work as expected.
The changes introduced here check for valid JSON override strings. If it is empty or invalid then the default origin will be used. I added passing specs for the change, although, the other specs appear to currently be failing.
Changes

Default empty override to a JSON parseable string
Guard override from bad JSON
Only set override if parsed and matches gitPath
Default the remote to origin
Add tests around override parsing logic

I think this fixes #88

@ghost1227 Any updates on this? Pinging you to see if there is anything that needed to be addressed to get the fix merged in. Thanks

@mtchavez Sorry! Was short a functional computer for a few there. Looks good to me, lemme test it and if I don't see any problems I'll get it merged

No worries, just bringing it onto someone's radar 😜

@mtchavez Looks like you fixed one bug and introduced a few other failures. Feel like tackling the new ones?

@ghost1227 Not sure what you mean by introduced a few other failures. Do you mean tests or new bugs that were introduced from the changes merged in this pull request? If I have some more information I can look into whatever needs to be done.


Shared libraries

Also makes shared libraries (linked binaries will be smaller).
Installed binaries and libraries will be stripped.
Fixed some minor inconsistencies which resulted in not optimized executables (like gpiod).

I'll add this to the next release.  Not sure when that will be.


Add missing edge from BackupEntry to Shoot vertex

How to categorize this PR?

/area security control-plane-migration
/kind bug
What this PR does / why we need it:
One task of the "shoot migrate" flow is migrating the BackupEntry associated to the Shoot to the destination seed. If this succeeds but the flow fails at a later task for whatever reason then the entire flow is retried from the beginning. Now, trying to migrate the BackupEntry again fails with an authorization error:
task "Migrate BackupEntry to new seed" failed: backupentries.core.gardener.cloud "shoot--foo--bar--29013abb-2e65-4a01-819d-b209811783ef" is forbidden: User "gardener.cloud:system:seed:my-seed" cannot patch resource "backupentries" in API group "core.gardener.cloud" in the namespace "garden-foo": no relationship found between seed 'my-seed' and this object

This PR adds the missing relationship between Shoots and BackupEntrys. On the way, it updates the documentation with the (already applied but not documented) third rule for when an edge is added from vertex u to v.
Which issue(s) this PR fixes:
Part of #1723
Special notes for your reviewer:
/cc @kris94
Release note:

NONE

/lgtm
Thank you for the PR!


scaladoc links to java runtime classes are broken

see https://github.com/apache/incubator-pekko-http/actions/runs/5427033437/jobs/9878610786
has issues like:
`[https://docs.oracle.com/en/java/javase/11/docs/api/java/util/Map.html`](https://docs.oracle.com/en/java/javase/11/docs/api/java/util/Map.html) status 404 Not Found
 - ../../../../../target/scala-2.13/unidoc/org/apache/pekko/http/javadsl/model/headers/HttpCredentials.html
 - ../../../../../target/scala-2.13/unidoc/org/apache/pekko/http/javadsl/server/AllDirectives.html
 - ... 3 more

should be https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html
The sbt settings closely match those in incubator-pekko but the scaladoc is generating ok in incubator-pekko

@pjfanning So I think the core issue is this https://github.com/ThoughtWorksInc/sbt-api-mappings/blob/5b1e4f11647421d287d3a26ed7fb077474ea7a3e/src/main/scala/com/thoughtworks/sbtApiMappings/BootstrapApiMappings.scala#L37-L43 although I am still getting the issue when running with JDK 11, investigating further

Re-opening since its still broken

@mdedetrich is this safe to close? - we have the link-validator job running in CI

Yes

No, the link validator is still broken.

@jrudolph Huh? https://github.com/apache/incubator-pekko-http/actions/runs/5643524801

Last time it ran, it failed, and then removed its settings accidentally...
https://github.com/apache/incubator-pekko-http/actions/runs/5643524801/job/15285543470#step:8:9
can't read [scripts/link-validator.conf]

It seems to fail silently.

Oh I see, let me rename issue so it's clearer then

This issue is probably still existing, and the other is another issue which masks this.

This issue is probably still existing, and the other is another issue which masks this.

I remember fixing/verifying the broken links, so unless some change was introduced which broke the links it should be fine.

:+1:


Missing Azure Fsv2 VM Sizes

Good morning,
I am currently not able to deploy an ES cluster using any of the  FsV2 machines (for example F2s_v2).
Could you please include this series as available sizes?
Is there any reason why this series is currently not supported?
Thanks in advance,
Victor

Hey @Viccen, we'll include the FSv2-series in the next release .

Is there any reason why this series is currently not supported?

Looks like they were just overlooked the last time the allowed sizes were updated 😃

Hi @russcam, thanks a lot for such a fast response. Can't wait for it 👍 !

I'll keep this issue open, to track it and link to.


ENH: Validate Metadata

Introduces several validation rules for ensuring Metadata is
well-behaved.
Fixes #220
Pair programmed with @maxvonhippel

Thanks @ebolyen & @jairideout! @maxvonhippel and I really appreciate your suggestions! Speaking of suggestions, I think I have addressed everything - ready for the next round!


contract_in_awards should fail (not N/A) if there are contracts but no awards

The code currently results in N/A:
def calculate(item):
    result = get_empty_result_resource(version)
    if not item or "awards" not in item or "contracts" not in item:
        result["meta"] = {"reason": "insufficient data for check"}
        return result

Also, I notice that this test is stricter than the parties reference check (there must be exactly one matching award, whereas there can be multiple matching parties). Should we make the parties test more strict?

Noting that parties test was made more strict in e400da328a1550f5b35474cc39055018206d2494 (this issue maybe was reported in Gitlab before that commit).


Double click to open glb and gltf

Allow association with the windows extensions so double clicking the 3d asset will view.

This is necessary, so will pause this.


Voting does not refresh the page and it should not be allowed to vote twice on the same link

I have the issue that when I hit the vote button, the page is not refreshed. So when I hit the vote button again the page crashed with the error Already voted for link.
Is this only happening to me?

@kwoxer I noticed this too. There is a slight delay, but it does refresh on its own eventually (within a few seconds). I think that throwing the error is by design, as you can see on the server side that it will throw an error if you try voting again.
  if (linkExists) {     throw new Error(Already voted for link: ${args.linkId})   }
Also, something that is related, that I am dealing with. Did you see the vote refresh on the frontend on its own, without the need to update the local cache. For me, if I click, and wait a few seconds, the vote increases by 1. I can remove the "updateStoreAfterVote" prop from the mutation, and the vote still increases. Anyone seeing this?

I solved the issue with this video: https://www.youtube.com/watch?v=dr9I4xPYkdw
It's just adding the SnackBar and easy-peasy. And adding the errorhandling as link to Apolloconfig. And that's it.
Now the error is just triggered as a popup and does not let the page of the user crash anymore. Also the error is still logged in the console.
This should really be added to this repository as it's a huge benifit. I searched for this for some days to get it.
@shekharsaxena I'm not sure what you mean with voting again. Everything worked for me except that the page crashed.


INT8 versions of FMHA and Flash-Attention (Forward)

Hi @tridao, we recently implemented INT8 forward FMHA (8-bit Flash-Attention) with both static and dynamic quantization for Softmax on our GPGPU card, and achieved good results and relatively okay accuracy. For confidential reasons, we cannot open-source our CPP/CUDA code (we use our own hardware and compilers that is compatible with CUDA) but the basic method is shown in the equations and python simulations in this GitHub repo:
https://github.com/jundaf2/INT8-Flash-Attention-FMHA-Quantization
One can easily write the CUDA code by following these equations if he or she is a beginner in 8-bit quantization but familiar with GPU programming. The drawback is that it requires several additional parameters for quantization and de-quantization, but the use of additional parameters seems to be common in the INT8 society.

This is such great work!
Thanks @jundaf2 for writing it up and running the simulation!

Any plan to open-source INT8 forward FMHA (8-bit Flash-Attention)?

We implemented using our own instruction set and built-in functions, you can easily write one using Nvidia GPU if you know how to quantize and dequantize the data. Thanks!

Hi, we recently rewrote the 8-bit flash attention using Nvidia CUDA based on WMMA-API and updated the original repo. Further optimizations of the performance will be delivered in the next phase.

Have you try 4-bit flash attention using Nvidia CUDA based on WMMA-API?

Hi @goodluckcwl. Using 4-bit precision is a good idea but I haven't tried it. I didn't have the hardware that supports 4-bit tensor core operations at the time I worked on the inference of flash-attention~

I am wondering how you make int8 flash attn work.
Is you whole model using int8?
If the qkv_proj gemm's input is half, you need to set the output of gemm to int8, this will lose many digits. So the int8 flash will output wrong results in inference.


Faraday 1.0.0 compatibility

Hey guys!
Faraday 1.0.0 was released recently and avatax gem does not support it. It's causing conflicts with other gems that depend on faraday too. Do you have any plans to bump faraday version?

@contygm any news on that?

This would be really helpful. I'm running into conflicts also.

its fixed in this PR: https://github.com/avadev/AvaTax-REST-V2-Ruby-SDK/pull/74

@shilpa-khanal Can we get that merged and released?

Please check https://rubygems.org/gems/avatax/versions/20.6.0 for the latest release. Cheers!

@shilpa-khanal Version 20.6.0 is still not compatible with faraday 1.0
Bundler could not find compatible versions for gem "faraday":
  In Gemfile:
    avatax (= 20.6.0) was resolved to 20.6.0, which depends on
      faraday_middleware-parse_oj (~> 0.3.2) was resolved to 0.3.2, which depends on
        faraday (~> 0.9)

    sentry-raven (= 3.0.0) was resolved to 3.0.0, which depends on
      faraday (>= 1.0)

This issue is already fixed last comment is asking to release from master which we are doing regularly


(MCO-726) Prepare for 2.8.6 release

Bump the version and update the changelog and readme for 2.8.6 release

:+1: I'd really like to get someone from mco to take a look at this too, if that's possible

:+1:


[Functional] No action will perform while press 'Alt+ Enter' key on Video clip.

Actual Result:
No action will perform while press 'Alt+ Enter' key on Video clip.
Note - Same issue repro at all areas where video clip are present.
Expected Result:
Action should be perform while press 'Alt+ Enter' key on Video clip.
Repro Steps:

Open URL https://microsoft.github.io/BotFramework-WebChat/full-bundle/ in Edge browser.
Navigate to 'Type your message' text box present in bottom of screen, type 'help' and press enter key.
Navigate to "Video card" button by using Tab key and press Enter on it to activate it.
Video will appear on the bottom of the screen, Navigate to 'Full Screen' button by using Tab key and press "Alt+Enter" for Full screen.
Observe that No action will perform while press 'Alt+ Enter' key

User Impact:
If no action will perform while press 'Alt+ Enter' key on Video clip. user who is dependent on shortcut keys might get confuse about the range of that controller.
Test Environment:
OS: Windows 10
OS Build: 17763.107
OS Version: 1809
Browser: Edge
Tool: Narrator
Attachment:
Functional Issue.zip

[ ] Investigates if full-screening a standard HTML5 <video> element is doable

This functionality is up to the browser and not in Web Chat's control.


docs: update 'Testing redux' in CONTRIBUTING.md

try simplfy it to make it more easy for contributor to follow it to test their work by themselves.
Thanks to @eider @6543 @zeripath's help

ping LG-TM


Installation on Minikube/Cygwin

bose@N-20N3PF1BFZYW ~/knix-0.8.1/HttpFrontend
$ make
docker run --rm -it --name frontend-thrift
--user id -u:id -g
-v /home/bose/knix-0.8.1/HttpFrontend/../DataLayerService:/usr/src/datalayer
-v /home/bose/knix-0.8.1/HttpFrontend:/usr/src/frontend -w /usr/src/frontend
thrift:0.12.0
bash -c 'thrift --gen java -out ./src/main/java/ /usr/src/datalayer/thrift/DataLayerMessage.thrift; thrift --gen java -out ./src/main/java/ /usr/src/datalayer/thrift/DataLayerService.thrift'
Output directory ./src/main/java/ is unusable: No such file or directory
Output directory ./src/main/java/ is unusable: No such file or directory
make: *** [Makefile:22: src/main/java/data_layer] Error 255

That seems to be working in a bare metal build. Does it have something to do with folder permissions in cygwin?

yes, I also confirm that this works with ansible.

This is not a bug but a feature request. We have never targeted Cygwin and Minikube for our setup scripts/environment and nor have we tested this configuration either. For our ansible based setup the requirement is a debian based linux setup (either inside a VM or on bare metal). For the helm charts our requirements are a proper k8s cluster (not minikube) with knative running on it.

Interesting issue.
Docker should have set the working directory to /usr/src/frontend but thrift complains about the directory ./src/main/java/ missing. Also, container user should have been set with --user to the same as the user running the build.
@ruichuan, please check the ownership of your clone /home/bose/knix-0.8.1/HttpFrontend/src/main/java and the output of id -u and id -g. The ownership shall match the current user.
If it was a cygwin problem, we might be able to narrow it down. Please run cygwin and try the thrift command with an absolute container path (change Makefile to use -out /usr/src/frontend/src/main/java/ instead of -out ./src/main/java).
Please let us know the output using absolute paths.


Change text in the password reset email.

To fix https://app.asana.com/0/280864181857972/341251758356525 and https://app.asana.com/0/280864181857972/341251758356529

LG