[charts] Longhorn windows support

Longhorn doesn't need to support windows nodes, but it does need to add the correct selectors and tolerations to handle windows clusters.

@cbron What exactly should we do here? Any examples?

Yes I'll send you doc

Examples here:
https://github.com/rancher/rancher/pull/28685/files
https://github.com/rancher/system-charts/blob/dev-v2.4/charts/rancher-monitoring/v0.1.2/templates/_helpers.tpl#L134-L151

@shuo-wu IIRC, we have added this for the v1.1.0 chart, right? if so, can you point out the modification so we can move this to the testing phase.

@shuo-wu IIRC, we have added this for the v1.1.0 chart, right? if so, can you point out the modification so we can move this to the testing phase.

I think the essential is this annotation: https://github.com/rancher/charts/blob/fa2d96adcf597382be2a93bd20760c3601010294/packages/longhorn/longhorn.patch#L54

I think the essential is this annotation: https://github.com/rancher/charts/blob/fa2d96adcf597382be2a93bd20760c3601010294/packages/longhorn/longhorn.patch#L54

There are two parts to our windows support:

Adding an annotation to the chart which says what OS's the chart supports (Shuo's link in comment above)
Either adding windows images to the manifests or adding taints/tolerations to the chart so a linux-only deployment doesn't end up on a windows node.

Part 2 still needs to get done. I don't see it in the various workloads:

https://github.com/rancher/charts/blob/dev-v2.5/charts/longhorn/templates/daemonset-sa.yaml
https://github.com/rancher/charts/blob/dev-v2.5/charts/longhorn/templates/deployment-driver.yaml

There are two parts to our windows support:

Adding an annotation to the chart which says what OS's the chart supports (Shuo's link in comment above)
Either adding windows images to the manifests or adding taints/tolerations to the chart so a linux-only deployment doesn't end up on a windows node.

Part 2 still needs to get done. I don't see it in the various workloads:

https://github.com/rancher/charts/blob/dev-v2.5/charts/longhorn/templates/daemonset-sa.yaml
https://github.com/rancher/charts/blob/dev-v2.5/charts/longhorn/templates/deployment-driver.yaml

Actually I am worried about the Longhorn workloads dynamically deployed by the longhorn manager. The tolerations and node selectors cannot be applied to those workloads.

Actually I am worried about the Longhorn workloads dynamically deployed by the longhorn manager. The tolerations and node selectors cannot be applied to those workloads.

Without those tolerations/selectors then Longhorn will not work on a windows cluster, meaning a cluster with 1 linux node and multiple windows nodes.

Without those tolerations/selectors then Longhorn will not work on a windows cluster, meaning a cluster with 1 linux node and multiple windows nodes.

@shuo-wu So it seems the WIndows support is not completed? Since it involves taint/node selector needs to be added into dynamically provisioned workloads, it needs to be done as part of the v1.1.1 release. Can you file an issue in Longhorn and track it?

@shuo-wu So it seems the WIndows support is not completed? Since it involves taint/node selector needs to be added into dynamically provisioned workloads, it needs to be done as part of the v1.1.1 release. Can you file an issue in Longhorn and track it?

@yasker Is there an issue associated with this?
@Jono-SUSE-Rancher We should add this to the project plan to track independently with the Longhorn team.

The Longhorn issue is https://github.com/longhorn/longhorn/issues/2199

Is this finished then ?

Waiting for reverting the annotation removal and merge the PR.

This was supported in longhorn char 1.1.1 which was already delivered, so I think probably we can close this.

Thanks for the update @innobead. I will close with your recommendation.

I lied. @khushboo-rancher - Can you confirm this is good to go and close it when QA is pleased? :)

This is working fine with Rancher-master 8073489
Validation - Pass
The longhorn app doesn't appear for windows cluster but one can install using helm and putting the node-selector.

Thank you kindly @khushboo-rancher - Be pleased! 😁

@khushboo-rancher

one can install using helm and putting the node-selector.

That should happen automatically, users shouldn't have to input the Rancher taints/tolerations to be able to deploy to Rancher's windows clusters. I don't see them in here:

deployment: https://github.com/rancher/charts/blob/dev-v2.5/charts/longhorn/longhorn/1.1.100/templates/deployment-driver.yaml#L94-L101
values: https://github.com/rancher/charts/blob/dev-v2.5/charts/longhorn/longhorn/1.1.100/values.yaml#L126-L135

Right, forgot about that.
For future reference see the above link. We choose not to add them to longhorn by default. Rancher's cluster explorer apps will not display longhorn in a mixed cluster, and solution to getting it working via API (or cluster-manager charts) is in longhorn docs.


pythonPackages.magic-wormhole: enable tests

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@asymmetric @garbas now I am getting really confused here. Is this an application or a library?
If it is an application, it shouldn't be in python-modules and python-packages.nix but somewhere else in the tree.

https://github.com/NixOS/nixpkgs/commit/18637d877a282e039a05e93681953d2ff984919c

@FRidh @garbas It's a CLI tool and a library.

@FRidh as said also by @asymmetric magic-wormhole is also cli tool.
should i move magic-workhole into its original position before your https://github.com/NixOS/nixpkgs/commit/18637d877a282e039a05e93681953d2ff984919c commit?


VoxWriter writes back to VOX format, and other improvements

I added a few improvements:

Convert project to Gradle.
Copy and update unit tests from Lignum's JVox.
Fix issues mentioned in https://github.com/Lignum/JVox/issues/1
Some minor refactoring in preparation for the next step, move some classes into packages..
Implement VoxWriter to write the chunks back into VOX format, and write a basic unit test. Some data probably gets dropped, but I checked that Magica Voxel can open the produced files.

Thanks for improving the code.  I was getting a bit frustrated with the lack of good documentation for the vox format, so I stopped working on it myself.

I guess this is only a small step forward. To create a valid .vox file we still need to add all the chunks in the right order. I'm working on that right now in another project, I'll add example code when I get it working.

Here it is! 🎉
https://github.com/SteveSmith16384/VoxFileParser/pull/2


Azure Pipelines: Space in pool name causes HTTP 400 errors

Report
When the pool name contains a space (e.g. "Pool Name"), warnings of type KEDAScalerFailed appear in the logs:
error parsing azure Pipelines metadata: the Azure DevOps REST API returned error. url: https://dev.azure.com/org-url/_apis/distributedtask/pools?poolName=Pool Name status: 400 response: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Bad Request

HTTP Error 400. The request is badly formed.

This doesn't happen when there's no space in the name.
Expected Behavior
I expected the scaler to do whatever's necessary to properly query the given pool name - assuming it's valid. This would result in the scaler calling https://dev.azure.com/org-url/_apis/distributedtask/pools?poolName=Pool%20Name (which returns correctly).
Actual Behavior
The scaler calls https://dev.azure.com/org-url/_apis/distributedtask/pools?poolName=Pool Name and the DevOps API complains that the request is malformed.
Steps to Reproduce the Problem

Create a pool with a space in the name.
Create a self-hosted docker agent.
Run a pipeline that would utilise the self-hosted agent.
Observe the errors in the logs.

Logs from KEDA operator
No response
KEDA Version
2.10.0 (according to kedaConfiguration in the JSON view of the Container App Environment resource)
Kubernetes Version
Unknown, as it's running in Container Apps.
Platform
Microsoft Azure
Scaler Details
Azure Pipelines
Anything else?
This happened when running a self-hosted docker agent using the KEDA azure-pipelines scaler in Azure Container Apps. I don't know whose responsibility it is to add URL encoding to the pool name: KEDA, Azure Container Apps, or the user. The docs don't mention it either way.

Nice catch!
We aren't using URL format on poolName here: https://github.com/kedacore/keda/blob/main/pkg/scalers/azure_pipelines_scaler.go#L268
Are you willing to contribute with the fix?
In the meantime, as ACA has its own release flow, I'd suggest using poolID to mitigate the issue


Use more timely datasets

This prescribing data is released monthly
This patient list data is released much more promptly than the other source we use

Used together, we should be able to get data 6 weeks after the end of every month, up to 3 weeks sooner that currently possible (and more like 6 or 7 weeks sooner on a new quarter, due to the delay in list size data on the current source)

[ ] Map out the three data formats (table in our database, BQ table, new dataset)
[ ] Think about quickest way to convert and store the new dataset
[ ] Integrate this into current data importing regime
[ ] Write a new importer for list sizes that converts to the version we use

Mapping the data formats

Raw, old CSV: SHA, PCT, PRACTICE, BNF CODE, BNF NAME, ITEMS, NIC, ACT COST ,QUANTITY, PERIOD
Converted CSV: SHA, PCT, PRACTICE, chemical, BNF CODE, BNF NAME,ITEMS,ACT COST ,QUANTITY, PERIOD
New CSV: Regional Office Name,Regional Office Code,Area Team Name,Area Team Code,PCO Name,PCO Code,Practice Name,Practice Code,BNF Code,BNF Description,Items,Quantity,ADQ Usage,NIC,Actual Cost
local postgres table:

