origin-insights

We should probably start thinking about https://developer.fastly.com/reference/api/metrics-stats/origin-insights/
I think this would probably be reasonable to just roll into the exporter directly, but I'm open to suggestions.

This is equivalent to the existing data, is it not?

This is per origin / backend data not currently present in the realtime
stats api (open beta is supposed to be turned on on monday)
The structs would have to be different as different data fields are used.
On Sun, Jul 19, 2020 at 6:23 PM Peter Bourgon<EMAIL_ADDRESS>wrote:

This is equivalent to the existing data, is it not?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/peterbourgon/fastly-exporter/issues/50#issuecomment-660747908,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPUIWLNY76YQF2RB2QEASLR4OMC3ANCNFSM4O47EJ2A
.

--
It turns out I'm secretly evil

Ah, I see. Yep, possibly! I'm doing some research.

Tangentially related: the latest release includes some new fields, and also renames some existing metrics, if you had the time and energy and inclination I'd appreciate it if you could give it a spin and report any issues :)

Looking!

Ok, first pass:
looks like for my data sources,

line count is ~20% higher
page size is ~20% larger

du original.output alpha.output
71140	original.output
85664	alpha.output

wc -l original.output alpha.output
   527057 original.output
   639206 alpha.output

Interestingly, I'm only seeing field names added in my data (instead of seeing field names added and removed if you intended to rename fields)
diff -u original.normalized alpha.normalized  | egrep '^[+-]' | grep -v \#
--- original.normalized	2020-10-07 18:57:40.620650481 -0700
+++ alpha.normalized	2020-10-07 18:57:56.579815622 -0700
+fastly_rt_bereq_body_bytes_total
+fastly_rt_billed_total
+fastly_rt_blacklist_total
+fastly_rt_edge_resp_body_bytes_total
+fastly_rt_edge_resp_header_bytes_total
+fastly_rt_edge_total
+fastly_rt_error_sub_count_total
+fastly_rt_error_sub_time_total
+fastly_rt_hit_resp_body_bytes_total
+fastly_rt_imgvideo_frames_total
+fastly_rt_imgvideo_resp_body_bytes_total
+fastly_rt_imgvideo_resp_header_bytes_total
+fastly_rt_imgvideo_shield_frames_total
+fastly_rt_imgvideo_shield_resp_body_bytes_total
+fastly_rt_imgvideo_shield_resp_header_bytes_total
+fastly_rt_imgvideo_shield_total
+fastly_rt_imgvideo_total
+fastly_rt_log_bytes_total
+fastly_rt_miss_resp_body_bytes_total
+fastly_rt_origin_fetch_body_bytes_total
+fastly_rt_origin_fetches_total
+fastly_rt_origin_fetch_header_bytes_total
+fastly_rt_origin_fetch_resp_body_bytes_total
+fastly_rt_origin_fetch_resp_header_bytes_total
+fastly_rt_origin_revalidations_total
+fastly_rt_pass_resp_body_bytes_total
+fastly_rt_pass_sub_count_total
+fastly_rt_pass_sub_time_total
+fastly_rt_pipe_sub_count_total
+fastly_rt_pipe_sub_time_total
+fastly_rt_req_body_bytes_total
+fastly_rt_restarts_total
+fastly_rt_segblock_origin_fetches_total
+fastly_rt_segblock_shield_fetches_total
+fastly_rt_shield_fetch_body_bytes_total
+fastly_rt_shield_fetches_total
+fastly_rt_shield_fetch_header_bytes_total
+fastly_rt_shield_fetch_resp_body_bytes_total
+fastly_rt_shield_fetch_resp_header_bytes_total
+fastly_rt_shield_revalidations_total

I really like the dynamic generation from json!
Perhaps I'm parsing it wrong, but it looks like you have a mix of static go code and dynamic json, but you need to update both of them?

I'm not actually sure where would be the best place to discuss this.  Open a discussion issue, or something else?

Metric aggression by POP-s would decrease the scraping size significatly
and would be very useful for us.
Priority 1: Have a flag to aggregate all POP to one virtual POP named "_all"
Priority 2: Have an flag to aggregate the metrics per continents (or some
other big geographic region)
Priority 3: Enable POP to aggregation group mapping. e.g. aggA=pop1,pop2,
aggB=pop3,pop4 and have a "_rest" virtual POP name for all the unmapped
POP.
On Thu, Oct 8, 2020 at 6:15 PM Peter Bourgon<EMAIL_ADDRESS>wrote:

Interestingly, I'm only seeing field names added in my data
OK, that's good confirmation, thank you.
it's worth calling out 20% increased ingestion size is going to be a
decent hit to larger customers.
Absolutely, will include this in the official release notes. One thing to
consider might be having certain metrics disabled by default. Could also
collect metrics into I dunno "feature groups" and have ways to turn groups
on and off without having to enumerate each metric individually. Do either
of those things strike you as an obviously good idea?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/peterbourgon/fastly-exporter/issues/50#issuecomment-705639062,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALNPCWDMWVPCKVALHMZTQ43SJXJQVANCNFSM4O47EJ2A
.

@peterbourgon with regards to metric bundles or groups, I was thinking something similar.
For what it's worth, here's the current list of metrics I'm making use of (including my pending PR) if we wanted to use that as the basis of a basic bundle.
find compose/ | grep -i json | xargs grep -oP '\bfastly_rt_\w+' | cut -d: -f2 | sort | uniq -c
      8 fastly_rt_body_size_total
     23 fastly_rt_errors_total
      1 fastly_rt_hits_time_total
     10 fastly_rt_hits_total
      1 fastly_rt_imgopto_total
      1 fastly_rt_imgopto_transforms_total
     10 fastly_rt_miss_duration_seconds_bucket
      1 fastly_rt_miss_duration_seconds_count
      1 fastly_rt_miss_duration_seconds_sum
      1 fastly_rt_miss_time_total
      7 fastly_rt_miss_total
      2 fastly_rt_object_size_bytes_bucket
      1 fastly_rt_object_size_bytes_count
      1 fastly_rt_object_size_bytes_sum
      1 fastly_rt_otfp_total
      1 fastly_rt_otfp_transforms_total
      3 fastly_rt_pass_total
      1 fastly_rt_pci_total
      2 fastly_rt_req_header_bytes_total
     72 fastly_rt_requests_total
      2 fastly_rt_resp_header_bytes_total
      5 fastly_rt_shield_total
      4 fastly_rt_status_code_total
     34 fastly_rt_status_group_total
      3 fastly_rt_synth_total
      1 fastly_rt_video_total
      1 fastly_rt_waf_blocked_total
      1 fastly_rt_waf_passed_total

@gaashh with regards to stripping or bundling datacenter data, I'm torn.  on the one hand it's an ENORMOUS multiplicative factor on prometheus time series AND it's way less likely to be referenced, but if we fully aggregate it or bundle it we lose that granularity for the 5% of the times we need to drill down into it.  I've been wrestling with this a lot for our setups, and I still don't have a great answer.  Your implementation ideas seem spot on however!

