Weave container falls into a bad state with readiness probe failures and unable to recover

What you expected to happen?
Weave not to get into a bad state on the node
What happened?
Every so often a single weave pod on our development cluster will go into a wonky state and cause pods to get stuck in container creating and init phases when they try to schedule to the node. The first sign we usually see for this is that a weave pod will be in Running state but with 1/2 containers ready:
kubectl get pods -n kube-system -o wide
NAME                                                                  READY   STATUS    RESTARTS   AGE     IP               NODE                                           NOMINATED NODE   READINESS GATES
weave-net-w725d                                                       1/2     Running   5          55d     <IP_ADDRESS>    ip-172-20-52-135.us-west-2.compute.internal    <none>

What we see in the describe output for the weave pod in question is this:
Events:
  Type     Reason     Age                     From                                                  Message
  ----     ------     ----                    ----                                                  -------
  Warning  Unhealthy  3m17s (x3631 over 10h)  kubelet, ip-172-20-112-17.us-west-2.compute.internal  Readiness probe failed: Get http://<IP_ADDRESS>:6784/status: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Individual containers in the weave pod describe output look as follows:
  weave:
    Container ID:  docker://022a374421303d46afb9b35110172c2711ed0ebf6cca1721339f6dd2cecb4c5f
    Image:         weaveworks/weave-kube:2.6.5
    Image ID:      docker-pullable://weaveworks/weave-kube@sha256:703a045a58377cb04bc85d0f5a7c93356d5490282accd7e5b5d7a99fe2ef09e2
    Port:          6782/TCP
    Host Port:     6782/TCP
    Command:
      /home/weave/launch.sh
    State:          Running
      Started:      Tue, 01 Sep 2020 19:05:58 -0600
    Ready:          False
    Restart Count:  0
    Limits:
      memory:  200Mi
    Requests:
      cpu:      50m
      memory:   200Mi
    Readiness:  http-get http://<IP_ADDRESS>:6784/status delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:
      HOSTNAME:        (v1:spec.nodeName)
      IPALLOC_RANGE:  <IP_ADDRESS>/11
      WEAVE_MTU:      8912
    Mounts:
      /host/etc from cni-conf (rw)
      /host/home from cni-bin2 (rw)
      /host/opt from cni-bin (rw)
      /host/var/lib/dbus from dbus (rw)
      /lib/modules from lib-modules (rw)
      /run/xtables.lock from xtables-lock (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from weave-net-token-tw7hm (ro)
      /weavedb from weavedb (rw)
  weave-npc:
    Container ID:   docker://a3a7f080c0a828d55f8208c8b72dd2aaaffba8fc1bded3d9efd0e82453136e3a
    Image:          weaveworks/weave-npc:2.6.5
    Image ID:       docker-pullable://weaveworks/weave-npc@sha256:0f6166e000faa500ccc0df53caae17edd3110590b7b159007a5ea727cdfb1cef
    Port:           6781/TCP
    Host Port:      6781/TCP
    State:          Running
      Started:      Tue, 13 Oct 2020 15:06:41 -0600
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    1
      Started:      Thu, 03 Sep 2020 14:46:38 -0600
      Finished:     Tue, 13 Oct 2020 15:06:39 -0600
    Ready:          True
    Restart Count:  3
    Limits:
      memory:  200Mi
    Requests:
      cpu:     50m
      memory:  200Mi
    Environment:
      HOSTNAME:   (v1:spec.nodeName)
    Mounts:
      /run/xtables.lock from xtables-lock (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from weave-net-token-tw7hm (ro)

When describing pods that are stuck on the node we see things like this:
 Failed create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "3e90c1f89e752030f4544ffe1e4da489f575803e1d93e469d265e1a5c85c08cd" network for pod "frontend-7769d67758-k7hbs": networkPlugin cni failed to set up pod "frontend-7769d67758-k7hbs_gsirois" network: unable to allocate IP address: Post http://<IP_ADDRESS>:6784/ip/3e90c1f89e752030f4544ffe1e4da489f575803e1d93e469d265e1a5c85c08cd: dial tcp <IP_ADDRESS>:6784: i/o timeout, failed to clean up sandbox container "3e90c1f89e752030f4544ffe1e4da489f575803e1d93e469d265e1a5c85c08cd" network for pod "frontend-7769d67758-k7hbs": networkPlugin cni failed to teardown pod "frontend-7769d67758-k7hbs_gsirois" network: Delete http://<IP_ADDRESS>:6784/ip/3e90c1f89e752030f4544ffe1e4da489f575803e1d93e469d265e1a5c85c08cd: dial tcp <IP_ADDRESS>:6784: i/o timeout]

How to reproduce it?
Unknown at this time
Anything else we need to know?
Our clusters run in AWS using KOPS
Versions:

Kubernetes: v1.16.10
Docker: 18.09.9
OS (uname output): Linux ip-172-20-101-51 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) x86_64 GNU/Linux
Weave image tag: weaveworks/weave-kube:2.6.5

Logs:
I've got a gist setup for the weave and weave npc container logs below:

weave container
weave-npc container

But as far as I can tell I don't see anything glaringly out of place there. Please also note that I've redacted the MAC addresses in the weave container logs, but I can provide a log file with those added back in if necessary
Also, I can provide the full logs for the kubelet, host dmesg output and host docker daemon if need be but I'd like to provide those only as they're requested. I can also provide the node describe output in a gist if needed but from looking at it myself I didn't see anything obvious there (ie no events, or bad statuses)
In my own investigation I was only really able to find kubelet logs that seemed to indicate that there was a problem occurring with CNI. Specifically this log message stood out as correlating perfectly with the outage of the weave pod:
"weave-cni: unable to release IP address: Delete http://<IP_ADDRESS>:6784/ip/78527467a9b15eb90d952146d0259c8319e630d56dc4324593636dea2b412195: dial tcp <IP_ADDRESS>:6784: i/o timeout",

but that seems to just be a symptom of CNI being unavailable on the node and not a cause.
Further Notes

I'm still doing an investigation on my part but it would be helpful to have some guidance on what to look for and where. In looking myself I just haven't been able to really find a smoking gun.

In the past I have gotten the weave pod to recover but only by restarting the docker daemon on the host and deleting the iptables lock. Unfortunately because this issue tends to severely impact our engineering org's velocity when this happens I'm unable to get much time with the node in question before having to cordon and drain the node leading to its eventual demise at the hands of the cluster autoscaler.

An interesting thing to note is that we use the same version of weave on our staging cluster, but we have not seen this issue occur there as of yet. The major difference between the two clusters is size with our dev cluster having around 100 nodes at any given time and the staging cluster having around 45 nodes. There's also significantly more churn on the dev cluster with development environments for all of our engineers being constantly deployed and re-deployed as well as ephemeral CI workers.

Looking at this a bit further it almost seems like the Readiness/Liveness probe failures are the first indication of failure from the perspective of the Kubelet. By all other accounts it appears as if the weave pod is in working order but trying to reach the /status endpoint results in a timeout, even when running it from within the running weave container:
/home/weave # curl <IP_ADDRESS>:6784/status
curl: (7) Failed to connect to <IP_ADDRESS> port 6784: Operation timed out

This message suggests to me that the weave container has hung:

Readiness probe failed: Get http://<IP_ADDRESS>:6784/status: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

In the logs you supply, one ends at 2020-11-04T05:25:48 while the other ends at 2020/11/04 17:26:27, which is consistent with the first one hanging.
Can you send the process a SIGQUIT and see if it dumps a stack trace to the log?
Other things of interest:

Image:         weaveworks/weave-kube:2.6.5

Can you try the latest release?

 Reason:       OOMKilled

Do you have metrics (e.g. Prometheus) saying how big it was at the time it was killed?  Can you check how big it is now?

@bboreham I'm realizing I may have posted up the wrong logs for the weave container which is why the timestamp ends where it does. The logs I posted for that were from our cloudwatch log stream, which for some reason gets cut off prematurely.
I'll post up the logs that were obtained from the host as well so that you have a more complete picture, but from what I saw the pod was still logging normally when I tailed the docker logs on the host after the readiness probes had begun failing.
As for memory usage, here's a bit of a snapshot from the day of as well as leading up to the event in question (timestamps are in in Mountain Time (Denver, USA)):

Unfortunately this pod is no longer around since we eventually killed the node, but this does seem to happen at least once a week in our development cluster so I'll be sure to cordon and isolate it so I can try issuing a SIGQUIT as well as another actions you suggest.
I don't know how feasible it will be to update the version of weave since we would like to keep it in sync with our production and staging clusters, but I'll float the idea to my team. Would that just be 2.7.0? Is there a particular bug/issue you're thinking that will address?

We had the same problems with latest release 2.7.0 on Kops Clusters.
Increasing the requested capacity for CPU/Memory (350m/400Mi) seems to solve the issue for us, until now ^^ cc @mattmelgard

@dntosas could you say how big your cluster is?
We have a recommendation to adjust the request, but even better if we can put some example sizes.

for a 200 nodes cluster, we set the following on weave:
  networking:
    weave:
      memoryRequest: 512Mi
      memoryLimit: 2048Mi
      cpuRequest: 300m

      npcMemoryRequest: 784Mi
      npcMemoryLimit: 2048Mi
      npcCPURequest: 300m

@bboreham sorry for the late reply on this. I did up the memory requests and limits to 600Mi (from 300Mi) but I'm still seeing the same issue. We had two pods go into a bad state today, again on our development cluster with the same symptoms (continuous readiness probe failure). It doesn't seem to be related to the memory or CPU usage from what I can tell using the basic kubernetes mixin dashboards (pictured over 24h, where the readiness probes began failing over the past 14h):

I did try to issue a SIGQUIT to the process, but I'm not sure if I'm hitting the correct one. PID 1 seems to be /bin/systemd and when I look for weave-net in the process list it appears to be one a bit further down in the process list. I tried to SIGQUIT both processes but didn't see anything interesting happen in the logs.
To respond to this point:

In the logs you supply, one ends at 2020-11-04T05:25:48 while the other ends at 2020/11/04 17:26:27, which is consistent with the first one hanging.

I believe this may have just been due to me posting up the incorrect file, I believe the other one I have continues to the same timestamp as the other my apologies on that, I'll post up the full log.

Here's the gist for the more complete log of the weave container that I had mis-posted originally. You can see there that the timestamps continue to the same time as the weave-npc pod. Sorry for the mixup on that.

Actually, one thing I did see just now while looking back through some of the logs for this most recent pod was that there was a bit of stack trace output from a weave-npc container that had exited.

So, it looks like initially there was once more incident of this happening after increasing resource limits and requests, but things have actually been quite a bit more stable since then (going on about a month and a half). I'm going to call this resolved since I think the increase in resource limits and requests actually did seem to solve the problem.


example: remote

Remote example for: #39

thanks for review @haaawk and will simplify

@haaawk simplified to single file!

Thanks @Peyton-Spencer


[reef] No openstack_config: True

openstack_config: True

The above parameter is no more in reef version ,this was thr till version 7.
Any plan to add this?

Please let me know any plan to add this config variable.

Please let me know any plan to add this config variable.


[BUG] - Help of "cardano-cli query protocol-parameters" command shows "--epoch-slots" twice

Internal/External
External
Area
Other
Summary
Help of "cardano-cli query protocol-parameters" command shows "--epoch-slots" twice.
Steps to reproduce
Steps to reproduce the behavior:
docker run -e --entrypoint cardano-cli -it inputoutput/cardano-node:latest query protocol-parameters
Expected behavior
"--epoch-slots" option should be listed only once.
System info (please complete the following information):
Docker Image:  inputoutput/cardano-node:1.26.2
cardano-cli 1.26.2 - linux-x86_64 - ghc-8.10
git rev 3531289c9f79eab7ac5d3272ce6e6821504fec4c
Screenshots and attachments

Additional context
Add any other context about the problem here.

Duplicate of #1451

The offending part of the code are here:

https://github.com/input-output-hk/cardano-node/blob/master/cardano-submit-api/src/Cardano/TxSubmit/CLI/Parsers.hs#L94
https://github.com/input-output-hk/cardano-node/blob/master/cardano-submit-api/src/Cardano/TxSubmit/CLI/Parsers.hs#L100

We use optparse-applicative to parse command line arguments and it does not appear to be any means to de-duplicate help.
I'm afraid this means we will have to mark this and won't fix until this changes.


 I have some thoughts though on coming at the problem a little differently.  What if we used the existing settings (currently related to tags) and made it so those settings could also accept tag.classname (or tag.classname1.classname2)?
The settings contentContainerTag, actionContainerTag, stepsContainerTag all are used to define the tag which will wrap the corresponding element.  So if we changed the default for each of those to be their tag & classname (eg, contentContainerTag: "div.content") and enabled each setting to thus accept classnames I think that might be a bit more intuitive way to go about things, and we don't have to add additional settings.  It will also be partly-backwards compatible (for users that did not define anything for these settings).
headerTag and bodyTag are a bit different in that these two settings are used to find elements. However, I suggest adopting a similar pattern as above, ie, defaults of headerTag: "h1.title" and bodyTag: "div.body". Now, this requires a bit more both on the backend (as at least .body is used to target elements in the js code, so that will need to be made into a variable so that the custom classname is used), and on the frontend (as the user will now need to add the default classnames to their h1's and div's). Although, now that I think about it, you could make it such that if the user only enters a tag for either of these settings, then jQuery-Steps will automatically assign the default classnames to those elements (ie, it will search based on just the defined tag, and then add the classname, same as it does now). Thus, for those using the default classnames they can still just define tags for these two settings, but for those who want to use different classnames those can be easily defined (and in that case the user needs to be sure to actually add the defined classname to their elements, because otherwise jQuery-Steps won't be able to find them since it would be search for a tag.classname combo).
With both sets of settings, there would obviously need to be a function that can parse out the tag and classname(s) from a string in the format of tag.classname1.classname2, but that shouldn't be a problem.
It is also worth noting that we can already add our own classes to the "header" and "body" elements, which will persist after jQuery-Steps initiates. All of the above, however, would give greater control over the classnames used for those elements (eg, in the case of classname collission), as well as obviously giving control over the classnames used for the other elements (which currently we have no control over).
There are a handful of additional classnames which aren't addressed above, so it would be helpful to have settings for each.  I spot the following (though I might have missed a few): .current, .diabled, .last.
I believe that implementing all of the above would address #131, #93, #21 (partially).
Thanks for considering my ideas! :)

Forgot to mention that I'd be glad to do a Pull Request if you're agreeable to these changes. :)  But don't want to do that work unless I know you'll merge them in.