CREATE TABLE public.frontend_prescription
(
  id integer NOT NULL DEFAULT nextval('frontend_prescription_id_seq'::regclass),
  presentation_code character varying(15) NOT NULL,
  presentation_name character varying(1000) NOT NULL,
  total_items integer NOT NULL,
  actual_cost double precision NOT NULL,
  quantity double precision NOT NULL,
  processing_date date NOT NULL,
  chemical_id character varying(9) NOT NULL,
  pct_id character varying(3) NOT NULL,
  practice_id character varying(6) NOT NULL,
  sha_id character varying(3) NOT NULL
)```

The current route is:

Download and unzip the data
Push it to GCS
Transform it locally
Load transformed version to posgres
Transform GCS with Cloud SQL to append to cloud table

The route from the new CSV is:

Download and unzip the data
Push it to GCS
Query it to transform it to the format we want (can we do all the transformation in SQL?)
Download that and store to postgres
Drop the chemical column and append that to the main BigQuery table

So, to test the process, I've manually:

uploaded November's "new" data here
created a BigQuery table that queries that as an external data source here
Run this query against the "new" data:

SELECT
  BNF_Description AS presentation_name,
  SUM(Items) AS total_items,
  SUM(Quantity) AS quantity,
  SUM(NIC) AS net_cost
FROM
  [ebmdatalab:tmp_eu.foo]
WHERE
  Practice_Code = 'J82116'
GROUP BY
  presentation_name
ORDER BY
  presentation_name

And run this query against the old data:

SELECT
  bnf_name,
  items,
  quantity,
  net_cost
FROM
  [ebmdatalab:hscic.prescribing]
WHERE
  practice = 'J82116'
  AND month = TIMESTAMP('2016-11-01')
ORDER BY
  bnf_name

I've found that the items and net_cost almost always  match up, but only 42% of the quantities match up.  The quantities are almost always smaller - frequently a fraction such as 1.2, 1/3, 1/7.
This suggests something related to the quantities mismatch we've seen previously.

I think the new dataset has each possible quantity separated out, ie. if a single presentation was doled out as 10 tabs in one case and 20 tabs in another, these will appear as two separate lines. So we need to multiply items by quantity in the new data, in order to match up with the quantity in the old data.

Note from @lmfrench:

Once the BSA finally release the list sizes for October we should check that none of the weird GP practices are missing from the NHS Digital list size. BSA documentation says:

“Some of the "Practices" listed in the information are not traditional practices. They are other services which the PCO has set up as a practice ie specialist units or out of hours services These non-traditional practices do not have a patient list size or may not have a dedicated GP working for them.  In these situations the PCO may supply arbitrary numbers such as 1, 2, 50 etc.”
But the NHS Digital documentation doesn’t mention this

Have checked practice codes in NHS Digital & BSA Dataset for October 16. The BSA have 4 practices not  in NHS Digital's dataset. NHS Digital have 33 practices not in the BSA data.
Have looked at how much prescribing has taken place in these practices.
Items for practices not in BSA Dataset (November 2016):
SELECT
  practice,
  SUM(items) AS items

FROM
  ebmdatalab.hscic.prescribing AS presc
   WHERE
  month = TIMESTAMP('2016-11-01')
  AND practice IN ('A81003','A82017','A82052','A83638','A86009','A89611','B82095','B85644','D82098','E82624','E82658','F82004','F82643','F84700','G81064','G81685','G82061','G82715','G83007','J81624','J82091','K82069','K84073','K84076','L83108','L83608', 'L85045','M86629','P84676','P89027','Y00079','Y02164','Y05021')

GROUP BY
practice

ORDER BY
items

19/33 still prescribing
Min items (still prescribing): 1
Max items: 8435 items
Not in NHS Digital's dataset:
SELECT
  practice,
  SUM(items) AS items

FROM
  ebmdatalab.hscic.prescribing AS presc
   WHERE

  month = TIMESTAMP('2016-11-01')
  AND practice IN ('M85704','Y04894','Y01166','Y02128')

GROUP BY
practice

ORDER BY
items

3/4 practices still prescribing
Min items (still prescribing): 31
Max items: 1496
I suspect NHS Digital keeps practices which have closed in their list size information longer than the BSA does e.g. even the practice prescribing 8435 items has merged with another practice https://openprescribing.net/practice/K82069/ - NHS Choices says 'Verney Close Surgery became part of The Swan Practice in July 2016. As a result some, of the information, which is updated by NHS England, is not yet showing. Please see our page for The Swan Practice - North End.' http://www.nhs.uk/Services/GP/Overview/DefaultView.aspx?id=125517
I am not sure why NHS Digital is missing M85704 (currently prescribing 1496 items). It doesn't appear to have shut


Make fetch part of "extra"

I think right now you need to do --all-features to get everything including fetch. Should make fetch part of extra.

I'll take a look at this tonight and do some cleanup for fetch.

We decided to make fetch a default command envisioning future uses of fetch for auto downloading things that we might need. We can probably close this issue when #664 is merged.


Add examples of running MXNet with Horovod

Description
Added a mnist and an imagenet example to show how to run MXNet with Horovod. README page is also added.
Changes

[X] README
[X] mxnet_mnist.py
[X] mxnet_imagenet.py

@yuxihu @rahul003 @ctcyang Please help to review.

@mxnet-label-bot add [pr-awaiting-review]

@pengzhao-intel @eric-haibin-lin @yuxihu @ctcyang Addressed your comments. Please help to review again. Thanks!

@wuxun-zhang could you try to run the example followed with this tutorial?

@pengzhao-intel I have already run the example mxnet_inagenet_resnet50.py in horovod repo and I think these two examples are almost the same. I can retry this example on multi-CPU platform.

@wuxun-zhang Any issue with running the example in CPU following this document? Thanks

I built MXNet from this commit by using GCC 5.3.1-6. When I built Horovod from source using pip install --no-cache-dir -v [horovod_repo_dir], there are no issues. However, when I install Horovod by pip install horovod directly, I got an error like OSError: /home/wuxunzha/anaconda3/envs/conda3_official_horovod_fp32_training/lib/python3.6/site-packages/horovod/mxnet/mpi_lib.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZTINSt6thread6_StateE. I saw there are some existing issues like 656. I also checked the LD_LIBRARY_PATH, but still have the same error.

@apeforest

@wuxun-zhang when you build MXNet from source, did you enable MKLDNN? Horovod 0.16.0 release does not work with MKLDNN enabled libmxnet.so. Our fix went in after the release.

@yuxihu Thanks for reminding. I have re-installed MXNet without MKLDNN by using the command make USE_OPENCV=1 USE_MKLDNN=0 USE_BLAS=openblas -j.  And using the default command pip install horovod to install horovod. When I run python ~/github/incubator-mxnet/example/distributed_training-horovod/resnet50_imagenet.py --no-cuda , there still have an error, OSError: /home/wuxunzha/anaconda3/lib/python3.6/site-packages/horovod/mxnet/mpi_lib.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZNK5mxnet7NDArray7ReshapeERKNS_6TShapeE. I don't know if it is actually related to MPI.
Note: MXNet is built based on GCC 5.3.1-6.

@wuxun-zhang When building from source, I think you need to run pip install --no-cache-dir . in the horovod repo.

@apeforest I think @wuxun-zhang wanted to test with the Horovod PyPi package.
@wuxun-zhang The undefined symbol is not related to MPI. Can you try with the latest MXNet? The one you were using was from January.

@wuxun-zhang Don't have problem running on my MacBook.
----------Python Info----------
Version      : 3.7.2
Compiler     : Clang 10.0.0 (clang-1<IP_ADDRESS>)
Build        : ('default', 'Feb 12 2019 08:16:38')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 19.0.3
Directory    : /Users/lnyuan/.virtualenvs/mxnet/lib/python3.7/site-packages/pip
----------MXNet Info-----------
Version      : 1.5.0
Directory    : /Users/lnyuan/work/mxnet/python/mxnet
Hashtag not found. Not installed from pre-built package.
----------System Info----------
Platform     : Darwin-17.7.0-x86_64-i386-64bit
system       : Darwin
node         : 88e9fe759c49.ant.amazon.com
release      : 17.7.0
version      : Darwin Kernel Version 17.7.0: Thu Dec 20 21:47:19 PST 2018; root:xnu-4570.71.22~1/RELEASE_X86_64
----------Hardware Info----------
machine      : x86_64
processor    : i386
b'machdep.cpu.brand_string: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz'
b'machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C'
b'machdep.cpu.leaf7_features: SMEP ERMS RDWRFSGS TSC_THREAD_OFFSET BMI1 AVX2 BMI2 INVPCID SMAP RDSEED ADX IPT SGX FPU_CSDS MPX CLFSOPT'
b'machdep.cpu.extfeatures: SYSCALL XD 1GBPAGE EM64T LAHF LZCNT PREFETCHW RDTSCP TSCI'
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0025 sec, LOAD: 1.1295 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0231 sec, LOAD: 0.3325 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.0312 sec, LOAD: 0.4660 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0109 sec, LOAD: 0.3440 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0192 sec, LOAD: 0.8956 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0214 sec, LOAD: 0.0652 sec.

@apeforest ready to merge this one?

@wuxun-zhang Do you still have problem running the example on CPU following this guide?

@apeforest @yuxihu  I tried the lastest MXNet repo and ran Horovod (using PyPi package) successfully on CPU. Many thanks for your help.
LGTM

@eric-haibin-lin Could you please help to review or merge this PR if no other concern?


Updated dependency

Setup.py has torch==0.4.1 in it. However, it still works fine with 1.1.
Sven

Thanks! Can you update the Pipfile/Pipfile.lock as well?

Done.

Thanks


[Langchain Integration] Support HuggingFaceHub as LLM

A user got the following error when using the Langchain integration with HuggingFaceHub for LLMs.
ERROR:root:'model_name'
ERROR:root:run not found

Steps

[ ] investigate issue to find root cause
[ ] implement fix
[ ] Add additional tests to the langchain test suite

The user's implementation

def initialize_huggingface_llm(prompt: PromptTemplate, temperature: float, max_length: int) -> LLMChain:
    repo_id = "google/flan-t5-xxl"

    # Experiment with the max_length parameter and temperature
    llm = HuggingFaceHub(
        repo_id=repo_id, model_kwargs={"temperature": temperature, "max_length": max_length}
    )
    return LLMChain(prompt=prompt, llm=llm)

def generate_prompt() -> PromptTemplate:
    # You can play around with the prompt, see the results change if you make small changes to the prompt
    template = """Given the name of the country, give the languages that are spoken in that country.
    Start with the official languages of the country and continue with the other languages of that country.
    Country: {country}?
    Languages:
    """

    return PromptTemplate(template=template, input_variables=["country"])

if __name__ == '__main__':
    load_dotenv()

    handler = CallbackHandler(os.getenv('LANGFUSE_PUBLIC_KEY'),
                              os.getenv('LANGFUSE_SECRET_KEY'),
                              os.getenv('LANGFUSE_HOST'))

    # Try other values to see impact on results
    country = "belgium"
    country_max_length = 100
    country_temperature = 0.1

    country_prompt = generate_prompt()

    hugging_chain = initialize_huggingface_llm(prompt=country_prompt,
                                               temperature=country_temperature,
                                               max_length=country_max_length)

    print("HuggingFace")
    print(hugging_chain.run(country, callbacks=[handler]))

#18 #20


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1329 ms

Resolved: Bofrost.de performance has improved in 0965af1.


Remove subclass feature

Part of gtk-rs/gtk#887
The second commit is for a better dox support.
cc @sdroege @EPashkin

@GuillaumeGomez  Thanks, 👍

:+1:


Version bump

Version bump

Codecov Report

Merging #61 (74bb0a6) into main (d6e0509) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #61   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         1    -1
  Lines          184       181    -3
=========================================
- Hits           184       181    -3

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d6e0509...74bb0a6. Read the comment docs.

Codecov Report

Merging #61 (74bb0a6) into main (d6e0509) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #61   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         1    -1
  Lines          184       181    -3
=========================================
- Hits           184       181    -3

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d6e0509...74bb0a6. Read the comment docs.


Compatible labels with docker-compose.

Fixes the compatible issue with docker-compose
BugFix #132
Signed-off-by: Kunal Kushwaha<EMAIL_ADDRESS>

Job: Libcompose-PRs FAILED:

---
ll commits are properly signed with the DCO!

---> Making bundle: validate-git-marks (in .)
Congratulations!  There is no conflict.

---> Making bundle: validate-lint (in .)
Errors from golint:
docker/container.go:31:7: exported const ComposeVersion should have comment or be unexported
docker/labels.go:16:2: don't use ALL_CAPS in Go names; use CamelCase

Please fix the above errors. You can test via "golint" and commit the result.

Build step 'Execute shell' marked build as failure
[PostBuildScript] - Execution post build scripts.
[Libcompose-PRs] $ /bin/sh -xe /tmp/hudson6278059844380481390.sh
+ set +x

---

This makes service compatible with docker-compose, but may be implementation may not be very correct.

Job: Libcompose-PRs FAILED:

---
 files are properly formatted.

---> Making bundle: validate-dco (in .)
Congratulations!  All commits are properly signed with the DCO!

---> Making bundle: validate-git-marks (in .)
Congratulations!  There is no conflict.

---> Making bundle: validate-lint (in .)
Errors from golint:
docker/labels.go:16:2: don't use ALL_CAPS in Go names; use CamelCase

Please fix the above errors. You can test via "golint" and commit the result.

Build step 'Execute shell' marked build as failure
[PostBuildScript] - Execution post build scripts.
[Libcompose-PRs] $ /bin/sh -xe /tmp/hudson8909867977499832324.sh
+ set +x

---

LGTM 🐼
I'll add somewhere on my TODO list to add a small integration test that start something with libcompose and stops it using docker-compose.

@kunalkushwaha Actually, this is not working if I start to scale things up. The following scenario panics for example :
$ libcompose-cli up -d
# starts two services : simple and another
$ docker-compose ps
     Name        Command   State   Ports
----------------------------------------
toto_another_1   top       Up
toto_simple_1    top       Up
$ docker-compose scale simple=3
     Name        Command   State   Ports
----------------------------------------
toto_another_1   top       Up
toto_simple_1    top       Up
toto_simple_2    top       Up
toto_simple_3    top       Up
$ libcompose-cli ps
WARN[0000] Note: This is an experimental alternate implementation of the Compose CLI (https://github.com/docker/compose)
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x51a282]

goroutine 1 [running]:
github.com/docker/libcompose/docker.(*Container).Info(0xc82035a270, 0xc820310d00, 0x0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/libcompose/docker/container.go:80 +0x6b2
github.com/docker/libcompose/docker.(*Service).Info(0xc82032c600, 0xc8202cf800, 0x0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/libcompose/docker/service.go:214 +0x159
github.com/docker/libcompose/cli/app.ProjectPs(0xc820210a80, 0xc8201646c0)
        /go/src/github.com/docker/libcompose/cli/app/app.go:54 +0x21a
github.com/docker/libcompose/cli/app.WithProject.func1(0xc8201646c0)
        /go/src/github.com/docker/libcompose/cli/app/app.go:40 +0x154
github.com/docker/libcompose/vendor/github.com/codegangsta/cli.Command.Run(0x95f350, 0x2, 0x0, 0x0, 0x9654a0, 0xf, 0x0, 0x0, 0x0, 0x0, ...)
        /go/src/github.com/docker/libcompose/vendor/github.com/codegangsta/cli/command.go:113 +0x1082
github.com/docker/libcompose/vendor/github.com/codegangsta/cli.(*App).Run(0xc8202a4270, 0xc82000a120, 0x6, 0x6, 0x0, 0x0)
        /go/src/github.com/docker/libcompose/vendor/github.com/codegangsta/cli/app.go:156 +0xbb1
main.main()
        /go/src/github.com/docker/libcompose/cli/main/main.go:42 +0x15f2

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1721 +0x1

goroutine 5 [syscall]:
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
        /usr/local/go/src/os/signal/signal_unix.go:28 +0x37

goroutine 6 [chan send]:
github.com/docker/libcompose/cli/logger.generateColors()
        /go/src/github.com/docker/libcompose/cli/logger/colors.go:27 +0x182
created by github.com/docker/libcompose/cli/logger.init.1
        /go/src/github.com/docker/libcompose/cli/logger/colors.go:33 +0x2b

goroutine 7 [chan receive]:
github.com/docker/libcompose/project.(*defaultListener).start(0xc820287360)
        /go/src/github.com/docker/libcompose/project/listener.go:47 +0x9e
created by github.com/docker/libcompose/project.NewDefaultListener
        /go/src/github.com/docker/libcompose/project/listener.go:42 +0xb5

goroutine 10 [IO wait]:
net.runtime_pollWait(0x7f15b0a188e0, 0x72, 0xc820012200)
        /usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(*pollDesc).Wait(0xc820300370, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820300370, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820300310, 0xc820304000, 0x1000, 0x1000, 0x0, 0x7f15b0a0e050, 0xc820012200)
        /usr/local/go/src/net/fd_unix.go:232 +0x23a
net.(*conn).Read(0xc820030518, 0xc820304000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x7f15b0a189a0, 0xc820030518, 0xc8200147e8, 0xc820304000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/http/transport.go:1370 +0x67
net/http.(*noteEOFReader).Read(0xc820302340, 0xc820304000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        <autogenerated>:126 +0xd0
bufio.(*Reader).fill(0xc820191c20)
        /usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc820191c20, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc820014790)
        /usr/local/go/src/net/http/transport.go:876 +0xf7
created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:685 +0xc78

goroutine 11 [select]:
net/http.(*persistConn).writeLoop(0xc820014790)
        /usr/local/go/src/net/http/transport.go:1009 +0x40c
created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:686 +0xc9d

I was able to reproduce this at my end. Occurs if service is created or scaled with docker-compose not otherwise.
It is mainly due to name label which is used by GetContainerByName() function
Below is grep of NAME Label
docker/container.go:358:        configWrapper.Config.Labels[NAME.Str()] = c.name
docker/functions.go:35: filterArgs.Add("label", fmt.Sprintf("%s=%s", NAME, name))
docker/functions.go:36: fmt.Println("Label ", NAME , ":", name)
docker/service.go:77:           name := container.Labels[NAME.Str()]

Will fix it and update the PR.

@vdemeester  The issue is fixed and now name label is removed, and lookup is done on Container's name.
Please review the code as parsing name has some assumption which looks okay in case of compose, but in case I am missing any condition, please let me know :)

LGTM 🐮


Vault: consolidate kubernetes auth mount path

All auth methods in vault support changing the mount path. Right now most of them do that by using the path field. Kubernetes auth uses mountPath. This should be changed to path in order to consolidate.
See:
https://github.com/external-secrets/external-secrets/blob/d53b3df7f83b2b481b7364bd83f1ee3b67f1c113/apis/externalsecrets/v1alpha1/secretstore_vault_types.go#L146-L152
This is a breaking change and must be displayed appropriately in the release notes.
See #567

Hey, I thought of grabbing this issue since it looked simple, yet I can't fully understand it.
What is it that needs to be changed?
❯ k explain SecretStore.spec.provider.vault.path
KIND:     SecretStore
VERSION:  external-secrets.io/v1beta1

FIELD:    path <string>

DESCRIPTION:
     Path is the mount path of the Vault KV backend endpoint, e.g: "secret". The
     v2 KV secret engine version specific "/data" path suffix for fetching
     secrets from Vault is optional and will be appended if not present in
     specified path.

Also, is this the right place to discuss these things or do you prefer the #external-secrets-dev channel in slack?

Let's do it here. This is just a minor inconsistency: The field to configure the Kubernetes auth backend is called mountPath but should be called path. Other authentication mechanisms call it path (e.g. jwt, appRole, ldap).
$ kubectl explain secretstore.spec.provider.vault.auth.kubernetes.mountPath
KIND:     SecretStore
VERSION:  external-secrets.io/v1beta1

FIELD:    mountPath <string>

DESCRIPTION:
     Path where the Kubernetes authentication backend is mounted in Vault, e.g:
     "kubernetes"

$ kubectl explain secretstore.spec.provider.vault.auth.jwt.path
KIND:     SecretStore
VERSION:  external-secrets.io/v1beta1

FIELD:    path <string>

DESCRIPTION:
     Path where the JWT authentication backend is mounted in Vault, e.g: "jwt"

I think this issue should be implemented after we implement the v1 SecretStore types in #690 #691.
We need not only to add the new field but also provide a conversion webhook for the migration.


Add Blackboard theme

Added new varient of Npp UDL for Black board theme users.
Foreground colours are same as Zenburn theme, but backgrounds have been updated to match Black board window background.

Thank you for your nice work. In coming days, I will review in the colors. If you have any suggestion on the colors, please remind me :)
(e.g. which part hurt your eyes, which part make your eye comfortable)


When would you generally need a fallback? / Why is style-loader still used when css is extracted?

When using the extract text plugin, you can specify a fallback loader to use:
{
  test: /\.css$/,
   use: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: 'css-loader'
  })
},

So in these environments:
Development
The extract text plugin will still split the css files, so the fallback is not needed?
Production
Same as above.
Development - Hot Module Replacement
It's generally recommended you disable the extract text plugin in this environment, so is this where the fallback would be useful, as it can then swap out the css with the help of style-loader?

I was surprised to find that in my production and development builds, the style-loader boilerplate code is added even though the CSS was extracted. This goes against what is written in the docs:

fallback - used when the CSS is not extracted (i.e. in an additional chunk when allChunks: false)

What I've been doing is removing the fallback in my production builds because I don't see why it should be needed?
{
 test: /\.css$/,
  use: ExtractTextPlugin.extract({
	 fallback: env == 'dev-hot' ? 'style-loader' : undefined,
	 use: 'css-loader'
  })
},

Could anyone clarify what the recommended usage and why the style-loader seems to be used even though css is extracted?

You can disable this plugin in development.

I have the same question. I don't expect style-loader to ever be used in production, so why is it provided as a fallback?

Yeah I think this is a bug. When all css is extracted and style-loader is used, it shouldn't be included in the bundle at all. The only time it should be included is:

CSS was not extracted
HMR
Async chunks/bundles.

All other cases the style-loader should not be included in the bundle at all, but it seems it is no matter what.

Please don't use extract-text-webpack-plugin to extract css for webpack@4 use https://github.com/webpack-contrib/mini-css-extract-plugin

Should of mentioned, this is for Webpack 3.


Sample Data Changed?

Looks like one of the collections that is checked during the action is 404ing - did the test data change?
Relevant output:
"lighthouseVersion": "8.0.0",
"fetchTime": "2023-07-10T21:33:18.041Z",
"requestedUrl": "https://xxx-lighthouse.myshopify.com/products/amazing-aluminum-bag-collection1?preview_theme_id=154603487540&_fd=0&pb=0",
"finalUrl": "https://xxx-lighthouse.myshopify.com/products/amazing-aluminum-bag-collection1?preview_theme_id=154603487540&_fd=0&pb=0",
"runWarnings": [
"The page may not be loading as expected because your test URL (https://xxx-lighthouse.myshopify.com/products/amazing-aluminum-bag-collection1?preview_theme_id=154603487540&_fd=0&pb=0) was redirected to https://xxx-lighthouse.myshopify.com/products/amazing-aluminum-bag-collection1?_fd=0&pb=0. Try testing the second URL directly.",
"Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 404)"
],
"runtimeError": {
"code": "ERRORED_DOCUMENT_REQUEST",
"message": "Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 404)"
},

Looks like I have a similar issue to this: https://github.com/Shopify/lighthouse-ci-action/issues/47#issuecomment-1549876451


Node.js: Using the API with Authentication

Copied from original issue: https://github.com/googleapis/nodejs-speech/issues/69
@taf2April 29, 2018 6:36 PM
Browsing samples authentication appears to be ignored.   So we get errors like the one below:
Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (/Users/taf2/work/ctm-ai/node_modules/google-auth-library/build/src/auth/googleauth.js:235:31)
    at step (/Users/taf2/work/ctm-ai/node_modules/google-auth-library/build/src/auth/googleauth.js:47:23)
    at Object.next (/Users/taf2/work/ctm-ai/node_modules/google-auth-library/build/src/auth/googleauth.js:28:53)
    at fulfilled (/Users/taf2/work/ctm-ai/node_modules/google-auth-library/build/src/auth/googleauth.js:19:58)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

It might be nice to include examples that show how to exactly pass the API keys into the code so people don't have to guess...

Before you begin
Select or create a Cloud Platform project.

Go to the projects page

Enable billing for your project.

Enable billing

Enable the Google Cloud Speech API API.

Enable the API

Set up authentication with a service account so you can access the API from your local workstation.

from the README - takes me to pages that don't explain how to use the node.js API to authenticate....
Contrast that with examples from similar competing projects:
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/TranscribeService.html
http://voicebase.readthedocs.io/en/v3/how-to-guides/hello-world.html#how-to-get-your-bearer-token
https://console.bluemix.net/docs/services/watson/getting-started-tokens.html#tokens-for-authentication
I just think a few one liners, making this very obvious would help more people use this API with less friction to getting started...
this page for example doesn't help:
https://cloud.google.com/docs/authentication/getting-started#auth-cloud-implicit-nodejs
// Imports the Google Cloud client library.
const Storage = require('@google-cloud/storage');

// Instantiates a client. If you don't specify credentials when constructing
// the client, the client library will look for credentials in the
// environment.
const storage = new Storage();

// Makes an authenticated API request.
storage
  .getBuckets()
  .then((results) => {
    const buckets = results[0];

    console.log('Buckets:');
    buckets.forEach((bucket) => {
      console.log(bucket.name);
    });
  })
  .catch((err) => {
    console.error('ERROR:', err);
  });```