@mrnetops I have a few recording rules that pre-aggregate things so I can pick and choose what drill-down I get on a dashboard basis.
One other aggregation that would cut things down greatly would be to get the datacenter group from the datacenter API. (https://github.com/peterbourgon/fastly-exporter/issues/79)

Metric aggression by POP-s would decrease the scraping size significatly . . .

Just to put this on the record: the exporter now supports service sharding, metric filtering, and generic HTTP service discovery for per-service /metrics endpoints, in addition to e.g. datacenter metadata to allow query-time aggregation. So at this point I'm disinclined to add any more capabilities in order to "pre-aggregate" metrics or reduce the amount of data that Prometheus needs to scrape.

The API seems to have stabilized since I looked at it last, so I'll see about adding support soon 👍

Not sure if here or in a separate issue, but domain insights is also coming.  in case that might figure into how origin insights gets factored.

I'm actively working on it, though not with high priority. If you have requirements related to timing, please let me know.
My approach at the moment is to refactor package rt into packages realtime and origininspector. Each will have a similar API, with a subscriber per service querying their respective API endpoints. They will write to different subsets of the shared Metrics collection. They will be independently enabled or disabled.

I'm actively working on it, though not with high priority.

Thanks for the reply and for working on this. We will plan to consume shortly after you release the new version.

If you have requirements related to timing, please let me know.

what does timing mean in this context?
Implementation makes sense to me.

@davinci26

what does timing mean in this context?

Do you have any deadlines?

It'd be nice to have this in the next week or two.

Just a note to say I'm still plugging away at this.

This should be closed via https://github.com/fastly/fastly-exporter/pull/101


Elemental2 wrapper for DOMParser

Can't find DOMParser from the current elemental2 library.
https://developer.mozilla.org/en-US/docs/Web/API/DOMParser
Shall we support it as well?

@jDramaix This is defined in https://github.com/google/closure-compiler/blob/master/externs/browser/gecko_xml.js though I don't see us using any extern named gecko (though this one doesn't seem Mozilla specific)

When I asked the closure-compiler maintainers some years ago about the different browser-named extern files, they indicated that this was often the original source of that type, and that it wouldn't be beneficial to migrate the externs out of that file and into something common now that the type is standardized.

Yes we do not use any specific browser extern files. If the api has been standardized we need to move the api in another extern file (w3c_xml.js in this case)

It looks like my memory is faulty or policy has changed: I can't find the specific conversation where gwt community members were asked to not bulk migrate standardized entries, but https://github.com/google/closure-compiler/issues/2478 is one such conversation.
The entire gecko_dom.js is standardized now (with the exception of the serializer method serializeToStream, which is no longer supported by any browser that I can see), but as it is only a few members, so I'll see about moving it.

The problem is that DOMParser.parseFromString() is accepting a  TrustedHTML and this is not supported in Elemental2 yet.

@jDramaix elemental also includes w3c_range that uses TrustedHTML, is that also a problem? https://github.com/google/closure-compiler/blob/46131b1844fb070316a98c5b4c047ee3d786553e/externs/browser/w3c_range.js#L250
https://github.com/google/elemental2/blob/33cea8e04854d3b6839c7ff394e865567a574832/java/elemental2/dom/BUILD#L66

The definition of the types are there but there is no J2CL/GWT way to instantiate them (I don't even know a standard way to instantiate them on JS). Also, the version of DOMParser.parseFromString() is considered as unsafe and the Elemental2 build will fail internally at Google. So we would end up generating Java code only targeting the signature using TrustedHTML. It' not a working solution as it would not be usable by most users.

I don't even know a standard way to instantiate them on JS)

So is this issue blocked by FireFox+Safari support for trusted types? (https://github.com/mozilla/standards-positions/issues/20, https://webkit.org/standards-positions/ doesn't even mention it).
Elemental already contains the code needed for instantiating trusted HTML in Chromium
TrustedTypePolicyOptions tpo = TrustedTypePolicyOptions.create();
tpo.setCreateHTML((str, ignore) -> str);
DomGlobal.trustedTypes.createPolicy("unsafe", tpo).createHTML("<img>");


Add Demos and Samples section with one demo

Thanks @mustafaaloko. Can you add this section to the table of contents at the top too, then I'll merge it in.


permission denied creating a pod

https://pastebin.ubuntu.com/p/8g523hTqb3/
Deploying a pod I get various permission denied errors and the pod stays in ContainerCreating.
microk8s             v1.11.2               167   edge      canonical✓    classic

Hi @wallyworld ,
Can you hellp me reproduce this? Are you on xenial on lxc? Can you share the manifests you are using? Also could you show me the output of journalctl -u snap.microk8s.daemon-apiserver.service, journalctl -u snap.microk8s.daemon-kubelet.service and journalctl -u snap.microk8s.daemon-docker.service
Thank you for reporting this.

Could you also share your dmesg? I wonder if there are any apparmor denials there.

Ah the dmesg llog showed apparmor denials. The journelctl logs were full of errors I think related to the apparmor root cause. All I have done is install docker snap and microk8s snap so it seems there's something misconfigured somewhere?
[11183.920576] audit: type=1400 audit(1536111210.327:1708): apparmor="DENIED" operation="ptrace" profile="docker-default" pid=1308 comm="kubelet" requested_mask="tracedby" denied_mask="tracedby" peer="snap.microk8s.daemon-kubelet"
[11184.027986] audit: type=1400 audit(1536111210.435:1709): apparmor="DENIED" operation="signal" profile="docker-default" pid=2746 comm="docker-containe" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-docker"

I thought I'd try to remove microk8s and start again.
$ sudo snap remove microk8s
error: cannot perform the following tasks:

Remove data for snap "microk8s" (167) (remove /var/snap/microk8s/common/var/lib/docker/aufs: device or resource busy)

When docker spawns its containers an apparmor profile is applied. This profile is normally found under /etc/apparmor.d/docker. This default-docker profile is almost right for microk8s but not perfect. We need to make sure the dockerd packaged inside microk8s can send signals to the spawned docker containers so that they can be (for example) killed. To do so whenever snap.microk8s.daemon-docker starts
we make sure /etc/apparmor.d/docker is correctly pacthed and apparmor restarted https://github.com/ubuntu/microk8s/blob/master/microk8s-resources/wrappers/run-docker-with-args#L11 .
The errors you are getting are because the apparmor profile is not right. Can you paste the contents of /etc/apparmor.d/docker? There should be line with peer=snap.microk8s.daemon-docker. Make sure docker-default profile is not in /etc/apparmor.d/disabled and that is loaded with sudo aa-status.
The easiest way to get out of the umount /var/snap/microk8s/common/var/lib/docker/aufs error is to reboot, and then sudo snap enable microk8s; sudo snap remove microk8s.

Go figure - I removed and reinstalled microk8s and checked /etc/apparmor.d/docker and it did have the necessary peer=snap.microk8s.daemon-docker line. I didn't check before removal though. But now it all works. The root cause seems to have been appamor related but not sure of what went wrong.
With the umount error, I have been rebooting to get around it but can we avoid having to do that? I have other stuff running that is a pain to lose but I have no choice if I want to use microk8s after a removal. Can removing a microk8s snap invoke a cleanup hook or something to stop all running docker processes?
I also noticed that microk8s.reset doesn't reset everything. It leaves behind persistent volumes and storage classes which I have to remove manually. It also doesn't appear to delete any namespaces I created so that if I have a deployment controller running, the pods are removed but microk8s.docker ps shows the pods just restarting again. I manually have to delete the namespace to fully reset everything back to a clean state. Not sure of the intent of reset, but for me it would ideally reset everything back to being like a fresh install.

On reboot this morning, the apparmor permission denied errors came back. I restarted the apparmor service and they went away. Not sure why apparmor got confused.

$snap list
docker               17.06.2-ce            179   stable    docker-inc    -
I noticed today that the apparmor issue "just happened"  without a reboot or anything. microk8s just stopped working when I deployed a new pod and restarting apparmor service fixed it.

@wallyworld, any information on how to reproduce this is much appreciated. I had the docker.io package installed and it did not interfere with the default docker profile. I even upgraded the host from xenial to bionic and microk8s was unaffected. I am now going to try to deploy the docker snap package and see if it makes any difference.
Thank you.

Managed to reproduce the issue. Starting with a clean system we do:
sudo snap install microk8s --edge --classic
microk8s enable dns

DNS deploys just fine.
sudo snap install docker
docker run ubuntu:14.04

All seems fine but the following is failing now:
microk8s.enable dashboard

This issue describes how we have no real control over the AppArmor docker-default profile:
https://github.com/moby/moby/issues/33060
The AppArmor profile is created on the fly each time a docker daemon starts. This means that you cannot have two dockerd without them sharing the docker-default profile.

Ah I think that explains it. I think I saw the issue after using docker to build a juju operator image.
I guess we need to find a way around this as it will be very common for people to use docker separately to microk8s. I should probably raise a new issue for the mirok8s reset limitation.

RE: microk8s.docker vs docker
We shouldn't force people to uninstall their docker to try microk8s. Also, the image lists are separate. microk8s.docker lists images associated with microk8s. I use docker separately to maintain other non-related images and don't want them to be all intermingled eg 'docker images'. And I want to be able to uninstall microk8s if needed and keep any existing non-mixrok8s docker images.
Moving to containerd would be a great solution.
For now, I can just restart the apparmor service when needed.

Just as a side comment, the docker which comes inside microk8s is not a replacement for a docker outside. For example, docker-compose does not work with the inside docker unless you change the network to be the host network (i.e. if you have internal networks in the compose it will fail)

@ktsakalozos I was wondering if this issue will be solved once we move to containerd with this PR: https://github.com/ubuntu/microk8s/pull/323?

@waquidvp you are right. One of the benefits we are hoping for with the transition to containerd is to avoid clashes between any dockerd the user may already have in his system with MicroK8s. You can try out Kubernetes v1.14 beta with containerd with:
snap install microk8s --channel=1.14/beta --classic

Incidentally, I ended up on this issue facing the same problem with containerd:
[450827.875970] audit: type=1400 audit(1569615393.783:10914): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450827.875976] audit: type=1400 audit(1569615393.783:10915): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450827.875990] audit: type=1400 audit(1569615393.783:10916): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450827.875995] audit: type=1400 audit(1569615393.783:10917): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450827.875999] audit: type=1400 audit(1569615393.783:10918): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450827.892174] audit: type=1400 audit(1569615393.799:10919): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=12056 comm="runc" requested_mask="receive" denied_mask="receive" signal=term peer="snap.microk8s.daemon-containerd"
[450828.881498] audit: type=1400 audit(1569615394.787:10920): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=12077 comm="runc" requested_mask="receive" denied_mask="receive" signal=term peer="snap.microk8s.daemon-containerd"
[450828.944947] audit: type=1400 audit(1569615394.851:10921): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=12087 comm="runc" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-containerd"
[450829.860674] audit: type=1400 audit(1569615395.767:10922): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450829.860677] audit: type=1400 audit(1569615395.767:10923): apparmor="DENIED" operation="signal" profile="cri-containerd.apparmor.d" pid=3577 comm="kubelet" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.microk8s.daemon-kubelet"
[450833.860011] kauditd_printk_skb: 20 callbacks suppressed

In this case it was sufficient to simply disable the profile:
# aa-disable /etc/apparmor.d/cri-containerd.apparmor.d
It would be nice to have an option to get rid of apparmor entirely, but on the present version of Ubuntu this unfortunately takes snap/snapd with it.

/reopen


[zh] Url is outdate ...

There is another change to sync:
./scripts/lsync.sh content/zh/docs/tasks/manage-kubernetes-objects/kustomization.md
diff --git a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
index f5e20a94c..d655d39be 100644
--- a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
+++ b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
@@ -590,7 +590,7 @@ spec:
       containers:
       - name: my-nginx
         image: nginx
-        command: ["start", "--host", "\$(MY_SERVICE_NAME)"]
+        command: ["start", "--host", "$(MY_SERVICE_NAME)"]
 EOF

There is another change to sync:
./scripts/lsync.sh content/zh/docs/tasks/manage-kubernetes-objects/kustomization.md
diff --git a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
index f5e20a94c..d655d39be 100644
--- a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
+++ b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
@@ -590,7 +590,7 @@ spec:
       containers:
       - name: my-nginx
         image: nginx
-        command: ["start", "--host", "\$(MY_SERVICE_NAME)"]
+        command: ["start", "--host", "$(MY_SERVICE_NAME)"]
 EOF

There is another change to sync:
./scripts/lsync.sh content/zh/docs/tasks/manage-kubernetes-objects/kustomization.md
diff --git a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
index f5e20a94c..d655d39be 100644
--- a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
+++ b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
@@ -590,7 +590,7 @@ spec:
       containers:
       - name: my-nginx
         image: nginx
-        command: ["start", "--host", "\$(MY_SERVICE_NAME)"]
+        command: ["start", "--host", "$(MY_SERVICE_NAME)"]
 EOF

Done.

There is another change to sync:
./scripts/lsync.sh content/zh/docs/tasks/manage-kubernetes-objects/kustomization.md
diff --git a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
index f5e20a94c..d655d39be 100644
--- a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
+++ b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md
@@ -590,7 +590,7 @@ spec:
       containers:
       - name: my-nginx
         image: nginx
-        command: ["start", "--host", "\$(MY_SERVICE_NAME)"]
+        command: ["start", "--host", "$(MY_SERVICE_NAME)"]
 EOF

Done.

/assign @tengqm

/assign @tengqm

/lgtm

/lgtm

/approve

/approve


IE compatibility

Hello,
I had an issue issuing IE, the compatibilty switched to IE7...
To bypass this problem I had to add the following line BEFORE any <link>, CSS or JS.
<meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1" />
But, it's impossible with the current release without a specific version of bootstrap4.html.
It would be nice to have a block like {%block bootstrap4_meta %}{% endblock %} in order to add extra <meta> options.
Thanks.
Frédéric

IE should be in the past for most users now. Please roll your own version of the base template.


Search.Code not returning results on encoded query string

Repro:

Call API directly:

https://api.github.com/search/code?q=prometheus+repo:microsoft/fabrikate-definitions+language:yaml

Seen: list of results

Call API via the go-github client