Updated credits

Updated credits with new members and new time intervals.

Codecov Report

Merging #369 (990975e) into develop-v1.0 (8701dd2) will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff              @@
##           develop-v1.0     #369   +/-   ##
=============================================
  Coverage         81.83%   81.83%
=============================================
  Files                54       54
  Lines              5377     5377
=============================================
  Hits               4400     4400
  Misses              977      977

Impacted Files
Coverage Δ

core/eolearn/core/constants.py
98.61% <ø> (ø)

core/eolearn/core/core_tasks.py
97.48% <ø> (ø)

core/eolearn/core/eodata.py
89.96% <ø> (ø)

core/eolearn/core/eodata_io.py
93.13% <ø> (ø)

core/eolearn/core/eodata_merge.py
96.99% <ø> (ø)

core/eolearn/core/eoexecution.py
92.18% <ø> (ø)

core/eolearn/core/eonode.py
94.23% <ø> (ø)

core/eolearn/core/eotask.py
100.00% <ø> (ø)

core/eolearn/core/eoworkflow.py
96.77% <ø> (ø)

core/eolearn/core/eoworkflow_tasks.py
100.00% <ø> (ø)

... and 44 more

Continue to review full report at Codecov.

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


Change source of remote address

If the application server is behind a proxy or deployed on PaaS instances (e.g., Heroku), request.META["REMOTE_ADDR"] will likely return the proxy server's IP, not the client's IP. The proxy server will usually provide the client's IP in the HTTP_X_FORWARDED_FOR header.

Nice catch, looks good? Would you like to add a test for this, or should I?

@aschn Sorry, I'm not familiar with test in Python. Could you help me to do this? I will appreciate your help with this situation.

moved to PR #15


Use released snowflake provider

The release of the Snowflake Terraform Provider supporting python procedures has now been released, so update the module to use this instead of a build-from-source provider.

Merged as re-run of test passed.


Improve UI @Editor

Hey, I think we should improve our editor section UI. where we have to make 2 parts of settings.js like change color or change font will be move on left size and font,letter-spacing, etc will move on the right side.
Check this UI I created
before

Also, the Setting section is on the top side so the user need to bit scroll down to show output content, So if we move settings on left and right side then it will be better UI as well as better UX
After

Also, I change the font to openSans in navbar, I think this look very professional and net and clean

Check #766

@smaranjitghose  So we have to make it like this? because issue #766 is pointing on sketch page design

we want to keep the theme of the editor the same. the only thing you can add is that if you can make it sticky. so that all features are available as we scroll


Add Chinese localizations (Need PR #50)

Add zh-CN zh-HK zh-TW localizations (Need PR #50)

I've just merged #50 Just lmk when this is ready for review :3

I've just merged #50 Just lmk when this is ready for review :3

I think this is already done, just need to test it :D

I've just merged #50 Just lmk when this is ready for review :3

I think this is already done, just need to test it :D

You added some extra key's that will need to be added if I'm not mistaken?

I've just merged #50 Just lmk when this is ready for review :3

I think this is already done, just need to test it :D

You added some extra key's that will need to be added if I'm not mistaken?

Of course, but when I review it I saw that it already contains my keys.

I will test now, one moment.

tested, works as intended. 👍

I did the localization translation based on PR #50, so there should be no missing keys.

I did the localization translation based on PR #50, so there should be no missing keys.

Works great, I just tested 😄

I did the localization translation based on PR #50, so there should be no missing keys.

Didn't realize that! Thanks for the contribution :3


PLOT/VS and units of degrees_C has wrong axis labeling

Reported by ansley b manke on 12 Jun 2013 22:16 UTC
This goes back to older versions of Ferret.
A variable with units of degrees_C plotted in a plot/VS plot, gets tic marks labeled as if they're degrees-north.  This occurs whether the temperature variable is put on the horizontal or vertical axis. Here's a quick example script:
yes? let/units="degree_C"/title=temperature temp = {1,2,3,2,0}
yes? let/units="m"/title=depth depth = {1,5,1,5,0}
yes? plot/vs temp, depth
yes? plot/vs depth, temp

in both plots the axis representing temp is labeled as if the units in degrees_north.
Plotting the variable as a line plot "plot temp" labels the axis correctly, with a units label of degree_C, and just numbers labeling the tic marks.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2080

Comment by ansley.b.manke on 12 Jun 2013 23:59 UTC
Fixed. There was code in tm_unit_id.F to check for degrees_C before setting the units code to 4 (the code for degrees longitude/latitude). This testing was done in the wrong order - seeing if the code was 4, then whether the string contained something indicating temperature. But the code had not yet been set to 4.


The instruction in readme seems to mismatch with the source code.

Hi, after building the polymer-opt with the following commit, I try to execute (matmul.mlir is from /test/archive/polymer-translate/export-scop/matmul.mlir)
./bin/polymer-opt -pluto-opt matmul.mlir
It promotes the following error:
./matmul.mlir:4:8: error: custom op 'alloc' is unknown
%A = alloc() : memref<64x64xf32>
^
Then I change all "alloc" to "memref.alloc".
then execute the command like the readme says, it doesn't take effect and the result is as the source one.
only after execute the command like:
polymer-opt -debug  -extract-scop-stmt -pluto-opt matmul.mlir
it seems that the pluto transorm is applied:
#map0 = affine_map<(d0) -> (d0 * 32)>
#map1 = affine_map<(d0) -> (d0 * 32 + 32)>
module  {
func private @S0(%arg0: index, %arg1: index, %arg2: memref<64x64xf32>, %arg3: index, %arg4: memref<64x64xf32>, %arg5: memref<64x64xf32>) attributes {scop.stmt} {
%0 = affine.load %arg5[symbol(%arg0), symbol(%arg3)] : memref<64x64xf32>
%1 = affine.load %arg4[symbol(%arg3), symbol(%arg1)] : memref<64x64xf32>
%2 = mulf %0, %1 : f32
%3 = affine.load %arg2[symbol(%arg0), symbol(%arg1)] : memref<64x64xf32>
%4 = addf %2, %3 : f32
affine.store %4, %arg2[symbol(%arg0), symbol(%arg1)] : memref<64x64xf32>
return
}
func @matmul() {
%0 = memref.alloc() : memref<64x64xf32>
%1 = memref.alloc() : memref<64x64xf32>
%2 = memref.alloc() : memref<64x64xf32>
affine.for %arg0 = 0 to 2 {
affine.for %arg1 = 0 to 2 {
affine.for %arg2 = 0 to 2 {
affine.for %arg3 = #map0(%arg0) to #map1(%arg0) {
affine.for %arg4 = #map0(%arg2) to #map1(%arg2) {
affine.for %arg5 = #map0(%arg1) to #map1(%arg1) {
call @S0(%arg3, %arg5, %0, %arg4, %1, %2) : (index, index, memref<64x64xf32>, index, memref<64x64xf32>, memref<64x64xf32>) -> ()
}
}
}
}
}
}
return
}
}
May there is some mismatch between the source code and the test, just file an issue.
commit 76d9c2c98c11eecdeb0695ce0b052aca338e85ef (origin/main, origin/HEAD)
Merge: 4b8e998 7756df4
Author: Ruizhe Zhao<EMAIL_ADDRESS>Date:   Tue May 25 16:32:48 2021 +0000
Merge branch 'main' of github.com:kumasento/polymer into main