I don't see any thing in there about where to place an API key?

@phsultanApril 29, 2018 7:10 PM
I guess the most common way to use this package is to authenticate using a service account and set the GOOGLE_APPLICATION_CREDENTIALS environment variable to point to the JSON file that matches with the created service account. The token retrieval/refresh procedures are all handled by underlying (gRPC and authentication) packages.
This authentication procedure applies to quite a few other Google services, most probably those which are gRPC based if I'm not mistaken.
Now it looks like authenticating using an API key isn't that easy. You might want to take a look at that issue : https://github.com/googleapis/nodejs-speech/issues/19 that contains some examples of how to use the API the 'REST' way (e.g. with axios) without using nodejs-speech.
Hope this helps!

@taf2April 29, 2018 7:43 PM
Definitely, I just think the readme's on most of the API language bindings should provide a bit more of a complete example... while it's nice that most if not all google API's authenticate in a similar if not unified way... because it is not similar to really any other services... it would or seem to make sense that more language specific examples existed... because without that virtually all samples provided are broken.

My original point was the documentation in general for this API fails to make it easy for new people starting out to quickly get started... Closing this out doesn't really change that right?

@vchudnov-g Is this coming with future sample generation?

yup i hate to be annoying about this but i think there is an opportunity for google to do better here.