client.Search.Code(ctx, "prometheus+language:yaml+repo:microsoft/fabrikate-definitions", nil)

This results in an encoded query string https://api.github.com/search/code?q=prometheus%2Brepo%3Amicrosoft%2Ffabrikate-definitions%2Blanguage%3Ayaml
Expected: The same list of results as step 1
Seen: Validation error
{
  "message": "Validation Failed",
  "errors": [
    {
      "message": "Must include at least one user, organization, or repository",
      "resource": "Search",
      "field": "q",
      "code": "invalid"
    }
  ],
  "documentation_url": "https://developer.github.com/v3/search/"
}

Thank you, @edaena!
Here is the code responsible for encoding the query string:
https://github.com/google/go-github/blob/master/github/search.go#L217-L231
And here are the unit tests that go with this section of code:
https://github.com/google/go-github/blob/master/github/search_test.go
It looks like the Query parameter as in &searchParameters{Query: query} is not tested, which is unfortunate.
Possibly-related issues are: #963, #966, and #1122.
We should add unit tests for a variety of searches.
For anyone who wants to take up this issue, this will require a good amount of experimentation with the GitHub web interface by performing searches on the website and then performing the same search with this repo, and making sure that the query strings match (and therefore the search results match). This person should also carefully read the history of this issue and the linked issues above and make sure that all the queries from the past still work, including the one listed above by @edaena.
This would be a great PR for any new contributor to this repo or a new Go developer.
All contributions are greatly appreciated!
Feel free to volunteer for any issue and the issue can be assigned to you so that others don't attempt to duplicate the work.
Please check out our CONTRIBUTING.md guide to get started.
Thank you!

Hi - could I help with this issue ? Could you assign me - thanks !

I can't assign it to you, but consider this issue yours, and please read again carefully what I wrote above before writing your PR, as we would like to heavily test a number of search queries and make sure they match queries performed in the GitHub web UI.
Thank you, @jmidd!

any progress on this issue?
i noticed the comment in the search code: https://github.com/google/go-github/blob/a01ea50f2fc0ce93dad509f31ed1b279cc07b424/github/search.go#L220-L221
using   instead of + to seems to fix the problem.
Perhaps the solution is to document this better in the docs? figuring out if the + is part of a parameter or a separator is a pretty hard problem imho.
@gmlewis @jmidd @edaena

@henrikrudstrom - do you want to volunteer to improve the documentation?
@jmidd - is that OK with you, or are you still working on this issue?

I will bring this comment to documentation

Hey @jmidd Are you still working on this issue? Would love to work on it if you are not.

@gmlewis this issue can be closed

Closing.


Isolate identities for different tenants

What would you like to be added?
Currently Ratify is integrated with Azure workload identity by using service account to federate identity credentials from managed identity. However, Ratify only has one service account created and it belongs to a specific namespace, gatekeeper-system in most cases. Therefore, it's not natively working for multi-tenancy scenario. The same service account is shared by all namespaces.
In the meantime, we found it's possible to federate multiple identities with a single service account, so Ratify's service account could build federation with multiple identities. The remaining work is to figure out how to isolate access to different identities for each tenant while sharing the same service account.
Anything else you would like to add?
No response
Are you willing to submit PRs to contribute to this feature?

[X] Yes, I am willing to implement it.

@binbin-li Is there a limit to the # of managed identities you can federate to a single Service Account? I thought there was a limitation on Azure MI end too

@binbin-li Is there a limit to the # of managed identities you can federate to a single Service Account? I thought there was a limitation on Azure MI end too

Actually, it seems there's a limit of 20 federated credentials per MI but I don't see limit on the number of MI per service account.

Lower priority for Ratify 1.3


IE11 needs a refresh with F5

When watching https://webslides.tv/ in IE11 (latest with auto update) on Win7 I have to refresh every slide with F5 to view the slide.
Thank you, the software works great on FF or Chrome.

I've checked this against 1.0.0 and it errors. After 19cd5bd seems okayish although the behaviour is not perfect. Unsure of the level of support we're going to give to IE yet but it's definitely an improvement.
Will keep you posted!

@vuwer this has been released now under 1.1.0. Please give it a shot and let us know how is it looking on your end.

Closing as got no answer from @vuwer


Limit scope of distutils hack workaround for pip

In pypa/pip#8761, a more direct workaround is being implemented, meaning the workaround in Setuptools can be retired.

I've also created https://github.com/pypa/setuptools/tree/feature/remove-distutils-hack-pip-workaround to track the removal in the future.


Wrong entry path for scoped packages

Hello,
inside the build.js file you create the entry paths for es5 and es2015 modules in this way:
const es5Entry = path.join(es5OutputFolder, `${libName}.js`);

This resolves in the following path for scoped package names:
<EMAIL_ADDRESS>
But it should be:
/libname/out-tsc/lib-es5/libname.js

I am currently working on a fix, if you want i can make a PR for this.
Thank you.

Scoped libraries actually need a slightly different setup overall, which this repository does not cater for right now. Your proposed fix would not fully enable scoped repositories - they would still not be published correctly.
I'll leave the issue open though as this is a known limitation.

Thanks for your feedback. Can you give me a hint on what else has to be changed to get this working with scoped packages?
Thanks

@matthiaskomarek, I was able to publish an AoT compatible scoped package. I don't remember all the steps I took, but it was not too much for sure. One thing you want to do is to properly set the flatModuleId property in tsconfig.es5.json:
 "angularCompilerOptions": {
    "annotateForClosureCompiler": true,
    "strictMetadataEmit": true,
    "skipTemplateCodegen": true,
    "flatModuleOutFile": "samble-library.js",
    "flatModuleId": "@scope-name/samble-library"
  }

Other than that just make sure the name of your package.json is properly set with the scope and adjust the paths as you want to distribute your lib.
Again, I might be missing tons of things here, but this is what worked for me. I've studied the angular-material build process for like 200 hours so it also helped :)

@matthiaskomarek, you can check out https://github.com/ospatil/angular-quickstart-lib. I have added npm scoped package and sass support.

@ospatil thanks for this. I tried pulling in your branch changes but I am getting this:
> npm run clean

><EMAIL_ADDRESS>clean /Users/webdev48/Documents/workspace/angular4-test/my-test-lib
> rimraf out-tsc dist "src/lib/**/*.js" "src/lib/**/*.map"

><EMAIL_ADDRESS>build /Users/webdev48/Documents/workspace/angular4-test/my-test-lib
> node build.js

Build failed. See below for errors.

{ Error: Command failed: node-sass /Users/webdev48/Documents/workspace/angular4-test/my-test-lib/src/lib -o /Users/webdev48/Documents/workspace/angular4-test/my-test-lib/src/lib --output-style compressed --source-map true --source-map-contents
  No input file was found.

  at Promise.all.then.arr (/Users/webdev48/Documents/workspace/angular4-test/my-test-lib/node_modules/execa/index.js:210:11)
  at process._tickCallback (internal/process/next_tick.js:109:7)
  code: 1,
    killed: false,
  stdout: '',
  stderr: 'No input file was found.\n',
  failed: true,
  signal: null,
  cmd: 'node-sass /Users/webdev48/Documents/workspace/angular4-test/my-test-lib/src/lib -o /Users/webdev48/Documents/workspace/angular4-test/my-test-lib/src/lib --output-style compressed --source-map true --source-map-contents',
  timedOut: false }

npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/webdev48/.nvm/versions/node/v6.10.2/bin/node" "/Users/webdev48/.nvm/versions/node/v6.10.2/bin/npm" "run" "build"
npm ERR! node v6.10.2
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build: `node build.js`
npm ERR! Exit status 1
npm ERR!
  npm ERR! Failed at the<EMAIL_ADDRESS>build script 'node build.js'.
  npm ERR! Make sure you have the latest version of node.js and npm installed.
  npm ERR! If you do, this is most likely a problem with the my-test-lib package,
  npm ERR! not with npm itself.
  npm ERR! Tell the author that this fails on your system:
  npm ERR!     node build.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs my-test-lib
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls my-test-lib
npm ERR! There is likely additional logging output above.

  npm ERR! Please include the following file with any support request:
  npm ERR!     /Users/webdev48/Documents/workspace/angular4-test/my-test-lib/npm-debug.log

Environment
node v6.10.2
npm 3.10.10

@webdev48 node-sass is complaining because it didn't find any scss file to compile. Take a look at my changes. Probably you missed renaming src/lib/src/component/lib.component.css to src/lib/src/component/lib.component.scss.

I did make that change. Even i look at your changes, i still wonder how is node-sass able to point to any scss file?
@ospatil
In your compileSassFiles function,
return execa('node-sass', [
    srcFolder,
    '-o', srcFolder,
    '--output-style',
    'compressed',
    '--source-map',
    true,
    '--source-map-contents'
  ]);

