Start failed in China even added mirror related parameters

Windows 10
PowerShell with admin privileges
minikube start --registry-mirror="https://hub-mirror.c.163.com"  --image-mirror-country="cn"  --driver=hyperv
* minikube v1.23.0 on Microsoft Windows 10 Pro 10.0.19043 Build 19043
* Using the hyperv driver based on user configuration
* Using image repository registry.cn-hangzhou.aliyuncs.com/google_containers
* Starting control plane node minikube in cluster minikube
* Creating hyperv VM (CPUs=2, Memory=6144MB, Disk=20000MB) ...
! The image 'registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetesui/dashboard:v2.1.0' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetesui/metrics-scraper:v1.0.4' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-minikube/storage-provisioner:v5' was not found; unable to add it to cache.
! This VM is having trouble accessing https://registry.cn-hangzhou.aliyuncs.com/google_containers
* To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
* Preparing Kubernetes v1.22.1 on Docker 20.10.8 ...
X Unable to load cached images: loading cached images: CreateFile C:\Users\hantsy\.minikube\cache\images\registry.cn-hangzhou.aliyuncs.com\google_containers\kubernetesui\dashboard_v2.1.0: The system cannot find the file specified.
! initialization failed, will try again: wait: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.22.1:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap,Mem": Process exited with status 1
stdout:
[init] Using Kubernetes version: v1.22.1
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

stderr:
        [WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR ImagePull]: failed to pull image registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.4: output: Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.4 not found: manifest unknown: manifest unknown
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

*
X Error starting cluster: wait: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.22.1:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap,Mem": Process exited with status 1
stdout:
[init] Using Kubernetes version: v1.22.1
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

stderr:
        [WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR ImagePull]: failed to pull image registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.4: output: Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.4 not found: manifest unknown: manifest unknown
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

*
╭─────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                │
│    * If the above advice does not help, please let us know:                                 │
│      https://github.com/kubernetes/minikube/issues/new/choose                               │
│                                                                                │
│    * Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue.    │
│                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯

X Exiting due to GUEST_START: wait: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.22.1:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap,Mem": Process exited with status 1
stdout:
[init] Using Kubernetes version: v1.22.1
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

stderr:
        [WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR ImagePull]: failed to pull image registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.4: output: Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.4 not found: manifest unknown: manifest unknown
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

*
╭─────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                │                         │    * If the above advice does not help, please let us know:                                 │                         │      https://github.com/kubernetes/minikube/issues/new/choose                               │                         │                                                                                │                         │    * Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue.    │                         │                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯

This looks like a support request
/kind support

/remove-kind bug

Please use #minikube on k8s slack or log an issue in kubernetes/minikube.
/close


feat: NIP-40

Expiration Timestamp

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

21 of 21 (100.0%)  changed or added relevant lines in 7 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 92.687%

Totals

Change from base Build<PHONE_NUMBER>:
0.4%

Covered Lines:
454

Relevant Lines:
494

💛  - Coveralls


Update instructions for ctags 5.8

CTags now (version 5.8) uses a directory of files for additional languages rather than one single file. Instructions updated and ctags renamed to make copying easier.

Thanks! I will update the release notes to credit your contribution next.


Addressing Unknown Data Fields

When exporting patient data using the CSV download tool you'll see that a significant amount of the input fields are blank. What I'd like to figure out if whether these fields are blank because they are unknown at that point in the cm process, or if they are blank because of how the inputs are presenting in the download.
I'd like to propose that we add "unknown" as an option to the following input fields in DARIA (Age; Race/Ethnicity; Employment Status; Minors in Household; Adults in Household; Income; Insurance; Referred By; Appointment Date; LMP at intake; Clinic; Abortion Cost; Patient Contribution; NAF Pledge; DCAF Pledge). The CM would need to change the "unknown" selection to the correct information whenever they finish the intake process/get the answer to those questions. Right now, it's difficult to tell whether those fields were left blank intentionally or unintentionally, and this is a major complication for any data analysis we'd like to do. If we are able to train CMs to use an "unknown" option as a placeholder, we will have a fuller picture of what patients are still in the cm process and it will help us to look at drop off rates and patterns.
For fields like Urgent and Spanish, I'd like to find out whether there is a way for us to use binary switch so that if the cm doesn't mark them true, they automatically register as false.
Also, I want to flag two issues that have come up when exporting the data.

Although the input field in DARIA is listed as "Race/Ethnicity," the export contains two columns ("Race/Ethnicity" and "Race or Ethnicity"). For some reason, "White/Caucasian" is only present in the column labeled "Race or Ethnicity." I believe the blank fields under the Race/Ethnicity column in the export do contain White/Caucasian inputs, but there might be an issue with how it's presenting in the export.

In addition to containing duplicative/split columns for ethnicity, there are also two columns for employment status. One column header presents as "Employment Status" and the other reads "Employment status". Not sure the genesis of this change in DARIA, but it would be helpful to get more context on why these fields split and appear twice in the CSV export file.

Let me know if I can help clarify any of these points. Thank you!

I'd like @cmgiven 's expert opinion on analysis of unknown data. Also interested in the datakind team's thoughts, though I don't know their github handles, especially since they've gone thru our data before. My assumption would be that people marked nil are effectively 'unknown' for purposes of analysis, but I don't know what the analytics appropriate action to take here is, so I defer to the experts.
A change is going to come for the language fields in #1138, which I think will render that concern moot.
The duplicates are definitely a bug (good catch!) and filed to #1139, so we can track that independently.

Let's talk tonight! I had a good discussion with the cm team about this,
and we have some other ideas for getting at the problem.
On Tue, Jul 18, 2017 at 11:43 PM Colin<EMAIL_ADDRESS>wrote:

I'd like @cmgiven https://github.com/cmgiven 's expert opinion on
analysis of unknown data. Also interested in the datakind team's thoughts,
though I don't know their github handles, especially since they've gone
thru our data before. My assumption would be that people marked nil are
effectively 'unknown' for purposes of analysis, but I don't know what the
analytics appropriate action to take here is, so I defer to the experts.
A change is going to come for the language fields in #1138
https://github.com/DCAFEngineering/dcaf_case_management/pull/1138,
which I think will render that concern moot.
The duplicates are definitely a bug (good catch!) and filed to #1139
https://github.com/DCAFEngineering/dcaf_case_management/issues/1139, so
we can track that independently.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/DCAFEngineering/dcaf_case_management/issues/1127#issuecomment-316263998,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aa6vLW4XDVeL50zHwepUoT5QY-sXeXipks5sPXtFgaJpZM4OPGEP
.

Hi @colinxfleming @lwaldsc  @NerdyGirl537 ! I have another set of questions/flags for you about the CSV export -

The "Date of Check" field on the pledge fulfillment page in DARIA does not show up in the CSV export. Can we add this to the export on the back end so we are able to see the date of check information in the CSV pull?

The data fields on the pledge fulfillment page in DARIA do not match the ones exported as columns in the CSV file. For example "Weeks Along at Procedure" shows up as "Gestation at procedure in weeks" (I think). Also, the CSV file pulls a "Procedure Cost" column, but there isn't  a space on the fulfillment page on DARIA to enter that info. I think it's just a duplicate of "Abortion Cost" from the Abortion Information page in DARIA?

If we use the accounting tool under Admin tools in DARIA to search and find clients to input fulfillment data, is there any reason why that data wouldn't save or would be fractured? We will test this out, but I wanted to see if there was a reason we shouldn't be using the accounting tool to search clients and input fulfillment data.

If the pledge fulfillment information (clinic, DCAF pledge amount, etc.) doesn't match what is on the pledge form, how do we reconcile this? Do we have to resend a pledge in the system with the correct info? (I expect this won't be much of an issue in the future since it's auto-generated from this point on.)

There are some profiles where the pledge has been fulfilled but the status at the top of the page says "pledge sent." Any insights here? Happy to point you to an example.

Is there any reason why we shouldn't put the check number in DARIA? I know this field was left blank in the past.

THANK YOU!!!!!!!!!!!!!!!!!!!!!!!!

Down the line:

Weird that date of check isn't pulling. I'll take a look and see what the deal is there. It's been a null field until recently due to a surprise bug, a fix for that should deploy soon-ish.
Yeah, it looks like there's some discrepancy there on Gestation at procedure in weeks, and possibly also Procedure cost. I'll figure out what's up and open a ticket.
The Accounting tool isn't really set up yet, I wouldn't use it until we build out the workflow. I will disable that nav link to make sure nobody stumbles upon it accidentally. Unfortunately have to recommend entering fulfillments by individual search for the time being, though @eheintzelman spun up some great designs for that which are in the list.
Pledge fulfillment status has an open PR that should be in production before the end of August.
I don't think there's a reason not to enter check date but it's probably a joint call between you and accounting, recommend you confer with Crofoot on how exactly you'd like to handle that.

@alisonnjones are there any discrete steps to take here engineering/app side? If not can we spin some stuff into the DARIA analytics repo and close this here?

Weird that date of check isn't pulling. I'll take a look and see what
the deal is there. It's been a null field until recently due to a surprise
bug, a fix for that should deploy soon-ish. Can you confirm that this
is pulling now?
Yeah, it looks like there's some discrepancy there on Gestation at
procedure in weeks, and possibly also Procedure cost. I'll figure out
what's up and open a ticket. Is the difference that procedure cost is
what's logged during initial intake/pledge sent, and gestation is what's
entered during pledge fulfillment?
The Accounting tool isn't really set up yet, I wouldn't use it until
we build out the workflow. I will disable that nav link to make sure nobody
stumbles upon it accidentally. Unfortunately have to recommend entering
fulfillments by individual search for the time being, though
@eheintzelman https://github.com/eheintzelman spun up some great
designs for that which are in the list. What's the status on the
accounting tool?
Pledge fulfillment status has an open PR that should be in production
before the end of August. This is closed, right?
I don't think there's a reason not to enter check date but it's
probably a joint call between you and accounting, recommend you confer with
Crofoot on how exactly you'd like to handle that.* I think we'd like to
include it. Can you confirm that it's pulling this now?*