Every video frame is sent as a keyframe

Hi. First of all, thanks for your awesome work!
I'm developing a streaming application where native clients stream a vp9 video file to a media server using WebRTC, and there's also a web client where I can consume and view the incoming video track. The video file is in IVF format (vp9) and I can confirm with ffprobe that there's a keyframe every 4 seconds.
I read the IVF video file and stream it using the play_from_disk_vpx example code (IVFReader). But in the web client, when I investigate the webrtc-internals stats, I can see that the number of decoded frames and decoded keyframes are equal. So, somehow every video frame is sent as a keyframe.
I wonder if there's something that I'm missing? Should I do something manually to mark specific RTP packets as keyframes?
Thanks in advance.

I should add that when I encode the IVF file as VP8, everything is fine and the number of decoded keyframes is as expected. So, the problem only exists when I'm streaming a VP9 video file.


package.json unmet dependencies

Issue Overview
npm dependency problem with webpack/webpack-dev-server
Issue Description
npm install fails with unmet dependencies:
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><3 but none was installed.
(does not detect installed webpack 2.1.0-beta.24)
Reproducables
clone repo, npm install
update webpack and webpack-dev-server to v2 beta works:
diff --git a/package.json b/package.json
index 3ce9c60..9d8ee49 100644
--- a/package.json
+++ b/package.json
@@ -107,7 +107,7 @@
     "tslint-loader": "^2.1.5",
     "typescript": "^2.0.2",
     "typings": "^1.3.3",
-    "webpack": "2.1.0-beta.24",
+    "webpack": "^2.1.0-beta.25",
     "webpack-merge": "^0.14.1",
     "zone.js": "^0.6.21"
   },
@@ -120,7 +120,7 @@
     "protractor": "4.0.8",
     "ts-node": "^1.3.0",
     "webpack-dashboard": "^0.1.8",
-    "webpack-dev-server": "^1.14.1",
+    "webpack-dev-server": "2.1.0-beta.5",
     "yargs": "^5.0.0"
   }
-}
\ No newline at end of file
+}

Information

Operating System
Windows

Node version
6.6.0

NPM Version
3.10.3

Environment
Browser

can you create a PR for that? I'll take a look later, thanks

Same issue, and the proposed fix worked for me. @briangann please submit a PR, thanks.


Explicit keywords

Some thoughts on #53.
See the updated readme.

I think making the keyword behaviour explicit is probably a good idea.
I'm not sure about this API, though. Perhaps it should be a nested object?
moo.compile({
  identifier: {match: /[a-zA-Z]+/, keywords: {keyword: ['moo', 'cow']}},
})

Or with individual types:
moo.compile({
  identifier: {
    match: /[a-zA-Z]+/,
    keywords: {
        'kw-class': 'class',
        'kw-def': 'def',
        'kw-if': 'if',
    },
  },
})

For the second form:
itt(['class', 'def', 'if'])
.map(k => ['kw-' + k, k])
.toObject()

Iterator adaptors solve every* problem!

Nice! :-)

        'kw-class': 'class',

I'm also not convinced having the object "backwards" like this, for consistency with the outer moo.compile, is correct.

Let's do this.


Fix: Ninja Repo Link

The previous link was pointing to an unrelated project.

Thanks @ax3l I recall this discrepancy I'll defer this to @eugeneswalker

Pruners ninja is an ECP-relevant project. The ninja build system is not. I couldn't find any E4S/ECP projects that depend on the ninja build system (based on the results of spack find -dx | grep ninja in an E4S environment). I believe any instances where ninja shows up in E4S instead of pruners-ninja are a result of name confusion and should be corrected. This is not the only case of a complication arising from the default spack package name differing from the product name.

I think the way forward here is to change ninja to pruners-ninja in the root spec list for the upcoming E4S 22.05 release. If anyone thinks this is not right let us discuss here.


Tracking: Unsupported Symbols

List of known symbols that don't work due to either bugs or missing parts of the standard. Only one example is provided for each issue.

[ ] Transaction Clone special name: _ZGTtNKSt9exceptionD1Ev -> transaction clone for std::exception::~exception() const
[ ] Something to do with method pointers: _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE -> std::__exception_ptr::exception_ptr::{ctor}(void (std::__exception_ptr::exception_ptr::*)())
[ ] Possibly same as above, but not a ctor: _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv -> std::__exception_ptr::exception_ptr::operator void (std::__exception_ptr::exception_ptr::*)()() const
[ ] Guard Variable special name: _ZGVNSt7__cxx1110moneypunctIcLb0EE2idE -> guard variable for std::__cxx11::moneypunct<char, false>::id

I will PR at least two of these soon hopefully, the other two will require more thought