so you are giving srcFolder as input to node-sass , correct ? The srcFolder points to /src/lib but the scss file resiles in /src/lib/src/component/*.scss.... how does that map? Does node-sass recursively looks for any scss files in all sub folders? Also will this function work if you have multiple components within the /src/lib/src/ .
Sorry if my question looks naive. I am very new to node-sass.

Yes so it works now. I am sorry ... i was just playing with stuff and renamed my scss file to _lib.component.scss which doesnt seem to work but a simple lib.component.scss does work. It also works on multiple components so looks like node-sass goes into each folder within /src/lib and looks for any scss file in there. Thanks

@ospatil
Thanks for your changes!
I fork your repository and implemented a lib, It's works perfectly.
Create a PR please!

@ospatil thanks for your implementation with sass! It seems that one step is missing, which is to rename the scss url to the compiled .css file indide the styleUrls array, or am I missing something? Because the inlineStyle otherwise just inlines raw sass.
thanks!


Option to enable / disable plugin

Since for large docs it takes some time (like minute or more) and if you are real time serving that slows down refresh.
It could be good to be able to enable/disable plugin by boolean option.  Since mkdocs supports setting config values via Environment variables in next version (https://github.com/mkdocs/mkdocs/issues/1954) this could be set up dynamically depending on  needs.

Yeah good suggestion!
We don't need to wait for the new mkdocs version, I think a new parameter enabled_if_env would work nicely, just like https://github.com/zhaoterryy/mkdocs-pdf-export-plugin#enabled_if_env
Will pick this up for next release. Of course, feel free to make a PR if you want this feature faster ;)

enabled_if_env works, but it sucks in UX and is totally surprising in many aspects.
FYI, I totally replaced mkdocs-pdf-export-plugin plugin with your one with amazing effects. Check out the demo here - both plugins are enabled so you can spot the differences (for example demonstration page).

Your plugin builds 300 pages single page in around 30-50 seconds. PDF export plugin builds it in 15 minutes or so.
Generated PDF looks exactly the same, while PDF export plugin has all kinds of quirks from images not shown, over various plugins not working (matjax etc.), to various bugs, page numbering problems etc.
And you can always build PDF yourself if automated build is missing. I added puppeteer in Docker image I use, and now exporting works nice and takes the same amount of time as to generate single html page. Previously I totally had to use enable/disable switch (it also rendered serve unusable) Now I have PDF export enabled all the time since it adds tolerable amount of time to build process.

There are numerous plugins out there to do this, yet this one is the only one doing it simply and correctly. Thanks a lot for this. This idea works the best so far by orders of magnitude.

Really cool to read & see your implementation! Looks really clean. I use this plugin with my team to write our technical model documentation reports as markdown. The workflow enables us to have machine learning code together with the docs, instead of sending around word documents. We then export the report as PDF to send to model validators. Indeed mkdocs-pdf-export-plugin was quirky.
I'll wait for the new mkdocs plugin before starting on this feature. Thanks again for the feedback & let me know if you encounter any other improvements that can be made.

I use this plugin with my team to write our technical model documentation reports as markdown.

The same. We keep this spec even in feature branch and we build it separate docs for each feature etc. Word and other bs is forbiden.

FYI mdocs 1.2.1 added this feature.
So we could now have:
enable: !ENV PDF_ENABLED

to toggle it via env var.

Yes I will add this next week :)

Released in v1.3.0 !


Update Makefile for generating fat binary

The content should now be:
lib$(TARGET)-i386.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphonesimulator -arch i386 -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphonesimulator/lib$(TARGET).a $@
lib$(TARGET)-x86_64.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphonesimulator -arch x86_64 -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphonesimulator/lib$(TARGET).a $@
lib$(TARGET)-armv7.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch armv7 -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@
lib$(TARGET)-arm64.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch arm64 -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@
lib$(TARGET).a: lib$(TARGET)-i386.a lib$(TARGET)-x86_64.a lib$(TARGET)-armv7.a lib$(TARGET)-arm64.a
xcrun -sdk iphoneos lipo -create -output $@ $^
clean:
-rm -f *.a *.dll

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

ID: c37f6af1-e697-321a-a3ac-077446a8a3fe
Version Independent ID: f3e6b4c1-6910-f7ec-6f3b-0d3709ce2a82
Content: Walkthrough: Binding an iOS Objective-C Library - Xamarin
Content Source: docs/ios/platform/binding-objective-c/walkthrough.md
Product: xamarin
Technology: xamarin-ios
GitHub Login: @davidortinau
Microsoft Alias: daortin

Not sure if it's universal but for the project that I was trying to bind, I ended up creating multiple .framework for simulator vs device. Without fiddling with lipo

Thanks for submitting an issue and we apologize for the delayed response. The requested updates haven't been made since the creation of the issue, and the timeline for resolution may vary based on resourcing, so the issue is being moved to an internal repo to better track it.


Change CML checksum tests which look for fill_value and mask

For example: iris.tests.test_pp_cf.TestAll

https://travis-ci.org/SciTools/iris/jobs/201906847

https://github.com/marqh/iris/pull/43


.Net & Python: Fix Broken Links

Description
I used link-inspector to find and fix broken links in this project. This is an updated PR of  #4910, which fixes the merge conflict. Here are the links I have fixed:
https://docs.microsoft.com/rest/api/keyvault/getsecrets/getsecrets --> https://learn.microsoft.com/en-us/rest/api/keyvault/secrets/get-secret/get-secret
https://docs.microsoft.com/rest/api/keyvault/getkeys/getkeys --> https://learn.microsoft.com/en-us/rest/api/keyvault/keys/get-keys/get-keys
https://docs.microsoft.com/rest/api/keyvault/encrypt/encrypt --> https://learn.microsoft.com/en-us/rest/api/keyvault/keys/encrypt/encrypt
https://docs.microsoft.com/rest/api/keyvault/decrypt/decrypt --> https://learn.microsoft.com/en-us/rest/api/keyvault/keys/decrypt/decrypt
https://docs.microsoft.com/rest/api/keyvault/createkey/createkey --> https://learn.microsoft.com/en-us/rest/api/keyvault/keys/create-key/create-key
https://docs.microsoft.com/rest/api/keyvault/getsecretversions/getsecretversions --> https://learn.microsoft.com/en-us/rest/api/keyvault/secrets/get-secret-versions/get-secret-versions
https://github.com/microsoft/semantic-kernel/blob/main/python/semantic_kernel/planning/plan.py --> https://github.com/microsoft/semantic-kernel/blob/main/python/semantic_kernel/planners/plan.py
https://github.com/microsoft/semantic-kernel/blob/main/python/semantic_kernel/planning/sequential_planner/Plugins/SequentialPlanning/skprompt.txt --> https://github.com/microsoft/semantic-kernel/blob/main/samples/plugins/QAPlugin/Form/skprompt.txt
Support my work
These links were found with link-inspector. If you find this PR useful, give the repo a ⭐
Contribution Checklist

[X] The code builds clean without any errors or warnings
[X] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[X] All unit tests pass, and I have added new tests where possible
[X] I didn't break anyone :smile:

Based on @markwallace-microsoft  feedback, I have fixed this link:
https://github.com/microsoft/semantic-kernel/blob/main/samples/plugins/QAPlugin/Form/skprompt.txt --> https://github.com/microsoft/semantic-kernel/blob/main/python/semantic_kernel/planners/sequential_planner/Plugins/SequentialPlanning/skprompt.txt

Python 3.10 Test Coverage Report • FileStmtsMissCoverMissingTOTAL518798281% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.10 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1059
1 :zzz:
0 :x:
0 :fire:
28.566s :stopwatch:

Python 3.8 Test Coverage Report • FileStmtsMissCoverMissingTOTAL504499080% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.8 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1059
11 :zzz:
0 :x:
0 :fire:
19.915s :stopwatch:

Python 3.11 Test Coverage Report • FileStmtsMissCoverMissingTOTAL518798281% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.11 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1059
1 :zzz:
0 :x:
0 :fire:
23.620s :stopwatch:

Python 3.9 Test Coverage Report • FileStmtsMissCoverMissingTOTAL518198481% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.9 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1059
2 :zzz:
0 :x:
0 :fire:
25.240s :stopwatch:

Python 3.12 Test Coverage Report • FileStmtsMissCoverMissingTOTAL518798281% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.12 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1059
1 :zzz:
0 :x:
0 :fire:
32.281s :stopwatch:

@moonbox3 @eavanvalkenburg Would it be possible to move code coverage reports for Python code from PR comments to CI pipeline? Posting code coverage in PR comments has some disadvantages:

Code coverage comments are mixed with user comments in PR which makes it harder to review.
With every code coverage comment for each Python version I receive separate email notification.

For .NET code, we output code coverage in CI pipeline. It's useful when code coverage threshold is not met and you can see which assembly requires more tests. It's also possible to check code coverage for specific .NET SDK version:

Maybe we can do something similar for Python? Let me know what you think, thanks!


[eas-cli] Show the -s, --sso option in the login command help.

Why
As noted by @jonsamp, the login info message was not clear. It was changed to  show use of 'login --help' to see more login options. On checking, the sso login option was missing/hidden in the help and README.
Related PR: https://github.com/expo/eas-cli/pull/2352
How
Added back the login help option.
Test Plan
Checked login help locally before making any changes:
`eas-cli % ./bin/run login --help
log in with your Expo account
USAGE
$ eas login [-s]
FLAGS
-s, --sso  Login with SSO
DESCRIPTION
log in with your Expo account
ALIASES
$ eas login
`
Login help after adding back the sso help:
`eas-cli % ./bin/run login --help
log in with your Expo account
USAGE
$ eas login [-s]
FLAGS
-s, --sso  Login with SSO
DESCRIPTION
log in with your Expo account
ALIASES
$ eas login
`

/changelog-entry bug-fix Show the -s, --sso option in the login command help.

/changelog-entry bug-fix Show the -s, --sso option in the login command help.


MetricsModule: inject DataSourceTaskIdHolder early

Description
This fixes an issue where MSQ ingestion failed if the first monitor in the list is ServiceStatusMonitor. Before this change, setting the ServiceStatusMonitor as the first monitor will fail with errors in CliPeon like below
1) Error in custom provider, java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `org.apache.druid.segment.virtual.ExpressionVirtualColumn`, problem: Unable to provision, see the following errors:

1) Problem parsing object at prefix[druid.lookup]: Cannot construct instance of `org.apache.druid.query.lookup.LookupListeningAnnouncerConfig`, problem: Unable to provision, see the following errors:

1) Error in custom provider, java.lang.IllegalStateException: This is a proxy used to support circular references. The object we're proxying is not constructed yet. Please wait until after injection has completed to use this object.
  at org.apache.druid.cli.CliPeon$1.getDataSourceFromTask(CliPeon.java:344) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.cli.CliPeon$1)
  at org.apache.druid.cli.CliPeon$1.getDataSourceFromTask(CliPeon.java:344) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.cli.CliPeon$1)
  while locating java.lang.String annotated with @com.google.inject.name.Named(value="druidDataSource")
    for field at org.apache.druid.server.metrics.DataSourceTaskIdHolder.dataSource(DataSourceTaskIdHolder.java:29)
  at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:92) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)
  while locating org.apache.druid.server.metrics.DataSourceTaskIdHolder
Caused by: java.lang.IllegalStateException: This is a proxy used to support circular references. The object we're proxying is not constructed yet. Please wait until after injection has completed to use this object.
	at com.google.common.base.Preconditions.checkState(Preconditions.java:512)
	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:36)
	at com.sun.proxy.$Proxy103.getDataSource(Unknown Source)
	at org.apache.druid.cli.CliPeon$1.getDataSourceFromTask(CliPeon.java:344)
	at org.apache.druid.cli.CliPeon$1$$FastClassByGuice$$1ae344b1.invoke(<generated>)
	at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:264)
	at com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:401)
	at com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)

The problem is happening when the task file is deserialized in CliPeon.readTask. This is the sequence of events

CliPeon.readTask uses Jackson to deserialize the task
Jackson uses guice to find some injectable values. One of these is DataSourceTaskIdHolder
To inject that value, guice decides to use the provider annotated by CliPeon.getDataSourceFromTask and CliPeon.getTaskIDFromTask.

This creates a circular ref since readTask is the provider for Task and CliPeon.getDataSourceFromTask and CliPeon.getTaskIDFromTask use Task as their inputs.
However if you set any other monitor first such as JvmMonitor, then the injector doesn’t use the providers from CliPeon. Jackson is able to bind both datasource and task ID from the task file itself.
For now triggering the binding of DataSourceTaskIdHolder before any of the monitors are loaded resolves the issue but this does not seem like the right fix. I have not been able to figure out what the correct fix is but I suspect it's a lot deeper than this one-liner.
Key changed/added classes in this PR

MetricsModule

This PR has:

[x] been self-reviewed.
[ ] a release note entry in the PR description.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.

@arunramani  Is it possible to add a test case of any sort for this ?

@arunramani Is it possible to add a test case of any sort for this ?

I don't think there's any easy way to unit test this specifically. However the existing unit tests cover the injection working correctly.


Does EasyMDE support plugins ?

Does the editor have support for any plugins ? I am thinking about drop-in packages, which will automatically be discovered and wired up into the editor, for example providing new toolbar buttons or new features, etc.
I am considering switching from SimpleMDE but we've got a few custom additions on top of it, plus requirements for new features which would make more sense to be implemented as plugin modules.

The editor does not support plugins at the moment. But API changes compared to SimpleMDE are pretty minimal so your custom additions you use in SimpleMDE should work without much effort.
I do think that when the inevitable ESM / CodeMirror 6 rewrite happens (#262, #324), plugins for the editor and the ability to load codemirror addons (#149) are good features to consider.
The editor itself could also be build as a core module and plugins for basic functionality (#167).


[Broken] USANetwork now responds with "Unsupported URL"

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dlc version 2020.10.31
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dlc --write-info-json --ap-mso=DTV --ap-username=USERNAME --ap-password=PASSWORD --verbose -i --no-cache-dir https://www.usanetwork.com/wwe-raw/video/raw-101220/4245138
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--write-info-json', u'--ap-mso=DTV', u'--ap-username=PRIVATE', u'--ap-password=PRIVATE', u'--verbose', u'-i', u'--no-cache-dir', u'https://www.usanetwork.com/wwe-raw/video/raw-101220/4245138']
[debug] Loading archive file None
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dlc version 2020.10.31
[debug] Python version 2.7.18 (CPython) - Linux-5.4.0-512010201020-generic-x86_64-with-Ubuntu-20.04-focal
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4, rtmpdump 2.4
[debug] Proxy map: {}
[generic] 4245138: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 4245138: Downloading webpage
[generic] 4245138: Extracting information
ERROR: Unsupported URL: https://www.usanetwork.com/wwe-raw/video/raw-101220/4245138
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dlc/youtube_dlc/extractor/generic.py", line 2387, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/usr/local/bin/youtube-dlc/youtube_dlc/compat.py", line 2562, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/usr/local/bin/youtube-dlc/youtube_dlc/compat.py", line 2551, in _XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1659, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1523, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 5, column 303
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dlc/youtube_dlc/YoutubeDL.py", line 830, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dlc/youtube_dlc/extractor/common.py", line 532, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dlc/youtube_dlc/extractor/generic.py", line 3382, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: https://www.usanetwork.com/wwe-raw/video/raw-101220/4245138

Description

Recently USANetwork.com had a redesign and now uses are new url structure for shows (I haven't dug into movies)
The regular expression in the existing extractor looks for /videos/, but the new structure uses /video/
https://github.com/blackjack4494/yt-dlc/blob/master/youtube_dlc/extractor/usanetwork.py#L13
https://www.usanetwork.com/wwe-raw/video/raw-101220/4245138 is the URL I'm using to test and it works fine if I am logged in with my DirectTv/Cable account.

Switch to https://www.nbc.com/networks/usa
All the same videos are there and that works.

@StevenDTX , thank you for this solution. I was able to update my workflow to use the NBC approach :)


CLOUDP-277319: Added helm automation job #2

All Submissions:

[x] Have you signed our CLA?
[ ] Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if there is one).
[ ] Update docs/release-notes/release-notes-template.md if your changes should be included in the release notes for the next release.

FYI CLOUDP-278910 CI GH App token action consistent usage is created for discuss

@josvazg unfortunately it doesn't. But as you can see, I found a way to generate token inside the Github Action, instead of encoding the key with base64 and then calling a makefile

Reopened as there the workflow has been proved to be correct. The issue is with the credentials

Does this actually work?
I fear there is no special permission to allow for a workflow in one repo to actually make a commit or PR on another repo. Instead, we will need to do this in 2 pieces:

From the AKO repo we trigger a workflow in the helm-charts repo.
The helm-charts repo workflow does the required update.
This 2 pieces flow is currently working with our Github App, when releasing AKO we trigger a creation of a PR in the helm charts repo.

If cross referencing repos has not been proved to work using a test Github App, I would assume it does not work. Using user level credentials might allow cross repo changes, but GitHub Apps might not get the same privileges, specially on org owned accounts.

If cross referencing repos has not been proved to work using a test Github App, I would assume it does not work
I can show you that it works in my two private repos

✅ Test helm update
@s-urbaniak this is now working after updating permissions and commit e980c7a


Read count for all contigs (10X)

Hello,
I'm mucking about with the various intermediate files, as sometimes it's desirable to look at variably incomplete contigs. From my understanding, annot.fa is a master list of "raw" contigs, which are then filtered to ones with a defined CDR3 for cdr3.out, which then get further filtered for barcode_report.tsv. From what I gather from chatter in the issues, using the read count is a useful way to filter the output. It would appear that this only appears from the cdr3.out stage on.
Is there some way to get this for all entries in annot.fa? I performed some local attempts, to little success. A test contig of choice, AGCTTGACACAACGTT_0, had 192 reads in cdr3.out (and onward). I ran with --outputReadAssignment, and found 15497 entries for the contig in assign.out. I brought in the UMI information from assembled_reads.fa, but still got 493 rather than 192 this way:
grep "AGCTTGACACAACGTT_0" TRUST_R2_assign.out | cut -f 1 > rnames.txt
grep -f rnames.txt TRUST_R2_assembled_reads.fa | grep "barcode:AGCTTGACACAACGTT" | cut -f 6 -d " " | sort | uniq | wc -l

Thanks a lot and sorry for the trouble!

cdr3.out and annot.fa is kind in parallel. The assembled contig from TRUST4 is the consensus, which can encode CDR3 with less abundance that differ very little. This is to accommodate somatic hypermutations in BCRs. annot.fa file is the annotation on the consensus assembly. "cdr3.out" reads out the encoded minor CDR3s and calculate the number of reads overlapping with these cdr3s using EM algorithm as some reads may be compatible with multiple CDR3s from the consensus.
In your case, 192 in "cdr3.out" are the number of reads only overlap with the CDR3 region, and the "assign.out" contains the reads that not overlap with CDR3 region, like just overlap with the V gene or C gene portion. If you want to do some filters, the abundance in the cdr3.out file is more accurate, as V gene may be shared in multiple clonotypes and the read assignment becomes pretty random/less-reliable. Hope this helps.

Ah, I see. Thank you for my explanation.
Am I correct in my assumption that cdr3.out is a subset of annot.fa?

Oh wait, I have the technology to check. In summary cdr3.out is indeed a subset of annot.fa, and seems to be created like I theorised in the OP, i.e. taking the contigs with a defined CDR3.
grep ">" TRUST_R2_annot.fa | cut -f 1 -d " " | sed "s/>//" > annot.txt
cut -f 1 TRUST_R2_cdr3.out > cdr3.txt
#1113448, same count as cdr3 entries
comm -12 <(sort cdr3.txt) <(sort annot.txt) | wc -l

#2121513, the difference between annot entries and cdr3 entries
grep "CDR3(0-0):0.00=null" TRUST_R2_annot.fa | wc -l

If I was desperate for some sort of measure to try to possibly filter stuff at the annot.fa level, what would you recommend?

In the header of the annot.fa file, the third number is kind of the average coverage, namely the number_reads*read_length/500.0 . You may consider filter the contig with very shallow average coverage, for example less than 1 or 0.5.
The detailed coverage information is in the final.out file, which contains the number of reads support each of the nucleotide for the contig. Essentially, final.out is the position weight matrix for each contig assembly. I think you can filter those contigs with just one read support, i.e. every base pair has just 1 read.

Awesome, thank you very much! So in summary use the CDR3 read count if able, and if not able try these two. Think that's all the info I need, so I'll close this to declutter a bit.


Fix style table record actions on Grid layout

Description

This  PR fixes an issue when arranging records into a grid. A problem occurs where "Record Actions" do not wrap automatically if there are too many actions because wrap='-sm' on filament-tables::actions enable  sm:flex-nowrap . This causes the actions to overflow the container (div) and results in a broken layout, especially on larger screens.
Visual changes

before

After

Functional changes

[x] Code style has been fixed by running the composer cs command.
[x] Changes have been tested to not break existing functionality.
[ ] Documentation is up-to-date.

This was a deliberate decision within our design to not allow wrapping unless you are on mobile, to ensure that cards do not grow. I suggest that in this case, you should use an action group to ensure that there are not actions that are overflowing.


Add azure_virtual_network_dashboard, azure_virtual_network_detail, azure_network_security_group_dashboard, and azure_network_security_group_detail. Closes #19

Checklist

azure_virtual_network_dashboard
azure_virtual_network_detail
azure_network_security_group_dashboard
azure_network_security_group_detail

@khushboo9024 I guess we should add NSG Flow Log check as best practice recommended by here?


Fix for OS rollback not working when kernel image type changes on update (master)

Same as https://github.com/torizon/meta-toradex-torizon/pull/191, but for the master branch.
Notice I kept the patch number from scarthgap for the moment. Just let me know if you prefer to change it already.

Maybe we could change the numbering already. Even though it's a cherry-pick, I think it's fine to change the file name


NOMERGE: add some build profiling options

Sadly this doesn't work -- all the output is currently suppressed.


Higher CPU Usage than spotify's client

I'm running Ubuntu 20.10 and I built / installed Spot from the GitHub repository. I built with commit b89144086b1011427501a3e8d8f962f38782d0d4.
Using htop, I've noticed that Spot uses around 30% - 40% CPU on two different processes when playing a playlist . Even after running it for more than 5 minutes.
If I do the same thing with the Spotify client, I only see about 5% to 10% CPU usage.
Is there anything I can do to lower CPU usage?
Here are my CPU specs:
processor	: 7
vendor_id	: GenuineIntel
cpu family	: 6
model		: 158
model name	: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
stepping	: 9
microcode	: 0xde
cpu MHz		: 801.045
cache size	: 8192 KB
physical id	: 0
siblings	: 8
core id		: 3
cpu cores	: 4
apicid		: 7
initial apicid	: 7
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes

Thanks

Hi! Might be worth compiling in release mode (meson: -Dbuildtype=release), I'm not noticing excessive CPU usage on my end (with a somewhat worse CPU). Is it only during playback, for large playlists, etc?

Thanks @xou816! Building with release buildtype works much better. Now uses less than 5% CPU.
Yes, this only happens during playlist playback.
Maybe the README file should say -Dbuildtype=release?
Spot is awesome! I'm definitely switching!

Glad it helped! Right, I should mention this probably :)

Update README, closing this :)


Export to PDF failed! Reason: TypeError: Cannot read property 'close' of undefined

Hi and thank you for making this tool!
When trying to build my resume JSON to PDF I get the following error:
Export to PDF failed! Reason: TypeError: Cannot read property 'close' of undefined
My setup:
KissMyResume v0.8.2
n --version :7.2.2
npm --version: 7.13.0
node --version: 16.2.0
nodejs --version: 8.10.0

(I realize this setup is probably a mess of versions, this is my first use of nodejs)
validation of my json is successful. You can look at the json here
Is there some dependency that I am missing?

So I did some digging around, and most likely the issue lies with me trying this on WSL. When I try it natively in windows, ti works fine


compilation fix for no-std

This PR fixes following compilation problem for no-std environments:
error[E0412]: cannot find type `Vec` in this scope
   --> /home/miszka/parity/10-genesis-config/rust-bip39-release/src/lib.rs:110:26
    |
110 |     pub fn to_vec(&self) -> Vec<Language> {
    |                             ^^^ not found in this scope

error[E0599]: no method named `to_string` found for struct `Decompositions` in the current scope
    --> /home/miszka/parity/10-genesis-config/rust-bip39-release/src/lib.rs:201:42
     |
201  |             *cow = Cow::Owned(cow.as_ref().nfkd().to_string());
     |                                                   ^^^^^^^^^ method not found in `Decompositions<Chars<'_>>`

The problem can be reproduced with the following steps:
cargo new rust-bip39-dep-problem2
pushd rust-bip39-dep-problem2
cargo add bip39 --git "https://github.com/rust-bitcoin/rust-bip39"  --rev b100bf3 --no-default-features --features alloc
cargo build

cc: @tcharding
Would be nice to add this check to CI somehow. Do you have any idea how to do it?
Maybe we could create a cargo new somewhere in tmp directory?

Can you merge this？

Would be nice to add this check to CI somehow. Do you have any idea how to do it?

Saw this comment because PR turned up in my notifications. Dunno if this is just as stale comment but there is a check for this in CI ATM on master.

Can you merge this？

cc @stevenroose


Train with PACT but the value for cliping weights and activations which denoted as alpha seems not change.

the value for cliping weights and activations which denoted as alpha is initialized to 6.0,  In my opinion, this value should be updated during training, but I found it not, I am training with the imagenet_example just adding such following configs to make PACT working.
if args.quant:
        extra_params = {
            'extra_qconfig_dict': {
                'w_observer': "MinMaxObserver",
                'a_observer': "EMAMinMaxObserver",
                'w_fakequantize': "PACTFakeQuantize",
                'a_fakequantize': "PACTFakeQuantize",
                'a_fakeq_params': {},
                'w_qscheme': {
                    'bit': 8,
                    'symmetry': True,
                    'per_channel': False,
                    'pot_scale': False
                },
                'a_qscheme': {
                    'bit': 8,
                    'symmetry': True,
                    'per_channel': False,
                    'pot_scale': False
                }
            },
            'extra_quantizer_dict': {},
            'preserve_attr': {},
            'concrete_args': {},
            'extra_fuse_dict': {}
        }
        print("==> config with extra params", extra_params)
        model = prepare_by_platform(model, args.backend, extra_params)

Can you give us a minimal reproducible code tar file?

Can you give us a minimal reproducible code tar file?

I am afraid  not due to the restriction of  information security policy of our company.
but the minimal reproduction is not hard to reproduce following below steps.

(necessary) in application/imagenet_example/main.py ,around line 167, before calling of prepare_by_platform, add the PACT configs which has been presented.
(optinal) for more obvious watch of alpha, you could print the alpha in PACTFakeQuantize.forward.
(optinal and maybe wrong)  in mqbench/deploy/deploy_linear.py change line 99 from if scale.shape[0] > 1: to if len(scale.shape) != 0 and scale.shape[0] > 1:
(necessary) python setup.py install

OK，I get.

@jianyin2016 Problem fixed? Anything wrong in code or not?

I think there is something wrong with the code for PACT, but I have to validate the correction first.

Closed for finally found the reason why the performance was not as expected is that  I wrongly use of some configs.

I got the same error.
@jianyin2016 , How did you fix it.


MPhys multibody

mphys_meld.py has been modified for optional coupling of multiple bodies. When body_tags is specified, the builder now uses an MPhys builder function "get_tagged_indices" to couple specific sets of aero and structural nodes with separate MELD instances. Without body_tags specified, it by default couples all nodes like before.
Addresses MPhys issue 116 which seeks to couple multiple bodies in MPhys.

@Asthelen Yes that should take care of the formatting issues. Feel free to push that commit.

Sounds good--just pushed that commit.
For the record, an example using multiple bodies is provided here: https://github.com/Asthelen/mphys/tree/tags_for_multi_body/examples/aerostructural/crm_with_tail/vlm_meld_pyshell That MPhys PR has been approved, but hasn't fully gone through yet, so for now it just exists on my fork.

@bburke38, can we add some of the mphys users as reviewers to this PR before merging, as this likely affects our work (myself, @A-CGray, @kejacobson etc.)?

I pushed a new version with the docstring, and atleast_1d around the get_tagged_indices calls. The struct_coord_indices, etc. are still the same except for the longer comments (pointing to indices of x0, y0, z0, etc.)
I'm happy to keep tweaking things. Or if it helps, I might be able to add one/some of you as collaborators if you'd like to push to my fork. At the moment, I'm not sure how easily you all can test full aerostructural cases though (since the example uses pyshell).

@Asthelen, if you re-merge your branch with master again the CI should probably pass this time. We recently had an issue with a new Cython release that was breaking the instal process

Good to know--thanks. I wondered if the issue was on my end or not.
Fork is now synced, so hopefully it passes this time.

@bburke38 Can we get a version bump whenever this is merged in?

@timryanb Will do, I'm going to go ahead and merge it now. Sorry for the delay.


Update Factory.php to fix issue #62

Fixed authentication issue when username/password has special characters, see issue #62

@bennnjamin Thanks for looking into this, I've just filed #66 to support authentication with URL-encoded special characters. The code change looks very similar to your suggestion, most of the work was indeed adding some tests to verify this works as expected. Thanks for sparking this idea!


Example provided by the book does not work.

Hello,
In the "Get started with druid" page in the book, the line
    AppLauncher::with_window(WindowDesc::new(build_ui)).launch(())?;

inside the example currently throws an error, as WindowDesc::new() requires a Widget not a function returning a Widget.
Changing the line to
    AppLauncher::with_window(WindowDesc::new(build_ui())).launch(())?;

fixes things.

Which version of druid are you using? I think the book tracks the stable release. The first example should work on the current stable druid 0.7 while the second example works on master.

Currently using the master branch.

@memoryruins has it right, the readme works for the version on crates.io, but the latest version has some changes; we'll update the readme when we do the next release.


Code completion inside a method call doesn't show types

I love that I can hit Control-Space and see completions for args for a method.
However, types aren't displays for optional methods.

It doesn't look like CompletionSuggestion.parameterType is ever populated; this is what we'd need to be able to show types for named parameter completions.


Flutter_test Failed to lookup symbol 'sodium_init'

Hello,
I'm back to you with a little problem that I'm not able to understand/solve.
I would like to perform unit tests on functions using sodium_libs, but I encounter a problem when launching the tests.
Here is an example of usage I do
import 'package:sodium_libs/sodium_libs.dart';

Future<T> myFunction() async {
  final sodium = await SodiumInit.init();

  //do something using sodium.crypto.box.keyPair()
  //return res;
}

And how i try to perform test :
import 'dart:typed_data';
import 'package:flutter_test/flutter_test.dart';
import 'package:client/crypt/myLibUsingSodium.dart';

void main() {
  test('test myFunction()', () async {
    var res = await myFunction().then((value) {
    return value;
    });
    // assert(something);
  });
}

here is the error log when I start test:
Invalid argument(s): Failed to lookup symbol 'sodium_init':
/home/userName/snap/flutter/common/flutter/bin/cache/artifacts/engine/linux-x64/flutter_tester:
undefined symbol: sodium_init

dart:ffi                                                   DynamicLibrary.lookup
package:sodium/src/ffi/bindings/libsodium.ffi.dart 66:54   LibSodiumFFI._sodium_initPtr
package:sodium/src/ffi/bindings/libsodium.ffi.dart         LibSodiumFFI._sodium_initPtr
package:sodium/src/ffi/bindings/libsodium.ffi.dart 67:29   LibSodiumFFI._sodium_init
package:sodium/src/ffi/bindings/libsodium.ffi.dart         LibSodiumFFI._sodium_init
package:sodium/src/ffi/bindings/libsodium.ffi.dart 62:12   LibSodiumFFI.sodium_init
package:sodium/src/ffi/sodium_ffi_init.dart 44:27          SodiumInit.initFromSodiumFFI
package:sodium/src/ffi/sodium_ffi_init.dart 27:7           SodiumInit.init
package:sodium_libs/src/platforms/sodium_linux.dart 14:69  SodiumLinux.loadSodium
package:sodium_libs/src/sodium_init.dart 45:51             SodiumInit.init.<fn>
package:synchronized/src/basic_lock.dart 31:24             BasicLock.synchronized
package:sodium_libs/src/sodium_init.dart 40:21             SodiumInit.init
package:client/crypt/myLibUsingSodium.dart 36:35           myFunction
test/myFunction_test.dart 10:40                            main.<fn>

I don't know how to solve this problem, or if I can solve it.
Could you help me please ?
best regards,

Thanks for such a quick response !
I've got: libsodium-dev installed and:
pkg-config --libs libsodium

returns: -lsodium.
yet I am still getting:
clang: error: linker command failed with exit code 1 (use -v to see invocation)

when trying to compile for Linux.
Surprisingly I can compile and run app just fine on Android.
I will stick to:
final libsodium = DynamicLibrary.open('/usr/lib/x86_64-linux-gnu/libsodium.so');

for now, so I can start development and in the meantime I will have to somehow resolve the linking issue, but at this stage I am not sure where to look for.
I do understand why I need to load lib manually when running unit tests and I've import issue resolved, it's likely that flutter clean would've helped, it's just I've resolved it by switching: flutter channel and no longer facing the problem.
Thanks for your help and keep up doing the good work !

Right, so flutter build linux --debug -v gives:
[        ] /snap/flutter/current/usr/bin/ld: /lib/x86_64-linux-gnu/libsodium.so.23: undefined reference to<EMAIL_ADDRESS>[        ] clang: error: linker command failed with exit code 1 (use -v to see invocation)

ldd --version ldd gives:
ldd (Ubuntu GLIBC 2.36-0ubuntu4) 2.36
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

I've then assumed that maybe if I compile libsodium from Git, it would then use the 2.3.6 GLIBC instead of 2.3.3, but I am still getting same error (it's just binary real location pointed via symlinks is different):
/snap/flutter/current/usr/bin/ld: /usr/local/lib/libsodium.so.23: undefined reference to<EMAIL_ADDRESS>[        ] clang: error: linker command failed with exit code 1 (use -v to see invocation)

How I've compiled it:
sudo apt-get remove libsodium-dev
cd /tmp
git clone https://github.com/jedisct1/libsodium --branch stable
# minisign verification
./configure
make && make check
sudo make install
sudo ln -s /usr/local/lib/libsodium.so /usr/lib/x86_64-linux-gnu/libsodium.so

Oh man, thank you, that was it.
I've removed snap flutter and manually installed. Problem has gone and on the plus side I've newer 3.7.0 Flutter version.
I am not qualified enough to comment on snap, but I have pretty negative experiences with it so far. Not sure what went wrong, but probably going to stay away from it.


February 2020 Recovery Endgame

[x] Create a milestone February 2020 Recovery owner
[x] Bump the version number owner
[x] 🔖candidate issues
[ ] Include an issue 'update translations' owner https://github.com/microsoft/vscode/issues/92952
[x] Assign candidate issues to the recovery milestone team
[x] Review the candidate issues, and if they pass the review assign them to the recovery milestone team
[x] All candidate fixes are peer reviewed and pushed to master and then cherry-picked into the release branch team
[x] Initiate insiders build from master
[x] Issues are tested in the insiders team
[x] Build stable for all platforms from release branch owner
[x] Issues are verified on stable build and the verified label is added owner
[x] Check https://github.com/Microsoft/vscode/compare/release/<x.y> to ensure no other commits have been made in the release branch owner
[x] Update the release notes and include a link to a query for the fixed issues @gregvanl
Smoketest stable bits  (⚠ MUST run with --stable-build argument ⚠ )

[x] Windows - @RMacfarlane
[x] OS X - @Tyriar
[x] Linux - @roblourens

[x] Sanity check of installable bits

[x] Windows 32 bit @sbatten

[x] signed installer 32-bit
[x] signed user installer 32-bit
[x] zip 32-bit

[x] Windows 64 bit @Tyriar

[x] signed installer 64-bit
[x] signed user installer 64-bit
[x] zip 64-bit

[x] OS X - @Tyriar
[x] Linux

[x] deb package 64-bit @octref
[x] rpm package 64-bit @octref
[x] archives @roblourens
[x] snap (sudo snap install --classic --dangerous <file>.snap) @Tyriar

[x] Server (instructions) @Tyriar

[x] Publish website @gregvanl
[x] Publish stable build owner
[x] Add a git tag to HEAD of release/<x.y> in format x.y.z

Released


Show more always displayed for group with 100 items

If a group contains exactly 100 items, the 'Show More' bar exists at the bottom of the gallery, even though al 100 items are displayed. Clicking Show More adds all 100 items tot he gallery again.
Show More should only display when not all gallery content is visible.

verified


Add C5A Instance Type Family

Also minor adjustment to the ordering of strings in the instance type list.

Thanks so much for this! LGTM


Issue with trying to add multiple tracks/JSON Issue?

Mod Version
1.20.1-<IP_ADDRESS>
Mod Loader
Forge
Mod Loader Version
47.2.20
Describe the bug
I've been attempting to include new soundtracks to play randomly for the aggressive mobs, but it does not appear to be working. Currently it is only playing aggro_track2, and won't include aggro_track in the loop. I'll include my current .json file below. I'm attempting to add around 3 aggressive tracks, but I'm testing it by adding an extra one at the moment. My hope is to try and have the aggressive tracks play randomly, but as mentioned, it is not working and only playing the second one.
Steps to Reproduce
Sounds.json file:
{
"non_aggro_track": {
"category": "records",
"sounds": [
{
"name": "mobbattlemusic:non_aggro_track",
"stream": true,
"volume": 0.6
},
{
"name": "mobbattlemusic:non_aggro_track2",
"stream": true,
"volume": 0.6
}
]
},
"aggro_track": {
"category": "records",
"sounds": [
{
"name": "mobbattlemusic:aggro_track",
"stream": true,
"volume": 0.6
},
{
"name": "mobbattlemusic:aggro_track2",
"stream": true,
"volume": 0.6
}
]
},
"player_track": {
"category": "records",
"sounds": [
{
"name": "mobbattlemusic:player_track",
"stream": true,
"volume": 0.6
}
]
}
}
Crash Reports/Logs
No response
Is OptiFine installed?

[X] OptiFine is installed

Screenhots
No response
Mod List
N/A

Name this post something besides Bug:

Name this post something besides Bug:

Bug:

Name this post something besides Bug:

My bad, first time poster on Github.

That's alright. Do you have a log file you could share?

That's alright. Do you have a log file you could share?

Unfortunately, no, just the JSON file that I was working with, since there isn't any crashes. I'll include the actual file I was working on, from my resourcepack. And while I'm not totally sure, I think there may be an issue with playing custom Minecraft music with mobbattlemusic. When the aggressive combat track appeared while I was fighting mobs, the other music I've added as part of a normal music resourcepack disappeared and didn't seem to return. This could just be a fluke/just me though.
mobbattlemusic.zip

I’ll take a look at that pack. Also, background music can take a while to come back on. I’ll have to test it to make sure it does though, so thanks for bringing it to my attention.

I’ll take a look at that pack. Also, background music can take a while to come back on. I’ll have to test it to make sure it does though, so thanks for bringing it to my attention.

I've been able to fix the problem with the background music by using a mod called Constant Music. It helps to load back normal music after the mobbattlemusic ends; highly recommend it.

The reason why your pack is not working is because you don't have a pack.mcmeta file, and the folders aren't properly organized. The folder mobbattlemusic needs to be in another folder called assets, so something like assets/mobbattlemusic
For the pack.mcmeta, create a new file outside the assets folder and include something like this inside of it:
{
  "pack": {
    "pack_format": 26,
    "description": "Example description"
  }
}

Let me know if this works or not


Add slack notifications

Adds notifications to slack showing the latest 10 entries, this is checked once every 10 minutes by default. Nothing is set if there are no news.
We need to setup some default env variables with @cooldracula help:
  slackWebhookUrl: process.env.SLACK_WEBHOOK_URL,
  slackCron: process.env.SLACK_CRON || "*/10 * * * *",