I guess that polymer uses legacy LLVM/MLIR that does not support memref.alloc/memref.dim.

Hi @kaivenlong Thank you so much for pointing this out :)
Indeed, there is a mismatch between the README and the actual implementation. I think your solution is correct (maybe -debug is not necessary). And the complete compile pipeline would be something like this:
https://github.com/kumasento/polymer/blob/d5a49055aca0ac1ab059a06609ea485037c1e284/example/polybench/eval-perf#L203-L210
I will improve the doc later.

I guess that polymer uses legacy LLVM/MLIR that does not support memref.alloc/memref.dim.

Indeed, that example was older than the memref dialect :)

I guess that polymer uses legacy LLVM/MLIR that does not support memref.alloc/memref.dim.

Indeed, that example was older than the memref dialect :)

Hi @kumasento ,
Thanks for sharing such a helpful tool.
After fixing the memref errors like this
func @matmul() {
  %A = memref.alloc() : memref<64x64xf32>
  %B = memref.alloc() : memref<64x64xf32>
  %C = memref.alloc() : memref<64x64xf32>

  affine.for %i = 0 to 64 {
    affine.for %j = 0 to 64 {
      affine.for %k = 0 to 64 {
        %0 = affine.load %A[%i, %k] : memref<64x64xf32>
        %1 = affine.load %B[%k, %j] : memref<64x64xf32>
        %2 = mulf %0, %1 : f32
        %3 = affine.load %C[%i, %j] : memref<64x64xf32>
        %4 = addf %2, %3 : f32
        affine.store %4, %C[%i, %j] : memref<64x64xf32>
      }
    }
  }

  return
}

I cannot get an optimized results from polymer-opt.

Did I make something wrong?

Sorry about the reply, I got this after update args.

$ ./polymer-opt
-reg2mem
-insert-redundant-load
-extract-scop-stmt
-canonicalize
-pluto-opt="dump-clast-after-pluto=${POLYMER_CLAST_FILE}"
-canonicalize
./matmul.mlir

[File generated by the OpenScop Library 0.9.2]

=============================================== Global
Language
C
Context
CONTEXT
0 2 0 0 0 0
Parameters are provided
1

NULL strings

Number of statements
1
=============================================== Statement 1
Number of relations describing the statement:
6
----------------------------------------------  1.1 Domain
DOMAIN
12 8 6 0 0 0
e/i| fk0  fk1  fk2  i0   i1   i2 |  1
1    0    0    0    1    0    0    0    ## i0 >= 0
1    0    0    0   -1    0    0   63    ## -i0+63 >= 0
1    0    0    0    0    1    0    0    ## i1 >= 0
1    0    0    0    0   -1    0   63    ## -i1+63 >= 0
1    0    0    0    0    0    1    0    ## i2 >= 0
1    0    0    0    0    0   -1   63    ## -i2+63 >= 0
1  -32    0    0    1    0    0    0    ## -32fk0+i0 >= 0
1   32    0    0   -1    0    0   31    ## 32fk0-i0+31 >= 0
1    0  -32    0    0    1    0    0    ## -32fk1+i1 >= 0
1    0   32    0    0   -1    0   31    ## 32fk1-i1+31 >= 0
1    0    0  -32    0    0    1    0    ## -32fk2+i2 >= 0
1    0    0   32    0    0   -1   31    ## 32fk2-i2+31 >= 0
----------------------------------------------  1.2 Scattering
SCATTERING
6 14 6 6 0 0
e/i| c1   c2   c3   c4   c5   c6 | fk0  fk1  fk2  i0   i1   i2 |  1
0   -1    0    0    0    0    0    1    0    0    0    0    0    0    ## c1 == fk0
0    0   -1    0    0    0    0    0    1    0    0    0    0    0    ## c2 == fk1
0    0    0   -1    0    0    0    0    0    1    0    0    0    0    ## c3 == fk2
0    0    0    0   -1    0    0    0    0    0    1    0    0    0    ## c4 == i0
0    0    0    0    0   -1    0    0    0    0    0    0    1    0    ## c5 == i2
0    0    0    0    0    0   -1    0    0    0    0    1    0    0    ## c6 == i1
----------------------------------------------  1.3 Access
READ
3 11 3 6 0 0
e/i| Arr  [1]  [2]| fk0  fk1  fk2  i0   i1   i2 |  1
0    0   -1    0    0    0    0    1    0    0    0    ## [1] == i0
0    0    0   -1    0    0    0    0    0    1    0    ## [2] == i2
0   -1    0    0    0    0    0    0    0    0    1    ## Arr == A1
READ
3 11 3 6 0 0
e/i| Arr  [1]  [2]| fk0  fk1  fk2  i0   i1   i2 |  1
0    0   -1    0    0    0    0    0    0    1    0    ## [1] == i2
0    0    0   -1    0    0    0    0    1    0    0    ## [2] == i1
0   -1    0    0    0    0    0    0    0    0    2    ## Arr == A2
READ
3 11 3 6 0 0
e/i| Arr  [1]  [2]| fk0  fk1  fk2  i0   i1   i2 |  1
0    0   -1    0    0    0    0    1    0    0    0    ## [1] == i0
0    0    0   -1    0    0    0    0    1    0    0    ## [2] == i1
0   -1    0    0    0    0    0    0    0    0    3    ## Arr == A3
WRITE
3 11 3 6 0 0
e/i| Arr  [1]  [2]| fk0  fk1  fk2  i0   i1   i2 |  1
0    0   -1    0    0    0    0    1    0    0    0    ## [1] == i0
0    0    0   -1    0    0    0    0    1    0    0    ## [2] == i1
0   -1    0    0    0    0    0    0    0    0    3    ## Arr == A3
----------------------------------------------  1.4 Statement Extensions
Number of Statement Extensions
1

# Number of original iterators
6
# List of original iterators
fk0 fk1 fk2 i0 i1 i2
# Statement body expression
S0(i0, i1, i2)

#
# =============================================== Extensions

# Number of arrays
3
# Mapping array-identifiers/array-names
1 A1
2 A2
3 A3

matmul

t1 t2 t3 t4 t5 t6

for (t1=0;t1<=1;t1++) {
for (t2=0;t2<=1;t2++) {
for (t3=0;t3<=1;t3++) {
for (t4=32t1;t4<=32t1+31;t4++) {
for (t5=32t3;t5<=32t3+31;t5++) {
for (t6=32t2;t6<=32t2+31;t6++) {
S0(t4, t6, t5)
}
}
}
}
}
}
#map0 = affine_map<(d0) -> (d0 * 32)>
#map1 = affine_map<(d0) -> (d0 * 32 + 32)>
module  {
func private @S0(%arg0: index, %arg1: index, %arg2: memref<64x64xf32>, %arg3: index, %arg4: memref<64x64xf32>, %arg5: memref<64x64xf32>) attributes {scop.stmt} {
%0 = affine.load %arg5[symbol(%arg0), symbol(%arg3)] : memref<64x64xf32>
%1 = affine.load %arg4[symbol(%arg3), symbol(%arg1)] : memref<64x64xf32>
%2 = mulf %0, %1 : f32
%3 = affine.load %arg2[symbol(%arg0), symbol(%arg1)] : memref<64x64xf32>
%4 = addf %2, %3 : f32
affine.store %4, %arg2[symbol(%arg0), symbol(%arg1)] : memref<64x64xf32>
return
}
func @matmul() {
%0 = memref.alloc() : memref<64x64xf32>
%1 = memref.alloc() : memref<64x64xf32>
%2 = memref.alloc() : memref<64x64xf32>
affine.for %arg0 = 0 to 2 {
affine.for %arg1 = 0 to 2 {
affine.for %arg2 = 0 to 2 {
affine.for %arg3 = #map0(%arg0) to #map1(%arg0) {
affine.for %arg4 = #map0(%arg2) to #map1(%arg2) {
affine.for %arg5 = #map0(%arg1) to #map1(%arg1) {
call @S0(%arg3, %arg5, %0, %arg4, %1, %2) : (index, index, memref<64x64xf32>, index, memref<64x64xf32>, memref<64x64xf32>) -> ()
}
}
}
}
}
}
return
}
}

Hi @kaivenlong Thank you so much for pointing this out :)
Indeed, there is a mismatch between the README and the actual implementation. I think your solution is correct (maybe -debug is not necessary). And the complete compile pipeline would be something like this:
https://github.com/kumasento/polymer/blob/d5a49055aca0ac1ab059a06609ea485037c1e284/example/polybench/eval-perf#L203-L210
I will improve the doc later.

Hi @kaivenlong Thank you so much for pointing this out :)
Indeed, there is a mismatch between the README and the actual implementation. I think your solution is correct (maybe -debug is not necessary). And the complete compile pipeline would be something like this:
https://github.com/kumasento/polymer/blob/d5a49055aca0ac1ab059a06609ea485037c1e284/example/polybench/eval-perf#L203-L210
I will improve the doc later.

Thank you, Ruizhe^_^.


[FEAT] Mark cards for editing with a tag

I'm aware of #269 and a PR that was merged for opening the file in the background and I'm not particularly interested in on the fly editing. Rather, I'd like to mark certain questions with a tag to edit later, such as #refactor. That way, I can later jump around with tags and then bulk remove with a regex once I'm done. I imagine that this is very doable and I'd love to take a crack at it. Would you be able to give me any helpful pointers?

FYI, my fork has this feature. I haven't bothered cleaning it up for merging though.


Request: Ability to disable "File updated"-Notifications

Would ideally be configurable per Repository.
Use case:
I have a Repository synced, that is periodically updated via a cronjob. All other computers notify me of the change (added file). For me, this is redundant since I know that this job runs and adds a file each time.

There's an option in the settings. 'Folders' tab -> uncheck 'Notifications'.

Damn, how could I not see that.
Thanks. :)