Fix console warnings during development

Bug Description
I can see two console warnings coming during development.
Steps to Reproduce

Go to Assets Page for the general react key warning.
The second one is little tricky to reproduce but it happens when you move from Home to any other page.

Screenshots/Recordings

I will have a look at this one 👍

I couldn't really reproduce the second issue...

@jamessspanggg Try switching your page when the next language rendition hello world it going to appear. That's probably where the memory leak would be happening.

Managed to replicate and solve both issues. @whitelionx if you don't mind, may I create a PR for this?

Yeah you can @jamessspanggg


Blackout

Probably a mess, but tried to minimize customizing changes (but there are a few, like commenting out the "de-select" code to turn off that feature).

Looks good! Main cleanup is just a few stray comments and print statements. Thoughts on upstreaming this code would be good but not necessary


Declare bit/bool equivalence and differences between bit[n] and array[T, n]

Summary
This formalises the idea that bit[n] is a sequence-like type of which bit[1] is just the length-one variant.  This is distinct from the type bit, which is the scalar of it.  The bit[n] type is expected to be stored bit-packed (certainly when used in expression positions), which is reflected in how it casts to other integer types.
Taken alone, it is fairly meaningless to attempt to have a "bit-aligned" scalar type bit.  We don't attempt to define semantics for this in any sort ABI for OpenQASM 3; the only places this would be observable from within the program are in array and in extern calls, both of which it is forbidden from appearing in.  Instead, the semantics of scalar bit are simply set to have bit and bool be interchangeable in r-value usage.
An additional line about qubit[n] being equivalent to array[qubit, n] is deleted here, since some of the motivation for the rest of this commit is considering the alignment concerns of the bit and bool types; it doesn't really make sense to talk about classical alignment of a qubit type, and there doesn't appear to be any need to allow array[qubit, n] when qubit[n] already suffices.

Details and comments
Close #535

I updated the title of the PR to reflect the two changes it makes, rather than one of them being hidden.


Discord profile status changes to Idle when i'm actually using my computer

Hello i noticed that Discord profile status changes to Idle when i'm actually using my computer

Hello i noticed that Discord profile status changes to Idle when i'm actually using my computer

If I have time, I will do a PR with a fix for this. If someone wants to do it before me, you can use the documentation below;
PowerMonitor - to check computer state with Electron: https://www.electronjs.org/docs/latest/api/power-monitor#powermonitorgetsystemidlestateidlethreshold

closing, no longer issue with the native discord m1 app


I suggest adjusting the order of data and params, sometimes data is not needed

    "/api/TokenAuth/ImpersonatedAuthenticate": {
      "post": {
        "tags": [
          "TokenAuth"
        ],
        "operationId": "ImpersonatedAuthenticate",
        "parameters": [
          {
            "name": "impersonationToken",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ImpersonatedAuthenticateResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImpersonatedAuthenticateResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImpersonatedAuthenticateResultModel"
                }
              }
            }
          }
        }
      }
    },

There was a bug that data was being set even if there was no data available so that will be fixed in a future version.


Good way to sort using the React paradigm?

So we switched from what hystrix-dashboard did with D3 -- shove things right on to the page, and re-sort them in place -- to simply letting the order of the aggregator dictate how they land on the page.

Is there a better, non-gross way, though?

For context, too, we don't want to resort every update period (every second, currently) because then everything would be flying around the page.  We want to update the sorting like every five or ten seconds, and still let individual circuit metrics be updated every second.

More concrete thought on the original issue description:
For all of the commands or thread pools we have, grab the value specified by the sort key.  Sort all of the entries by that key.  Store the sorted order, probably use the names of the command/thread pool as the index.
Every time we go to emit our commands/thread pools, reorder them to match our current sort order.
Every N seconds, refresh this sort mapping.  If we get a command/thread pool we haven't seen before, immediately trigger a sort order refresh.  If the sort key is changed, immediately trigger a sort order refresh.

I'm working on this in #12.


jump to top added in all pages

I have added jump to top button in all pages in webpage.
My issue no: #687
Please add gssoc label and level.

I have added jump to top button in all pages in webpage. My issue no: #687 Please add gssoc label and level.

Please open a new issue for this now.


Question

Can I use this also with javascript?

This package is compiled to js so yes.

Can I fork the repo to use the updated version?

You can just clone it and build it locally. @alvgaona will be pushing the latest version under the new name soonTM


Add support for advanced default values for environment variables

Supports advanced default values using quotation marks, like endpoint urls.
Example:
schema: ${SCHEMA_URL:"http://localhost:5000"}

Also, environment variable usage was added to docs.

Thanks a lot!


TextField label overflow property

Use case
When the material textfield label is too long currently the ui just shows ellipsis. This leads to loss in information that is being conveyed to the user.
This is related to the problem mentioned in https://github.com/flutter/flutter/issues/30439
However the solution provided in that problem still doesn't solve the use case wherein the entire label has to be shown.
Proposal
Please refer to the following design for a textfield, here in unfocused state the entire label is being shown however in focused state the label is shown with ellipsis , this design solves my use case as the user is conveyed the entire information at some point in time.
UNFOCUSED STATE :

FOCUSED STATE:

Similar to https://github.com/flutter/flutter/issues/20569 that is being worked in https://github.com/flutter/flutter/pull/72602.


How to control tooltip default options

Hi there.
Currently I'm working with tooltips to show pictures on hover. Now I run into the problem, that the tooltips have opacity = 0.9 by default (see https://github.com/Leaflet/Leaflet/blob/5b30f7d34461a5bca7927ff368547abe516a8de8/src/layer/Tooltip.js#L66). Is there a way to control the layers default options? In my case I need to control them for the tooltip-pane.
Thanks in advance.

Ok I interpreted this wrong somehow. In fact it is the default parameter of the tooltip itself.
So I know I'm able to bind a new tooltip on leaflet but I already tested this with popups and the solution is not so smooth as it is using the default popup.

Could you clarify the issue/question? Maybe with an example of what is working/what is not?

Finally I solved it. If someone comes across the same problem here is the solution. I solved it with binding my own JavaScript function on the onEachFeature function in the GeoJSON module.
My function has the following code:
window.dash_props = Object.assign({}, window.dash_props, {     module: {         on_each_feature: function(feature, layer, context) {             if (!feature.properties) {                 return             }             if (feature.properties.popup) {                 layer.bindPopup(feature.properties.popup)             }             if (feature.properties.tooltip) {                 layer.bindTooltip(feature.properties.tooltip, { opacity: 1.0 })             }         }     } });

Could you clarify the issue/question? Maybe with an example of what is working/what is not?

I renamed the issue topic. Hopefully it is now clearer what my issue was.


Added callback to Guardian.Plug.ErrorHandler behaviour.

Resolves #372

Great, thank you @asummers!


client: support rpc timeout

This PR closes #1002

See https://github.com/hyperium/tonic/issues/75 for details about rpc timeout.


Remove unnecessary resources dir

The resources directory in the theme is no longer necessary. This PR simply removes it to slim down the repo.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign lucperkins
You can assign the PR to them by writing /assign @lucperkins in a comment when ready.
The full list of commands accepted by this bot can be found 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: 9d478dbb6b5634e860bf8dfc402cba16823a0050