Solves #16

Added it to our ansible deploys with https://github.com/planetary-social/ansible-scripts/pull/81


How can I create a variable with shape (None, 1) ?

My problem is, I'm writing a layer with input shape (None, 10), and I want to append the same value to the end of every row to make it (None, 11). How can I do this?
Right now I'm thinking of creating another (None, 1), then concatenating them.
Thanks in advance.

@dontloo try to do this it. I think must solve
img = img.reshape((1,) + img.shape)

Right now I'm thinking of creating another (None, 1), then concatenating them.

If you have 2 separate inputs (10-dimensional vectors and single scalars) then the right approach is to create an input of shape (None, 10) and another one of shape (None, 1) and concatenate them.
Then again you could also create an input of shape (None, 11) and feed it the appropriate data.

@fchollet Thanks for the reply. But actually I want to make it as a trainable parameter (instead of an input) and add it to the end of every input vector, I didn't find a simple way to do this.
Say I want to add a value b to the end of every row of x, right now what I'm doing is like
self.b = self.init((1,))  # trainable parameter
...
# this is what I did to make b of shape (None, 1)
b_vec = K.expand_dims(0*K.sum(x, axis=1), 1) + self.b
K.concatenate([x, b_vec], axis=-1)

so I was wondering if there's a simpler way?