Yeah, it's annoying that it's separate from the rest of the notification-related settings (which are on the SyncTrayzor tab), but the settings are per-folder and need to be with the other per-folder stuff... I might add a note to the SyncTrayzor tab saying "more stuff over there -->".

Yepp, that would be helpful.
I disabled the Device-Notifications first and looked for more settings on the same tab.
I actually checked the folders tab as well but didn't bother to read the column-headers :smile:


ungoogled-chromium not starting with re2 >= 1:20210201-1

Describe the bug
ungoogled chromium won't start with re2 version >= 1:20210201-1 on Arch Linux. (/usr/lib/chromium/chromium: error while loading shared libraries: libre2.so.9: cannot open shared object file: No such file or directory)
To Reproduce
Steps to reproduce the behavior:

Update re2 to >=1:20210201-1 (pacman -S re2)
Start Chromium
Output: "/usr/lib/chromium/chromium: error while loading shared libraries: libre2.so.9: cannot open shared object file: No such file or directory"

Expected behavior
Chromium starting normally.
Environment (please complete the following information):

OS/Platform and version: GNU/Linux (Arch Linux, Kernel 5.10.11-arch1-1)
ungoogled-chromium version: 88.0.4324.104

Additional context
Temporarily fixed by downgrading re2. Recompiling should hopefully fix this as well with the new version of re2 (will update when my poor laptop is done).

Look for cached re2 versions (ls /var/cache/pacman/pkg | grep "re2")
pacman -U re2-[version].pkg.tar.zst (In my case it was "pacman -U re2-1:20201101-1-x86_64.pkg.tar.zst")
Chromium should now start normally.

This is a distribution specific packaging problem. Shouldn't this be reported under the distribution repository or the contributor binaries repository?

Yeah, this looks Arch Linux-specific. Since I can't move this issue there, please create the issue on ungoogled-chromium-archlinux instead: https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues. Thanks!


feature: Create roles and tables from endpoints

Sticking with plain string for Tables.Column['table'], circular references make fetching awkward (fetch table T which has column C, fetch column C which has table T, fetch table T which has column C, ...)
There are many more configurations we can make on creation (especially for tables), but we'll stick with the basics for now.
I haven't tested them much (just sanity test that they actually create roles/tables), fingers crossed they don't break something...
Closes #16, #17.

Everything seems great, but I think no tests right? Could you throw in a couple of tests for the new POST endpoints?

One weird thing I found is when I add a new role (just raw SQL), the the result from /roles doesn't seem to have updated somehow (though it's updated in DBeaver). Maybe I'm missing something obvious?
Otherwise I'll just add the test for roles later and track the issue down tomorrow.

Yeah I think it's because the /roles endpoint is faulty - it's not returning all the roles: https://github.com/supabase/infrastructure/issues/14

Roles should work OK now. Will merge this and close supabase/infrastructure#14 if this looks good.

amazing thanks Bobbie, looks like you did some nice tidying up. Once you've merged this, let's also push to master to bump the deployment. I'll try get this version out into production this release cycle


[SPARK-29685][SQL] Adds format to the spark-sql output like its implemented by Dataset showString

What changes were proposed in this pull request?

This PR adds a formatted print method like it is provided in the showString implementation from Dataset while using the spark-sql client.
Actual Spark-sql client
spark-sql> select * from table1;
5       name3   add3
5       name1   add1
5       name2   add2

Spark Dataset show
scala> sql("select * from table1").show()
+---+-----+-------+
| id| name|address|
+---+-----+-------+
|  5|name3|   add3|
|  5|name1|   add1|
|  5|name2|   add2|
+---+-----+-------+

Why are the changes needed?

To have a consistent output between Dataset show and spark-sql interfaces.
Does this PR introduce any user-facing change?

No
How was this patch tested?

org.apache.spark.sql.hive.thriftserver.CliSuite.scala was adapted for the new fortmat. Code compiles and pass tests.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thanks for the quick response @dongjoon-hyun. All good now.

Hi @javierivanov Are you interested in implementing a new Spark CLI similar to spark-sql, but does not include any Hive dependency.

Yeah, sure. The idea is to have a pure Scala implementation ?

@wangyum do you mean a different module or related to this PR #26340?


stack.yaml: update to lts-10.0

Tried building with stack (for a change) and, since stack's ghc bindists do not work here, I updated stack.yaml to lts-10.0 in order to use the host GHC (8.2.2).

Thank you! :)


Stmduino control bugfix

Fixes #30
Tested a bit on the patch, works great, Needs to be tested on the rest of our hardware.
Also: need to go through and confirm none of the example sketches have hardcoded analog reads hanging around.

 Fix daisyduino controls broken by stm32duino update

This and #29 seem solid
tested the field, and everything seems to be working as expected. Still wanna check on the pod/petal before merging and making a release, but you can go ahead and update the library.properties file to have v1.4.0 for when we publish it.

So Pod, Field, Petal all check out from a control point of view, but I'm getting some serious performance issues on anything that uses the RAM, which makes me think either the MPU, or the Cache aren't getting initialized/enabled correctly.
Would be worth looking through the changes here and in the stm32duino changes to see if anything's too different that could be causing this. (Also probably worth checking if it's unique to the Pedal or not, because that's the only board I noticed it on).

good catch on the extra bugs!
Think this is good to go. Tested a few other examples to make sure, but everything seems solid.


okular-nightly@1265: download via aria2 failed

Scoop Configuration

{
  "lastUpdate": "2022-09-17T18:00:18.7680756-06:00",
  "aria2-warning-enabled": false,
  "aria2-enabled": true,
  "SCOOP_REPO": "https://github.com/ScoopInstaller/Scoop",
  "SCOOP_BRANCH": "master"
}

Log
> scoop install okular-nightly
Installing 'okular-nightly' (1265) [64bit] from versions bucket
Starting download with aria2 ...
Download: 09/17 18:04:12 [ERROR] CUID#8 - Download aborted. URI=https://binary-factory.kde.org/job/Okular_Nightly_win64/Download: Exception: [AbstractCommand.cc:351] errorCode=3 URI=https://charlotte.kde.org/binary-factory/Okular_Nightly_wiDownload: Download Results:
Download: gid   |stat|avg speed  |path/URI
Download: ======+====+===========+=======================================================
Download: 771ed2|ERR |       0B/s|C:/Users/kristopherschneider/scoop/cache/okular-nightly#1265#https_binary-factory.kde.org_job_Okular_Nightly_win64_lastSuccessfulBuild_artifact_okular-master-1265-windows-msvc2019_64-cl.7z
Download: Status Legend:
Download: (ERR):error occurred.
Download: aria2 will resume download if the transfer is restarted.
Download: If there are any errors, then see the log file. See '-l' option in help/man page for details.

ERROR Download failed! (Error 3) Resource was not found
ERROR https://binary-factory.kde.org/job/Okular_Nightly_win64/lastSuccessfulBuild/artifact/okular-master-1265-windows-msvc2019_64-cl.7z
    referer=https://binary-factory.kde.org/job/Okular_Nightly_win64/lastSuccessfulBuild/artifact/
    dir=C:\Users\kristopherschneider\scoop\cache
    out=okular-nightly#1265#https_binary-factory.kde.org_job_Okular_Nightly_win64_lastSuccessfulBuild_artifact_okular-master-1265-windows-msvc2019_64-cl.7z

ERROR & 'C:\Users\kristopherschneider\scoop\apps\aria2\current\aria2c.exe' --input-file='C:\Users\kristopherschneider\scoop\cache\okular-nightly.txt' --user-agent='Scoop/1.0 (+http://scoop.sh/) PowerShell/7.2 (Windows NT 10.0; Win64; x64; Core)' --allow-overwrite=true --auto-file-renaming=false --retry-wait=2 --split=5 --max-connection-per-server=5 --min-split-size=5M --console-log-level=warn --enable-color=false --no-conf=true --follow-metalink=true --metalink-preferred-protocol=https --min-tls-version=TLSv1.2 --stop-with-process=7416 --continue --summary-interval=0 --auto-save-interval=1

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/ScoopInstaller/Versions/issues/new?title=okular-nightly%401265%3a+download+via+aria2+failed


Adding documentation to fix USI Stylus rotation.

Some Chromebooks come with USI styluses. They work fine in the newest versions of KDE Plasma, but they have a rotation issue in GNOME. The issue is that the stylus does not rotate with the screen, so it is only usable in one orientation.
This is a solution to this issue.
Now, this method solves the issue, but it is a bit complicated and not very beginner-friendly.
We can upstream changes to libwacom which should solve the issue for one device, but this has to be done for every device manually.
I don't know if there is a better way to solve this because this issue does not exist in KDE.

I also created a small script that does the same: https://github.com/Xelef2000/chromebook-linux-usi-stylus
But I am unsure of its advocacy, since I only have one device to test it.

Mind rebasing and resolving merge conflicts? We have a new Workflow that I'd like to run before we merge

I think I made a mistake during the rebasing since all the new commits are also in this PR.
How should I best proceed?

fixed it. You might need to git pull --force locally


Fix Spelling Errors for endpoint pkg

2 spelling errors are fixed which may lead to confusing
for the meaning of the whole sentence and src code.
Signed-off-by: trevor tao<EMAIL_ADDRESS>

Coverage increased (+0.001%) to 36.932% when pulling 2a14bb81348af8a416e248458b336ffb8c71c79b on TrevorTaoARM:fix_spelling_error into 082e87932312311f50f6d165905b792ff729f41d on cilium:master.


using float and comparison operator

I'm automating my roller shutters using time, temp/Rh and lux readings from various sensors. I use your RunninMedian library to smoothen the value of a MAX44009 lux sensor. When I try to compare the lux value to -for example- hours from a ds3231, the output goes bananas. I supsect it's got somethin to do with the float. serialPrint shows an ok value for mediaLux.
Is it possible to translate the float to a unsigned long and would that solve my problem?
if (medianLux <= 20) {do something; }

Hi Rogmoe,
I do not understand the problem in detail.
Can you post your sketch, preferably stripped to the essence what is going wrong.
Comparing different datatypes is normally not a problem unless your are out of range for one of the data types.
From your text I understand you are comparing two different physical units.  Light and Time.
In Einsteins universe they might be comparable however not in a trivial way.
Can you explain what you try to accomplish with the comparison ?