[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


Misleading statement, MS managed should be changed to Self-service

in Prerequisites second paragraph it is a wrong statement:
Create a self-service environment in LCS. The environment should be in a Deployed state. It must be a Microsoft-managed environment. Cloud-hosted, development environments can be used only for the Upgrade from AX 2012 - Data upgrade in development environments procedure.
should be
Create a self-service environment in LCS. The environment should be in a Deployed state. It must be a Self-service environment. Cloud-hosted, development environments can be used only for the Upgrade from AX 2012 - Data upgrade in development environments procedure.

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

ID: 42eeda26-b0da-fe66-ef03-a26dbf16d923
Version Independent ID: 5cb45351-842a-b98b-1120-6eb2f657fe47
Content: Upgrade from AX 2012 - Data upgrade in self-service environments - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/migration-upgrade/data-upgrade-self-service.md
Service: dynamics-365-cross-app
GitHub Login: @sarvanisathish
Microsoft Alias: sarvanis

@terabaitas, thanks for providing this feedback!
@rashmansur, please update the content.

@veeravendhan-s, please review and update the content.

Created bug 620274 to track this issue.


Add lead paragraph component

Imports the lead paragraph component from government-frontend
so that it can be shared across applications

Link to test: https://govuk-static-pr-1168.herokuapp.com/component-guide/lead_paragraph


ISPN-6254 State transfer hangs after CacheNotFoundResponse

https://issues.jboss.org/browse/ISPN-6254
Only call SemaphoreCompletionService.continueTaskInBackground() if
the START_STATE_TRANSFER command was successful.

Pushed, thanks


Additional Results with QueryAllAsync

I am using the QueryAllAsync but I am getting only 2000 records. I understand that there is a NextRecordsURL. Which I have built a HttpWebRequest to get the additional responses, but I was wondering if there was a way with this SDK to get the additional results.

#173 Still an ongoing issue


TLV parsing to proxy protocol v2 with AWS VPC extensions.

I was in the process of investigating the proxyproto library and found this fork off the the pires version. @stu-elastic, I was wondering if you could comment on what is the difference between this pull request and the existing one to add support to TLV here? Do you plan on pushing the changes upstream?
Thanks!

@dtuck9

Do we have everything we need in place as far as licensing goes since we're forking this from pires/go-proxyproto?

Yup, we're good, staying within the Apache 2.0 license.

I'm not familiar enough with TLV/proxy protocol/AWS VPC to really review the logic, so I focused on Go idiomatics and comments. Overall looks good.

Here's the relevant part of the spec.
The information in those bytes will be arranged in Type-Length-Value (TLV
vectors) in the following format.  The first byte is the Type of the vector.
The second two bytes represent the length in bytes of the value (not included
the Type and Length bytes), and following the length field is the number of
bytes specified by the length.

        struct pp2_tlv {
            uint8_t type;
            uint8_t length_hi;
            uint8_t length_lo;
            uint8_t value[0];
        };

Essentially we get a type marker and then a big endian uint16 length and a series of bytes which are interpreted based on the type, eg a 32 bit int for PP2_TYPE_CRC32C (0x03).
The Amazon extension is lightly documented, they use PP2_TYPE_AWS, 0xEA which is within the range of reserved custom types, PP2_TYPE_MIN_CUSTOM, 0xE0 to PP2_TYPE_MAX_CUSTOM, 0xEF.
For value they have their own subtypes, presumably to aid in future extensions:
struct aws_tlv {
  uint8_t type; // Only PP2_SUBTYPE_AWS_VPCE_ID 0x01 currently
  uint8_t value[0]; // Interpreted as string for PP2_SUBTYPE_AWS_VPCE_ID
}

This means that their length in the outer struct, pp2_tlv with type 0xEA, is 1 + length of the the VPC ID.  The extra byte is for their subtype.
I've copied over their unit test, also Apache 2.0, to ensure we're parsing it the same as in their sample Java lib.

@dekimsey in addition to TLV parsing, that change was did a major refactoring of the package, it includes a listener that hides the proxy protocol header values under RemoteAddr, resulting in a significant API break.
This change simply extends the existing API to add TLVs to the Header struct, adding a field which is only populated in the case of TLVs existing in the V2 version of the protocol.  It is not an API break, users of pires's version who don't care about TLVs can simply ignore the change.
I intend to submit this change upstream and will delete our fork if it, or equivalent functionality, is merged.

I'm the author of the PR that was referred to. As has been mentioned under the discussion of that PR it's gone a bit stale, so I definitely support any improvement wrt TLV support.
Was this also tested with other TLV implementations (e.g. haproxy)?

I intend to submit this change upstream and will delete our fork if it, or equivalent functionality, is merged.

Awesome @stu-elastic! Thank you.

@Freeaqingme

Was this also tested with other TLV implementations (e.g. haproxy)?

I've tested it with AWS NLBs and HAProxy version 1.9.5

@dtuck9
I've changed the API around a bit.  Previously, invalid TLVs would return an error, even if the consumer didn't care about TLVs.  This would be an API break since previously working use cases would start breaking.
Now, we store the raw TLV bytes and, if the consumer desires, they can try to split and interpret the TLVs, handling any errors that may occur.

LGTM

https://github.com/pires/go-proxyproto/pull/9


New version of SS solver, using w, r, and BQj

Create a new SS solver that is more robust that only needs guesses for w, r, and BQj (and T_H).  Make sure it includes the market clearing conditions.

Speed and robustness tests show that this method is better.


Fix Order by GraphQLInputObjectType

I tried to pass an input object as an argument to orderBy, which resulted in undefined..
 My query: credits(orderBy: {field: "name", direction:ASC}) {...}
.....
  orderBy: args => {
                console.log(args.orderBy); //Undefined
            },

After correction worked!!, please rate. Sorry for bad english.
PS: Please add to "^1.2.1-beta.9..."

@joserochadocarmo Thanks for the bug fix!

Published 📦


git/directory dependencies don't work

For some reason the loader can't find these while loading the clojure sources, but io/resource works. So I think it's either ShimDandy's loading strategy or the fact that clojure.lang.Compiler/LOADER is bound to an incorrect classloader.

https://github.com/SevereOverfl0w/clj-embed/blob/7449bfb3c1d5fd0719fd4e876b9ed2c5a1de4a45/test/clj_embed/core_test.clj#L52 Example failing test.

A bit more research has yielded that clojure.lang.Compiler/LOADER is a DynamicClassLoader that derives from the correct JCL. Calling (.getResource (var-get clojure.lang.Compiler/LOADER) "cognitect/test_runner.clj") yields a result.
This leaves me quite confused as to why require doesn't work!

Clojure uses a stream for loading: https://github.com/clojure/clojure/blob/28b87d53909774af28f9f9ba6dfa2d4b94194a57/src/jvm/clojure/lang/RT.java#L378 not .getResource.  This implies there's a bug in JCL for .getResourceAsStream for on-disk files.


Some field validation failed， Not allowed to submit，How do you implement this method?

Versions:

VueJs: 2
Vee-Validate:npm install

Description:
Such as the title，Look forward to your reply
Steps To Reproduce:

Take a look at this example:
http://vee-validate.logaretm.com/examples.html#validate-form


Optionally add msg.complete to split node output

so can trigger join even when in manual mode.
to address #4781

[x] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Proposed changes

This fix adds a checkbox to the split node to optionally add the msg.complete (true) flag to the last msg of the sequence sent from the split.

This is to address #4781, which flags a breaking change introduced by #4408 - which was an issue caused by the join node forcibly completing a join when in manual mode even when it wasn't wanted (as the parts property flagged that it was the last in the sequence) - But some users relied on this manual mode (mis-)behaviour and the change to make manual mean manual in #4408 has broken them.
By adding this option to add msg.complete - will force the join to complete - when the last item has been processed even in manual mode.
Checklist

[x] I have read the contribution guidelines
[x] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run npm run test to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Closing this as #4796 is a better fix


Daily data has incorrect timesteps

Data converted to daily from hourly appears to have repeating time steps and incorrect dates.
This is using data found here: /g/data/xv83/mxt599/ccam_era5_aus-11i_12.5km_coupled/drs_cordex/CORDEX-CMIP6/output/AUS-11i/CSIRO/ECMWF-ERA5/historical/r1i1p1f1/CSIRO-CCAM-2204/v1/day/pr
CDO output shows:
$ cdo showdate pr_AUS-11i_ECMWF-ERA5_historical_r1i1p1f1_CSIRO-CCAM-2204_v1_day_19870101-19871231.nc
1987-01-15  1987-02-14  1987-03-15  1987-04-15  1987-05-15  1987-06-15  1987-07-15  1987-08-15  1987-09-15  1987-10-15  1987-11-15  1987-12-15
cdo    showdate: Processed 1 variable over 365 timesteps [0.03s 33MB].

@ngben , Thanks for that. I am aware of the issue and am already working on a fix. In short, the monthly post processor fired on the daily data and reset the time coordinates into "middle of the month". So while the time steps are duplicated, they are in the correct order.
I just spoke with @tha051, and I'm going to bank this fix into the variable batching task #40, this will speed up the processing substantially.
The monthly data should be OK, so please proceed with your analysis on the monthly output.
Cheers, B

@ngben, the hourly data is currently being processed and should complete over the weekend (save for any bugs/crashes) - it should be fixed...


clean up landing page

Since the advisories were moved to their own separate page, the blue callout box no longer works for this layout.
This cleans up the landing page so that the content's visual hierarchy is more clear.

staged at https://snoopycrimecop.github.io/www.openmicroscopy.org/security/

@lunson you've still got .uk in the text above on line 16

Is there a modern way to protect email addresses from spam harvester bots?

I wonder if assembling it via JavaScript still defeats them.

It's cleartext on the Jenkins page, in a code-block, so we should probably do the same.

Merging so I can replace the mail to with a code block on a fresh PR


Remove never released Firebase Segmentation

#no-changelog

The release CI failure is because it finds the podspecs from the repo instead of the PR. Since it is rare to delete a podspec, I'll go ahead and merge and the ci failure should get resolved. cc: @granluo

The release CI failure is because it finds the podspecs from the repo instead of the PR. Since it is rare to delete a podspec, I'll go ahead and merge and the ci failure should get resolved. cc: @granluo

The release and prerelease workflows are supposed to run from the latest releasing tag and the head of the main branch. The pull_request paths are for testing workflow, not for podspecs, to ensure the update of those files will not block the workflow before a PR was merged.


Fix minor typos

It is read only repo. Could you please open a PR here: https://github.com/Payum/Payum


Update ALLOWED_HOSTS and add headers to readiness probe

We should dial-in these host settings in our application:
https://github.com/CUAHSI/platform-recipes/blob/main/hydroshare/chart/templates/settings.yaml#L902
ALLOWED_HOSTS = ["*"]
We added for example
    ALLOWED_HOSTS = [
        '.hydroshare.org',  # Allow domain and subdomains
        '.hydroshare.org.',  # Also allow FQDN and subdomains
        'localhost',
    ]

But then pods failed their readiness probe.
We added a host header to our readiness Probe
https://github.com/CUAHSI/platform-recipes/blob/main/hydroshare/chart/templates/hydroshare.yaml#L65-L71
        readinessProbe:
          httpGet:
            path: /
            port: http
            httpHeaders:
              - name: Host
                value: hydroshare.org

That allows the pods to come up, but interestingly once they come up they cycle back through the init-hydoshare and the application is never served

https://docs.djangoproject.com/en/3.2/ref/settings/#allowed-hosts

I'm going to do some more research and see if this is necessary.


How to get the middle side nodal stress

Hi,
how can I get the middle side nodal stress from .rst file, the results always be nan from plane183. Thank you.

Hi,
how can I get the middle side nodal stress from .rst file, the results always be nan from plane183. Thank you.

MAPDL doesn't calculate stress values for mid-side notes, just for edge nodes.  I recommend interpolating these values from the edge nodes using another software package (perhaps pyvista's interpolation filter) if you'd like to get values at the mid-side notes.  Realize that the interpolation won't be perfect since it's not an averaged extrapolation as in the edge nodes.
For more details regarding the interpolation filter, see https://docs.pyvista.org/examples/01-filter/interpolate.html


iOS - Previous conversation is briefly visible when opening a new chat

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

Action Performed:

Open iOS e.cash app and log in
Navigate to a conversation
Go back to LHN
Open a different conversation

Expected Result:
New chat should be displayed.
Actual Result:
Previous conversation is briefly visible before displaying the correct chat.
Platform:
Where is this issue occurring?
Web
iOS ✔
Android
Desktop App
Mobile Web
Version Number: 1.0.73-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Issue not reproducible in the Android app.
https://user-images.githubusercontent.com/44479856/123075820-d99a3e00-d418-11eb-9251-d049eadb6d82.MP4
Expensify/Expensify Issue URL:
View all open jobs on Upwork

From @puneetlath https://expensify.slack.com/archives/C01GTK53T8Q/p1624380109498500

ISSUE: on iOS staging:
tap into a chat
tap back to the home screen
tap into a different chat
the last chat you were in will flash on the screen before the new chat shows