If you need to add trainable weights, you must write a custom layer.
On 19 December 2016 at 18:04, dontloo<EMAIL_ADDRESS>wrote:

@fchollet https://github.com/fchollet Thanks for the reply. But
actually I want to make it as a trainable parameter (instead of an input)
and add it to the end of every input vector, I didn't find a simple way to
do this.
Say I want to add a value b to the end of every row of x, right now what
I'm doing is like
self.b = self.init((1,))  # trainable parameter...# this is what I did to make b of shape (None, 1)
b_vec = K.expand_dims(0*K.sum(x, axis=1), 1) + self.bK.concatenate([x, b_vec], axis=-1)
so I was wondering if there's a simpler way?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/4767#issuecomment-268133639,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AArWb1A_9UwUC7XUHtPFJGzsbCOW2-Vkks5rJzeQgaJpZM4LQcvb
.

@fchollet yes, my problem is, in the layer I wrote, I'm not able to create a trainable weight of shape (None, 1). The way I worked around this is first squeezing the input into some shape I want, then multiplying them all by zeros and adding my parameter to it like
# this is what I did to make b of shape (None, 1)
b_vec = K.expand_dims(0*K.sum(x, axis=1), 1) + self.b


Geo markers alternate every 15 seconds on the map

How to reproduce