if (now.hour() == 9 && now.minute() == 00 && now.second() == 0) {   // alle rolluiken open om 09:00
shutters1.setLevel(0);
shutters2.setLevel(0);
shutters3.setLevel(0);
shutters4.setLevel(0);
}
if (medianLux < 20) {                                             // als het donker wordt
shutters1.setLevel(100);
shutters2.setLevel(100);
shutters3.setLevel(100);
shutters4.setLevel(100);
}
Time comparison works just fine. It moves the shutters down. Lux doesn't. 0=up, 100 fully closed.
See code (work in progress...)

OK,
It could be a hysteresis problem.
The solution is that you should close the shutters at a different light level than the levels you use to open it.
If you use the same levels and the light is fluctuating around that point it will constantly open /close like madness.
try this:
if (medianLux < 20)  closeShutters();
if (medianLux > 30) openShutters();

(Your from NL or  BE?)

Wow quite some lines of  code!
just a small remark with respect to timing.
Consider to leave out the seconds just in case the loop() or one of the functions takes a bit longer than expected.
It would also make the comment valid ;)
  if (now.hour() == 9 && now.minute() == 00 ) {   // alle rolluiken open om 09:00

NL ;-)
if (medianLux < 20)  shutters1.setLevel(100);
if (medianLux > 30) shutters1.setLevel(0);
...makes shutter1 go up and down constantly. Current lux reading is 23, so the shutter should stay in its current state, right?
Serials shows:
shutters1 going up
shutters2 going up.
shutters3 going up.
shutters4 going up.
shutters1 halted
shutters1 at 0%
shutters2 halted.
shutters2 at 0%
shutters3 halted.
shutters3 at 0%
shutters4 halted.
shutters4 at 0%              (end of initialization)
shutters1 going down     (command issued by lux statement. other shutters stay put.)
shutters1 at 1%
shutters1 at 2%
shutters1 at 3%
shutters1 at 4%
shutters1 at 5%
shutters1 at 6%
shutters1 at 7%
shutters1 at 8%
shutters1 at 9%
shutters1 at 10%
shutters1 at 11%
shutters1 at 12%
shutters1 at 13%
shutters1 at 14%
shutters1 at 15%
shutters1 at 16%
shutters1 at 17%
shutters1 at 18%
shutters1 at 19%
shutters1 at 20%
shutters1 at 21%
shutters1 at 22%
shutters1 at 23%
shutters1 at 24%
shutters1 at 25%
shutters1 at 26%
shutters1 at 27%
shutters1 at 28%
shutters1 at 29%
shutters1 at 30%
shutters1 at 31%
shutters1 at 32%
shutters1 at 33%
shutters1 at 34%
shutters1 at 35%
shutters1 at 36%
shutters1 at 37%
shutters1 at 38%
shutters1 at 39%
shutters1 at 40%
shutters1 at 41%
shutters1 at 42%
shutters1 at 43%
shutters1 at 44%
shutters1 at 45%
shutters1 at 46%
shutters1 at 47%
shutters1 at 48%
shutters1 at 49%
shutters1 at 50%
shutters1 at 51%
shutters1 at 52%
shutters1 at 53%
shutters1 at 54%
shutters1 at 55%
shutters1 at 56%
shutters1 at 57%
shutters1 at 58%
shutters1 at 59%
shutters1 at 60%
shutters1 at 61%
shutters1 at 62%
shutters1 at 63%
shutters1 at 64%
shutters1 at 65%
shutters1 at 66%
shutters1 at 67%
shutters1 at 68%
shutters1 at 69%
shutters1 at 70%
shutters1 at 71%
shutters1 at 72%
shutters1 at 73%
shutters1 at 74%
shutters1 at 75%
shutters1 at 76%
shutters1 at 77%
shutters1 at 78%
shutters1 at 79%
shutters1 at 80%
shutters1 at 81%
shutters1 at 82%
shutters1 at 83%
shutters1 at 84%
shutters1 at 85%
shutters1 at 86%
shutters1 at 87%
shutters1 at 88%
shutters1 at 89%
shutters1 at 90%
shutters1 at 91%
shutters1 at 92%
shutters1 at 93%
shutters1 at 94%
shutters1 at 95%
shutters1 at 96%
shutters1 at 97%
shutters1 at 98%
shutters1 at 99%
shutters1 halted
shutters1 at 100%
shutters1 going up
shutters1 at 99%
shutters1 at 98%
shutters1 at 97%
shutters1 at 96%
shutters1 at 95%
shutters1 at 94%
shutters1 at 93%
shutters1 at 92%
shutters1 at 91%
shutters1 at 90%
shutters1 at 89%
shutters1 at 88%
shutters1 at 87%
shutters1 at 86%
shutters1 at 85%
shutters1 at 84%
shutters1 at 83%
shutters1 at 82%
shutters1 at 81%
shutters1 at 80%
shutters1 at 79%
shutters1 at 78%
etc etc and keeps going up and down.
If i disable the lux statement line, manual buttons work just fine. I read that using floats in a comparison is bad practise due to it's rounding error.

Another cause to consider is that at 9:00 you want to open the shutters (because of time)
but light outside is not enough so that would close it again.
The solution is to combine the conditions
  DateTime now = RTC.now();
  if ( ((9 <= now.hour()) &&  (now.hour() < 17)) || (medianLux > 25))
 {
  // open the shutters
 }
  if ( (now.hour() <= 9) ||  (now.hour() > 17) || (medianLux < 20) )
 {
  // close the shutters
 }

I read that using floats in a comparison is bad practise due to it's rounding error.

Yes floats should be compared with inequality tests   <=  or  < or > or >=
to test two floats for equality should be done with care.
float f  = 3.14159265;
float g = 22.0/7.0;    // 3.142856...

if ( abs(f -g) < 0.01) Serial.println("equal!!!");

It's a work in progress. It's not all my own code. Needs a fair bit of cleaning, more millis and less delays (if any left at all) etc. Fun part is commenting and organizing. Save that for last. Add a watchdog too, connect resetlines.

You should remove all delay's if possible to get "real time" = responsive behavior.

I was aware that some conditional statements are conflicting. I'm thinking about using a statemachine rather then if/else statements. I was first testing the variables to see if everything works as expected. That's how I stumbled upon the lux-problem.

State machine are very powerful especially for these kind of projects.
Each shutter has 4 states { OPEN, OPENING, CLOSED, CLOSING };   // you might add INIT if you don't know its position..

I changed the code accordingly, using the and/or operators. It did not change the behaviour. Removed the lux-part just for testing and it turnes out that it stille moves up and down constantly. I guess you were right about the hysteresis. I'm calling the setLevels too many times since it's in the loop. I'll have to sort that first, probably using some flags that get cleared after the movement finishes. Let's fix that first! Back in a sec :-)

Any progress?

@RogMoe
As the issue does not seem to be in the library I close the issue. Feel free to reopen it if the issue is in the library.


Data handler called twice

Hey, I'm using this code to reproduce the issue:
<Importer
        dataHandler={async (rows, { startIndex }) => {
          console.log(rows, startIndex);
          return;
        }}
      >
        <ImporterField
          name='test'
          label='test'
        />
      </Importer>

When importing a file with 2 lines (a heading line and a value line) I'm getting the callback called TWICE with the same data it seems.

Interesting, mind sharing the console.log output from this code?

Also having this issue for both dataHandler and processChunk

Thanks, that should help me repro! I have a suspicion that this is React 18 related (it has a funny quirk that useEffect runs twice when mounting, by design).
I will try to fix on the weekend, but meanwhile mind checking if this persists when you build the code with NODE_ENV=production?

No time to repro right now but in our production deployment it indeed doesnt seem to happen which probably supports your theory

is there a solution for this? Runs twice on every run

I just pushed version 0.8.1 that should deal with this problem. Please let me know and re-open if the issue still persists, closing meanwhile.


Create a json data for projects.

Is your feature request related to a problem? Please describe.
Create JSON data on the website to get all the components from contributors on one page. where anyone can look into it and get brief details about components.

Assigning to it🎊🎊🎊🎊


inter-chromosomal DNA recombination

Need for GO term "inter-chromosomal DNA recombination" (PMID:18680205), unless it can be replaced by another GO term.
In definition of DNA recombination, it is written "Intrachromosomal recombination occurs by crossing over. "
The definition of the children are not consistent with this:

The term "GO:0035825 reciprocal DNA recombination, has exact synonym= chromosomal crossover; (which seem to mean it refers to "Intrachromosomal recombination"), however,  intraschromosomal also exists: GO:1990067 intrachromosomal DNA recombination
There is no term for inter-chromosomal recombination.

Reported by: cusin
Original Ticket: geneontology/ontology-requests/11120

@ValWood @mah11 (any anyone else!) can you please have a look at this ?

Is it correct that "Intrachromosomal recombination occurs by crossing over." ? I thought crossing over was interchromosomal (wikipedia refers to homologous chromosomes):
https://en.wikipedia.org/wiki/Chromosomal_crossover

I propose to change the name of 'reciprocal DNA recombination'  (GO:0035825) to 'homologous recombination', with 'interstrand DNA recombination' 'interchromosomal DNA recombination' as EXACT synonyms, and 'reciprocal DNA recombination a narrow' synonym.

I will also add an EXACT synonym 'intrastrand DNA recombination' to 'intrachromosomal DNA recombination'.

Please let me know if that seems OK.
Thanks, Pascale