On Mon, Oct 23, 2017 at 6:59 PM, Colin<EMAIL_ADDRESS>wrote:

@alisonnjones https://github.com/alisonnjones are there any discrete
steps to take here engineering/app side? If not can we spin some stuff into
the DARIA analytics repo and close this here?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DCAFEngineering/dcaf_case_management/issues/1127#issuecomment-338820935,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aa6vLSOrSs_HA2RlOCymw89Igtsj03Ulks5svRpGgaJpZM4OPGEP
.

Down the line:

Date of check appears to be pulling. If problems persist on this please open another ticket.
I'll be opening up an issue for procedure cost fulfillment/abortion cost pledge soon -- team braf also highlighted this as a concern. If gestation at procedure in weeks is a problem still please open up an issue for it with step by step instructions to recreate.
Accounting tool ticket is represented in https://github.com/DCAFEngineering/dcaf_case_management/issues/858 and another issue or two. That linked one is the one to watch.
Pledge fulfillment status is implemented.
Check number is also pulling in the export CSV.

@alisonnjones are there any actions to take here? Would love to be able to close this.

Yeah sounds like we're set to close then since we're opening separate
tickets for the other outstanding issues. Thanks, Colin!
On Wed, Mar 21, 2018 at 11:34 PM, Colin<EMAIL_ADDRESS>wrote:

@alisonnjones https://github.com/alisonnjones are there any actions to
take here? Would love to be able to close this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DCAFEngineering/dcaf_case_management/issues/1127#issuecomment-375168801,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aa6vLZRADtqHFNhvriUUSR7HhGZbnljtks5tgxvCgaJpZM4OPGEP
.

Thanks @alisonnjones !


Discontinuous contours

How to remove the discontinuity of the contours visible from the documentation ?

Is it an issue to solve with a add_cyclic method from cartopy ?

In the same idea to solve circular topology of global maps, with the Bokeh backend, is there a way to duplicate the display ?

Right, add_cyclic method should work. I just copied its concept with xarray concatenation. And also cartopy works better in my own experience when data longitude's range from -180 to 180 rather than 0 to 360.
import numpy as np
import xarray as xr
import holoviews as hv
import geoviews as gv
import geoviews.feature as gf

from cartopy import crs
from geoviews import opts

gv.extension('matplotlib')

gv.output(size=150)

ds = xr.open_dataset('ensemble.nc').load()
ds_strip = ds.isel(longitude=-1)
ds = xr.concat(
    [ds,
     ds_strip.assign_coords(longitude=ds_strip['longitude'] + 1),
     ds_strip.assign_coords(longitude=ds_strip['longitude'] + 1.9)
     ], 'longitude'
)
ds['longitude'] = ((ds['longitude'] + 180) % 360 - 180)
ds = ds.sortby('longitude')

kdims = ['time', 'longitude', 'latitude']
vdims = ['surface_temperature']
xr_dataset = gv.Dataset(ds, kdims=kdims, vdims=vdims)

xr_dataset.to(gv.FilledContours,['longitude', 'latitude']) * gf.coastline


Support starting a raid automatically

Can probably make a bot account and have it put in the moderator /raid _____ command.

Done.


ARXIVNG-1396 update text and display for withdrawal template

Carried over layout and text suggestions from ARXIVNG-1341.
Accessibility scan using WAVE is clean.

Pull Request Test Coverage Report for Build 393

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

Totals

Change from base Build 385:
0.0%

Covered Lines:
1387

Relevant Lines:
1804

💛  - Coveralls


chore(deps): update dependency typescript to v2.8.3

This Pull Request updates dependency typescript from v2.8.1 to v2.8.3

Release Notes
v2.8.3
This release include a set of bug fixes reported against TypeScript 2.8.1. For the complete list of fixed issues, check out the fixed issues query for TypeScript 2.8.3.
Download:

npm
Visual Studio 2015 plugin
Visual Studio 2017 (Select new version in Tools/Options)
NuGet package

Commits
v2.8.3

2455405 allow string concat in enum member declaration
b8425fc LEGO: check in for master to temporary branch.
54ad9b1 LEGO: Merge pull request 23540
0526ff5 Merge pull request #23484 from Microsoft/typingInstallerWatch
557a34e Visit typedef type expressions so they contribute to referenced-ness (#23525)
8e27f46 Added test for ASI concerns.
e21a8b8 Accepted baselines.
6aab09a Revert change to PromiseConstructor in #22772

This PR has been generated by Renovate Bot.

@Poltergeist Normally you don't need to update these branches, renovate will rebase them 👍

@DanielMSchmidt But then I have to wait until they get updated.


It's in kotlin. can you please provide in java. Thank you in advance. @dailystudio

It's in kotlin. can you please provide in java. Thank you in advance. @dailystudio

Hi @develoboi,
You can visit the official TensorFlow Lite example repository to get the java version:
https://www.tensorflow.org/lite/examples
Kotlin is the official language of Android, I don't want to spend too much time on the Java version. But any PR of the Java version is welcome.


License somewhat misleading

This project is licensed under ISC, but has a hard requirement on pelican-plugins/asssets, which is under the viral AGPL license, and cannot (as far as I can tell) be pip installed. IANAL but I'm fairly sure that vendoring pelican-plugins/assets as is suggested in the documentation would trigger the share-alike provisions of the AGPL, and so as documented, this project is effectively under AGPL.
Ideally either assets would be dropped (replaced or otherwise) or the documentation updated to show how to set up assets such that it does not trigger these viral provisions. In any case, it's probably worth highlighting (possibly early on) that something like this might be a problem.

[Caveat: I am also not a lawyer.]
It's worth noting that neither Bulrush nor pelican-plugins is much use without Pelican itself, which is also released under AGPL-3.0. As well as Pelican and the plugins, Bulrush is based around:

less, which is released under Apache 2.0;
bulma, released under the MIT license; and
webassets, released under BSD 2-clause.

However I'm not distributing any of these; everything included in the repo (if you're using the submodule pattern) or the bundles on PyPI (if you're installing it via pip) is code that I wrote. My understanding (which may admittedly be incorrect) is that these other packages would be considered peer dependencies, and separate to the license for Bulrush itself.
The primary use case I was considering is people using Pelican to generate blogs, in which case the thing they're distributing, the resulting blog, doesn't actually include any of the above (Bulma's stylesheet comes in via a CDN link, not actually served as part of the blog). Pelican, assets, lessc, etc. are only used when the blog files are generated.
The licensing would be relevant if you are distributing a product that bundles Pelican, Bulrush and the rest of the above dependencies, for example if you are creating a blog generator based on these products (this may be the situation you find yourself in). In that case you are already affected by AGPL via Pelican, whether or not you choose to include Bulrush or any of the plugins.
All of that said, perhaps I should add a disclaimer into the README to make the limits of the licensing clear. Would something like:

Note: Although Bulrush is released under the ISC license, it is designed for use with Pelican and pelican-plugins, which are released under the AGPL, and the Less compiler, which is released under the Apache 2.0 license. This may impact the licensing options for a project using Bulrush. See textbook/bulrush#17. For more information, seek appropriate legal advice for your jurisdiction.

by acceptable?
Thanks for taking the time to contribute to Bulrush!

@textbook I think the fact that Pelican is the software that generates the static site is not particularly relevant to the project from a GPL perspective, it's not like the GPL license provisions are triggered if you use GIMP to edit an image.
The problem is that pelican-plugins is AGPL and the recommended course of action here is to bundle that project in with yours (as opposed to pip install-ing it in which case it's system installed rather than included as part of your project). bulrush itself doesn't bundle the plugins so it is under ISC, and I think you can structure a project such that the plugins are not included, but you have to go out of your way to do it.
There's no need to mention the Less compiler because for one thing Apache 2.0 is a permissive license (so even if you do bundle it you just need to leave the copyright notice intact, there's no virality), but more importantly, like Pelican, it's just a program used during the compilation of the static sites, it's not actually included in the project used to generate the site.
Either way, I'm fairly sure the GPL provisions don't transfer over to the content of the sites. It's more questionable whether they transfer over to the CSS / HTML styling, but if you create a (local) repository that includes pelican-plugins so that you can use assets, I think that project may trigger the GPL provisions (in which case you'd need to make sure that that project is licensed under AGPL and make the source code available).
Frankly, it's ambiguous enough that I think the best course of action would be to try to drop the requirement for assets. From what I can tell, the only reason that plugin is needed is to activate webassets in Jinja2, it seems like it can't be terribly difficult to write your own wrapper for that - that said, I am not familiar enough with Pelican to do so and I'm probably going to avoid Pelican in the future because of the licensing problems, so I'm not exactly volunteering to do this.

If I'm following your argument correctly the issue isn't so much that the license for Bulrush itself is misleading, but that the license for a project using Bulrush per "One way of achieving this is..." is potentially incorrect, as it includes the AGPL-3.0-licensed plugins repository as a submodule. My understanding (caveats as above) is that the use of submodules doesn't imply derivation (see e.g. https://softwareengineering.stackexchange.com/questions/240633/is-licensing-an-issue-for-git-submodules).
The Pelican docs aren't specific on how to access the plugins, and the README of that repo does suggest just cloning it, I can't see any specific official advice on building a project that includes the plugins and the licensing considerations that implies. Given the ambiguity I have no immediate plans for changes to Bulrush, but I will add a note to that section of the README.
Thanks again for bringing this to my attention.


TrafficCountImporter ignoring multiple geographies

Description
TrafficCountImporter when passed with multiple geographies, only picks the first one and ignores the second one.
Tested this on London and Wales, here were the outputs
Wales -> 15947
Wales and London -> 15947
London -> 5547
London and Wales -> 5547

Error log
None

Not an issue, tested on multiple geographies, it was happening because of match rule in recipe, if you have a match rule in recipe, geography scope gets ignored.


How to use ecsy with fixed time step physics and variable rate render game loops ?

From the docs I can see that the usual way to run a tick through the registered systems is to call World.execute(dt, time) but that doesn’t seem compatible with the way my engine works. Some of the systems need to be run in the update function of my game loop and some in the render function. Is there a preferred way to deal with this?

After researching this over the past few days, I have concluded that there is no clean easy way to do this with ECSY's current architecture. That's unfortunate because one of ECSY's "selling" feature is that it is supposed to be "framework independant". As such, it should be relatively easy to use in any kind of game engine.
Many engines use game loops that feature updates that run on fixed time steps (usually for physics simulation) along with variable rate updates (for rendering, among other things). To use an ECS architecture with such a game engine, one requires a means to designate in which update each system should be executed.
At the moment, here is an example of what I have to do to make this work with my game loop:
const loop = new GameLoop({ input, update, render });

const world = new World()
  ...
  // register components and systems
  // create entities
  ...

const inputSystem = world.getSystem(InputSystem);
const renderSystem = world.getSystem(RenderSystem);
const updateSystems = world.getSystems().filter(system => !(system instanceof RenderSystem) && !(system instanceof InputSystem));

function input() {
  inputSystem.execute();
  inputSystem.clearEvents();
}

function update(step: number) {
  updateSystems.forEach(system => {
    system.execute(step)
    system.clearEvents();
  })
}

function render(interpolation: number) {
  renderSystem.execute(interpolation);
  renderSystem.clearEvents();
}

loop.start();

I'm sure you can see how this could quickly get problematic as the number and type of systems grows. Not to mention the maintenance difficulty as systems are added, removed and modified.
Unity's new ECS engine has solved this issue by using groups of systems.
I'd like to propose implementing a similar, simplified, feature in ECSY that would make it possible to do something along the lines of
const loop = new GameLoop({ input, update, render });

const world = new World()
  ...
  // register components and systems
  // create entities
  ...

function input() {
  world.inputSystems.execute();
}

function update(step: number) {
  world.updateSystems.execute(step);
}

function render(interpolation: number) {
  world.renderSystems.execute(interpolation);
}

loop.start();

Of course, it would still be possible to do world.execute(dt) for simpler cases that only have one update loop.
I have many ideas on how to implement this simply and would love to work on it and submit a PR but before I move ahead with further discussion and work on the issue, @fernandojsg I'd like to know if you'd be interested in integrating this feature into ECSY at this moment and if it would be worth it for me to begin work on this.

I think you may be looking at this wrong way. The logic for handling different fixed timesteps in certain systems belongs in the systems themselves, not at the (framework agnostic) world/engine layer.
Generally speaking, you should use window.requestAnimationFrame (or XRSession.requestAnimationFrame in WebXR) to power your World.execute() calls.
Most of your systems will update on this same timestep (including a RenderSystem) so nothing is needed for these.
For things like the PhysicsSystem you will probably want to run this at a fixed 60hz due to performance and consistency (most physics engines work better with fixed timesteps).
For a NetworkSystem you will probably want to run this at around 10hz in a browser environment.
I used to think things like this needed happen in "actual time", meaning i would need multiple timers to land each update call based on its timestep, but time is relative and in actual fact they just need to be dilated and spaced out correctly.
In order to do this, you can use an accumulator to track delta time and land updates in your systems in whatever timesteps you want.
Here's how you created a fixed timestep update:
function createFixedTimestep(timestep, callback) {
  let accumulator = 0
  return delta => {
    accumulator += delta
    while (accumulator >= timestep) {
      callback(accumulator)
      accumulator -= timestep
    }
  }
}

And here is how you might use it in ECSY:
class PhysicsSystem extends System {
  constructor() {
    this.fixedUpdate = createFixedTimestep(1 / 60, this.onFixedUpdate)
  }
  execute(delta) {
    this.fixedUpdate(delta)
  }
  onFixedUpdate(delta) {
    // simulate physics...
  }
}

What this does is essentially creates a buffer of deltas. When there is enough in the buffer it will call the callback with the new delta.
If your World.execute() runs at 60hz and you have a fixedUpdate of 30hz then it would be triggered once every second execute. If it runs at 60hz and you have a fixedUpdate of 120hz it will run twice per execute. Another benefit is that if your framerate speeds up or down, the accumulator correctly spaces things out for you in order to maintain your fixed timestep.
Hopefully this helps you out :)
PS: I've been building my own ECS (likely for the same reasons Mozilla needed this one) and i'm only here to have a look around and trade notes.