Bring up a development environment: Frontend instructions & Backend instructions
Load test data points by running at ./backend

PYTHONPATH=$PYTHONPATH:$PWD python contrib/load_points.py

Open browser at http://localhost:3000/
Wait for 15 seconds, see the cities geo-points disappear, after 15 seconds they come back (keeps alternating)

See video at: https://drive.google.com/file/d/1zizAQ3-U2dm5HJQ_Nu9xANfgxH9nW9yk/view?usp=sharing
Additional information
This seems like a ReactJS rendering info, see this code:
https://github.com/OSS-team-zulu/Zulu/blob/4b39d0a6118d43c272ac0fa191b08233b7b8b675/frontend/zulu/src/components/Map/MapGeojsonMarkers.jsx#L64-L74
In  componentDidMount we set an interval to take the user location from the browser every 15 seconds - this seems to cause them to alternate - we're probably not doing something right in the interval logic.

^ this PR also fixes this issue

@ornokrean - note that #38 didn't fix it as far as I can tell (checked it this morning).


Proposed eslint rule additions

I did a pass on all available rules on http://eslint.org/docs/rules/ and picked out ones that we probably want in Cesium.  We'll want to test these out one by one to make sure the rule isn't already handled by some of the other rules we are already using.    Rules that do require a bunch of code changes should be done separately. I didn't include any style rules since they will be part of #5369.  I also didn't include rules that were likely never to come up (for example explicitly disallowing eval).
Things we definitely want (almost all of these were part of jsHint and long when moved to eslint)
block-scoped-var
default-case
guard-for-in
no-alert
no-caller
no-floating-decimal
no-implicit-globals
no-invalid-this
no-loop-func
no-new
no-use-before-define
Things we probably want (Similar guidelines already exist in our documentation)
no-else-return
no-extra-parens
class-methods-use-this
consistent-return
no-sequences
no-unused-expressions
prefer-promise-reject-errors
no-shadow
no-undef-init
valid-jsdoc (may require lots of cleanup but well worth it)
Things we may want (cool ideas that might be overkill)
complexity
Node only (only apply to other Cesium ecosystem projects)
global-require
handle-callback-err
no-buffer-constructor
no-new-require