I agree that interchromosomal recomb is by crossing over.
I'm not sure what 'intra chromosomal recombination' is?
2 manual annotation from TAIR? @tberardini
probably refers to processes like the recombination event which can occur at telomeres (but I'm never sure if these are really 'normal' processes'

What about events that result in the excision of phage and things like that. I am pretty sure they happen by a recombination mechanism.

maybe that is what it is for... transposition ...

Yes I think 'intra' is rare but legit.


No Directive annotation found on Socially - Step 3 of the angular2-meteor tutorial

I'm new to all of this so I hope this is the right place for this issue.
After completing step 3 of the tutorial I get the message: No Directive annotation found on Socially in the console.
This guy get's the same error as well
http://stackoverflow.com/questions/37149260/angular-meteor-error-with-angular2-meteor-auto-bootstrap-no-directive-annota

Please re-post it here https://github.com/Urigo/meteor-angular2.0-socially


pull request for e2e test at 11/09/2016 16:45:08

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Typo "Azure queue"→"Azure Queue "

https://docs.microsoft.com/en-us/azure/storage/common/storage-samples-javascript?toc=/azure/storage/blobs/toc.json
#PingMSFTDocs

This looks right to me; we'll merge it. Thanks.


Calendar Updates

Update calendar and all dates to reflect winter 2024.
Important Tasks:

verify lesson dates are accurate
verify days off are accurate
align to d2l calendar

Calendar has been fixed by changing code - label and label - code on days (label for holidays and code for lessons)
This might need some more changes after verification for cpnt-264 but for now this can be merged so it's up to date.
There's been some changes to content as well. particularly for dsgn


Generating for a single WebIDL file

Is there an obvious way to generate a file for a single widl file?

Have you read this?
https://github.com/microsoft/TSJS-lib-generator/blob/master/README.md#build-instructions

Have you read this?
https://github.com/microsoft/TSJS-lib-generator/blob/master/README.md#build-instructions

Yes. Building will merge everything in dom.generated.d.ts, webworker.generated.d.ts and dom.iterable.generated.d.ts. I'm looking for generating from a single .widl, into its own .d.ts file, not merged with every other WebIDL.

You could adapt the script if you want to do that often. Or make a diff to find the new things.

There was been multiple instance as I see where generating a separate file is beneficial. #826 #211
This looks like something needed to be built-in, not adapted for edge cases


some tests for single accounting

I think it would be worth it to add all the tests which Trezor has so that we can be sure that all the combinations work as expected -> https://github.com/trezor/trezor-firmware/blob/master/common/tests/fixtures/cardano/sign_tx.failed.json#L1585. But maybe it can be considered an overkill for Ledger? What do you think @janmazak?


Bug fix

Fixes 9 digit limit
Fixes deleting card bill using /delete /bankexpenditure
Removed isEmpty() and check for null

Resolves #186

Codecov Report

Merging #218 into master will decrease coverage by 0.06%.
The diff coverage is 10.47%.

@@             Coverage Diff              @@
##             master     #218      +/-   ##
============================================
- Coverage        27%   26.93%   -0.07%
- Complexity      494      496       +2
============================================
  Files           127      127
  Lines          5185     5239      +54
  Branches        697      715      +18
============================================
+ Hits           1400     1411      +11
- Misses         3692     3719      +27
- Partials         93      109      +16

Impacted Files
Coverage Δ
Complexity Δ

.../transaction/expenditure/ParseEditExpenditure.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ey/model/transaction/RecurringExpenditureList.java
87.09% <0%> (ø)
33 <0> (ø)
:arrow_down:

...java/owlmoney/logic/parser/find/ParseFindBond.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...owlmoney/logic/command/goals/EditGoalsCommand.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...java/owlmoney/logic/parser/card/ParseEditCard.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...wlmoney/logic/parser/saving/ParseDeleteSaving.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

.../java/owlmoney/logic/parser/bond/ParseAddBond.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ava/owlmoney/logic/parser/goals/ParseAddGoals.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...va/owlmoney/logic/parser/bond/ParseDeleteBond.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...java/owlmoney/logic/parser/bond/ParseEditBond.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

... and 46 more

Continue to review full report at Codecov.

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


Versioning of the modding API

As the API might (will!) change over time, it might be a good idea to version it. This will make it easier for us to output deprecations or completely disable mods when they use an outdated API.

API versioning added. Docs updated here:
https://github.com/kevglass/unearthed/wiki/Modding-Page


Pretty-print Message subclasses

Closes #79.

Codecov Report

Merging #95 into master will increase coverage by 0.56%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #95      +/-   ##
==========================================
+ Coverage   93.93%   94.49%   +0.56%
==========================================
  Files          17       17
  Lines        1798     1836      +38
==========================================
+ Hits         1689     1735      +46
+ Misses        109      101       -8

Impacted Files
Coverage Δ

pandasdmx/message.py
100% <100%> (ø)
:arrow_up:

pandasdmx/util.py
95.28% <100%> (+4.46%)
:arrow_up:

pandasdmx/model.py
94.43% <0%> (+0.5%)
:arrow_up:

pandasdmx/api.py
90.75% <0%> (+0.57%)
:arrow_up:

Continue to review full report at Codecov.

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


ChoreChange max_batch_interval minimum limit from 5 to 1

In some business scenarios, users want lower latency. We have tested that routineload can work well even if it is set to 1s when the concurrency is not high.
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run clickbench-new (clickbench)

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.23 seconds
stream load tsv:          514 seconds loaded<PHONE_NUMBER>9 Bytes, about 138 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>8 Bytes


[WIP] Page re-org and re-title.  Added apply page and content.

See issue #8 for more details.  This is a WIP - more changes needed, but thought I would get a first pass in so we can work in parallel.
Renamed
About --> History
Nominate --> Apply
Council --> Global Council
Added
Vote

Looks like a great start! By the way, did we add support in the template to turn. .rst to .md? Wasn't sure if I missed that somewhere ...


code coverage output

Creating an issue to revisit posting code coverage output once we have the testing resources.
Run separate unit tests and mission tests with coverage enabled. Either post to https://coveralls.io/ or host the static html somewhere. Coverage results are best when run with optimizations disabled, so this should be in addition to running the tests in the builds to verify PRs.
The docker image px4-dev-base has everything needed to generate the report for unit tests, but we don't have the testing resources to run this at the moment.
For now you can run make tests_coverage locally.

Results are being posted to coveralls. If a PR causes coverage to decrease by more than 1% it will report a failure.
https://coveralls.io/github/PX4/Firmware


Fix typo in several documents

Also includes this fix.
https://github.com/vim/vim/commit/5674c9a7de503d5e798055a5e1115343ff885221#r143214961

thanks!


WIP - Add support for interpreting options flag

WIP - don't merge yet. - I just discovered that options need to be passed as a hash, not a string...
Currently we can pass only args to the chocolatey resource. This PR adds support for passing options as well.
The difference:

what you pass as args will be passed down to the native installer in the package via choco's --install-arguments='<args>' commandline option
what you pass as options will be passed to the choco installer directly

See:
https://github.com/chocolatey/chocolatey-cookbook#resource-properties
https://github.com/chocolatey/choco/wiki/CommandsInstall

Ooops, this was not ready yet. I tried to flag it as WIP but it went unnoticed ;)

WIP - don't merge yet. - I just discovered that options need to be passed as a hash, not a string...

Expect a follow-up PR to fix this ...


limit clause not sent with odbc() CH <IP_ADDRESS>

Hi,
limit clause seems not to be sent over odbc to remote db, for example with:
select * from odbc('DSN=psql', 'myschema', 'fact_table') limit 2;
Query takes quite long on big tables and limit clause does not show up in remote db's-statement-log.
where clause works and ist fast:
select * from odbc('DSN=psql', 'myschema', 'fact_table') where sid=248135;
Cheers!

Implementation:
transformQueryForExternalDatabase.h
transformQueryForExternalDatabase.cpp

The LIMIT clause can be sent to the remote database only in very limited cases.
When query does not have:

any incompatible functions in WHERE;
GROUP BY;
DISTINCT;
ORDER BY;
HAVING;
ARRAY JOIN or arrayJoin function;
JOIN;
LIMIT BY;
WITH TIES / WITH FILL (upcoming feature).

So, if it is just a plain query as in your example, we can sent LIMIT to the remote database.
Now we does not send LIMIT. But if the remote database and its ODBC driver can send query results in a streaming fashion, we will stop after receiving the required amount of rows.

Note that many DBMS don't support LIMIT clause.
Notable examples are MS SQL Server (that has SELECT TOP N instead) and Oracle.
We must check if there is a method in ODBC interface to check the support for LIMIT.
And the SQL standard does not have LIMIT.
https://stackoverflow.com/questions/1528604/how-universal-is-the-limit-statement-in-sql
https://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows

I cannot find the corresponding method in ODBC interface:
https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetinfo-function

We can only make a whitelist of DBMS that have support for LIMIT.

Wow, exhaustive answer.
Thank you, Alexey! :1st_place_medal:
p.s.
think I should do more research before posting here


Support for custom imageResponseSerializer

I made as minimal changes as possible to add a way to replace the default imageResponseSerializer in ImageDownloader. I added imageResponseSerializer variable in ImageDownloader instead of calling DataRequest.imageResponseSerializer() directly to make it possible to use a custom serializer implementation.
validateContentType needs to be public to be accessible from the custom ImageResponseSerializer implementation (using AlamofireImage as a pod).
With these changes I was able to create my own ImageResponseSerializer closure and add animated GIF support to my app. Below is my custom serializer code. imageWithCachedData extracts frames from the gif data.
let downloader = ImageDownloader(maximumActiveDownloads: 10)

downloader.imageResponseSerializer = DataResponseSerializer { request, response, data, error in
    let result = Request.serializeResponseData(response: response, data: data, error: error)
    guard case let .success(data) = result else { return .failure(result.error!) }

    do {
        try DataRequest.validateContentType(for: request, response: response)

        if let image = UIImage.imageWithCachedData(data) {
            image.af_inflate()
            return .success(image)
        }

        return .failure(AFIError.imageSerializationFailed)
    } catch {
        return .failure(error)
    }
}

UIImageView.af_sharedImageDownloader = downloader

@cnoon Any change this could be merged?

Hi @tapz,
My apologies for not getting to this sooner.  Now you should be able to use your own custom image serializers alongside an ImageDownloader instance.
Thanks again! 🍻


feat: add gh actions to publish canary versions [gh-0]

I hereby confirm that I followed the code guidelines found at engineering guidelines
Affected Components

[x] CLI
[ ] Create CLI
[ ] Test
[ ] Docs
[ ] Examples
[x] Other

Notes for the Reviewer

add new Github Actions workflow to publish canary version to NPM registry only the build label is added to the PR
the new package is published as version <packageVersion>.-canary-<prNumber>.<shortSha> and tag
canary-<prNumber>
a PR comment is created after the new version is published.

Note: if you want to re-publish after a new commit you have to remove the build label and add it again. This will generate a new version using the short commit SHA as suffix
You can check the last version published for this PR here

[x] TODO: increase version when new commits are added in the PR (publish fails if version already exists). Using the --git-tag-version doesn't work if the package is inside a subdir. (npm bug here)

New Dependency Submission
New oclif packages is added into the NPM dev dependencies. This is required because we the npx oclif manifest fails using --tag ... because npx uses the specified tag to try install the oclif packages. When it is present as a package it works.

The verison of this I have experience with also appends the commit hash on the end, so yuo end up wtih version's like<EMAIL_ADDRESS>Check out:

https://github.com/nextauthjs/next-auth/blob/main/.github/workflows/release.yml#L85
https://github.com/nextauthjs/next-auth/blob/main/.github/version-pr/index.js

Also I would definitely recommend including the exact package name in the slack message that's posted / potentially also comment on the PR (See: https://github.com/nextauthjs/next-auth/blob/main/.github/workflows/release.yml#L114)