@ashconnell Very interesting, thanks for taking the time to share. Personally though, I am not a fan of having this kind of logic inside each systems. It feels like a cross-cutting concern to me and unnecessary coupling.
This may work fine in a project that only has a few systems and a simple loop but imagine you are working on a complex game, using a game engine similar to Unity. Do you really want to have to implement this logic in tens or hundreds of your systems? What if you change your implementation and want a bunch of systems that were previously running on a fixed time step to now run at variable rate? You'd have to go through all of them and modify their code. What if you had your timestamp running at 1/60 but now want to change to 1/30? Again, you'd have to hunt through the systems and modify the code. I think it makes more sense to keep the update timing concern outside of systems and centralized in your game engine / loop.
Game engines like Unity and others already have a game loop offering update functions with various timings. It seems to me that  if I want to use ECSY in game engines like that, I would need a way to group my systems together and execute them in groups.
Then again I'm new to all this and I may be completely wrong. That's why I'm waiting for @fernandojsg 's input before working on this.

@snowfrogdev
The code i pasted above is actually pulled from some Unity and Unreal forums where they were doing the same thing. I simplified it a bit.
Up to you if you want to use it, but IMO systems are meant to be independent of each other. If you change the timestep of one system and another system breaks, then your systems are too coupled.
The only reason you should really need fixed timestep is for physics, snapshots and networking. The rest can just update on the normal requestAnimationFrame which is powering your World.execute(). I don't think its a good idea to put fixed timesteps on absolutely everything anyway.

@ashconnell

systems are meant to be independent of each other. If you change the timestep of one system and another system breaks, then your systems are too coupled.

This idea appeals to me but I think that no matter if we keep the timing logic inside or outside, systems are inherently coupled. They are basically part of a pipeline. Unless you want huge systems that do everything, your systems will read and write from the same data sources and need to do it in a very specific order for your game to work. That's why ECSY gives us the ability to set that order. I'm saying it should go a bit further and do like Unity's ECS by giving us the ability to group systems and execute those groups independently.

I don't think its a good idea to put fixed timesteps on absolutely everything anyway.

Completely agree. But if you have a complex simulation and want to have small specific systems, you can easily end up with hundreds of them nonetheless.
We're discussing whether one should put timing logic inside systems or not and honestly I can see advantages and disadvantages to both. What I'm advocating for is the ability to easily do it one way or another.
My game engine already supplies a centralized system for updating game state at different moments during the game loop, it feels silly to basically duplicate part of that systems's logic inside many of my ECS's systems. Your suggestions seem based on relatively simple use cases, and I'm sure it works great, but if you work on something complex and use a game engine that offers something similar to Unity's game loop surely you can see the advantages of being able to group, control and execute systems together.
Just to be clear, I'm not saying ECSY should manage the various update timings. I'm only saying it should give us the ability to do it ourselves, outside of ECSY's systems. A simple way to group systems together would do the trick. It would allow me to truly use ECSY with my existing game engine, the way it's meant to be used, without having to essentially rewrite parts of the engine inside various ECS systems.

Hi @snowfrogdev @ashconnell sorry for the long delay answering, I've been quite busy recently :)
This is an issue we have been discussing internally several times. It can be split in two features I believe:

Having the possibility to group systems just for the sake of simplify your app code, eg: if you want to enable or disable a group of systems based on your app state. This could be taken as syntactic sugar as is really something that you can do by yourself but still it makes your life easier and eventually it could be used to order the system execution, execute each group independently or whatever.
Initially I thought about having creating a group where you could add systems
Provide a flexible enough solution to how to schedule your systems execution.

For the first one I thought initially about providing an API to create a group based on several systems, but I feel it's more interesting to be able to add tags to the systems, so each system could have more than one tag if needed. And then you could have a way to query the systems based on a specific tag.
This is a feature that I believe we could be landing quite soon even if initially we may not provide helper functions for all the use cases related to tags though.
For the second one, things are a bit trickier to provide a generic solution so probably, in the meantime, you should be using a combination of the fixed time step proposal by @ashconnell that I agree is commonly used in many engines when dealing with fixed time steps, or using the tags functionality to help implementing the @snowfrogdev proposal

@ashconnell How would you handle the entity interpolation om the Render system? I am having a hard time with smooth movement. It's super jittery for me.

@nickyvanurk it seems pretty smooth to me.
If it's the camera movement that is jittery I probably wouldn't put that in a fixed timestep and instead have it lerp to its target location independently, at full framerate.
Also, that NextFrameNormal stuff feels like it might be a hack on top of a deeper problem somewhere in your systems, but its hard to tell.

How would you split the PhysicsSystem physics and collision code?
this.queries.collisions.results.forEach... doesn't seem to work properly in the fixedUpdate method, I think such queries are supposed to be only called from execute?
Oh and I 'solved' the NextFrameNormal code to save a new variable in my transform component: renderPosition/renderRotation..still feels hacky but whatever :D


AD-BLOCK Problem

Impossible to play music, otherwise you have to click on play randomly and then you can click on our music

Hi, do you still have the problem?

With 1.3.0 no, but I'll keep you informed if the problem comes back

Nice to hear, I'll close the issue as you no longer have the issue but feel free to keep me updated if the problem reoccurs!


[AutoPR] network/resource-manager

Created to accumulate context: network/resource-manager

(message created by the CI based on PR content)

Codecov Report

Merging #2229 into master will increase coverage by 0.15%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2229      +/-   ##
==========================================
+ Coverage   52.12%   52.27%   +0.15%
==========================================
  Files        5625     5626       +1
  Lines      134589   136041    +1452
==========================================
+ Hits        70155    71118     +963
- Misses      64434    64923     +489

Impacted Files
Coverage Δ

...azure/mgmt/batchai/models/clusters_list_options.py
36.36% <0%> (-13.64%)
:arrow_down:

.../models/clusters_list_by_resource_group_options.py
36.36% <0%> (-13.64%)
:arrow_down:

...e/mgmt/batchai/models/file_servers_list_options.py
36.36% <0%> (-13.64%)
:arrow_down:

...hai/azure/mgmt/batchai/models/jobs_list_options.py
36.36% <0%> (-13.64%)
:arrow_down:

...els/file_servers_list_by_resource_group_options.py
36.36% <0%> (-13.64%)
:arrow_down:

...chai/models/jobs_list_by_resource_group_options.py
36.36% <0%> (-13.64%)
:arrow_down:

...onitor/azure/mgmt/monitor/operations/operations.py
35.71% <0%> (-12.57%)
:arrow_down:

...batchai/models/azure_blob_file_system_reference.py
87.5% <0%> (-12.5%)
:arrow_down:

...atchai/azure/mgmt/batchai/operations/operations.py
34.09% <0%> (-9.66%)
:arrow_down:

...itor/operations/tenant_activity_logs_operations.py
28% <0%> (-9.15%)
:arrow_down:

... and 112 more

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 01b6297...b3dc8a6. Read the comment docs.


Is Maximum of 500 event triggers per storage account?

Here it is mentioned that, due to an Azure Event Grid limitation, Azure Data Factory only supports a maximum of 500 event triggers per storage account. It means, only 500 blobs create events are supported for event trigger? if we have requirement of more then 500, will the event get trigger and works as expected? Kindly clarify it.

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

ID: b7ee5166-ff40-f4ed-ce07-5312f935e388
Version Independent ID: 68f01b43-e3b2-003b-24cb-446a08aa0c1b
Content: Create event-based triggers in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/how-to-create-event-trigger.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@SABARISHV06 The limitation is on the number of triggers and not on the events. So, you can create upto 500 event-based triggers in ADF. The number of times the trigger is executed because of blob creation is not restricted.
Hope this helps.

@ChiragMishra-MSFT thanks for confirmation.

@SABARISHV06 I will now proceed to close this thread. Feel free to still comment and tag me if you have any queries around the same.


chore(ci): configure a github action to lint files

Configure a github action to check (at least) that the syntax is valid for supported PHP versions

CI is green, I'm merging


Add hotkeys on Pull Request tabs

Closes #568
p 1 Conversation
p 2 Commits
p 3 Files changed
p ← Previous tab
p → Next tab

Thank you Steve!
A couple things before merging this:

It needs to be merged in the readme
The shortcuts (1,2,3) need to be added to the shortcuts help https://github.com/sindresorhus/refined-github/pull/1107

Can we also support p h & p l for navigating between them?

Why?

I find them to be useful too.

I find them to be useful too.

Why those specific keys? Everyone might have useful keys but we should not support more than one combination.

Oh they come from the vim navigation and are pretty common. (Inbox, Vim, google Calendar etc)

I think the arrow key shortcuts should cycle, so when you're at "Files changed" and press => it should go to  "Conversation", and when at "Conversation" and pressing <=, it should go to "Files changed".

I understand it's a limitation of the hotkeys attribute, but it's a bit annoying that you can not just hold p down and tap arrow right multiple times to go through the tabs. Now I have to press p, then arrow right, release, press p, then arrow right...

Hey guys, sorry i'm a little bit busy right now to finish this PR but I found the p hotkey is already assign in PR when the repo had Project activated.

Could it be t for tab instead?

Could it be t for tab instead?

The t is already assign to Jump to in Files changed tab

We could use q as closest to the digits on QWERTY keyboards and it's like "Quick switcher".

Q is commonly used a quit short cut

What do you think of
shift + ←
shift + →
🤔

Q is commonly used as quit short cut in a lot of Windows programs. It would be free but missleading.

What apps? Source? As long as it's not used in Chrome it should be fine to use it.

It is free in chrome.

Q also sounds good to me.

I can finish this PR this weekend. Do we take q?

Hey guys, i'm not super comfortable to write in english, so feel free to correct my lines in README or completely rewrite it 😃

I think we can revert to g. We initially excluded g because it was hard to find reasonable second letter but with numbers and arrows it's much easier.
How about:
g 1
g 2
g 3
g 4
and
g ←
g →

@stivaugoin @sindresorhus Any thoughts on the updates?

Sounds good to me 👍

🙌 🎉

Does this still work?

It broke I will send a pr to fix it

did it break again?

👆 it's better to open a new issue


UCI - Clicking on related Menu

Using _xrmapp.Entity.SelectTab("Related","Alert") to get associated Alerts to this Account (Shown at 1-2)
This opens/shows alerts related to this Account and from here, I want to click the Add New Alert button (Shown in Second Image at 3).
Doesn't seem like existing Navigation/CommandBar/Entity have controls for this - am I missing something or is this still in development?

I tried _xrmapp.CommandBar.ClickCommand("Add New Alert") and that didn't work

Thanks for raising this issue @watsonthecat. You are correct in your findings, these items are in the backlog for development as part of our work to support the latest v9.1 release of Dynamics 365 and to bring parity between legacy web client capabilities and the new Unified Interface.
I don't have an ETA to provide at this time, but I'll update again as soon as I have more information to share.
Best Regards,
Tyler

@TYLEROL I didn't see this added in v9.1 - has this been added?

Hey @watsonthecat - Apologies for not circling back on this one. My colleague did most of the UCI work, and after cross-checking, this should be in though I haven't been able to validate it myself.
The first step would be to utilize Entity.SelectTab("Related", "{subTabName}") from the entity form. After this, you can then use the RelatedGrid.ClickCommand("CommandName", "{optionalSubCommandName}") method to use the inner command bar that shows up for the in-line related grid.
If you have issues with those methods not accessing the Related tab sub-tree, and the Related command bar, please let us know.
Best Regards,
Tyler

@TYLEROL - getting exception with the RelatedGrid.ClickCommand, could you tell me if I'm doing something wrong here?
Steps:
_xrmApp.OnlineLogin.Login(_xrmUri, _username, _password);
_xrmApp.Navigation.OpenApp("Canada FTC/ISI");
_xrmApp.Navigation.OpenSubArea(area, subarea);
_xrmApp.CommandBar.ClickCommand("New");
_xrmApp.Entity.SetValue("name", "Test Account Automated");
_xrmApp.CommandBar.ClickCommand("Save");
//Navigate to KYC Account Tab and click button
_xrmApp.Entity.SelectTab("KYC Accounts");
_xrmApp.RelatedGrid.ClickCommand("Add New KYC Account"); //Test Fails at this step
Exception:
OpenQA.Selenium.NotFoundException: Add New KYC Account button not found. Button names are case sensitive. Please check for proper casing of button name.
Screenshots:

StackTrace:
Result StackTrace:
at Microsoft.Dynamics365.UIAutomation.Api.UCI.WebClient.<>c__DisplayClass53_0.<ClickRelatedCommand>b__0(IWebDriver driver)
   at Microsoft.Dynamics365.UIAutomation.Browser.DelegateBrowserCommand`1.ExecuteCommand(IWebDriver driver, Object[] params)
   at Microsoft.Dynamics365.UIAutomation.Browser.BrowserCommand`1.Execute[T1,T2,T3,T4,T5,T6,T7,T8,T9](IWebDriver driver, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9)
   at Microsoft.Dynamics365.UIAutomation.Browser.BrowserPage.Execute[TResult](BrowserCommandOptions options, Func`2 delegate)
   at Microsoft.Dynamics365.UIAutomation.Api.UCI.WebClient.ClickRelatedCommand(String name, String subName)
   at Microsoft.Dynamics365.UIAutomation.Api.UCI.RelatedGrid.ClickCommand(String name, String subName)
   at Canada_EasyRepro_Iteration.Tests.Steps.XrmAppSteps.WhenIClickRelatedGridButton(String p0) in C:\Users\jplemel\source\repos\Canada_EasyRepro_Iteration.Tests\Canada_EasyRepro_Iteration.Tests\Steps\XrmAppSteps.cs:line 214
   at Canada_EasyRepro_Iteration.Tests.Tests.AccountTest.Account_AssociateKYCAccount() in C:\Users\jplemel\source\repos\Canada_EasyRepro_Iteration.Tests\Canada_EasyRepro_Iteration.Tests\Tests\AccountTest.cs:line 35
Result Message:
Test method Canada_EasyRepro_Iteration.Tests.Tests.AccountTest.Account_AssociateKYCAccount threw exception:
OpenQA.Selenium.NotFoundException: Add New KYC Account button not found. Button names are case sensitive. Please check for proper casing of button name.

There isn't a method for clicking sub-grid commands that are on the form. I created one:
XrmApp.Entity.ClickCommandOnSubGrid("", "");
Microsoft.Dynamics365.UIAutomation.Api.UCI class add methods:
public void ClickCommandOnSubGrid(string subgridName, string subgridButtonName)         {             _client.ClickCommandOnSubGrid(subgridName, subgridButtonName);         }
`internal BrowserCommandResult ClickCommandOnSubGrid(string subgridName, string subgridButtonName)
{
return Execute(GetOptions($"Select Subgrid {subgridName} button {subgridButtonName}"), driver =>
{
IWebElement parentElement;
            if (driver.HasElement(By.XPath($"//div[text() = '{subgridName}']")))
            {
                IWebElement divElement = driver.FindElement(By.XPath($"//div[text() = '{subgridName}']"));
                parentElement = divElement.FindElement(By.XPath("parent::*"));

            }
            else if (driver.HasElement(By.XPath($"//section[@aria-label='{subgridName}']")))
            {
                parentElement = driver.FindElement(By.XPath($"//section[@aria-label='{subgridName}']"));
            }
            else
            {
                throw new NotFoundException($"Subgrid {subgridName} not found on form.");
            }

            var items = parentElement.FindElements(By.TagName("li"));

            //Is the button in the ribbon?
            if (items.Any(x => x.GetAttribute("aria-label").Equals(subgridButtonName, StringComparison.OrdinalIgnoreCase)))
            {
                items.FirstOrDefault(x => x.GetAttribute("aria-label").Equals(subgridButtonName, StringComparison.OrdinalIgnoreCase)).Click(true);
                driver.WaitForTransaction();
            }

            return true;
        });

    }`

Also there isn't a way to select the record in a sub grid that is on the form. You have to create something similar to achieve this operation.

Hi,
I faced same issue with an Add button and on debugging found that the Xpath in App reference is different to what is in page. It worked for me after changing xpath slightly - removed the "Associated " text from search.
code:
xrmApp.RelatedGrid.ClickCommand("Add");
AppElementReference.cs
change below line:
{ "Related_CommandBarButton", "//button[contains(., '[NAME]') and contains(@data-id,'SubGridAssociated')]"},
to:
{ "Related_CommandBarButton", "//button[contains(., '[NAME]') and contains(@data-id,'SubGrid')]"},
I am not sure whether  above will affect some other tests, so I added code to directly access the element instead. Please find below the code:
IWebElement elementAdd = client.Browser.Driver.FindElement(OpenQA.Selenium.By.XPath("//button[@aria-label='Add']"));
elementAdd.Click();
Hope this helps.
Regards
Remya

@TYLEROL does this one is supposed to be merge on master for a later release?


Added building instructions to get up and running smoothly

These instructions work for me on a fairly clean windows 10 box. Hopefully this will get people up and testing faster.

Fixes #23?

Not sure if commenting out the checks for required sonar properties is the best idea - then other parts of the app that depend on them might function weirdly. Maybe best just to add them to gradle.properties (or better, gradle-local.properties) as discussed in #2?

Ok how does that look @hithomasmorelli ?
(I can see we're missing a CI system for building against PRs. I'll raise that as a separate issue.)

Looks better, but I don't know enough to give proper judgement on the PR! Hopefully someone who knows more than me can do that

@edent thoughts on this PR?

Thanks for the instructions, they helped me a lot  - I'm not an Android developer, I'm a database guy. Anyway I got the app to build and have my phone connected via USB with the USB Debugging option switched on. When I run gradlew I one of the unit tests fails though:
> Task :app:connectedDebugAndroidTest
Starting 2 tests on SM-A705FN - 10

uk.nhs.nhsx.sonar.android.app.AndroidSecretKeyStorageTest > testAll[SM-A705FN - 10] SUCCESS

[InstrumentationResultParser]: test run failed: 'Instrumentation run failed due to 'Process crashed.''
[XmlResultReporter]: XML test result file generated at C:\android\COVID-19-app-Android-BETA-master\app\build\outputs\androidTest-results\connected\TEST-SM-A705FN - 10-app-.xml. Total tests 1, passed 1,

> Task :app:connectedDebugAndroidTest
Tests on SM-A705FN - 10 failed: Instrumentation run failed due to 'Process crashed.'
DeviceConnector 'SM-A705FN - 10': uninstalling app.android.covid19.test
DeviceConnector 'SM-A705FN - 10': uninstalling app.android.covid19
Task :app:connectedDebugAndroidTest in app Finished

> Task :app:connectedDebugAndroidTest FAILED
:app:connectedDebugAndroidTest (Thread[Execution worker for ':' Thread 2,5,main]) completed. Took 39.451 secs.
:app:outputInstrumentationErrors (Thread[Execution worker for ':' Thread 2,5,main]) started.

> Task :app:outputInstrumentationErrors
Task :app:outputInstrumentationErrors in app Starting
Custom actions are attached to task ':app:outputInstrumentationErrors'.
Caching disabled for task ':app:outputInstrumentationErrors' because:
  Caching has not been enabled for the task
Task ':app:outputInstrumentationErrors' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
Task :app:outputInstrumentationErrors in app Finished
:app:outputInstrumentationErrors (Thread[Execution worker for ':' Thread 2,5,main]) completed. Took 0.025 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:connectedDebugAndroidTest'.
> There were failing tests. See the report at: file:///C:/android/COVID-19-app-Android-BETA-master/app/build/reports/androidTests/connected/index.html

Note: I have added a new issue (https://github.com/nhsx/COVID-19-app-Android-BETA/issues/40) about this, as your instructions were fine :)


Syntax highlight using ACE

Add ACE to syntax highlight.
Remove "Check & format JSON" button.

"Compress JSON" button, keeps working and all other features.

Ooops, I've pushed dynamic typeahead/doc dependency on connected Zabbix version => there is a conflict with your feature. Could you resolve it, please?
"Doc" button has a visual (z-index) problem with editor - at least in Firefox:

Why do you want to remove "Check & format JSON" button (user doesn't have any "uncompress" option now)? Does your editor work in all major browsers?

I'll fix it.

z-index fixed, "Check and format" button restored and code rebased.
Thanks!

LGTM, merging.
Thank you Paulo.


Make a patch release to NPM

If you could please @mukeshsoni everything is now working on my end.

i have published to npm bumping the version to 1.1.0. Maybe need a better way to package the css.


Add a code coverage script to the project

Added an npm script to run code coverage and updated the README with information about running the tests and code coverage

I'm happy for this to get merged in :)
Running this locally I'd had to run cover and then open the HTML manually (the horror!)
Any chance it could be changed to be this?
"cover": "istanbul cover _mocha && open coverage/lcov-report/index.html"

Updated with the suggested change

👍  Merging in!


Tensorflow : Encountered error while reading extension file 'closure/defs.bzl' issue

System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04):
TensorFlow installed from (source):
TensorFlow version:latest
Python version:3
Installed using pip
Bazel version (0.20):
GCC/Compiler version (if compiling from source):

-Compiling on Odroid
Describe the problem
I am compiling tensorflow on arm architecture and getting the following error
Command Run:
odroid@odroid:~/Desktop/Pratik/tensorflow$ bazel build -c opt --copt="-mfpu=neon-vfpv4" --copt="-funsafe-math-optimizations" --copt="-ftree-vectorize" --copt="-fomit-frame-pointer" --local_resources 1024,1.0,1.0 --verbose_failures tensorflow/tools/pip_package:build_pip_package
Error:
WARNING: The following rc files are no longer being read, please transfer their contents or import their path into one of the standard rc files:
/home/odroid/Desktop/Pratik/tensorflow/tools/bazel.rc
INFO: Invocation ID: 09bae6ef-fd25-4864-86b4-a9ccaaba3340
ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': The native http_archive rule is deprecated. load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") for a drop-in replacement.
Use --incompatible_remove_native_http_archive=false to temporarily continue using the native rule.
ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': The native http_archive rule is deprecated. load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") for a drop-in replacement.
Use --incompatible_remove_native_http_archive=false to temporarily continue using the native rule.
INFO: Elapsed time: 0.307s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
Fetching @io_bazel_rules_closure; fetching

Downgrade to bazel 0.19.1

crosspost: https://stackoverflow.com/a/53708415

As of version 1.12.0, TensorFlow uses some deprecated Bazel features that are being completely dropped in recent versions of Bazel. Instead of using the most recent version, try using an older one for now. I was able to build TensorFlow 1.12.0 on Windows using Bazel 1.18.1, most likely that should work with TensorFlow 1.11 too.
answered Dec 10 at 15:08
jdehesa

Please dont release a version of Bazel if it breaks tensorflow.

Tensorflow doesn't release Bazel. Bazel is a build tool, like Make, Cmake etc.
https://docs.bazel.build/versions/master/bazel-overview.html

Tensorflow is the reason a lot of us are using bazel and there is always an incompatibility with the latest bazel that requires users to fish around and find the last stable version of Bazel.

As adamcrume points out, a better approach is for Tensorflow to test against the latest version of Bazel.

Please dont release a version of Bazel if it breaks tensorflow.

Tensorflow doesn't release Bazel. Bazel is a build tool, like Make, Cmake etc.

Understood. But Tensorflow stuffs Bazel down our throat.  If CMake was a first class citizen a lot of us wouldn't touch bazel with a 10foot pole :)

https://docs.bazel.build/versions/master/bazel-overview.html

Tensorflow is the reason a lot of us are using bazel and there is always an incompatibility with the latest bazel that requires users to fish around and find the last stable version of Bazel.

As adamcrume points out, a better approach is for Tensorflow to test against the latest version of Bazel.

Agreed. But the problem arises when top of master TF is ok but the latest stable branch doesn't work with the latest bazel that is pushed onto all Ubuntu systems which installed via the ppa.

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

Automatically closing due to lack of recent activity. Note starting from TF 1.13 we have updated the configure.py which checks for the bazel version. The min, max versions are '0.19.0', '0.21.0' Thanks!

My reduction of tensorflow to 1.12 bazel to 0.18.1 is still a problem.

Please dont release a version of Bazel if it breaks tensorflow.
Tensorflow is the reason a lot of us are using bazel and there is always an incompatibility with the latest bazel that requires users to fish around and find the last stable version of Bazel.

Yes! I am nearly crazy by the bazel!!!! I only want to use tensorflow!

I'm also facing the same problem. I've complied Bazel from source and the bazel has been compiled and installed successfully.
The installed version is shown in below image.

I've clone the tensorflow-1.13.1 repository and configured it and ran the code bazel build -c opt --copt="-funsafe-math-optimizations" --copt="-ftree-vectorize" --copt="-fomit-frame-pointer" --verbose_failures tensorflow/tools/pip_package:build_pip_package when I run it, It produced the error as shown below.

What went wrong here?


Duplicates Logs

Description
Hi guys.
Actually have a problem with the logs because i am watching that when send logs in new relic not everything but it duplicates some logs for me.
As you can see the unique argument that changes is the index but the content log message is equals.  This error are reproduce in other lambdas that have in my account of AWS.
Attach image for you help me.
Steps to Reproduce

Lambda Layers NodeJS and Python

Expected Behavior
Not duplicated logs in my account of New Relic
Relevant Logs / Console output

Your Environment

Lambda 12.x, 14.x
Python 3.x
NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS = true

Hi @daviddsp , there was a duplication bug that was fixed in v2.2.1. Are you running a newer version?
https://github.com/newrelic/newrelic-lambda-extension/tree/v2.2.1
And can you verify that you do not have any subscription filters configured for your function that may be the source of duplication?

Hi, thanks for the answer.
@kolanos now I have use the component lambda layers, as far as I understand  this component uses new relic-lamda-extension:2.3.2 in the screen before you can see in the attribute plugin, which contains this value, this is fine?
I check my lambda is not have subscription filter configured, I attach you some screenshoots

![Screen Shot 2022-08-03 at 11 43 36](https://user-images.githubusercontent.c

om/2723396/182651952-c4bb386b-59e1-4b0a-bba0-ebea4bb79742.png)
You have idea what could be happening?

When will this bug be prioritized? It is too critical, especially if you charge for logs sent 👎🏼

@silanpa Your best bet is to submit a pull request with a fix.

Sorry for the delay on this, this tool has been moved to maintenance only, but we consider this bug to significantly impact the user experience and are trying to address it. We are also still learning about this product. We are in a tough spot because the new telemetry API just landed, and we are weighing whether it's worth fixing the very old code that we have now or just making the upgrade, considering that we have limited engineering hours to commit to this. I will get back to you with an update when I have one. You can also track this issue in New Relic Public JIRA, where we provide weekly status updates.

@iamemilio Can you clarify what you mean by "this tool has been moved to maintenance only"? Are you saying the NewRelic Lambda extension is not going to receive further feature updates?

The NewRelic Lambda extension is receiving regular updates. we are looking into the issue.

We have made several changes to the Lambda Extension since version v2.3.2. During testing, we have not observed duplicate logs in newer versions of the Extension


AMBARI-24912 - Infra Manager: scheduled job fails with dateparse exception

What changes were proposed in this pull request?
Use UTC time zone when a scheduled archiving job launched to calculate the end of interval of archivable document from system time
How was this patch tested?
UTs ITs passed
Manually:

Deploy ambari and a cluster: zookeeper, infra-solr, infra-manager, logsearch
Schedule an archiving job like archive_service_logs
wait until its first run
check for archived documents

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Infra-Github-PR-Builder/24/
Test PASSed.


Panic in parse_ipv6_literal()

Hi everyone,
Using iref = "2.2.3", I noticed a panic in parse_ipv6_literal() with very simple input to IriBuf::new():
use iref::IriBuf;

fn main() {
    let _ = IriBuf::new("https://[<IP_ADDRESS>");
}

See below for details on the panic resulting from running the code above. I think instead of a panic, this should throw an error.
The sourrounding code is quite difficult to read, but maybe with some guidance we can tackle this issue together. Overall, the panic indicates a failing assertion, so a starting point may be to validate its assumption.
$ RUST_BACKTRACE=1 cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/ireftest`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `128`,
 right: `32`', <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/parsing/mod.rs:591:37
stack backtrace:
   0: rust_begin_unwind
             at /rustc/50d3ba5bcbf5c7e13d4ce068d3339710701dd603/library/std/src/panicking.rs:575:5
   1: core::panicking::panic_fmt
             at /rustc/50d3ba5bcbf5c7e13d4ce068d3339710701dd603/library/core/src/panicking.rs:64:14
   2: core::panicking::assert_failed_inner
   3: core::panicking::assert_failed
             at /rustc/50d3ba5bcbf5c7e13d4ce068d3339710701dd603/library/core/src/panicking.rs:211:5
   4: iref::parsing::parse_ipv6_literal
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/parsing/mod.rs:591:10
   5: iref::parsing::parse_ip_literal
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/parsing/mod.rs:670:25
   6: iref::parsing::parse_host
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/parsing/mod.rs:720:21
   7: iref::parsing::parse_authority
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/parsing/mod.rs:755:17
   8: iref::parsing::ParsedIriRef::new
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/parsing/mod.rs:101:24
   9: iref::reference::buffer::IriRefBuf::new
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/reference/buffer.rs:56:7
  10: iref::iri::buffer::IriBuf::new
             at <redacted>/.config/cargo/registry/src/github.com-1ecc6299db9ec823/iref-2.2.3/src/iri/buffer.rs:24:17
  11: ireftest::main
             at ./src/main.rs:4:13
  12: core::ops::function::FnOnce::call_once
             at /rustc/50d3ba5bcbf5c7e13d4ce068d3339710701dd603/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Hi @eikendev, thanks for the report. You are right, this should not panic but return an error.


The atrribute of hosts have changed in new version of floodlight

fix the out of date attribute.

@KIDJourney Thanks for the bug fixes and sorry for missing this pull request. Would you mind (1) fixing the merge conflicts and (2) removing the translations? The translations would be very useful if you could after you're done with (1) start a new branch in a different language. We still want to preserve English as the language in the master branch :)


slirp4netns socket path can get too long in tmp_path

/kind bug
Description
While playing around I had a podman tmp_path in:
/run/podman-tmp/verylongnamethatwillnotwork
When running a rootless pod with a portmaping the pod did not start and podman just hang.
When debugging I figured out aht slirp4netns got started e.g. with the following api path:
/run/podman-tmp/verylongnamethatwillnotwork/libpod/tmp/a59f251cbed09ec9f9080c58f70a445a639d3c8e613e30f6e20a5420aa94837b.net
But actually this path did not exist and slirp4netns just tried in a loop to open it and likely waited to be created.
On the other hand podman had a socket open, but the path for the socket was just:
/run/podman-tmp/verylongnamethatwillnotwork/libpod/tmp/a59f251cbed09ec9f9080c58f70a445a639d3c8e613e30f6e20a
=> see the missing characters at the end.
So what happened imho is that podman created a socket path that respects the (ancient?) limitation of the maximum socket path length. But told nobody!
Either the socket path propagation should correctly happen or it should error out or we must ensure shorter socketpaths.

Maybe we should support abstract sockets and/or FD

I think it is now fixed with: https://github.com/rootless-containers/slirp4netns/pull/158
Podman won't hang and an error message is printed


[FAB-17299] Support collection level endorsement policies for discovery

Type of change

New feature

Description

PoliciesByChaincode now returns one InquireablePolicy per collection,
either the collection's endorsement policy if one exists or the
chaincode policy by default
chaincode.Metadata now stores CollectionPolicies for _lifecycle
namespace chaincodes that have collection endorsement policies

Related issues
FAB-17299
This PR cannot be merged until FAB-17308 is complete; however, submitting PR now for review/feedback.
/cc @yacovm @denyeart

Reopened #469 as a draft PR

/ci-run

/azp run


Basket Protocol

Basket Protocol
Grant category

Open source maintenance
Developer tools/services

Description
Basket Protocol is a decentralized asset management solution built on the Flow blockchain. It empowers financial advisors, fund managers, and investors with the ability to create, manage, and invest in diversified portfolios of tokenized assets, all executed on-chain.
We proudly secured the 3rd position in the Flow Hackathon Season 2 in the DeFi category, a testament to our commitment to innovation and excellence in the field of decentralized finance. We strive to continue building the project on Flow chain and look forward to your support!
Problem statement
The emergence of decentralized finance (DeFi) and the recent challenges faced by centralized investment companies underscore the pressing need for innovative, transparent, and accessible investment solutions like Basket Protocol.

The Rise of DeFi and the Fall of Centralized Investment Companies: Within the past year, we have seen the fall of some of the biggest financial institutions collapsing in both the crypto and non-crypto space. These incidents have highlighted the fragility of centralized systems, where single points of failure, lack of transparency, and susceptibility to manipulation have eroded investor trust as well as their hard-earned money.
Opaqueness in Existing Solutions: Traditional solutions used by fund managers operate in an opaque manner. Investors are confronted with complex, costly intermediaries, high fees, and limited access to diversified assets. This opaqueness in traditional asset management systems is detrimental to both fund managers and investors. It inhibits clear understanding, hinders risk assessment, and ultimately reduces the quality of investment decisions.

Proposed solution
Basket Protocol offers a decentralised solution, enabling fund managers and advisors to create and manage ETF-like baskets of assets directly on the Flow blockchain. It democratises access to diversified assets, as users can seamlessly invest in various tokenised baskets using Flow tokens. It leverages the efficiency of smart contracts, reducing administrative costs and providing users with a transparent, cost-effective solution compared to traditional asset management. By enabling the creation and management of diversified portfolios on-chain, Basket Protocol attracts DeFi and asset management projects, further solidifying Flow's position in the blockchain landscape.
By developing open-sourced SDKs while building this project, we will allow to projects to utilise some parts or build on top of Basket Protocol. Developers and projects within the Flow blockchain ecosystem can also benefit from Basket Protocol. It opens up new opportunities for decentralized finance (DeFi) projects and other blockchain-based applications, enhancing the overall appeal and functionality of the Flow blockchain.
Target audience
Basket Protocol is tailored to meet the needs of a diverse range of stakeholders within the decentralized asset management landscape.

Fund Managers/Advisors: They can utilise Basket Protocol to streamline the creation and management of diversified portfolios. By leveraging on-chain smart contracts, they can design and administer tokenised baskets efficiently, reducing the complexity and costs associated with traditional asset management. This empowers fund managers to stay competitive in the rapidly evolving digital asset space.
Investors (retail/institutions): The protocol caters to investors interested in decentralized asset management. It provides secure, transparent, and cost-effective access to a variety of investment products, allowing investors to diversify their portfolios, manage risk, and access niche assets easily.

Milestones and funding

Milestone
Deliverables
Timeline
Risks
USD proposal

1. DEX Aggregator Library in TypeScript
A user-friendly API + ts library that allows developers to aggregate prices across multiple DEXs to ensure that the token swaps are executed at the most favourable rates in real-time.
4 weeks
-
3500

2. Entire Protocol Logic on-chain and Frontend
Deploy the core smart contracts for Basket Protocol on the Flow blockchain. Enhance the UI already created during the hackathon period.
6 weeks
-
6500

3. Security Audit, Comprehensive Documentation and Creator’s Fee Logic
A comprehensive report detailing the findings of the security audit. Expansion and refinement of the project's documentation to include best practices, FAQs, and guides for users and developers Implement a fee module, allowing creators of the Basket to have subscription-based/one-time fee options.
6 weeks
-
4000

4. Maintenance
Resolves issues and bug fixes
3 months

-

Total funding proposed: 14000 USD
This is not the end goal but rather just the beginning for us. This grant will allow us to kickstart the initial development. We will continue to build and take our product to the masses.
Team

Name
Role
Bio
Contact

Ravinder Kumar
Blockchain Engineer
I love learning new technologies and solving real-world problems with code.
<EMAIL_ADDRESS>

Anand
Fullstack Engineer
Enthusiastic Fullstack Developer with a focus on Backend & contracts, dedicated to pioneering web3 technologies.
<EMAIL_ADDRESS>

Harsha (Primary Contact)
Frontend Engineer & UI Designer
I have a strong interest in crafting effective user experiences and captivating interfaces, first with Figma then with code
harshagogia11gmail.com

We appreciate your proposal. After careful review we've decided not to proceed at this time. Please stay connected to our Twitter and working groups to stay on top of the latest developments in the ecosystem and new grant opportunities.


Unable to compile examples: 'TaskHandle_t' does not name a type

Setup:
Arduino IDE 2.1.0
Board: Raspberry Pi Pico W from Earle Philhower's package v3.2.1
Firebase library: Firebase Arduino Client Library for ESP8266 and ESP32 by Mobizt v4.3.10
Trying to compile one of the examples (for example TestMode.ino) and getting this error:
In file included from c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\Firebase.h:40,
from c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\Firebase.cpp:38:
c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\FB_Const.h:1033:5: error: 'TaskHandle_t' does not name a type
 1033 |     TaskHandle_t resumable_upload_task_handle = NULL;
      |     ^~~~~~~~~~~~
c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\FB_Const.h:1034:5: error: 'TaskHandle_t' does not name a type
 1034 |     TaskHandle_t functions_check_task_handle = NULL;
      |     ^~~~~~~~~~~~
c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\FB_Const.h:1035:5: error: 'TaskHandle_t' does not name a type
 1035 |     TaskHandle_t functions_deployment_task_handle = NULL;
      |     ^~~~~~~~~~~~
c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\FB_Const.h:1037:5: error: 'TaskHandle_t' does not name a type
 1037 |     TaskHandle_t stream_task_handle = NULL;
      |     ^~~~~~~~~~~~
c:\Users\Kev\Documents\Arduino\libraries\Firebase_Arduino_Client_Library_for_ESP8266_and_ESP32\src\FB_Const.h:1038:5: error: 'TaskHandle_t' does not name a type
 1038 |     TaskHandle_t queue_task_handle = NULL;
      |     ^~~~~~~~~~~~```

I've tried including `FreeRTOS.h` and `task.h` but no success there either.

I downgraded the Board package version to 3.1.0 and it compiles successfully now

Thanks for reporting this issue.
You now can use the latest Arduino Pico SDK with the latest version of library v4.3.11.


MalSearch Plugin

The website is not available?

JSON validator test is failing due to an extra comma.


Add documentation for AssistantAgent and web interface

closing it because the usage of this is covered by example. We can reopen later if needed


Live Dashboard to track sticker requests

A public dashboard where everyone can view metrics on stickerization. Some metrics to track

Country code
Media type
Media size
Validated
Group chat
Time of request

Yeah. I was looking at using a redis plugin for grafana.. I could stream the data in real time

https://redisgrafana.github.io/redis-datasource/streaming/
@MeNsaaH  what do you think about this?

that is a redis plugin for grafana. It's for displaying redis-related metrics on grafana. The steps here should be:

Create a /metrics endpoint within the application that exports the metrics we want to use to create our dashboards.
Deploy Grafana and Prometheus within another VM, and have prometheus scrape metrics from that endpoint
Create dashboard for the application on grafana.

Creating a /metrics endpoint would mean having some database persistence wrapped by a web endpoint right?. Isn't there some sort of way not to do that?  @MeNsaaH
Instead of an endpoint can't we push it into a queue that Prometheus would read from?

There's also https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver

https://pkg.go.dev/github.com/prometheus/client_golang/prometheus/push

Creating a /metrics endpoint would mean having some database persistence wrapped by a web endpoint right?. Isn't there some sort of way not to do that? @MeNsaaH Instead of an endpoint can't we push it into a queue that Prometheus would read from?

Does the application have a public endpoint that can accessed? If yes, I don't think you need to worry about the storing the metrics. You also don't need to store it in a DB. prometheus metrics are instantaneous. That means when prometheus hits the endpoint, it's records are wiped. Hitting the endpoint shows new metrics not old metrics.
Prometheus is the one that is deployed with a DB, hence no need for persistence on the application layer.

Yeah i get. This is what i understand from your explanation correct me if i am wrong:

Prometheus would basically be monitoring and alerting if a message is sent. It would then collect and store the metrics from the endpoint created and grafana consumes this in realtime.

My question is what kind of endpoint am i creating ??

You'll create a simple rest endpoint that returns metrics. Look at the examples here https://github.com/prometheus/client_golang to see how this is done

Creating a /metrics endpoint would mean having some database persistence wrapped by a web endpoint right?. Isn't there some sort of way not to do that? @MeNsaaH Instead of an endpoint can't we push it into a queue that Prometheus would read from?

Does the application have a public endpoint that can accessed? If yes, I don't think you need to worry about the storing the metrics. You also don't need to store it in a DB. prometheus metrics are instantaneous. That means when prometheus hits the endpoint, it's records are wiped. Hitting the endpoint shows new metrics not old metrics.
Prometheus is the one that is deployed with a DB, hence no need for persistence on the application layer.

The application does not have public endpoints at all. Except we create a third queue where we put the metrics on in form of a struct then the endpoint would fetch off that queue @derhnyel

Creating a /metrics endpoint would mean having some database persistence wrapped by a web endpoint right?. Isn't there some sort of way not to do that? @MeNsaaH Instead of an endpoint can't we push it into a queue that Prometheus would read from?

Does the application have a public endpoint that can accessed? If yes, I don't think you need to worry about the storing the metrics. You also don't need to store it in a DB. prometheus metrics are instantaneous. That means when prometheus hits the endpoint, it's records are wiped. Hitting the endpoint shows new metrics not old metrics.
Prometheus is the one that is deployed with a DB, hence no need for persistence on the application layer.

The application does not have public endpoints at all. Except we create a third queue where we put the metrics on in form of a struct then the endpoint would fetch off that queue @derhnyel

Eweeey. If the app has no http endpoint, then the pushgateway might be a way to go here.

Creating a /metrics endpoint would mean having some database persistence wrapped by a web endpoint right?. Isn't there some sort of way not to do that? @MeNsaaH Instead of an endpoint can't we push it into a queue that Prometheus would read from?

Does the application have a public endpoint that can accessed? If yes, I don't think you need to worry about the storing the metrics. You also don't need to store it in a DB. prometheus metrics are instantaneous. That means when prometheus hits the endpoint, it's records are wiped. Hitting the endpoint shows new metrics not old metrics.
Prometheus is the one that is deployed with a DB, hence no need for persistence on the application layer.

The application does not have public endpoints at all. Except we create a third queue where we put the metrics on in form of a struct then the endpoint would fetch off that queue @derhnyel

So the third queue would be fine but how does it compare with an endpoint. Which would be more efficient and manageable?

Creating a /metrics endpoint would mean having some database persistence wrapped by a web endpoint right?. Isn't there some sort of way not to do that? @MeNsaaH Instead of an endpoint can't we push it into a queue that Prometheus would read from?

Does the application have a public endpoint that can accessed? If yes, I don't think you need to worry about the storing the metrics. You also don't need to store it in a DB. prometheus metrics are instantaneous. That means when prometheus hits the endpoint, it's records are wiped. Hitting the endpoint shows new metrics not old metrics.
Prometheus is the one that is deployed with a DB, hence no need for persistence on the application layer.

The application does not have public endpoints at all. Except we create a third queue where we put the metrics on in form of a struct then the endpoint would fetch off that queue @derhnyel

So the third queue would be fine but how does it compare with an endpoint. Which would be more efficient and manageable? @deven96 @MeNsaaH

I'm not sure what your question here is @derhnyel

Maybe within the workers instead of master @MeNsaaH. But how would we retrieve the metrics

@deven96 What about the steps we highlighted earlier .. Adding those metrics from the master in the struct being put in the queue ?

Yeah what about them?... Put them in the struct, get them in the worker when the struct has been de serialized, push them to the prometheus push gateway

we could use prometheus and grafana hosted in a different environment to retrieve the metrics from the http endpoint anytime a message is received and create the dashboard

@derhnyel  don't worry about the prometheus and grafana side... Let @MeNsaaH handle it. You focus on adding the pushgateway to the docker compose setup, exposing the port for the push gateway to the host ans pushing the metrics to the push gateway. We'd have Onuh create a firewall rule for the prod server that accepts traffic on that port. @MeNsaaH will then point the grafana dashboard to that port.
Ensure you set up the pushgateway with a file for persistence (it's on the readme). So that it can survive restarts

@MeNsaaH We now have the metrics endpoint in code, when can we set up prometheus and grafana?
@Iamdavidonuh we would actually need you to open up the port 9091 on the prod instance so that prometheus can scrape for metrics there


[ops] Make Harbor work with our stack

Background
Need Harbor for sophisticated local testing scenarios, particularly for the optimistic root upgrade.
Much of this work has been started in #2665
Linked Issues & Documentation

Full specification

Definition Of Done
Our contracts and agents are able to be properly deployed on harbor.
Tasks

[ ]  Execution layer is deployed to harbor
[ ]  Messaging layer is deployed to harbor (with properly-mocked AMBs)
[ ]  Contracts must be properly init-d
[ ]  Agents are properly deployed
[ ]  Local system can be brought up, is documented, and liveness of agents tested (i.e. /ping endpoints work successfully)

Closing this, as currently we are running into some issues that have been taking a while to resolve. This was originally supposed to be the bedrock of the upgrade suite testing, but for now we will likely use tenderly endpoints (or something equivalent)


Issue with LlamaParse ...

Note: we're aware of some missing content in the output and layout issues on tables. Please refrain from opening new issues on this topic unless if you think it's different from what has already been reported.
Describe the bug
The llama parse prompt is not working and not extracting the information it is asked to instead it is returning the entire text of the pdf document
Files
If possible, please provide the PDF file causing the issue.
[
01aniwesh_1727332928.pdf
](url)
Job ID
c6340687-7a2e-403b-ba0c-52bc0bd68dd2
Screenshots

Client:
Please remove untested options:

Frontend (cloud.llamaindex.ai)
Python Library
Typescript Library
Notebook
API

Options
accurate and fast
Additional context
Add any additional context about the problem here.

to fix your trouble check this solution click
maybe this will solve your problem.


Prod config produces invalid font-family values in minified CSS

Is this a bug report?
Yes
Steps to Reproduce

Import a stylesheet with a font-family declaration that includes a quoted, multiple-word font name that includes a generic CSS font family keyword as its first word (monospace, cursive, serif, etc.). For example:

body {
  font-family: "Monospace Number";
}
div {
  font-family: "Primary Font", "Cursive Font";
}

Build a minified bundle with npm run build.

Expected Behavior
The font declarations are intact.
Actual Behavior

cssnano's minification will drop the quotes, leading to:

body{font-family: Monospace Number}div{font-family: Primary Font,Cursive Font}
These are both invalid font-family value because of the keyword + lack of quotes. Confirmed they get ignored as invalid in Chrome 64, Firefox 58, and Safari 11.
Related issues
https://github.com/ben-eb/cssnano/issues/434
https://github.com/ben-eb/cssnano/issues/439
Suggested fix
I suspect this comes up a fair amount because "Monospace Number" is used throughout some versions of the Ant Design stylesheet. It may also affect other weird name scenarios, like unicode characters in a font name or, the edgiest of edge cases, someone who used a custom font named, e.g., "serif" (I believe the spec allows this if it's quoted!).
Given that it's unclear whether cssnano will change its default behavior, this could be fixed by updating webpack.config.prod.js to pass an option through to preserve the quotes:
// Old
minimize: true,

// New
minimize: { minifyFontValues: { removeQuotes: false } },

If this sounds reasonable I can send a PR.

This sounds reasonable.

I have also run into this problem with Ant Design for a production build. Would be great to get this merged.


VectorStoreToolkit uses deprecated VectorDBQA, langchain needs create_retrieval_qa_agent

VectorStoreToolkit, VectorStoreRouterToolkit rely on VectorStoreQATool and VectorStoreQAWithSourcesTool
VectorStoreQATool and VectorStoreQAWithSourcesTool rely on VectorDBQA and VectorDBQAWithSourcesChain respectively.
Although VectorDBQA and VectorDBQAWithSourcesChainare deprecated, there are currently no replacements available.
As a result, an agent initialized by create_vectorstore_agent continually calls raise_deprecation in agent executor.
To address this issue, LangChain needs following: create_retrieval_qa_agent, RetrievalQAToolKit, RetrievalQAWithSourcesTool.

I made a PR #2885

When running VectorDBQAWithSourcesChain, I keep getting a warning in the terminal that I should use RetrievalQAWithSourcesChain.
The issue with RetrievalQAWithSourcesChain is the "retriever" arg which no longer accepts a vectorstore anymore. It needs some kind of BaseRetriever type.
Any idea how to get around this?

@NikhilSehgal123 I think you can use .as_retriever() method in this case.

@NikhilSehgal123 cc: @hwchase17 I updated those legacy code as well, they will use as_retriever() method within VectorStoreQATool, VectorStoreQAWithSourcesTool. Check the updated PR (#2885) for more details.


JavaScript

JavaScript
User Story
As a boot camp student
I want  the prework notes to be structured on a webpage
So that I can easily find and read that information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

Successfully added JavaScript to the Prework Study Guide


Rename policy-acs-operator-clusters.yaml to policy-acs-operator-secured-clusters.yaml

The policy-acs-operator-clusters.yaml deploys StackRox secured clusters, to improve the searchability the file is renamed to [...]secured-clusters.yaml.
Update documentation ACS deployment repo: https://github.com/open-cluster-management/advanced-cluster-security/pull/5

/assign @gparvin


Add support for PyPI pre-releasing semver format.

I know PyPI preleases semver isn't a valid v2.0, but it would be great if we have a method that converts it to a valid semver and validating it as a valid semver!
Example of PyPI prelease semver:
0.0.1a3

Which means:
0.0.1-alpha.3

I agree, I think this would make this a lot more practical. I think this also has to do with the wider concept of formatting the versions and parsing them. Maybe revamping the formatting and parsing could be a goal of the upcoming v3, @tomschr ?

Yes, we could think about adding such a feature. I would suggest to add that for the semver 3 release line.

@hadialqattan After thinking about a bit more, how should this exactly work?
We could (theoretically) create a function/method etc. to massage the string 0.0.1a3 and convert it into 0.0.1-a3. That would probably be feasible. However, I'm not so sure about converting 0.0.1a3 into 0.0.1-alpha3. Wouldn't that change its semantic? Are you really absolutely sure, that "a" means always "alpha"?

@hadialqattan After thinking about a bit more, how should this exactly work?
We could (theoretically) create a function/method etc. to massage the string 0.0.1a3 and convert it into 0.0.1-a3. That would probably be feasible.
However, I'm not so sure about converting 0.0.1a3 into 0.0.1-alpha3. Wouldn't that change its semantic? Are you really absolutely sure, that "a" means always "alpha"?
If I'm not mistaken, PyPI implements PEP 0440, right?

Yeah, you're right, but I'm sure a means alpha and b means beta.
Anyway, your solution is better than mine.

Just as an addendum: I've created a section in the documentation to convert from PyPI versions to semver (and vice versa). Find more information at https://python-semver.readthedocs.io/en/latest/advanced/convert-pypi-to-semver.html

Seems this is already implemented so I close it. Thanks!


Problems when searching series in Vizer.tv

Source information and language
Vizer.tv 13.5 (Portuguese (Brazil))
Steps to reproduce
1.Open the extension Vizier.tv
2.Filter by series, movies or anime and search by name
3. When I put the name of the series it only search certain words,like if I search "Lei & Ordem" doesn't appear anything but if I search "Lei" the series "Lei & Ordem: Unidade de Vítimas Especiais" appear and many other who don't have this words on title, and if I search "South" no series appear in the extension but if I search "park" series like "South Park" and others appear s even id they have no relation with the word searches
Expected behavior
"Series with the respective words searched should appear"
Actual behavior
"When search some times no series appear, and some time series even with no relation with the words searched appear
Aniyomi version
<IP_ADDRESS>
Android version
Android 12 S
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.13.5.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

About the first example, this is not a problem in the extension, but in the source: You can do the same search here, and the same thing will happen.
About the second one, it really shouldn't happen, I'll fix it soon.


[Bug] Going from 2x2 layout into MPR with measurements then turn off MPR causes black viewports

Describe the Bug
Able to reproduce in OHIF dev version (https://viewer-dev.ohif.org/): 3.8.0-beta.53, Commit hash: 5bba98ed848bdf46b5ba4fc4708527cced3308b5
Turning off MPR to go back into 2x2 grid layout displays black viewports where there used to be measurements on images
Steps to Reproduce

Select CT study (ACRIN-NSCLC-FDG-... WB PET/CT) and go to the viewer screen
Go into 2x2 layout
Add length measurement in viewport 2 on image 1 & on image 17
Add length measurements to viewports 3 & 4 both on image 1
Click on Viewport 2 to make it active and select the MPR tool
Select the measurements panel to expand it and see the 4 measurements made in steps 3 & 4
click on each measurement in the panel to jump to the image with the measurement
select the MPR tool to turn it off = the 2x2 layout will display but viewports 2, 3 & 4 are now black and do not display the images.
If you click on the measurements panel items, the block viewport will display with the length measurements

The current behavior
Turn off MPR and go back to 2x2 layout and viewports that previously had measurements are now black
The expected behavior
Turn off MPR and the 2x2 viewports appear normally with images and measurements as they had before going into MPR
OS
MacBook Pro - Sonoma 14.1.1
Node version
unknown
Browser
Chrome v121

can't reproduce it anymore

We just release the OHIF 3.8, you can find more details here https://ohif.org/release-notes/3p8/
If you still encounter this issue in 3.8, please re-open this.


Duplicate percentage on the status page

Hello !  Thank you for awesome this project.
I currently use uptime/uptime-monitor(2c02d16) and I found duplicate percentage string on the status page.
This seems to be due to the presence of duplicate % on the template side and the data side.

This is fixed in https://github.com/upptime/status-page/pull/64 😄


{monitor}az monitor activity-log: Migrate from codegen V2

Related command

az monitor activity-log list
az monitor activity-log list-categories
Description

Testing Guide

History Notes

[Monitor] az monitor activity-log list/list-categories: Migrate from codegen V2

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

monitor


Implement common contracts & patterns in Sway

This is meant to be a single place to track all the things we want to build in sway to extend the examples given provided in the docs.
(I'm not attached to using an Issue to track this. A github projects kanban board may be a better fit for example.)
This can be things like:

how to achieve common patterns in sway
more contract examples
multi-contract patterns

The List:

[x] FizzBuzz
[x] Subcurrency example (#299)
[x] Wallet smart contract
[ ]  Fungible token (same as OZ)
[ ] Non-fungible token (same as OZ)
[ ] Flash loan for fungible tokens
[ ] access-control (ie: ownable, RBAC)
[ ] Uniswap v1
[ ] Auction
[ ] Upgradeable contracts ?
[ ] using the authentication module.
[ ] returning results and errors
[ ] token faucet
[ ] staking contract
[ ]

Some of these are being implemented in sway apps since an example should be simple and present common usage of the standard library.
This issue needs to be reconsidered since a bunch of time has passed since then.

Yeah this has essentially been superseded by the sway-applications repo.