If anyone has any thoughts on the above rules, or recommend additional rules that we should look into, please speak up.  I'm hoping to have these rules added sometime over the next few weeks otherwise.

@mramato can I get started on adding some of these to Cesium?

Things we definitely want (almost all of these were part of jsHint and long when moved to eslint)

👍

Things we probably want (Similar guidelines already exist in our documentation)

👍, except

class-methods-use-this

Does this apply to Cesium yet since it doesn't use class anywhere?

no-sequences

Generally, I would say yes, but I'm not sure we should commit to it since this allows for some nice graphics code like http://www.realtimerendering.com/blog/looping-through-polygon-edges/
Perhaps just enable it and see how many exceptions the current code base needs.  If it is only a few, just stay with it.

Things we may want (cool ideas that might be overkill)
complexity

👎 This will be hard to reasonably enforce throughout the codebase, especially in areas of high algorithmic intensity.  I expect there will be little return here and lots of frustration.

Node only (only apply to other Cesium ecosystem projects)

👍
Finally, please update the Coding Guide to be include anything new here.  Throughout the Coding Guide, it would be useful to link to the specific ESLint doc as it often has more details and motivation than our guide.

I've just been playing around to see how breaking these would be. no-use-before-define is the biggest I've tested with >900 errors.

Many PR's open, which include these rules:

guard-for-in
no-caller
no-floating-decimal
no-new

`no-undef-init`

`default-case`

no-alert

`no-loop-func`

no-implicit-globals
no-use-before-define

consistent-return is proving difficult to implement. https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Globe.js#L384, and many other functions rely on returning either a value or undefined.
Should I enable the rule and silence the errors inline?

Should I enable the rule and silence the errors inline?

Probably, unless there are dozens of these cases.  We may come up with ideas to clean things up in the pull request.

Does this apply to Cesium yet since it doesn't use class anywhere?

I might have assumed it does since class is just a keyword, but I removed it from the list anyway after trying it out and seeing no results.

Generally, I would say yes, but I'm not sure we should commit to it since this allows for some nice graphics code like http://www.realtimerendering.com/blog/looping-through-polygon-edges/

The rule has a special case for for loops (which I agree is a common and often desired use of sequences).  So this rule is exactly what we do in our own code already and will allow for the code you linked to.

I removed rules we either agreed worry worth it or were not what we ultimately wanted.  I also moved no-shadow and valid-jsdoc to a different category because both require tons of changes.  If I were starting a brand new code base, I would use them, but the way our code is right now isn't worth it until we have more time and decide we really want it.

All sounds good.

@mramato Pretty sure it's ready to be bumped to 2.0!

@mramato Pretty sure it's ready to be bumped to 2.0!

Open a PR to enable the 3 node rules, it most likely won't require any Cesium code changes (but update CHANGES.md to mention them), also bump the version.  Once that's done, we'll merge and deploy and then we can update all of the other repositories.

Ok! See #5540

2.0.0 has been published.  Thanks @omh1280!


Getting incorrect Total Due Amount if discount is applied.

Bug report
Title
Getting incorrect Total Due Amount if discount is applied.
Issue Description
Discount amount get subtracted from Due Amount.

Preconditions

framework Version-0.1.7

Steps to reproduce
1. step1- Place an order for a product on which discount get applied.
2. step2- CHeck the due amount.

Expected result
Due amount should be equal to grandtotal
Actual result
Getting incorrect Total Due Amount if discount is applied.

Framework Version: 0.1.7

Fixed


use text/template instead of html/template

Coverage remained the same at 80.299% when pulling 82c0c291dbb42f6f0df128ce8c671d17c2f7e14a on do-not-use-html-template into 283612b48344090975798baf400878fba0d403d2 on master.


ohdsi software repo tracking

new page for tracking software projects

similar to https://ohdsi.github.io/Hades/packageStatuses.html
ex. number of commits, time of last commit, number of contributors
ability to drill in by package, possibly loading kibana visualizations

duplicated by #59


[qeustion] fg/bg for the head icon only?

I'd like to tweak the fg/bg color for the head icon only instead of the entire heading line.
It seems highlights.heading.backgrounds and highlights.heading.backgrounds update the entire line?

Hi, good question, I confused myself for a bit here. Will improve the documentation!
highlights.heading.foregrounds applies to the icon only.
Since by default I use the same highlight as the heading, i.e. markdownH1 for H1s it looks like the foreground stretches the whole line as well, but it does not.
If you change the value for highlights.heading.foregrounds you should see a different icon color, with no change to the actual heading text.

Following the latest refactor to group by components the thing you want to modify is heading.foregrounds.

works like a charm, thanks!


[BUG]bot entering and leaving the room

I am using windows server 2012 r2 system
bot entering and leaving the room
this is video
https://user-images.githubusercontent.com/48654905/108953715-b33be000-767c-11eb-8f50-85e13a0b8bf3.mp4

Are you sure someone did not disconnected it? I cannot reproduce it.

yes sir i am sure, nobody disconnects the bot.
I can run it on my own computer, but when I put it on a server, it doesn't work like in the video.

This BUG was marked as FIXED in the V.7.0.0 update.
https://www.npmjs.com/package/discord-music-player


📎Refactoring of General Utility Functions (utils)

Delete all unused functions and consolidate duplicate logic.

https://github.com/sugar-cat7/vspo-portal/pull/193


Group - Selected members are not highlighted

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

Version Number: v1.4.63-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Click on ‘FAB’ > Start chat
Select multiple users > Click on ‘Next’ button

Expected Result:
Selected users should be highlighted
Actual Result:
Selected user are not highlighted and members list UI is different from production. It looks like the older version of the page.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/e6185eb5-6019-4638-bce3-40b037905af1

View all open jobs on GitHub

@joekaufmanexpensify I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

We think this issue might be related to the #vip-vsb.

Production
https://github.com/Expensify/App/assets/115492554/392dc0b7-87ba-41d5-b856-e404b9e5dfbd

Proposal
Please re-state the problem that we are trying to solve in this issue.
Group - Selected members are not highlighted.
What is the root cause of that problem?
Some stylea are wrong.
What changes do you think we should make in order to solve the problem?
We should add " pressableStyle={[[styles.selectionListPressableItemWrapper, item.isSelected && styles.activeComponentBG, isFocused && styles.sidebarLinkActive]]}" here:
https://github.com/Expensify/App/blob/9b839f4f18d724dba1ed17ed5967f7e033781428/src/components/SelectionList/InviteMemberListItem.tsx#L51
And "containerStyle={styles.mb3}" here:
https://github.com/Expensify/App/blob/9b839f4f18d724dba1ed17ed5967f7e033781428/src/components/SelectionList/InviteMemberListItem.tsx#L53
Also remove "styles.optionRow" here:
https://github.com/Expensify/App/blob/9b839f4f18d724dba1ed17ed5967f7e033781428/src/components/SelectionList/InviteMemberListItem.tsx#L95
What alternative solutions did you explore? (Optional)
N/A
Result

I don't think this is a bug. Here is the mockup from the design doc which matches the UI shown above on staging.

cc @amyevans, unless you disagree, IMO we should close this, it seems intended.


Adding @types/redis to the main dependencies

Changes
Moving the @types/redis package to the main dependencies so that they are included when the package is added to other projects

Another potential way to solve this is to re-define the specific types you need for this package, in this package. I think this is something we'd probably want to do, but no need for this right now.

Wouldnt that mean Id have to redefine the entire RedisClient type here?


feat: global-tokens-update

As we started documenting border size and radius foundations on Design system style guide, I proceeded adding missing tokens to our list.
Added

border size tokens

Changed

'spacer' is now 'baseline'

Remove

font-style tokens

@Fupete and @astagi please, let's check this PR so we can proceed with the merge.
I'll wait for the next alpha.15 to officially release the update.


Rework filter clause before join on eventsByTag

Original issue
https://github.com/apache/incubator-pekko-persistence-jdbc/issues/105
The event-journal join to event-tag is happening before the offset/ordering where clause.
The subquery is therefore returning the entire event-journal when getting eventsByTag.
The filter for ordering only pertains to the event-journal. By moving that into the subquery where clause it will not return the entire event-journal each time eventsByTag is called.

I think some dbs handle Orderby in a subquery by optimizing them out. Moved the orderby to the main query.

@pjfanning I would set this for 1.1.x since its a behaviour change, wdyt?

@wjohnsonbynder would you be able to try to get some performance numbers?
https://github.com/apache/incubator-pekko-persistence-jdbc/blob/main/core/src/test/scala/org/apache/pekko/persistence/jdbc/query/EventsByTagTest.scala#L396
"show the configured performance characteristics" looks like a test could demo a perf improvement.
We have integration tests and this CI script gives you an idea of how to run them with postgres but there are other files for other databases if you prefer another database.
https://github.com/apache/incubator-pekko-persistence-jdbc/blob/main/.github/workflows/postgres-tests.yml

@wjohnsonbynder I had a look at the postgres integration times from the CI build for your PR and the time taken by the "show the configured performance characteristics" test takes a similar amount of time as for runs without your change.
Would you be able to have a look at the "show the configured performance characteristics" test to see if it is a useful test for your change? If it is, we could increase the iterations to see if makes the perf changes more obvious.

Looks I wasted a your time, sorry for that. I did some digging. Postgres is great DB and the query plan for either optimize to the best version. I think my original timing ran with the order by in the subquery. Orderby on a subquery is removed so the "increased performance" was the query not running the order by at all.
We have a large event journal and the order by on this query isn't fast. I need to dig into the query some more and see what the parameters are and see if we can optimize the size of the result set or how often our projections make the query.
Closing this out and the issue.
Thanks