Triggered auto assignment to @roryabraham (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Triggered auto assignment to @mitchexpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Sorry for the delay here, let's get this on Upwork!

For posterity's sake: We had another issue https://github.com/Expensify/Expensify.cash/issues/2154 open for this before, and a  PR https://github.com/Expensify/Expensify.cash/pull/2221 was made to try and fix it.
I think one of the problems with our current fix is that this code block is never executed the way we intended
https://github.com/Expensify/Expensify.cash/blob/c5707430dff9ecfb631012bb0ba25357c7f367e5/src/pages/home/ReportScreen.js#L37-L44
That's because our component is remounted whenever we change our reportID and the ComponentDidUpdate lifecycle isn't called on the first render. This means that in our implementation, every time ComponentDidUpdate is called our component will have updated its props already (prevProps === this.props) and our reportChanged check will always return false.
Proposal

Delete the ComponentDidUpdate lifecycle
Conditionally render our ReportView here, something like
{!this.shouldShowLoader() && <ReportView reportID={this.getReportID()} />}
This gives us the behavior below

https://user-images.githubusercontent.com/53711423/124070288-f4ba0e80-da13-11eb-8352-d8c2090875e7.mp4

Thanks for the explanation @rdjuric!

our component is remounted whenever we change our reportID

It seems like this was not the intention when this PR was written, and I wonder if this is the real source of the issue. Do you know why the ReportScreen remounts entirely when the reportID changes? I see that the parent component is only passing a reportID as a route param, but why would changing the route prop trigger a full remount of the component?

@roryabraham Good questions!
I don't think the remount is the cause since our ComponentDidUpdate would do the same thing as ComponentDidMount does in case our reportChanged check ever returned true.
i.e remounting is also calling this.prepareTransition()  correctly when we change reports, and adding a few logs shows that our FullScreenLoadingIndicator is also being set to visible as it should.
I think the problem is really that we're trying to render both the FullScreenLoadingIndicator and the ReportView while loading. So if our ReportView takes 300ms or more to be painted, our LoadingIndicator isn't shown at all and we're stuck on the old ReportView during the whole transition.
I'll talk a bit about the remounts in the next comment.

Do you know why the ReportScreen remounts entirely when the reportID changes? I see that the parent component is only passing a reportID as a route param, but why would changing the route prop trigger a full remount of the component?

It's not the prop change that is triggering the remount (the parent is also being remounted), but the way we navigate in our drawer navigator. This reset here causes the remounts.
https://github.com/Expensify/Expensify.cash/blob/870c3db1675bb294c8961a8db88bc1ffa276dea9/src/libs/Navigation/CustomActions.js#L27-L35
I modified it a bit so that it would stop remounting our routes and this issue kept happening
https://user-images.githubusercontent.com/53711423/124189704-7f901d00-da97-11eb-927a-67da5b1a3ca6.mp4

My bad for the delay! Missed the "external" assignment on this one, here's the Upwork job.

Hmmm okay thanks for digging into this some more @rdjuric. I think that good enough for me to agree that we should just take the path of least resistance and move forward with your original proposed solution. Feel free to submit a PR once you're been hired on Upwork.
@MitchExpensify feel free to hire @rdjuric if/when he applies on Upwork.

Hired!

Sorry for the delay here @roryabraham! PR is up at #3908

Merged!

Shouldn't this issue have been closed once the PR was merged or when it hit production?
@MitchExpensify , can you review, pay in Upwork then close this issue?
I went to do it in Upwork but saw this message from you and got confused

Shouldn't this issue have been closed once the PR was merged or when it hit production?
@MitchExpensify , can you review, pay in Upwork then close this issue?
I went to do it in Upwork but saw this message from you and got confused

I think this is the message I sent to mitch on Upwork 😅

Paid! Apologies for the delay @rdjuric

@rdjuric thanks for comment, makes sense now.
@arielgreen going back to 'shouldn't this issue have been closed' - Our new process will NOT close the issue so what I should have said was 'shouldn't an automated comment have been added stating that the PR had been merged?
Also, our new process will be adding Awaiting payment and Weekly labels to issue once the PR is merged so that contributor managers will know to pay in a week

@mallenexpensify ah, yeah I think you're correct; might be due to what @MonilBhavsar was saying elsewhere, that since this is an older issue it wasn't in the DB so it didn't get the automated comment.


Rework broker to return standard error types from core

Right now we use unwrap everywhere, let's get rid of that. We should return standard errors everywhere we can.
Todo: how to chain an error from say Redis into a standard error with thiserror?

Brokers now return errors related to their implementation (RedisError for example)


[FEATURE]Get Stuck and force quit when using GUI from terminal

Hello,
I have a question regarding an issue I encountered after dragging a picture. While I can usually open it without any problems, it seems to became unresponsive when I dragged a .tif file into it. Is this issue related to the size of my document, which is 600MB? I'm also curious to know if there's a limit to the picture size.
Thank you for your assistance!

it could be that the tiff is not in a shape/type that cellpose recognizes. check out how it loads in a jupyter-notebook e.g. from cellpose import io; io.imread("img.tif") and see how many dims it has / channels. going to close for now but if you have issues I'll reopen


do not ignore package-lock.json

the package-lock.json is vital for the build reproducibility.  Without this what is used for the build is non deterministic (withouth actually hard locking all dependencies in package.json which is not the case here)
this removes the ignore and checks in a package-lock.json that was created from building a clean checkout
see https://github.com/jenkinsci/bom/pull/2121#issuecomment-1571752616
amends #219

Testing done

Submitter checklist

[ ] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[ ] Ensure that the pull request title represents the desired changelog entry
[ ] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

This introduces changes in the local workspace just by building the project:

because something was just released - these should cause a CI build to fail.  will look at the project setup

The Build was using npm install unconditionally which does not honour the package-lock file and hence allows builds that are not repeatable.
Switched to npm ci which will use the exact versions of the dependencies
see https://docs.npmjs.com/cli/v9/commands/npm-ci and https://docs.npmjs.com/cli/v9/configuring-npm/package-lock-json
this will make the build slower for devs as node_modules will be wiped out - it is left as an excersize for someone else to choose if this is not wanranted and local builds should behave differently to CI by introducing a profile, however as release builds are not performed in CI this has currently not been done and I do not beleive it should not be done unless release builds also use npm ci  or releases are performed only in a I context (where a ci profile would be active).

I now pinned all versions in the package.json

not if the package-lock.json has changed when you build the exact same sources that I did :)

The ci command is basically a install which whips out the npm folder before installing the dependencies. It will fail in certain conditions https://docs.npmjs.com/cli/v9/commands/npm-ci

The project must have an existing package-lock.json or npm-shrinkwrap.json.
If dependencies in the package lock do not match those in package.json, npm ci will exit with an error, instead of updating the package lock.
npm ci can only install entire projects at a time: individual dependencies cannot be added with this command.
If a node_modules is already present, it will be automatically removed before npm ci begins its install.
It will never write to package.json or any of the package-locks: installs are essentially frozen.

Basically the command is to make sure all versions of dependencies are the same as in the lock that makes sure that if you forget to commit the updated lock after you changed the package.json that the build will fail. It's designed to run on CI since in local dev you normally do not want your npm folder to be whipped every time.

Seems to work as expected with the new changes in pom.xml now.


older versions of the documentation

the link of the older versions docoment is l invalid

Could you post the invalid link?

Closing as dupe of https://github.com/reactjs/reactjs.org/issues/3138

Fixed in https://github.com/reactjs/reactjs.org/pull/3516


Displaying images using Cantaloupe

Hello, I have successfully launched the program, and it is working well.
However, when I try to add an image or string to Cantaloupe, they do not appear as intended.
Strangely, when I add the sample image using this link: it shows up correctly.
This is a sample image in both cases.
With the sample image :

And this is the other version that is not working :

Can you please help me,

An image overlay must be a 24-bit PNG image, either RGB or RGBA. It will be blended pixel-for-pixel into the output image.
aand for string :
String overlays are dynamically rendered onto an image using Java 2D. The font family, size, weight, color, stroke color, background color and opacity, etc.,
Many thanks


Triple equal ligatures rendered incorrectly in different font size.

Ive recently been using operator-mono-lig to patch ligatures for Operator Font. On the default font size setting of vscode (which is 14px) the ligatures is rendered horrifically, especially the triple equal glyph. I have attached a photo of it.
I either have to change the fontsize to 11px or 16 whichpx is too small or too large to get over it. I never have this issue with Dank Mono or Fira Code. Is there anyone else having this issue?
The resolution Ive used is 1920x1080. Im using the lastest release of the patch and Operator SSm version.

Sorry about that. Hinting is hard. It's even harder when you are patching an existing font vs building a new font like Fira Code or Dank Mono.
Glyphs with horizontal and vertical lines are especially difficult when you have a limited number of pixels available.
I use 16 px on a 4K screen so it wasn't an issue for me. I will try it out on different resolutions and pixel sizes to try and catch these early. Our resident designer @amitkparekh is in the process of redoing all the ligatures, so we'll pay closer attention to hinting.
Thanks for the report.

Hey, thanks a lot for replying. This definitely sounds great.
In the meantime, I think the optimal fontsize and resolution should be mentioned in the readme though.


New add clipboard experience

In the comments of the design coms on slack I suggested an automated 'most recent'  so anything block added/edited recently could be pasted again without it needing to be explicitly copied to the clipboard. A strategy similar to the recent designs capability I demod on Button Nav, though obviously way different in detail

Updated the design to sync styles with the Add Stack experience.


[BEAM-5884] support null values in Array and Map.

support null values in Array and Map. Right now Row verify will fail the check if Array element or Map value is null. This PR fixes it to allow null value exist in arbitrary nested Array or Map.

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

R: @reuvenlax @kennknowles

What is the use case for null array elements?

Use case: if a field is missing from an input data set, i.e. unknown, that is a different situation that a known empty array. Every data type needs to have the ability to be nullable.

TBH nullability doesn't compose, hence Optional or equivalent in every language with good support for complex types or generic types (incl. built-in arrays and maps). I don't know if SQL has caught up in that regard.

What should the default for list entries be? Nullable or not nullable?
On Sun, Oct 28, 2018 at 12:55 PM Kenn Knowles<EMAIL_ADDRESS>wrote:

Use case: if a field is missing from an input data set, i.e. unknown, that
is a different situation that a known empty array. Every data type needs to
have the ability to be nullable.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/6861#issuecomment-433736007, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AUGE1ShWNw8Cfcl1u8W9LXKRQwsfM1Ygks5upguagaJpZM4X9yY-
.

Ah, I thought this was adding support for NULLABLE<ARRAY<T>> but it is adding support for ARRAY<NULLABLE<T>>. This is exactly what is necessary for composability. We should do this regardless, but I'm curious what the SQL standard and other engines support.

The default for everything should be non-nullable except in cases where compatibility with some standard requires us to be nullable by default.

It is admittedly much less likely to have unknown data not at the top level, so this is mostly relevant for intermediate stages of a computation.
I'm not sure this is the best code approach to the feature; we should just add a nullability flag to types in general rather than having the flag on the container type.

Yes. It is adding ARRAY<NULLABLE<T>>.
The reason I think container type should has nullable, is there is a difference between NULLABLE<ARRAY<T>> (which is a flag in Array Field) and ARRAY<NULLABLE<T>> (which is flag for container type T).
It's two difference concepts:

ARRAY as a field (or type) can be null. E.g. a null array`.
ARRAY element type can be null. E.g. array<int32>(1, 2, null, 3, null).

So there could be a not nullable ARRAY field with a nullable content type, which is not a conflict.

@kennknowles 's suggestion actually makes lots of sense. Following that suggestion require a large change in Beam repo.

Yes, having nullabillity as a boolean flag doesn't really compose. I think SQL will be that way forever because it is too late. But we can do the right thing in Beam schemas and map SQL into them.


add snapmirror calls

This PR adds snapmirror create/read calls, LS init/update calls as well as tests for them. It also changes how volume operations parameters are passed in slightly so that vserver is first.

thanks


asserts don't print failed condition if sources are not present in kernel file

When dart vm runs against kernel file without source code embedded in it, failed asserts report null instead of original dart condition:
'\'file:///$FH/flutter/packages/flutter/test/foundation/error_reporting_test.dart\': Failed assertion: line 12 pos 12: \'null\'',

The penalty of having source code present just to have asserts reporting correct condition seems to be too high: for flutter tests (package/flutter) average kernel file with the source is 16M vs 6M without source. Test execution time when running against kernel files without source code drops by ~25% (from 2m50s to 2m07s).
It seems reasonable for assert in Kernel AST to capture source text condition in the kernel file itself instead of capturing just token positions.
@rmacnak-google

Thanks Jens.
Can you clarify please what other kind of error reporting source is used for? "debugging" - do you mean observatory? Other aspects of observatory will still be usable.
Also how flutter uses sources to properly invalidate changed files?

Basically every call to H.ReportError (e.g. for constant evaluation errors) (with a token position) uses the source to add a code-snippet to the error report.

Observatory, sure - but more generally, whatever uses the service protocol to get source. But also internally, if calling Script::GetTokenLocation with a token_len --- and Script::TokenRangeAtLine seems to use the source (which again is used for setting breakpoints in the debugger).

Flutter uses source to properly invalidate changed files when initializing from a dill. The frontend_server (in package:vm) loads the source code in the dill it's asked to initialize from, reads every file and checks that the content is still the same. If it's not the file is invalidated.

I'm not saying that we cannot change these things - we probably can, and maybe even should (e.g. for invalidating I'd like to try to include a timestamp as well and invalidate based on that so we avoid reading all files when initializing from dill in the frontend_server in a hope that that's faster).
We're somewhat getting of topic here though - I still don't think we should include the assert condition text in asserts. I am all for getting less reliant on the source and maybe eventually find a way to let the VM (et al) know about the source without directly including it in the dill file.
As for the speedup of the flutter tests a good first step might be figuring out what exactly is 43 seconds faster when you don't include the source. Is it writing the dill? Reading the dill? Loading in source in the VM? Something else? If we can pin that down, can we optimize it?

I just tried to reproduce your findings, but couldn't:
With source:
$ flutter test --local-engine=host_debug
02:18 +3115 ~25: All tests passed!
$ flutter test --local-engine=host_debug
02:18 +3115 ~25: All tests passed!
$ flutter test --local-engine=host_debug
02:19 +3115 ~25: All tests passed!

Without source:
$ flutter test --local-engine=host_debug
02:15 +3106 ~25 -9: Some tests failed.
$ flutter test --local-engine=host_debug
02:13 +3106 ~25 -9: Some tests failed.
$ flutter test --local-engine=host_debug
02:12 +3106 ~25 -9: Some tests failed.

So slightly faster without the source, but only in the 3-7 second (2-5%) range.
If you throw https://github.com/flutter/flutter/pull/22407 into the mix you get this instead:
With source:
$ flutter test --local-engine=host_debug
01:18 +3115 ~25: All tests passed!
$ flutter test --local-engine=host_debug
01:17 +3115 ~25: All tests passed!
$ flutter test --local-engine=host_debug
01:18 +3115 ~25: All tests passed!

Without source:
$ flutter test --local-engine=host_debug
01:14 +3106 ~25 -9: Some tests failed.
$ flutter test --local-engine=host_debug
01:17 +3106 ~25 -9: Some tests failed.
$ flutter test --local-engine=host_debug
01:17 +3106 ~25 -9: Some tests failed.

Here, removing the source might be faster, but I don't think it's statistically significant.
What I think might have happened is that you're comparing flutter test with flutter test --local-engine=host_debug which, at least on my machine, is quite different:
With source:
$ flutter test
02:39 +3101 ~25: All tests passed!
$ flutter test
02:28 +3101 ~25: All tests passed!
$ flutter test
02:28 +3101 ~25: All tests passed!

which compared to the numbers from flutter test --local-engine=host_debug without source (2:15, 2:13, 2:12) is at least closer to what you saw (though there's still some way up to a 25%/43s difference).

Can you clarify please what other kind of error reporting source is used for? "debugging" - do you mean observatory? Other aspects of observatory will still be usable.

FWIW, this has come up a few times in Dart Code. Now that sources aren't included, when the user ends up breaking inside SDK source they see this:

This mostly happens when an exception occurs inside dart: sources because VS Code jumps to the top stack frame (this will change in a future update, though the user can still always navigate up the stack and see this message).
It's also confusing because users can invoke Go-to-definition on framework source and see the source code in the editor, then when they debug and try to step into it it we say there's no source.

In regards to the source now missing I created https://github.com/dart-lang/sdk/issues/34832 (basically requesting to put it back in or creating some mechanism for the VM to provide it by other means).

App crashing in release
flutter: ══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during a scheduler callback:
flutter: Offset argument contained a NaN value.
flutter: 'dart:ui/painting.dart': Failed assertion: line 38: '<optimized out>'
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new?template=BUG.md
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      _offsetIsValid (dart:ui/painting.dart:38:10)
flutter: #3      Path.contains (dart:ui/painting.dart:2090:12)
flutter: #4      ClipPathLayer.find (package:flutter/src/rendering/layer.dart:1137:19)
flutter: #5      ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #6      OffsetLayer.find (package:flutter/src/rendering/layer.dart:846:18)
flutter: #7      TransformLayer.find (package:flutter/src/rendering/layer.dart:1218:18)
flutter: #8      ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #9      ClipPathLayer.find (package:flutter/src/rendering/layer.dart:1139:18)
flutter: #10     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #11     PhysicalModelLayer.find (package:flutter/src/rendering/layer.dart:1515:18)
flutter: #12     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #13     OffsetLayer.find (package:flutter/src/rendering/layer.dart:846:18)
flutter: #14     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #15     OffsetLayer.find (package:flutter/src/rendering/layer.dart:846:18)
flutter: #16     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #17     PhysicalModelLayer.find (package:flutter/src/rendering/layer.dart:1515:18)
flutter: #18     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #19     OffsetLayer.find (package:flutter/src/rendering/layer.dart:846:18)
flutter: #20     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #21     OffsetLayer.find (package:flutter/src/rendering/layer.dart:846:18)
flutter: #22     ContainerLayer.find (package:flutter/src/rendering/layer.dart:616:36)
flutter: #23     OffsetLayer.find (package:flutter/src/rendering/layer.dart:846:18)
flutter: #24     TransformLayer.find (package:flutter/src/rendering/layer.dart:1218:18)
flutter: #25     RenderView._updateSystemChrome (package:flutter/src/rendering/view.dart:218:58)
flutter: #26     RenderView.compositeFrame (package:flutter/src/rendering/view.dart:201:9)
flutter: #27     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:350:16)
flutter: #28     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:701:13)
flutter: #29     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
flutter: #30     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15)
flutter: #31     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9)
flutter: #32     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:864:5)
flutter: #36     _invoke (dart:ui/hooks.dart:219:10)
flutter: #37     _drawFrame (dart:ui/hooks.dart:178:3)
flutter: (elided 5 frames from class _AssertionError and package dart:async)
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════

@rajeshzmoke, I am getting the same error. Do you able to solve the issue?

No update since June 2019? That's really weak. This seems to randomly occur and is a fatal platform flaw.

Happening also here today , using Flutter (Channel stable, 3.24.5).
Any fix and/or workaround? This "optmized out" makes debugging very very hard...
Thanks


Update engine-api to 1fb8f09960cc32b9648495a422c960fb2a4f8a09

Update engine-api for https://github.com/docker/docker/pull/22481/files
Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

@LK4D4 PTAL

I need to fix up code. Looking into it.

okay, pushed update that should fix the build.

LGTM

LGTM


Changed TickerProviderStateMixin to SingleTickerProviderStateMixin in…

Description
The _ScrollbarState implements the TickerProviderStateMixin, however it uses only 1 AnimationController , that is, _fadeoutAnimationController. In cases where there is only one AnimationController, a SingleTickerProviderStateMixin is more efficient.
Related Issues
Fixes #66492
Tests
No additional tests were required.
Breaking Change

[x] No, no existing tests failed, so this is not a breaking change.

@googlebot I signed it!

There aren't any tests for this PR because it's essentially fixing a typo. There's no change in the class' behavior, semantics.


CH-Preparation of Generic Vehicle

We introduced a small bug with the Generic weighting. When we pass a null Graph on initialization, we try to get the NodeAccess, which results in a null-pointer exception.

Thanks!