Also, just somethign to think about - Instead of running it on a pull_request: labeled event, at next-auth we use Github's environment's and branch protection rules to be able to run that Publish PR job any time, but require maintainer approval to do so. So you just have to click into the Action and hit "Review deployments" -> "Approve" to kick it off.
See: https://github.com/nextauthjs/next-auth/blob/main/.github/workflows/release.yml#L90


Update x265.json with (?i)

sometimes I see H 265 or X 265 so I added this modifier to let the entire regular expression case-insensitive. [xh]: Matches "x" or "h" in either lowercase or uppercase due to the (?i) modifier. it will also match "HEVC" in any combination of upper and lower case letters (e.g., "HEVC", "hevc", "Hevc", "hEVC", etc.).

I guess we could do the same in many other regexes ?

Invalid and not needed. Custom formats are already case sensitive. This will never be added as it is 100% unecessary


[Enhancement] Support refresh hive view

Fixes #issue
Support refresh hive view
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 19 / 30 (63.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/HiveView.java
0
1
00.00%
[84]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
3
00.00%
[3784, 3793, 3794]

:large_blue_circle:
com/starrocks/connector/hive/IHiveMetastore.java
0
1
00.00%
[80]

:large_blue_circle:
com/starrocks/connector/hive/CacheUpdateProcessor.java
4
9
44.44%
[96, 97, 98, 99, 101]

:large_blue_circle:
com/starrocks/connector/hive/CachingHiveMetastore.java
15
16
93.75%
[472]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 19 / 30 (63.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/HiveView.java
0
1
00.00%
[84]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
3
00.00%
[3784, 3793, 3794]

:large_blue_circle:
com/starrocks/connector/hive/IHiveMetastore.java
0
1
00.00%
[80]

:large_blue_circle:
com/starrocks/connector/hive/CacheUpdateProcessor.java
4
9
44.44%
[96, 97, 98, 99, 101]

:large_blue_circle:
com/starrocks/connector/hive/CachingHiveMetastore.java
15
16
93.75%
[472]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 22 / 30 (73.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
3
00.00%
[3784, 3793, 3794]

:large_blue_circle:
com/starrocks/connector/hive/CacheUpdateProcessor.java
5
9
55.56%
[97, 98, 99, 101]

:large_blue_circle:
com/starrocks/connector/hive/CachingHiveMetastore.java
15
16
93.75%
[472]

:large_blue_circle:
com/starrocks/catalog/HiveView.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/connector/hive/IHiveMetastore.java
1
1
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 22 / 30 (73.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
3
00.00%
[3784, 3793, 3794]

:large_blue_circle:
com/starrocks/connector/hive/CacheUpdateProcessor.java
5
9
55.56%
[97, 98, 99, 101]

:large_blue_circle:
com/starrocks/connector/hive/CachingHiveMetastore.java
15
16
93.75%
[472]

:large_blue_circle:
com/starrocks/catalog/HiveView.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/connector/hive/IHiveMetastore.java
1
1
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 25 / 30 (83.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
3
00.00%
[3784, 3793, 3794]

:large_blue_circle:
com/starrocks/connector/hive/CacheUpdateProcessor.java
8
9
88.89%
[99]

:large_blue_circle:
com/starrocks/connector/hive/CachingHiveMetastore.java
15
16
93.75%
[472]

:large_blue_circle:
com/starrocks/catalog/HiveView.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/connector/hive/IHiveMetastore.java
1
1
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:heart_eyes: pass : 25 / 30 (83.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
3
00.00%
[3784, 3793, 3794]

:large_blue_circle:
com/starrocks/connector/hive/CacheUpdateProcessor.java
8
9
88.89%
[99]

:large_blue_circle:
com/starrocks/connector/hive/CachingHiveMetastore.java
15
16
93.75%
[472]

:large_blue_circle:
com/starrocks/catalog/HiveView.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/connector/hive/IHiveMetastore.java
1
1
100.00%
[]

@Mergifyio backport branch-3.2

@Mergifyio backport branch-3.1


ClientPool.clientFactory crashing in serverless environments

I'm trying to execute Firestore queries inside of Google Cloud Functions utilizing Qwik together with routeLoader$ in order to fetch and pre-render data server-side. Everything works fine in development and when using the preview command, but upon deploying the app to Firebase Hosting and Cloud Functions (Using the Firebase integration), the app returns Error 500 - Internal Server Error.
Upon opening the Cloud Function logs, I can see, that it fails with the following error message which leads me to believe, that there is something wrong with the @google-cloud/firestore and firebase-admin(Which utilizes this package under the hood as far as I know):
TypeError: Cannot set properties of undefined (setting 'fromParams')
    at ClientPool.clientFactory (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:167322:43)
    at ClientPool.acquire (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:153428:31)
    at ClientPool.run (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:153535:28)
    at file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:168168:28
    at Firestore._retry (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:168038:26)
    at async file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:145922:33
Caused by: Error
    at AggregateQuery._get (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:145879:21)
    at AggregateQuery.get (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:145869:19)
    at Object.s_eNFdi8qBn48 (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:168225:68)
    at Object.invoke (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:1461:42)
    at file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:4100:131
    at then (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:137:81)
    at file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:4091:14
    at Object.qrl (file:///workspace/server/assets/@qwik-city-plan-c264a646.mjs:4071:18)
    at file:///workspace/server/entry-firebase.mjs:464:37
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"

Current Setup
// /lib/firestore.ts
import { Firestore } from '@google-cloud/firestore';

export const firestore = new Firestore({
  projectId: 'some-project',
  credentials: {
    client_email<EMAIL_ADDRESS>    private_key: "supersecret"
  }
});

// /routes/challenges/index.tsx
import { firestore } from '~/lib/firestore';

export const useChallenges = routeLoader$(async () => {
  const countRes = await firestore.collection('challenges').count().get();

  return countRes.data();
});

export default component$(() => {
  const challenges = useChallenges();

  return (

Challenges

{JSON.stringify(challenges.value, null, 2)}

  );
});

Environment details
  System:
    OS: macOS 14.0
    CPU: (10) arm64 Apple M1 Pro
    Memory: 78.05 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.7.0 - /opt/homebrew/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 10.1.0 - /opt/homebrew/bin/npm
    pnpm: 8.9.2 - /opt/homebrew/bin/pnpm
  Browsers:
    Chrome: 118.0.5993.88
    Safari: 17.0
  npmPackages:
    @builder.io/qwik: ^1.2.13 => 1.2.13
    @builder.io/qwik-city: ^1.2.13 => 1.2.13
    @google-cloud/firestore: ^7.1.0 => 7.1.0
    undici: 5.22.1 => 5.22.1
    vite: 4.4.7 => 4.4.7

Steps to reproduce

Start a new qwik project
Add and configure the Firebase integration
Add @google-cloud/firestore or firebase-admin package
Create a page with a routeLoader$ which executes Firestore queries
Upload to Firebase Hosting + Firebase Functions
Opening the route that utilizes routeLoader$ should result in an Error 500 - Internal Server Error.

Thanks for the information.
This appears to be part of some no longer required code. I don't entirely understand how you are encountering this, but the code should be removed anyway. I will create a fix, and reference this issue.

Hey, I've tried using the updated library and the intial error seems to be gone, but a new one appeared.
TypeError: this._gaxModule.GrpcClient is not a constructor
    at new FirestoreClient (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:165992:23)
    at ClientPool.clientFactory (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:167334:25)
    at ClientPool.acquire (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:153428:31)
    at ClientPool.run (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:153535:28)
    at file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:168160:28
    at Firestore._retry (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:168030:26)
    at async file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:145922:33
Caused by: Error
    at AggregateQuery._get (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:145879:21)
    at AggregateQuery.get (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:145869:19)
    at Object.s_eNFdi8qBn48 (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:168217:69)
    at Object.invoke (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:1461:42)
    at file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:4100:131
    at then (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:137:81)
    at file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:4091:14
    at Object.qrl (file:///workspace/server/assets/@qwik-city-plan-2a5a49c7.mjs:4071:18)
    at file:///workspace/server/entry-firebase.mjs:464:37
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

I've managed to fix the issue by updating all packages to their latest versions. I still have no idea what was wrong.


Add HashSet::get_or_insert_with_mut

This function avoids unnecessairy work when the value to be stored can take ownership of the lookup key, such as when interning. It makes a stronger guarantee than HashSet::get_or_insert_with, since the reference given to f is guaranteed to be unique, and thus safe to mutate.
The functionality of this function can already be achieved by (ab)using UnsafeCell, but that relies on the implementation detail that the &Q given to f is unique.

To be honest, the implementation of this, as well as the get_or_insert_with method, raises questions. These two methods make it quite easy to break the invariant of set that all elements are repeated in set only once. Let's say this test passes:
#[test]
fn some_invalid_insert() {
	let mut set = HashSet::new();
	set.insert(1);
	set.get_or_insert_with(&2, |_| 1);
	set.get_or_insert_with(&3, |_| 1);
	assert_eq!(vec![&1, &1, &1], set.iter().collect::<Vec<_>>());
}

Can you at least document it?

Oh wow, nice catch! In hindsight, I would have not have expected this behavior from a (safe) function called get_or_insert_with, had I not had experience with hash-map internals already. I would have expected something like:
// This code doesn't borrow-check :(

if let Some(result) = self.get(value) {
    result
} else {
    self.insert_unique_unchecked(f(value))
}

On that note, we also probably want a get_or_compute that does this, especially since the "obvious" way to do it as shown above doesn't actually compile.
As for get_or_insert_with and get_or_insert_with_mut, It might be warranted to either

When inserting, check that the &Q and the T are equivalent.
When inserting, check that the &Q and the T are equivalent, and that their hashes are the same.
When inserting, find and insert into the entry for T instead of inserting into the entry for &Q.
Rename these functions to _unchecked.
Mark these functions unsafe.

My two cents:
1, 2) These would be the safest option, but it seems overly cautious. There are already other safe functions like insert_unique_unchecked that also have unspecified behavior when invariants are not met.
3) A separate get_or_compute could be added for this
4) This would be a lot more self-documenting, and there is precedent for this, but:
4, 5) These are hard ones... get_or_insert_with_mut is a generalization of get_or_insert_with, which is a generalization of get_or_insert_owned, which is a (more performant) generalization of get_or_insert/get_or_compute. Any argument for marking get_or_insert_with as unsafe or _unchecked could equally apply to get_or_insert_owned.
It could be argued that get_or_insert_with is "too general" because it can be abused, but get_or_insert_owned could be abused in the same way by providing a weird ToOwned implementation.
I will just add a comment for now mentioning the expected invariants.

Oh wow, nice catch! In hindsight, I would have not have expected this behavior from a (safe) function called get_or_insert_with, had I not had experience with hash-map internals already. I would have expected something like:
// This code doesn't borrow-check :(

if let Some(result) = self.get(value) {
    result
} else {
    self.insert_unique_unchecked(f(value))
}

#400. But we have to wait for @Amanieu to approve it.

get_or_insert_with_mut still has the issue that you can abuse it to change the key to something with a different hash, which is fundamentally the same issue as before.


Introduce GUI tooling to speed up web application development

Hello, My name is Vetrivel and I have been following reactjs for a quite a time now. Reactjs is an excellent view layer and it helps to build great web applications and I think we can build rapid application builders that can also generate readable reactJS code. Such tooling will speed up web development process.
Having that in my mind, I had an idea of having a component builder that abstracts framework syntax and helps to build components that can generate code targeting reactjs. So I built a proof of concept tool that lets users write just JSX, html, css, state, events and reducers to build component.
Here is the link to my project https://github.com/imvetri/ui-editor. I'm looking forward to hear more.
Thanks,
Vetrivel.

Hi, this is the React RFC repository, and it's not an appropriate place to share the apps you've built.


Translated Meta-GGA on-top functionals and MC23 functional added for the MCPDFT

In this PR, I have added.

tMGGAs and Hybrid-tMGGAs
MC23 Functional (ChemRxiv. 2024; doi:10.26434/chemrxiv-2024-5hc8g-v2, Accepted in PNAS.)

With this, one can use these functional for MCPDFT energy calculations.
Let me know for any modifications.
@MatthewRHermes
@matthew-hennefarth

Did you try and run a ftMO6 calculation? Will it crash?

Did you try and run a ftMO6 calculation? Will it crash?

Yes, it will crash.

Did you try and run a ftMO6 calculation? Will it crash?

Yes, it will crash.

I think it's best if the error message this emits tells the user that fully-translated meta-GGA on-top functionals are not scientifically defined; it's not just a matter of derivatives not being propagated far enough. I would raise a NotImplementedError in the ftransfnal initialization method for any meta-GGA functional.


Async Selection methods

See https://github.com/xh/toolbox/pull/467

Improve reactions in StoreSelectionModel
Misc cleanups

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Thanks for the careful look colin!
On Thu, Feb 18, 2021 at 3:37 PM Colin Rudd<EMAIL_ADDRESS>wrote:

@cnrudd commented on this pull request.
In cmp/grid/GridModel.js
https://github.com/xh/hoist-react/pull/2297#discussion_r578729216:

  */

ensureSelectionVisible() {

   const {records} = this.selModel,

       {agApi} = this;

async ensureSelectionVisibleAsync() {

The changes to ensureSelectionVisibleAsync in this branch do not fix an
issue tested
in this toolbox branch:
https://github.com/xh/toolbox/tree/gridEnsureSelectionVisible2
on this page http://localhost:3000/admin/tests/grid by clicking on the
"Select and Go" button.
That button changes the ag-grid row selection via the agrid api and then
calls ensureSelectionVisible.
In this branch the new ensureSelectionVisibleAsync does not wait for the
store's selection count to catch up to the grid's selection count. So, it
finds no selections.
This "not checking Grid rows selected may be a deliberate choice. Perhaps
to try to guide the user to use Hoist functions to make selections. But
then maybe the method docs should point this out, or the name might be
changed to indicate this, ie: ensureRecordSelectionVisibleAsync
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/pull/2297#pullrequestreview-593623509,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARTL2LF3WTFUNO7IM227ZLS7V3AJANCNFSM4XXUICKQ
.


App not building.

@harshithdwivedi Please check it out, having some problems building the app.

> Task :sample:generateDebugApolloIR FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':sample:generateDebugApolloIR'.
> Value 'main GraphQL source' specified for property '$1' cannot be converted to a file.
> Value 'debug GraphQL source' specified for property '$2' cannot be converted to a file.

@Lavanyagaur22 Unrelated but worth mentioning - we are working with a not rebased master. Please bring master changes to your branch by rebasing it.

@danielpassos Yeah, exactly the same error was coming when the latest gradle version was used.
I reverted back to gradle 4.6 and it worked perfectly fine.

@wtrocki Yeah, this branch was just for solving that error, no use as of now. I'll rebase it when pushing the code.


Add OIDC_ROLES_MAPPING support

Description
This add support for OIDC_ROLES_MAPPING environment variable:
OIDC_ROLES_MAPPING='{"RoleMap-Admin": "Admin", "RoleMap-Editor":"Editor", "RoleMap-Owner":"Owner","RoleMap-Viewer":"Viewer"}'

https://github.com/mage-ai/mage-ai/issues/5052
How Has This Been Tested?
Using Vault OIDC provider using the following scope template for OIDC provider:
SCOPE_TEMPLATE='{
"username": "user",
"email"<EMAIL_ADDRESS>"user_roles":["RoleMap-Admin","RoleMap-Editor"]
}'

In case OIDC_ROLES_MAPPING  is not defined user_roles remains with normal behaviour and should look like this:
SCOPE_TEMPLATE='{
"username": "user",
"email"<EMAIL_ADDRESS>"user_roles":["Admin","Editor"]
}'

Checklist

[ ] The PR is tagged with proper labels (bug, enhancement, feature, documentation)
[ x] I have performed a self-review of my own code
[ ] I have added unit tests that prove my fix is effective or that my feature works
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Note that if mapping variable is not defined it maintains the user_roles behaviour

can you add unit tests for this? the code looks good otherwise

Added, but that section is pain to test without rest of the code.


[Bug] Navbar icons

Is there an existing issue for this?

[X] I have searched the existing issues

Bug Description?
Some icons are not aligning with the text.
Also, the navbar should have appropriate space between links but it is kind of getting mixed
I will also add hover effects on these links
Kindly assign this issue to me under hactoberfest, gssoc-ext and relevant tags.
Add Screenshots

What browsers are you seeing the problem on?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue (Optional)
[X] I'm willing to provide further clarification or assistance if needed.

I am interested to work on this issue


Update azure-storage-blob to 12.22.2

About this PR
📦 Updates com.azure:azure-storage-blob from 12.22.0 to 12.22.2
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.azure", artifactId = "azure-storage-blob" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.azure", artifactId = "azure-storage-blob" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #897.


💭 Idea ➾ Create a handy default .gitignore on taq create

🔮 Title / Topic
Emit a .gitignore on taq init
💭 Details
After creating a new taqueria project with taq init, a common next step will be to git init.
Currently, there is no skeleton .gitignore created, so users need to create one manually and populate it with sensible defaults (e.g. **/node_modules/, temp files, etc). It would be easy and convenient to automate this for the user.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks Edward! I suggested this a while ago.

@hu3man thoughts?

I think this is a great idea! Let's get a ticket opened for this and estimated @jchenche

@hu3man https://github.com/ecadlabs/taqueria/issues/1461


Applied fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

This change is

Coverage remained the same at 88.14% when pulling 3464809d43de8415767dc607c6851de2f6450006 on analysis-8wypDK into 4930f410bda91dd526ade3a2269258d7adbffc2f on master.

Coverage remained the same at 88.14% when pulling 3464809d43de8415767dc607c6851de2f6450006 on analysis-8wypDK into 4930f410bda91dd526ade3a2269258d7adbffc2f on master.

Coverage remained the same at 88.14% when pulling 3464809d43de8415767dc607c6851de2f6450006 on analysis-8wypDK into 4930f410bda91dd526ade3a2269258d7adbffc2f on master.

Coverage remained the same at 88.14% when pulling 3464809d43de8415767dc607c6851de2f6450006 on analysis-8wypDK into 4930f410bda91dd526ade3a2269258d7adbffc2f on master.

Coverage remained the same at 88.14% when pulling 3464809d43de8415767dc607c6851de2f6450006 on analysis-8wypDK into 4930f410bda91dd526ade3a2269258d7adbffc2f on master.


Initial frontend elements

Changes

Uses a simple theme with color variables taken from the Figma design
Added placeholder buttons and search bar on top of the Leaflet map

Upcoming changes

Separating styling into their own files

Look into MUI's own styled components. https://mui.com/system/styled/

Good call! I'd been avoiding styled components since I wasn't fully aware of the benefits, but after reading up, I can see it's definitely the better choice. Thanks, I'll change it up! 😊

All suggested changes are now done! ✨


feat: adding comment section for articles

Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] Make sure you are requesting to pull a topic/feature/bugfix branch (right side). Don't request your default branch!
[x] Make sure you are making a pull request against the default branch (left side). Also you should start your branch off default branch.
[x] Check the commit's or even all commits' message styles matches our requested structure.
[x] Check your code additions will fail neither code linting checks nor unit test.
[ ] I have added necessary documentation (if appropriate)

Linked Issues
Fixes #479
Description
Please describe your pull request.
❤Thank you!
Post merge checklist

[ ] Follow steps from the guidelines for contributing to this repository.
[ ] If you are a new contributor, ping in the thread and one of the maintainers will add you to all-contributors list.

@Srish-ty can you add some screenshots.

@Srish-ty can you add some screenshots.


Disable Italian for v1.14

This PR disables the Italian localization until it meets minimum standards of quality.
Context: sig-docs Slack
/sig docs
/assign @rlenferink

/approve


What is the build process now on master.

So far I:

git clone https://github.com/egoist/vuepack.git
cd vuepack/template
npm install

This results in the following error:
npm ERR! Linux 4.4.0-31-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.4.0
npm ERR! npm  v3.10.3
npm ERR! file /home/otis/Developer/portfolio/template/package.json
npm ERR! code EJSONPARSE

npm ERR! Failed to parse json
npm ERR! Unexpected token '#' at 23:7
npm ERR!     {{#jsx}}
npm ERR!       ^
npm ERR! File: /home/otis/Developer/portfolio/template/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse

npm ERR! Please include the following file with any support request:
npm ERR!     /home/otis/Developer/portfolio/template/npm-debug.log

The offending line is easy enough to find: {{#jsx}}
Just wondering how you are handling this locally, as a side note I do not want to use jsx.
Sorry know it is a pre-release hoping I can submit a PR for the README once I have a clearer idea of what is going on.
Cheers,
Otis.

See the README, now you should use vue-cli to generate the template:
$ npm install -g vue-cli
$ vue init egoist/vuepack new-project

Hey @egoist,
Ahh I see I did not realise it was a requirement* to be running vue-cli :).
Cheers.


Pass options to transforms.

This can be done by setting an opts object on the AST.

What does this mean? What options?

Any random options you want. For example --opt to enable optimization and --debug for debug info.