error when clearing RegionOfInterestManager after clearing parent plot

If I try to clear a RegionOfInterestManager after clearing its parent plot, I get the folowing error:
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python37\lib\site-packages\silx\
gui\plot\tools\roi.py", line 415, in clear
    roi.setParent(None)
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python37\lib\site-packages\silx\
gui\plot\items\roi.py", line 173, in setParent
    self._disconnectFromPlot(previousPlot)
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python37\lib\site-packages\silx\
gui\plot\items\roi.py", line 152, in _disconnectFromPlot
    plot.removeItem(item)
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python37\lib\site-packages\silx\
gui\plot\PlotWidget.py", line 696, in removeItem
    raise ValueError('Item not in the plot')
ValueError: Item not in the plot

I’m not sure what the right fix is.
Should the RegionOfInterestManager implicitely delete ROIs when they are cleared from the parent plot, or should we just check that a ROI still belongs to the plot before trying to disconnect it?

Maybe the plot should setParent(None) on it’s items before dropping them?

I feel like, for now, we should not use clear, without clearing the ROIs before.
We have talked many times about it with @t20100. I think it is about ownership of ROIs. And definitely, in my point, a ROI must be owned by the plot. Which is not the case right now.
As result you could use plot.addItem(roi), and then plot.clear() became an obvious behavior for the ROIs.
In the mean time there is few alternatives.

You can manage it on your own
The plot can remove ROIs which own removed plot items (now it is doable without a huge cost, but the implementation will not satisfy me)
(as you said) we can check when the roi manager remove the items
(as you said) the ROI manager should not remove plot item. (this one is definitely not an good idea)

For now i prefer the first, cause i would like a release soon. Else i can implement the second.

A last one:

clear could remove everything from the plot, except item from ROIs.

It makes sens if we think that the ROIs do not belong to the plot.

I added a workaround on my side, for now.
My difficulty is that the plot widget is "far" from the ROI manager, in my application. The plot is in a different window, and can be updated from various signals coming from different screens in the main window. It made sense for me to have the ROI managers for each image be the owners of their respective ROIs, independantly of which image is currently displayed in the PlotWidget.
But I’m OK with changing my architecture in the future if you refactor this.

But in your case, if you clear the plot, do you think you want to ROIs to be removed from there managers? Or all the stuffs of the plot are removed, except the ROIs?

In my previous implementation, I did not want the ROIs to be removed from the manager when clearing the plot. I used to instantiate multiple managers, one for each image of the project, all sharing the same plot.
Luckily, I refactored my code recently, and I changed it to a single ROI manager that gets cleared when the image changes. So now it is OK to remove ROI when clearing the plot, my only problem is how to be sure that the ROI manager gets the "imageChanged" signal before the plot.
In the worst case, I can refrain from using clear on the plot, and implement a more precise way of removing all images / image tiles and mask from the plot.

I will take a look then. I think that is consistent with what we should target.
And we will anyway have the problem with the profiles.

@PiRK, to delete all images : PlotWidget.remove(kind='image')

I created a PR, but this should really be tested, cause i am not fully satisfyed with this implementation.
But i feel like while there is no real groups in the plot, it will stay tricky.

@PiRK I just merged PR #3074 which should fix it, could you check that it's working for you?

I need to hurry to fix a few other  problems with silx in my code (non public API changes) to make the master work again, before I can test. I will try to do it today.

In some situations, I lose my current ROIs when the plot is cleared. But that was expected. I will stop using PlotWidget.clear()

Yes that's the idea of PR #3074 : if you remove ROI's items from the plot, the ROI is removed.


h2childchan: DefaultHttp2StreamChannel initial writability

Currently the initial writability of DefaultHttp2StreamChannel is false if we have not yet created the underlying Http2Stream object. Typically a channel is default writability is true, unless conditions otherwise prohibit this. In the case of DefaultHttp2StreamChannel we should investigate if the following policy makes sense: the default state is writable unless the connection window has collapsed, and we may also want to consider the parent channel's writability.
https://github.com/netty/netty/pull/6896#discussion_r132339750

This is "fixed" by https://github.com/netty/netty/pull/7181 ... To make it short no it makes no sense.

Fixed by #7181

@normanmaurer - Can you explain why the policy suggested here "makes no sense"? The policy implemented in #7181 seems incomplete and may incorrectly report writability in a few cases:

depending on initial settings for outbound streams (https://github.com/netty/netty/pull/7181#discussion_r139296524)
depending on connection window
depending on channel writability


Fix: Do not allow for spaces inside create applications form.

Current Behavior:
We can submit an empty application in the Create application form, though BE gives an error it is better to do a client validation instead of waiting for API response to give an error.
New Behavior:
https://www.loom.com/share/11db2d803aa94158a39e3ae23d3eb559

@jyash97 Can you please link the issue this fixes?

Hey @satbir121 I could not find an existing issue for these. There is one issue for adding validation in editing the name which is already assigned so I havent added that. Link for the issue: #817

Hey @jyash97 we had an issue with our CI runs which did not run the tests properly. Can you rebase/merge the latest release branch into your branch to fix this?

Hey @hetunandu
Sure thing will update the branch in sometime. 👍🏼

@hetunandu updated the PR


[Question Consultation] How to access pod ip directly from external network?

My Environment

name
version

Calico
rancher/calico-node:v3.7.4

Orchestrator version (e.g. kubernetes, mesos, rkt)
kubernetes v1.15.5

Operating System and version
CentOS Linux release 7.7.1908 (Core)

Network information

name
network

The office network
<IP_ADDRESS>/24

kubernetes node ip
<IP_ADDRESS>/24

pod ip
<IP_ADDRESS>/16

route reflector
<IP_ADDRESS>(One of the Kubernetes nodes)

Expected Behavior
<IP_ADDRESS>/24 can be accessed via the route reflector <IP_ADDRESS>/16
Current Behavior
I think I started calico BGP according to the official documentation, and then I configured one of the Kubernetes nodes as a route reflector. <IP_ADDRESS>/24 found <IP_ADDRESS>/16 through the route reflector.
I referred to Configure BGP peering, #2473, Calico 3.6 forwards external traffic to the cluster Pod, but it didn't work for me
The following is the YAML file that I configured
default-bgpconfig.yaml
---
apiVersion: projectcalico.org/v3
kind: BGPConfiguration
metadata:
  name: default
spec:
  logSeverityScreen: Info
  nodeToNodeMeshEnabled: false
  asNumber: 63400

rr.yaml
---
kind: BGPPeer
apiVersion: projectcalico.org/v3
metadata:
  name: peer-to-rrs
spec:
  nodeSelector: "!has(route-reflector)"
  peerSelector: has(route-reflector)
---
kind: BGPPeer
apiVersion: projectcalico.org/v3
metadata:
  name: rr-mesh
spec:
  nodeSelector: has(route-reflector)
  peerSelector: has(route-reflector)

k8s-mgr-node.yaml
apiVersion: projectcalico.org/v3
kind: Node
metadata:
  labels:
    beta.kubernetes.io/arch: amd64
    beta.kubernetes.io/os: linux
    kubernetes.io/arch: amd64
    kubernetes.io/hostname: k8s-mgr
    kubernetes.io/os: linux
    node-role.kubernetes.io/controlplane: "true"
    node-role.kubernetes.io/etcd: "true"
    route-reflector: "true"
  name: k8s-mgr
spec:
  addresses:
  - address: <IP_ADDRESS>/24
  - address: <IP_ADDRESS>
  bgp:
    ipv4Address: <IP_ADDRESS>/24
    ipv4IPIPTunnelAddr: <IP_ADDRESS>
    routeReflectorClusterID: <IP_ADDRESS>
  orchRefs:
  - nodeName: k8s-mgr
    orchestrator: k8s

ippool.yaml
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: default-ipv4-ippool
spec:
  blockSize: 26
  cidr: <IP_ADDRESS>/16
  ipipMode: CrossSubnet
  natOutgoing: true
  nodeSelector: all()
  vxlanMode: Never

calicoctl node status
# calicoctl node status
Calico process is running.

IPv4 BGP status
+--------------+---------------+-------+----------+-------------+
| PEER ADDRESS |   PEER TYPE   | STATE |  SINCE   |    INFO     |
+--------------+---------------+-------+----------+-------------+
| <IP_ADDRESS> | node specific | up    | 14:11:23 | Established |
+--------------+---------------+-------+----------+-------------+

IPv6 BGP status
No IPv6 peers found.

Traceroute
The route reflector does forward the external traffic to the pod's corresponding Kubernetes node, but the Kubernetes node doesn't know where to forward.
# traceroute <IP_ADDRESS>
traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  gateway (<IP_ADDRESS>)  0.868 ms  1.343 ms  1.751 ms
 2  k8s-mgr (<IP_ADDRESS>)  0.390 ms  0.345 ms  0.337 ms
 3  k8s-test04 (<IP_ADDRESS>)  0.619 ms  0.582 ms  0.539 ms
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

The routing table
<IP_ADDRESS>
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS> U     0      0        0 *
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 calicfa5f2c3d88
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 calide1f926b305
<IP_ADDRESS>   <IP_ADDRESS>    <IP_ADDRESS> UG    0      0        0 em1
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 docker0
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS>   U     104    0        0 em1

<IP_ADDRESS>
$ route -n
...
<IP_ADDRESS>   <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 cali7328bc5811c
...

Have you configured a BGP peer between the route reflector and your office network routers? I don't see any configuration to do that shown. How does your office network know to send traffic to the Kubernetes cluster?
Typically, a route reflector is not intended to be used as a "gateway" of sorts, rather it just re-advertises routing information. In other words, you wouldn't normally have traffic routed through the RR, it should go direct to the relevant Kubernetes node.

Have you configured a BGP peer between the route reflector and your office network routers? I don't see any configuration to do that shown. How does your office network know to send traffic to the Kubernetes cluster?
Typically, a route reflector is not intended to be used as a "gateway" of sorts, rather it just re-advertises routing information. In other words, you wouldn't normally have traffic routed through the RR, it should go direct to the relevant Kubernetes node.

Thank you for your reply @caseydavenport
How does your office network know to send traffic to the Kubernetes cluster?
I set up the route on my office router, which is a three-tier device
Routing rules are as follows:
ip route-static <IP_ADDRESS> 16 <IP_ADDRESS>
ip route-static <IP_ADDRESS> 16 <IP_ADDRESS>

In other words, you wouldn't normally have traffic routed through the RR, it should go direct to the relevant Kubernetes node.
We tried to set up a route on the office router to forward the external traffic directly to a kubernetes node and through the kubernetes node to the pod, but this did not work.
del:
ip route-static <IP_ADDRESS> 16 <IP_ADDRESS>

add:
ip route-static <IP_ADDRESS> 26 <IP_ADDRESS>

The rule is the same as above, However, after the traffic arrives, the node will not forward the traffic.
$ traceroute <IP_ADDRESS>
traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  gateway (<IP_ADDRESS>)  0.840 ms  1.267 ms  1.690 ms
 2  k8s-test04 (<IP_ADDRESS>)  0.334 ms  0.266 ms  0.235 ms
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Thank you for your reply @caseydavenport
How does your office network know to send traffic to the Kubernetes cluster?
I set up the route on my office router, which is a three-tier device
Routing rules are as follows:
ip route-static <IP_ADDRESS> 16 <IP_ADDRESS>
ip route-static <IP_ADDRESS> 16 <IP_ADDRESS>

In other words, you wouldn't normally have traffic routed through the RR, it should go direct to the relevant Kubernetes node.
We tried to set up a route on the office router to forward the external traffic directly to a kubernetes node and through the kubernetes node to the pod, but this did not work.
del:
ip route-static <IP_ADDRESS> 16 <IP_ADDRESS>

add:
ip route-static <IP_ADDRESS> 26 <IP_ADDRESS>

The rule is the same as above, However, after the traffic arrives, the node will not forward the traffic.
$ traceroute <IP_ADDRESS>
traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  gateway (<IP_ADDRESS>)  0.840 ms  1.267 ms  1.690 ms
 2  k8s-test04 (<IP_ADDRESS>)  0.334 ms  0.266 ms  0.235 ms
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Does k8s-test04 have a route back to the office subnet?

Does k8s-test04 have a route back to the office subnet?

Thank you for your reply @lwr20
Does k8s-test04 have a route back to the office subnet?
Yes.
<IP_ADDRESS> and <IP_ADDRESS> are connected directly via routers on which routing rules are configured.
k8s-test04 $ traceroute <IP_ADDRESS>

traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  gateway (<IP_ADDRESS>)  0.875 ms  1.173 ms  1.552 ms
 2  server03 (<IP_ADDRESS>)  0.291 ms  0.278 ms  0.333 ms

k8s-test04 $ ping -c 4 <IP_ADDRESS>

PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=63 time=0.419 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=63 time=0.162 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=63 time=0.131 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=63 time=0.161 ms

--- <IP_ADDRESS> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.131/0.218/0.419/0.117 ms

I want to know
If kubernetes uses calico network and only adds routing rules, will external networks have direct access to pod?
Or do I need to add extra configuration?

Thank you for your reply @lwr20
Does k8s-test04 have a route back to the office subnet?
Yes.
<IP_ADDRESS> and <IP_ADDRESS> are connected directly via routers on which routing rules are configured.
k8s-test04 $ traceroute <IP_ADDRESS>

traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  gateway (<IP_ADDRESS>)  0.875 ms  1.173 ms  1.552 ms
 2  server03 (<IP_ADDRESS>)  0.291 ms  0.278 ms  0.333 ms

k8s-test04 $ ping -c 4 <IP_ADDRESS>

PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=63 time=0.419 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=63 time=0.162 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=63 time=0.131 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=63 time=0.161 ms

--- <IP_ADDRESS> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.131/0.218/0.419/0.117 ms

I want to know
If kubernetes uses calico network and only adds routing rules, will external networks have direct access to pod?
Or do I need to add extra configuration?

If kubernetes uses calico network and only adds routing rules, will external networks have direct access to podhttps://docs.projectcalico.org/networking/determine-best-networking#pod-ip-routability-outside-of-the-cluster

If kubernetes uses calico network and only adds routing rules, will external networks have direct access to podhttps://docs.projectcalico.org/networking/determine-best-networking#pod-ip-routability-outside-of-the-cluster

One of the points in that doc is that if you're using an overlay network, the pods will not be routable.  I see that you have vxlanMode=CrossSubnet - that's an overlay network and may stop the pods from being routable.  If you're peering Calico into the infrastructure network, you shouldn't need CrossSubnet mode anyway.  Try setting vxlanMode=Never.
If you wanted to discuss debugging your config in near real-time, we have a slack channel go to http://slack.projectcalico.org/ to get an invite.

One of the points in that doc is that if you're using an overlay network, the pods will not be routable.  I see that you have vxlanMode=CrossSubnet - that's an overlay network and may stop the pods from being routable.  If you're peering Calico into the infrastructure network, you shouldn't need CrossSubnet mode anyway.  Try setting vxlanMode=Never.
If you wanted to discuss debugging your config in near real-time, we have a slack channel go to http://slack.projectcalico.org/ to get an invite.


Migrate from UnmanagedExports to 3F/DllExport

UnmanagedExports hasn't been updated/maintained since August 2015 and replaced by https://github.com/3F/DllExport. It would be worth considering the move as it'd address issues like those in #119. The drawback it seems is that it required .NET Framework 4.0+ so support for 3.5 would be lost.

@joelvaneenwyk I don't see that as a large issue, people who need .NET 3.5 can use an older release that still supports it. We also need this change for #278


stackpathdns.com is a CDN DNS provider

I found that stackpathdns.com is listed in the blacklist. This appears to be a global Content Delivery Network (https://www.stackpath.com/) rather than a source of web based mining. I found it broke access to a legitimate website (www.kodak.com) for me.

Fixed.


Support line, rectangle and arrow drawing

After the freehand PDF editing features introduction, it should not be much more complicated to implement support for line, rectangle, and arrow drawing.

This would be great, taking notes and doing some basic drawings sometimes is not enough. Some basic shapes like the ones mentioned would be really appreciated by the many students that use this during lessons.

This is the only feature that prevents me from getting rid of Adobe Reader...


Add more details on failures

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- testcontainers-common/src/main/java/com/playtika/test/common/spring/NoContainersStartedException.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerNotPresentException.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerNotPresentFailureAnalyser.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DependsOnDockerPostProcessor.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerPresenceBootstrapConfiguration.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/AllContainers.java  2
- testcontainers-common/src/main/java/com/playtika/test/common/spring/AbstractDependsOnPostProcessor.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerPresenceMarker.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/NoContainersStartedFailureAnalyser.java  1

Complexity decreasing per file
==============================
+ testcontainers-common/src/main/java/com/playtika/test/common/spring/DependsOnPostProcessor.java  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- testcontainers-common/src/main/java/com/playtika/test/common/spring/NoContainersStartedException.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerPresenceMarker.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/AllContainers.java  2
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerNotPresentException.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DependsOnDockerPostProcessor.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerPresenceBootstrapConfiguration.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/AbstractDependsOnPostProcessor.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/NoContainersStartedFailureAnalyser.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerNotPresentFailureAnalyser.java  1

Complexity decreasing per file
==============================
+ testcontainers-common/src/main/java/com/playtika/test/common/spring/DependsOnPostProcessor.java  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- testcontainers-common/src/main/java/com/playtika/test/common/spring/EmbeddedContainersShutdownAutoConfiguration.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DependsOnDockerPostProcessor.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/NoContainersStartedFailureAnalyser.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/AbstractDependsOnPostProcessor.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerPresenceMarker.java  3
- testcontainers-common/src/main/java/com/playtika/test/common/spring/AllContainers.java  2
- testcontainers-common/src/main/java/com/playtika/test/common/spring/NoContainersStartedException.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerPresenceBootstrapConfiguration.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerNotPresentException.java  1
- testcontainers-common/src/main/java/com/playtika/test/common/spring/DockerNotPresentFailureAnalyser.java  1

Complexity decreasing per file
==============================
+ testcontainers-common/src/main/java/com/playtika/test/common/spring/DependsOnPostProcessor.java  -2

See the complete overview on Codacy

Codecov Report

Merging #319 into develop will decrease coverage by 0.11%.
The diff coverage is 78.57%.

@@              Coverage Diff              @@
##             develop     #319      +/-   ##
=============================================
- Coverage      86.69%   86.57%   -0.12%
- Complexity       496      513      +17
=============================================
  Files            122      130       +8
  Lines           1653     1691      +38
  Branches          30       34       +4
=============================================
+ Hits            1433     1464      +31
- Misses           208      212       +4
- Partials          12       15       +3

Impacted Files
Coverage Δ
Complexity Δ

...ommon/operations/DefaultNetworkTestOperations.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...t/common/properties/CommonContainerProperties.java
50.00% <ø> (+50.00%)
1.00 <0.00> (+1.00)

...st/common/properties/InstallPackageProperties.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...g/EmbeddedContainersShutdownAutoConfiguration.java
37.50% <16.66%> (-62.50%)
3.00 <1.00> (ø)

...common/spring/DockerNotPresentFailureAnalyser.java
50.00% <50.00%> (ø)
1.00 <1.00> (?)

...mon/spring/NoContainersStartedFailureAnalyser.java
50.00% <50.00%> (ø)
1.00 <1.00> (?)

...com/playtika/test/common/spring/AllContainers.java
69.23% <62.50%> (-2.20%)
4.00 <2.00> (+1.00)
:arrow_down:

...ytika/test/common/spring/DockerPresenceMarker.java
71.42% <71.42%> (ø)
2.00 <2.00> (?)

.../common/spring/AbstractDependsOnPostProcessor.java
100.00% <100.00%> (ø)
7.00 <7.00> (?)

...st/common/spring/DependsOnDockerPostProcessor.java
100.00% <100.00%> (ø)
2.00 <2.00> (?)

... and 15 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 acc9de4...4a0ead1. Read the comment docs.


feat: add User profile

the layout need to fix.

add chat seem too close to the next

this copy id didn't work

it works in windows, only Mac is hurt. hmmm

Hmmm weird

I guess we let mac be like that ?
We don't have that much time to fix it
Lets just make sure windows and Linux work

I agree.

sorry, I am doing something wrong about Merge which makes the lint error, I have fixed it to the original.

No worries, I'll merge it

@noahlias merge is already merged ?

approve changes

sorry, I use the update branch with merge commit which causes the lint error. I should use the rebase.

u merge it


Can we create new Drupal site from a make file?

You could script commands via Terminus using a Make file. Many users of Terminus just put together a simple Bash script. Could you please elaborate on what you have in mind or what your use case is?

Check out this proof of concept:
https://github.com/joshkoenig/drush-make-ci

Yeah, thanks (:


fixed issue #8 with count increment on insert

Added additional check to only increment count if item doesn't already exist.

@dankobiaka this requires a test case :-)

complete

@dankobiaka The PR conflicts with master. Could you please rebase your branch?

is that okay now?

I've tagged zend-stdlib 2.4.4, and will be back-porting this to an LTS release of ZF2 today.

@weierophinney 2.5 should be released too

@Maks3w after I get the LTS release done, that's the plan.

Allow this fix to undo https://github.com/zendframework/zf2/pull/7446?

@Maks3w No; they're separate issues. This one has to do with the count, while the other has to do with removal of items during iteration. They're not related.


Support for Weights & Biases training experiment tracker

Proposed changes:

Support for Weights and Biases training experiments tracker wandb.ai

In order to use the service you need sign up (free tier is available) and expose the key into the environment:

export WANDB_API_KEY= key-value

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

Closing this as stale


TOC generation

I reopened my previous feature request as I didn't have a chane to reply in it.
I am not generating pdf from word but from html. Do you have an advice on how to generated a table of contents (with pagenumbers) for a pdf generated from html?

Thanks for the kind words!
IMO it should be done by the user, not Gotenberg. For instance you may generate a TOC with Word directly 😄
Originally posted by @gulien in https://github.com/thecodingmachine/gotenberg/issues/186#issuecomment-610349104

@tonyellow this might help
https://link.medium.com/zAX2yRbu69

Though, in an automated workflow there's no step to 'Generate a TOC with Word directly'.

Though, in an automated workflow there's no step to 'Generate a TOC with Word directly'.

Would you be open to a pull request to enable this using the unoconv parameter?

Would you be open to a pull request to enable this using the unoconv parameter?

@serge-melis do you have more details about what to do exactly? 🤔

Hi @gulien great to hear from you! We are generating a word document using phpWord, this includes a Table of Contents object. When we open the result in OpenOffice, it will ask us if we want to (re)generate the Table of Contents, as this is not actually done during the generation of the document because of the variable length.
So far, running the document through unoconv does not allow us to have the Table of Contents (re)generated. I was hoping there was some sort of flag we could passthrough Gotenberg to have unoconv enable this.

That would be great 😄 AFAIK, I have not heard of such option in unoconv..

We have looked into it, and kind of came up blank. There are some workarounds with a macro, but could not get it to work
Serge

From: Julien Neuhart @.>
Sent: Tuesday, August 24, 2021 4:49:06 PM
To: gotenberg/gotenberg @.>
Cc: Serge Melis @.>; Mention @.>
Subject: Re: [gotenberg/gotenberg] TOC generation (#233)
That would be great 😄 AFAIK, I have not heard of such option in unoconv..
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/gotenberg/gotenberg/issues/233#issuecomment-904710076, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABIKLTT5HPGZEOU7CINAAH3T6OWOFANCNFSM4P7T44RA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

@tonyellow this might help
https://link.medium.com/zAX2yRbu69

The mentioned solution may work with the tools suggested in the article, but I haven't gotten it to work using the pdf-merge funtionality in the PDFengine section of Gotenberg. If I generate a TOC pdf and merge it with the already exisiting pdf, the links aren't clickable, but only marked as HTML links. This happens regardless merging PDFs, AKAICS
p.s. Gotenberg is a very good tool in many other cases


🐫 V2 (WIP)

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@29c746e). Click here to learn what that means.
The diff coverage is 59.15%.

@@            Coverage Diff            @@
##             master      #29   +/-   ##
=========================================
  Coverage          ?   42.25%
=========================================
  Files             ?       53
  Lines             ?     1479
  Branches          ?      116
=========================================
  Hits              ?      625
  Misses            ?      814
  Partials          ?       40

Impacted Files
Coverage Δ

app/src/main/java/io/rapidpro/surveyor/Logger.java
30% <ø> (ø)

...o/rapidpro/surveyor/activity/SettingsActivity.java
100% <ø> (ø)

...java/io/rapidpro/surveyor/widget/IconLinkView.java
0% <ø> (ø)

...a/io/rapidpro/surveyor/task/SubmitSubmissions.java
0% <ø> (ø)

...pidpro/surveyor/activity/AudioCaptureActivity.java
0% <ø> (ø)

...java/io/rapidpro/surveyor/ui/BlockingProgress.java
0% <ø> (ø)

...java/io/rapidpro/surveyor/task/RefreshOrgTask.java
0% <0%> (ø)

...va/io/rapidpro/surveyor/data/engine/OrgAssets.java
0% <0%> (ø)

...pidpro/surveyor/activity/VideoCaptureActivity.java
0% <0%> (ø)

...io/rapidpro/surveyor/fragment/OrgListFragment.java
0% <0%> (ø)

... and 39 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 29c746e...2d36c97. Read the comment docs.


Remove the notion of legacy from the api and save some FLASH space too

@LorenzMeier
This remove the notion of legacy from the api. The board level code  will perform the translation to legacy format on the STM32.  New targets will not need to do this as there is no case where the serial number were used by mfg for tracking.
It maintains the legacy incorrect selection of significant digits of the UUID in the PX4 code base.
This is done to avoid the ripple effects changing the IDs used on STM32 base platforms. [See] (https://github.com/PX4/Firmware/commit/f126668dbd41f10667a8759be7937dd822549828#diff-8da0cce1d272772f52e0d92c6f4343a5R83)

Jenkins test this please.

From your comment I gather you only kept the display of legacy. If that conclusion would be correct: However, the byte order is also inverted in storage IIRC and via MAVLink. Please compare the UUID as sent via MAVLInk in the MAVLink inspector of QGroundControl. It should stay the same for STM32 as it will blow up existing configs.
If you kept the representation for STM32 then this looks like its ready to go.

Jenkins test this please.

1.5.0 Release RC1
nsh> ver all
HW arch: PX4FMU_V2
FW git-hash: 3d7906647e5c6f382bf6c574927bac88d752874f
FW version: v1.4.4rc1 (1.4.4 192), 17040576
OS version: 6.27<PHONE_NUMBER>)
Build datetime: Aug 26 2016 09:41:20
Toolchain: 4.8.4 20140725 (release) [ARM/embedded-4_8-branch revision 213147]
MCU: STM32F42x, rev. 3
UID: 400038:33355110:32383336
nsh> fmu id
ERROR [fmu] Board serial:
 00400038 33355110 32383336

Current master
nsh> ver all
HW arch: PX4FMU_V2
FW git-hash: 264589b2cc8bc69e95fc63580e2ad94be109c016
FW version: 1.5.2 0 (17105408)
OS: NuttX
OS version: Release 1.8.0 (17301759)
Build datetime: Jan 28 2017 05:19:48
Build uri: localhost
Toolchain: GNU GCC, 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715]
MCU: STM32F42x, rev. 3
UID: 400038:33355110:32383336
nsh> fmu id
Board serial:
<PHONE_NUMBER>5110 32383336
nsh>

This Branch
nsh> ver all
HW arch: PX4FMU_V2
FW git-hash: b1b8e9b87a96b0b032237e31bb91f4e182a86d69
FW version: 1.5.2 0 (17105408)
OS: NuttX
OS version: Release 1.8.0 (17301759)
Build datetime: Jan 28 2017 05:49:58
Build uri: localhost
Toolchain: GNU GCC, 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715]
MCU: STM32F42x, rev. 3
UID: 400038:33355110:32383336
nsh> fmu id
Board serial:
 00400038 33355110 32383336
nsh> WARN  [commander] Not ready to fly: Sensors not set up correctly

@LorenzMeier - Please DNM yet - I have more commits to add here....

This branch post discussion
nsh> ver all
HW arch: PX4FMU_V2
FW git-hash: 256851bc27a9445e5fb24e5a0ec3516cc34d37d6
FW version: 1.5.2 0 (17105408)
OS: NuttX
OS version: Release 1.8.0 (17301759)
Build datetime: Jan 28 2017 08:20:45
Build uri: localhost
Toolchain: GNU GCC, 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715]
MFGUID:<PHONE_NUMBER>35511000400038
MCU: STM32F42x, rev. 3
UID: 400038:33355110:32383336
nsh> fmu id
FMU: unrecognized command id, try:
  mode_gpio, mode_pwm, mode_pwm4, test, sensor_reset [milliseconds], i2c <bus> <hz>, bind

@LorenzMeier - ready!

CI catched some code issues:
/Users/travis/build/PX4/Firmware/src/systemcmds/ver/ver.c:60:19: fatal error: variable 'mfg_uid_str' is not needed and will not be emitted [-Wunneeded-internal-declaration]
static const char mfg_uid_str[]         = "mfguid";
                  ^
1 error generated.

@LorenzMeier
Now that we added the mfguid and display in in ver  I cleaned up the uavcan usage and removed all the exposed reordering from the API and include files. The stm32 board code only needs to do the maintain the legacy format.
I have tested this on px4fmu-v3 and a new 2.4.6 board w/ rev 3 silicon as well as the esc35-v1 hw bootloader.
Node id allocation is AOK with these changes.
nsh>  ver all
HW arch: PX4FMU_V2
FW git-hash: 3fe5c4f2372298bf1c44fa655e344d632a31afcd
FW version: 1.6.0 0 (17170432)
OS: NuttX
OS version: Release 1.8.0 (17301759)
Build datetime: Jan 30 2017 13:23:35
Build uri: localhost
Toolchain: GNU GCC, 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715]
MFGUID:<PHONE_NUMBER>35511000400038
MCU: STM32F42x, rev. 3
UID: 400038:33355110:32383336
nsh> ver uid
UID: 400038:33355110:32383336
nsh> ver mfguid
MFGUID:<PHONE_NUMBER>35511000400038

@LorenzMeier Please give this a second look.

@LorenzMeier Architectural question. Do we want to pad out a 96 bit mfg to 128 bit with leading 0's.
The we can use 32 character string in the logging and add the to QGC as an mfguid[32]?

Rebased and force-pushed.

@davids5 Padding is fine.

I still will merge this once it passes.


Lizard Underbelly Marking

About the PR
Adds an underbelly marking that simply covers the chest for reptiles.
Why / Balance
Something, something, player expression and further character uniqueness.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame.

Changelog
:cl:

add: Added a new lizard chest marking, an underbelly.

cute..


Unknown error "Error processing line item"

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
When POST a order, just receive a message "Error processing line item", but not says what is the error.

What is the expected behavior?
Says exactly whats the problem to proccess the item.

Quick hint: Have a look at the logs of your gocommerce deployment, there will most likely be a more detailed explanation for why the error happened there.
In this case it is most likely some issue with fetching the product metadata. The backend will try to fetch SITE_URL + product.path when you make the order. If there is an issue finding the metadata it will throw this error.

Cool explanation @mraerino. Im having problem in setup this logging (I think i did alright, but the go application its not putting any log out there).
My config is (.env):
LOG_LEVEL=debug
LOG_FILE=~/error.log

The metadata you say it`s that json for each product like that:
{"sku": "\/loja\/cafe-gourmet\/", "title": "Café Gourmet", "image":"https:\/\/netzei-cms-s3.s3.amazonaws.com\/18baa110b6558f18b15796bee59569cef2af2be9%2F2279%24IMG_20170205_084637.jpg", "prices": [{"amount":  39.9 , "currency": "BRL"}]}
Right?
If you have any tips to config this logging to see the right error, can help me a lot. Thanks anyway! 👍

I'm not at all sure about how to setup logging outside of a docker container. Does the binary not log to stderr if you just run it somewhere? I guess it should. In what kind of environment did you deploy it?
One thing to try about your metadata:
My setup seems to use a JSON string for the amount field in the prices array. This might be because of how floats can mess up calculations of sums. Internally gocommerce is using cents as int types to work around this.

I deploy it in a AWS instance (ubuntu one).
Just do it the same as this guy here configured (I think it`s the only post on the internet that stays how to do this):  https://swizec.com/blog/setup-gocommerce-new-digital-ocean-droplet/swizec/8152
Well, I check it in all the machine, but not log it`s standing out.
About the amout, I will test this. Let`s see if change something for us.

@mraerino Marcus, I stringify it, but get the same "Error processing line item".
My JSON post to endpoint (using gocommerce-js):
{"email":"verney@netzei.com","shipping_address":{"name":"Thiago Verney","address1":"Rua Presidente Coutinho - de 350/351 ao fim, 610","city":"Florianópolis","state":"SC","country":"BR","zip":"88015-231"},"vatnumber":null,"currency":"BRL","coupon":null,"line_items":[{"sku":"/loja/cafe-gourmet/","description":"","type":"cafe","title":"Café Gourmet","image":"https://netzei-cms-s3.s3.amazonaws.com/18baa110b6558f18b15796bee59569cef2af2be9%2F2279%24IMG_20170205_084637.jpg","prices":[{"amount":"39.9","currency":"BRL","cents":"3990"}],"path":"/loja","quantity":1}]}

The interesting that I did a CURL posting the example that have here on repo and got the same error. I think that can be possible a bug in this.

The problem it`s: "Error parsing product metadata: json: cannot unmarshal number into Go struct field PriceMetadata.amount of type string"
Its what you told @mraerino. But Im putting in a string, and the same error comes out. You can publish your JSON string to test here if does the same?

I actually just set up a demo page for gocommerce here: https://gocommerce-demo.netlify.com/
Example metadata for a product looks like this:
<script class="gocommerce-product" type="application/json">
{
   "image":"/images/anomaly-602394-unsplash.jpg",
   "prices":[
      {
         "amount":"4",
         "currency":"EUR"
      },
      {
         "amount":"5",
         "currency":"USD"
      }
   ],
   "sku":"beer-lager",
   "title":"Lager",
   "type":"beers"
}
</script>

@tverney the payload of your request to the api is actually not the problem, but rather what metadata is published on your static page (whatever your SITE_URL is and the path - /loja in this case)

Sure @mraerino. I know about this metadata stuff. But the payload was just the same what I defined in metadata (both are defined the "amount" in JSON string), thats what I didnt understood the real problem. :(

Got the problem. In production was staling content for a version without this number in string. Now it`s perfect! Thanks @mraerino


Streams template for go API

Current behavior:
No template
Expected behavior:
An example that allows you to build a streaming app with golang
What is the motivation / use case for changing the behavior?
We can build streams with UI and CLi, but not the third interface - golang API
Additional information you deem important (e.g. I need this tomorrow):

@fm-tibco I think you are the right person to look at this.  it isn't a priority but it would be nice to be able to do this for some demos and what not.


[FollowPath] position_update log frequency

position_update log entries for FollowPath appear too often, like every 1.5 seconds, with distance changes from 1 meter to 5 meter depend on the random speed. It's kind of unnecessarily spam the terminal.
An interval of 5 seconds or 10 meter should be more relevant.

After merge, you can use something like:
        "type": "FollowPath",
        "config": {
             ....
             ....
             "log_interval" : 4
        }

Recent merge fixes this.


Change bulk operation for metrics and index templates to support Open…

…Search 2.0 as a data store
Signed-off-by: travisbenedict<EMAIL_ADDRESS>Description
Add support for OpenSearch 2.0 as a metrics data store by updating the MDS index templates, removing the doc_type argument from bulk requests and removing include_type_name from put template requests.
Issues Resolved
Closes https://github.com/opensearch-project/opensearch-benchmark/issues/150
Check List

[ ] New functionality includes testing

[ ] All unit and integration tests pass

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

This change was discussed a bit in #108. By merging this PR we are dropping support for metrics stores <ES7. This seems fine to me but there are sure to be other cases of ES/OS conflict in the future. It would be good to align on a decision about how to handle any and all of these conflicts going forwards.

This change was discussed a bit in #108. By merging this PR we are dropping support for metrics stores <ES7. This seems fine to me but there are sure to be other cases of ES/OS conflict in the future. It would be good to align on a decision about how to handle any and all of these conflicts going forwards.

I completely agree with you. A version support policy is something I'm planning to publish soon.
In this particular case I would argue that we implicitly dropped support for Elasticsearch as a data store back in https://github.com/opensearch-project/opensearch-benchmark/pull/74 prior to the alpha release


utils/utils.py must be integrated into hax module

utils/utils.py is a result of hare-shutdown script refactoring. In fact it reuses some of the types from hax already (like HAConsistencyException but still re-implements some other things that are already invented in hax code base. For instance, all communication with consul happens directly via python-consul 's Consul class. So in case of intermittent Consul exceptions retry will not happen.
Consequent evolution of this module will most probably cause code duplication and will double bugs. We need to incorporate this code into the existing solid code base.

Mirror JIRA ticket created https://jts.seagate.com/browse/EOS-18799

Vaibhav Prakash Paratwar commented in Jira Server:

Improvement cc [~520513]

This will be handled separately as design changing. Closing this as of now @mssawant

Vaibhav Prakash Paratwar commented in Jira Server:

.

Vaibhav Prakash Paratwar commented in Jira Server:

.

Vaibhav Prakash Paratwar commented in Jira Server:

.


KAFKA-8155: Add 2.1.1 release to system tests

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Triggered all system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2515/
Call for review @guozhangwang @bbejeck @vvcephei @ableegoldman @cadonna

This should be cherry-picked to 2.2 branch.

This should be cherry-picked to 2.2 branch. Not sure about 2.1 ?

I'd say do 2.1 as well as IMHO we want the latest versions on the system tests.

system test failed, but it was during the setup, not an actual test failure.  So I've kicked off another build https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2518/

Updated Dockerfile. Retrigger system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2520/

System test failed. It did not download 2.1.1 artifact -- not sure why -- maybe I started the build before it could sync on the docker image update. Retriggered:
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2525/

Rebased to resolve merge conflict. Also fixed the artifact problem. Retriggered system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2589/

LGTM.

retest this please

Currently system tests on trunk are broken -- we need to wait for a fix IMHO, before we can merge this. Thoughts?

Rebased this to get latest system test fixed. Retriggered system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2630/

Java8 failed (test results are no longer available). Java11 passed.
Retest this please.

System test results not available any longer. Retriggered: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2654/

System tests passed.
Java8 failed (test results are no longer available). Java11 passed.
Retest this please.

Merged to trunk and cherry-picked to 2.3 and 2.2 branches.

@mjsax you broke the 2.2 system tests due to a badly resolved conflict:
https://github.com/apache/kafka/commit/c450bfc2911fa121e18815a15b5fd7f087fd03ac#diff-9f5a3c3b9b36f4d6c32b238f5ec80b89R125
After the commit above, a single system test was being executed:
http://confluent-kafka-2-2-system-test-results.s3-us-west-2.amazonaws.com/2019-06-13--001.1560391755--apache--2.2--bda2a02/report.html


SubApps not finding routes

I have a three apps loaded under one main app, in a project called SnapStories: Reports, Organization, and Auth. They were created & mounted via the padrino generators.
However, rake routes yields nothing: no errors or routes. The only routes that actually get served are those in app/app.rb. Nothing from my controllers in my subapps.
Code here: https://github.com/ianseyer/snapstories-public

Thanks for the clear explanation.
I'd like to tell you two points:

rake routes outputs only named routes, so you must define the named route.

# before
get "/" do
end

get "/foo" do
end

# after
get :index do
end

get :foo do
end

The order of sub application defined in your apps.rb is incorrect. The main application should be placed in the end.

Padrino.mount('SnapStories::Auth', :app_file => Padrino.root('auth/app.rb')).to('/auth')
Padrino.mount('SnapStories::App', :app_file => Padrino.root('app/app.rb')).to('/')

See: Upgrading Padrino from 0.11.X to 0.12.0 Guide's Reorder Mounter Apps section.

Thank you!


Not pure std.variant.Variant ctor

bearophile_hugs reported this on 2015-01-27T15:23:25Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=14062
CC List

sinkuupump

Description
This seems a regression:

void main() pure {
    import std.variant: Variant;
    auto v = Variant(1);
}

dmd 2.067alpha gives:

test.d(3): Error: pure function 'D main' cannot call impure function 'std.variant.VariantN!20u.VariantN.__ctor!int.this'
test.d(3): Error: pure function 'D main' cannot call impure function 'std.variant.VariantN!20u.VariantN.~this'
test.d(3): Error: pure function 'D main' cannot call impure function 'std.variant.VariantN!20u.VariantN.~this'

sinkuupump commented on 2015-01-31T12:32:28Z
introduced by: https://github.com/D-Programming-Language/phobos/pull/2147

I'm not sure this can be fixed. opAssign(called by constructor) and destructor of Variant are changed to call the handler, and it's impure.

k.hara.pg commented on 2015-03-01T04:34:35Z
(In reply to bearophile_hugs from comment #0)
> test.d(3): Error: pure function 'D main' cannot call impure function
> 'std.variant.VariantN!20u.VariantN.__ctor!int.this'
> test.d(3): Error: pure function 'D main' cannot call impure function
> 'std.variant.VariantN!20u.VariantN.~this'
> test.d(3): Error: pure function 'D main' cannot call impure function
> 'std.variant.VariantN!20u.VariantN.~this'

The purity violation errors had been wrongly erased by compiler issue in previous dmd versions. Currently Variant implementation does not support pure construction even if the setting value can do it.

sinkuupump commented on 2015-02-01T11:47:42Z
Ah, constructor can avoid calling fptr(OpId.destruct) because fpr==&handler!void there, so it can be pure. But destructor is still impure. Any ideas?

k.hara.pg commented on 2015-03-07T02:54:15Z
(In reply to sinkuupump from comment #2)
> Ah, constructor can avoid calling fptr(OpId.destruct) because
> fpr==&handler!void there, so it can be pure. But destructor is still impure.
> Any ideas?

As you say, constructing Variant can be pure depending on the initialized value type, so it would be an enhancement.

It is more precise test case for the enhancement:

auto makeVar(int n) pure
{
    import std.variant: Variant;
    return Variant(1);  // constructing Variant with int could be pure
}
void main()
{
    auto v = makeVar(1);
}

However to support it, a compile bug need to be fixed beforehand.
Issue 14252 - Erroneous dtor attributes check even if the struct returned immediately

On the other hand, non-algebraic Variant type cannot copy or destruct in pure function.

Change the importance to 'enhancement'.


Increase bike priority level by one step in case of scenic=yes tag.

Triggered by #571.

Simple&nice - thanks!


Replace progressbars with tqdm

Replace internal progressbar with tqdm. FIxes https://github.com/CIRADA-Tools/RM-Tools/issues/65
Somehow I borked the previous PR...

@Cameron-Van-Eck bumping this. A factor of 3x slowdown would be a nice thing to get fixed.

Updated to include improved do_fitIcube script

Ping @Cameron-Van-Eck @westjl @Sebokolodi,
If there are no objections I'll go ahead and merge this soon


get an email google_oauth

I extended fetch_attributes with
$this->attributes['email'] = $info['email'];
Still this returns an empty email
Any ideas what am I doing wrong ?

You should add email scope like this:
protected $scopes = [self::SCOPE_USERINFO_PROFILE, self::SCOPE_EMAIL];

Thanks, it works :D !
2015-10-17 17:28 GMT+02:00 Maxim Zemskov<EMAIL_ADDRESS>
You should add email scope like this:
protected $scopes = [self::SCOPE_USERINFO_PROFILE, self::SCOPE_EMAIL];
—
Reply to this email directly or view it on GitHub
https://github.com/Nodge/yii2-eauth/issues/60#issuecomment-148924919.


Registering lints with rustc

Rustc provides functionality to change the lint level in code, emit lints with rustc's diagnostics and notify the user if a lint was misspelled, renamed, or deprecated. These functions require the lints to be registered in rustc's LintStore and to be passed to lint emitting functions like struct_span_lint. These functions take a Lint reference with a static lifetime. This is problematic for the API, as we can't create a driver-specific type instance with a static lifetime without exposing the type to the user.
This issue intends to investigate options to bridge this gap.

1. Unsafe lifetime extension.
The simplest solution is, probably, to create a driver specific Lint instance in our driver and just expand the lifetime to 'static.  This would require unsafe code, to expand the lifetime requires us to figure out where we store the created lint instance, since we can't delete it afterwards to keep the lifetime as close to 'static as we can.
1.1 Store the driver::Lint instance in the api::Lint instance
In the rust-linting prototype, the api::Lint instance is created using a macro and the ast::Lint type is not part of the stable API. Therefore, we could add an extra field to hold the driver lint instance. Every call that requires the driver::Lint instance would simply take the field from ast::Lint.

Mock/draft implementation
This is a mock implementation to showcase the general idea. This will not compile and would require unsafe code to convert the references between each other.
API Code
mod api {
    struct Lint {
        // ...
        /// The driver specific lint instance. This will be overridden by the driver
        driver_lint: OnceCell<&'static ()>,
    }
}

Driver code
// Like rustc's Lint
extern driver::Lint;

fn register(registered_lints: [&'static api::Lint]) {
    for api_lint in registered_lints {
        // This creates a driver lint instance and sets it's instance in `api::Lint`
        let driver_lint = Box<(diver::Lint::new(...));
        api_lint.driver_lint.set(driver_lint.leak() as &'static ());

        context.lint_store.register(api_lint.driver_lint as &'static driver::Lint)
    }
}

fn span_lint(api_lint: &'static api::Lint) {
    rust_context.span_lint(api_lint.driver_lint as &'static driver::Lint)
}

1.2 Use a Map
Instead of storing the driver::Lint instance in api::Lint we could create a map, stored in the AstContext to convert the types. The advantage of this is, that we would only need unsafe code once to extend the driver::Lint lifetime. Afterwards, everything will be safe. The disadvantage is, that each map lookup requires some performance.

Mock/draft implementation
This is a mock implementation to showcase the general idea. This will not compile and would require unsafe code to convert the references between each other.
Driver code
// Like rustc's Lint
extern driver::Lint;
extern api::Lint;

RustcContext {
    lints: HashMap<&'static api::Lint, &'static driver::Lint>,
}

impl RustcContext {

    fn register(&mut self, new_lint: &'static api::Lint) {
        let driver_lint_box = Box<(diver::Lint::new(...));
        let driver_lint = driver_lint_box.leak() as &'static driver::Lint;
        self.lints.put(new_lint, driver_lint);
        /// Getting `&'static driver::Lint` is now as simple as this
        // ```rs
        //     api_lint.lints[api_lint]
        // ```

        context.lint_store.register(driver_lint)
    }

    fn span_lint(self, api_lint: &'static api::Lint) {
        rust_context.span_lint(api_lint.lints[api_lint])
    }
}

2. Create driver::Lint instances at compile time.
As the issue says, we want to avoid exposing the driver::Lint type to the user. However, what we can do is change the linter_adapter implementation to not load static libraries, but instead create a single binary that includes all registered lint creates. This would enable us to inject some driver-specific code. As a disadvantage, it would mean that the adapter is no longer general and part of the driver implementation. It also feels like a break of the single responsibility principle. On the other hand, it would enable us to create &'static driver::Lint instances without unsafe hackery.
3. Change rustc's interface.
The main problem with rustc's LintStore interface, is that it takes a reference with a 'static lifetime, while we would like to provide an instance with a limited lifetime. As a solution, we could try to change the interface of rustc. If rust-linting reaches a reasonable size, I can imagine that the diagnostics team would be fine with such a change, if it doesn't inconvenience the internal usage.

CC: @DevinR528, you've also created a prototype. Could you maybe explain how you did it. You mentioned something here

So the way I go about it is, in the driver (since that's the only place we can use rustc types) I have conversion traits implemented for every type that makes up a stable::Lint and after reading about the user provided stable::Lint (my export_lint_pass macro makes an ffi function that returns a Vec<&'static stable::Lint>, it also does the unsafe unspeced ffi fn() -> *mut Box<dyn stable::LateLintImpl>) we Box::leak each one and pass them to the LintStore::register_lint method here.
So, could we make the stable::Lint type more like rustc's Lint type and convert and leak?

Wait, I thought the goal was to have a standalone tool, not something that would hook into rustc.

Wasn't the goal to create a wrapper/stable API?
The way I designed rust-linting right now, is a tool that loads lint crates and provides them with a defined AST representation and later on diagnostic support. The backend, is exchangeable, currently I just use rustc, as I see little advantage in rewriting a lexer and parser.
All goals we've discussed are archivable with this architecture AFAIK. Or have I missed something. I actually wasn't aware that we wanted a completely standalone tool :thinking:

Yes, a wrapper/stable API were necessary. The lexer, parser, etc. could be reused from the rustc_* family of crates. I thought the actual emitting of diagnostics was going to be handled on our end, not rustc's.
But go ahead! You're the primary person doing anything on this front right now anyways. Don't let me stop you :slightly_smiling_face:

The diagnostic emission will also be exchangeable. I'll keep this in mind when I create the first version of the diagnostic emission. :upside_down_face:

If the driver crate depends on the rustc_* crates at all, is there a reason not to re-use as much as possible, at least where the pain of making it stable is worth the reuse from rustc?

So, could we make the stable::Lint type more like rustc's Lint type and convert and leak?

We could, but that would bind us to the rustc implementation. Rustc also has some fields which are relevant to feature flags and tool lints, which we don't need or should store someone else. The current implementation was inspired by the lint definition, but still deviates. :)

at least where the pain of making it stable is worth the reuse from rustc?

Would you mind explaining what you mean with this? @DevinR528
A sidenote, one "problem" of rustc is, that it's designed to be fast and for compilation. The incremental compilation model can sometimes make things more complicated. It definitely has its place in rustc, but for rust-linting I see more value in having a simpler interface.

I was trying to say that any reuse of rustc (like reusing the diagnostic/warning/error reporting) should be weighed against how hard/hacky it is to make a stable wrapper around said feature (so keeping with the diagnostic example, we need our stable::Lint type API stable and convertible to rustc_lints::Lint and all the extra hoops we have to jump through to make our types work with rustic).


mac support for Web browser marketplace integration

Please use URI's to communicate between the Web browser plugin marketplace view, so that mac users can click to download and install plugins into their VSCode application, just like Windows users.

I don't understand. Visual Studio Code marketplace is currently using vscode: schema to communicate with Code.
For example, click the Install button in the image below

will open vscode:extension/streetsidesoftware.code-spell-checker, which opens the extension page in my Code correctly on my mac.


Complex number in Scheme

Information:

Prism version: [e.g. 1.14, latest from the download page, etc.] Testing at website https://prismjs.com/test.html#language=scheme

Description
Complex number without imaginary number value is valid scheme complex number
Example
Example valid numbers that can be tested
10+i
10+.1i
10+1.i

I did few attempts to fix the number regex, but it was failing for other tests.

Seems like I used an old version of the spec when making the number pattern. I'll fix it soon.
Note to me: Page 62 of this document defines the grammar for a valid number.

@jcubic I have a question. I implemented it and now 10i, 10.10i, and 10e+10i aren't tokenized as numbers anymore. This is because I implemented the BNF grammar on page 62-63 literally (you only need to look at the <complex R> rule). They aren't valid numbers according to R7RS because they don't start with a sign (either + or -). Should I continue to follow the spec or should I relax it a little, so that the above numbers are tokenized again?

All examples works in Kawa but not in Gauche, Guile and Racket those are my base implementations that I'm testing against (racket is not exactly Scheme but it's compatible). I've also found error in my implementation where 10e+10i is parsed as 100.0. The examples also work in my implementation (LIPS).
Maybe if Kawa support those, they can be marked as numbers, most of the time people will not use those type of values, because if they are not numbers they are treat as symbols so without quote '10 is marked as variable name, and they will use Kawa they would like to mark them as numbers.

If nobody is gonna these anyway, then I'll just keep the strict grammar.


Copy worksheets across workbooks

I did not find in the official documents to implement the worksheets in multiple xlsx files, I hope this feature will be improved on the development schedule

This issue duplicate with #41. I close this and merge it into issue #41.


Huai'an Joy International School

http://joyintlschool.com/

@zhang-anzhi Pull request merged. Thank you!

Thank you!


[🐞] Issue with IntrinsicElements and no children

Which component is affected?
Qwik Runtime
Describe the bug
Hi there,
we experience an issue with typescript types and can't solve it.
We have polymorphic components with dangerouslySetInnerHTML and no children.
In Version 0.102
With children and no dangerouslySetInnerHTML it is fine, with dangerouslySetInnerHTML only it breaks:

import type { QwikIntrinsicElements } from<EMAIL_ADDRESS>import { component$, useStylesScoped$ } from<EMAIL_ADDRESS>
export default component$(
  <C extends keyof QwikIntrinsicElements>(props: VeryFunCompnent<C>) => {
    const { as: propAs, text, ...rest } = props;
    const Component = (propAs ?? 'div') as string;
    return <Component dangerouslySetInnerHTML={makeMePretty(text)} {...rest} />;
  }
);

export type VeryFunCompnent<C extends keyof QwikIntrinsicElements = 'button'> =
  QwikIntrinsicElements[C] & {
    text: string;
    as?: C;
  };

export function makeMePretty(text: string): string {
  return text.replace(/\n/g, '
\n');
}

In Version 0.103
Even the polymorphic component with children breaks
import type { QwikIntrinsicElements } from<EMAIL_ADDRESS>import { component$, Slot, useStylesScoped$ } from<EMAIL_ADDRESS>
export default component$(
  <C extends keyof QwikIntrinsicElements>(props: ButtonProps<C>) => {
    const { color = 'primary', as: propAs, ...rest } = props;
    const Component = (propAs ?? 'button') as string;
    return (
      <Component class={['button', color]} {...rest}>
        <Slot name="start" />

          <Slot />

        <Slot name="end" />
      </Component>
    );
  }
);

export type ButtonProps<C extends keyof QwikIntrinsicElements = 'button'> =
  QwikIntrinsicElements[C] & {
    as?: C;
    color?: ButtonColor;
  };

export type ButtonColor =
  | 'primary'
  | 'secondary'
  | 'positive'
  | 'notice'
  | 'inherit';

Reproduction
https://stackblitz.com/edit/qwik-starter-qads2x?file=src%2Fcomponents%2FVeryFunComponent.tsx
Steps to reproduce
Just run it on stackblitz in preview and it will fail.
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.14.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 7.17.0 - /usr/local/bin/npm

Additional Information
This started in Version 0.100 and continued.
Is there a better way to do polymorphism without casting to string?

Does someone know where jsx-qwik-attributes is coming from?
I'm in the code base here
https://github.com/BuilderIO/qwik/blob/980bcad32817efa8c2f891db8ad46397b001eb54/packages/qwik/src/core/render/jsx/types/jsx-generated.ts#L2
I want to figure out what's wrong with polymorphism and some specific elements, but the issue of the children type might be in that generated file. If you point me in the right direction, I will check if I'm right.
export default component$(
  <C extends keyof ButtonAllowedTags>(props: ButtonProps<C>) => {
    const { color = 'primary', as: propAs, ...rest } = props;
    useStylesScoped$(styles);
    const Component = (propAs ?? 'button') as string;
    return (
      <Component class={['button', color]} {...rest}>
          <Slot name="start" />

            <Slot />

          <Slot name="end" />
      </Component>
    );
  }
);

export type ButtonAllowedTags = Pick<
  QwikIntrinsicElements,
  'button' | 'a'
>;
export type ButtonProps<C extends keyof ButtonAllowedTags = 'button'> =
  ButtonAllowedTags[C] & {
    as?: C;
    /**this is the color of the button */
    color?: ButtonColor;
  };

This works, but as soon as I don't pick the element, it does not. Typescript is crying hard and I don't want to do a cast to any.
It was working in 0.22 for example. Stopped working after going into 0.100 and is still an issue.
If I just put div into the pick list I get:

is it solved with the latest version of Qwik?

@gioboa wasn't able to check it yet. Will take a look in the next days. From what I know of quick, it should be fixed.

@tzdesign note that this is now documented at https://qwik.dev/docs/components/overview/#polymorphic-components so hopefully everything works as expected

@wmertens @gioboa removed {null} and everything works.


installation problems

Hi I am trying to install maftools, but continuing to get the error message as below.
BiocManager::install('maftools')
"installation path not writeable, unable to update packages: cluster, nlme"
I updated these two packages, but still not working.
I am using R 3.6.0.
Thanks!

This is not a problem of maftools. You have no write permission to R package directory. You have to change the permission mode or set a personal R library directory.

Hello @sallytxl ,
This is something has to be fixed from your end since it relates to permissions. I am closing this issue.

Thank you. I will look into it.
Best,
Sally
On Thu., Jul. 4, 2019, 5:21 a.m. Anand Mayakonda<EMAIL_ADDRESS>wrote:

Hello @sallytxl https://github.com/sallytxl ,
This is something has to be fixed from your end since it relates to
permissions. I am closing this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PoisonAlien/maftools/issues/356?email_source=notifications&email_token=AK43G3UAHDPMD2L5TCCMHYLP5W6H5A5CNFSM4H5JNZJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZG3OVQ#issuecomment-508409686,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK43G3XC36ACVSN6SXBD63DP5W6H5ANCNFSM4H5JNZJA
.


zsk/extract gen case

Motivation and Context

Description

extract gen_case from main.py
Use cases (Optional)

BC-breaking (Optional)

Checklist
Before PR:

[x] I have read and followed the workflow indicated in the Contributors.md to create this PR.
[x] Pre-commit or linting tools indicated in Contributors.md are used to fix the potential lint issues.
[x] Bug fixes are covered by unit tests, the case that causes the bug should be added in the unit tests.
[ ] New functionalities are covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[ ] The documentation has been modified accordingly, including docstring or example tutorials.

After PR:

[ ] CLA has been signed and all committers have signed the CLA in this PR.

这里有个错误，nan 和nan比较应该是相等的。看是否把equal_nan设为true了。
但是这里

nan有好多，但是却显示只有一个mismatch。看样子nan和nan又认为是相等的。所以综合看下哪里有bug。

 这里有个错误，nan 和nan比较应该是相等的。看是否把equal_nan设为true了。 但是这里  nan有好多，但是却显示只有一个mismatch。看样子nan和nan又认为是相等的。所以综合看下哪里有bug。

fixed in another pr


Prevent circular dependencies

What does this PR do?

Prevents circular dependencies when an object is converted to ddwaf object. If the circular dependency is detected, it replaces the circular dependency by invalid object.
Motivation

Prevent infinite or too long iterations
Additional Notes

Describe how to test your changes

Checklist

[ ] The CHANGELOG.md has been updated
[x] Unit tests have been updated and pass
[ ] If known, an appropriate milestone has been selected

APPSEC-51953

you're gonna have a conflict with the other PR, let's merge the toJSON one before no ?

you're gonna have a conflict with the other PR, let's merge the toJSON one before no ?

Yes, I'm not care of the conflict, but yes, let's merge the other PR first.


Lower case CN for the kubelets to work with NodeRestriction policy

A regression as a side effect of https://github.com/apprenda/kismatic/issues/602 was introduced. The CN name must match exactly the nodeName, and the nodeName is always lowercased.
If users did have an uppercase in their certs during an upgrade the validation will catch and fail, the user can then delete (or regenerate) the certificates with the lowercase CN.

Great, I am glad we have that integration test. LGTM.


"Unable to resolve dependency tree"

First off, I love this tool! It's exactly what I need for a project I wanted to make. Unfortunately, as someone brand new to npm, I'm completely lost as to the errors I'm experiencing nor how to remediate them. I'll document my steps below and hope someone can shed some light (keep in mind I have no idea of npn norms, so more verbose advice is appreciated!)

I am using Windows so I installed NodeJS (node-v20.10.0-x64) for Windows.

I run the Node.js command prompt and take it to a new folder where I want to clone this repo to.

I run git clone https://github.com/stephane-monnot/react-vertical-timeline.git and the clone completes successfully

I go into that folder and run npm i react-vertical-timeline-component and it throws the following error:

I presume I shouldn't try to go forward yet and should resolve this issue first? If so, how do I go about doing that?
For the sake of argument, I went ahead and tried by just using the --legacy-peer-deps param, and the following happens:

So I'm guessing this isn't the way to proceed. 😅
Any help would be greatly appreciated!
cc @stephane-monnot

I am trying to solve this as well. Seems like many packages or not in update. It looks like it is compatable with node 14.17 and a lower version of react


ctx param is always nil in enabled function of a provider specific opts after v0.8.0

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
wasn't an issue prior to v0.8.0
Relevant configuration
sources = {
  providers = {
    lsp = {
      enabled = function(ctx)
        vim.print(ctx) -- always nil
        return true
      end,
    },
  },
}

neovim version
v0.10.2
blink.cmp version: branch, tag, or commit
v0.8.0

That's intentional, I may add it back in the future but it's unlikely


Improve error handling

This fixes some problems I ran into:

exceptions because of invalid version arguments / empty Git log
empty CHANGELOG.md file because of exceptions

@toupeira I think the second commit breaks the build, can you validate please?

@dcrec1 sorry about that, I thought I had run the specs but looks like I only ran some of them :) I've changed it now to use r+ (read-write without truncating) to avoid the uninitialized File instance and reopening, and also added a simple spec to check for this case.

Thanks @toupeira.

Thanks as well!


Support sparse for some operators in mt.linalg

What do these changes do?

Support sparse for mt.linalg.lu, mt.linalg.solve_triangular, mt.linalg.solve, mt.linalg.inv.
Related issue number

resolve #211

I think this feature can be backported.

Take a look at duplication data in https://app.codacy.com/app/mars-project/mars/pullRequest?prid=3105813, I think at least there is sth can be done.

I leave some comments, also check the code coverage and fix the issue raised by Codacy.


Add diff tests for renameCollection command

Closes FerretDB/FerretDB#1517.
The implementation is FerretDB/FerretDB#2343.

@AlekSi what should be in the description?

Is this one ready for review? I see that there are similar error messages like previously


Tag deletion not working as expected in with Drupal 8

@davidstrauss I've gotten a little deeper than yesterday. Here's where the problem manifests,
        $last_applied_event_id = null;
        while ($tag_entry = $sth->fetchObject()) {
            $address = new Address();
            $address->unserialize($tag_entry->address);
            $last_applied_event_id = $this->delete($l1->getPool(), $address);
            $l1->delete($last_applied_event_id, $address);
        }

On the surface, it looks like the assumption here is that $this->delete($l1->getPool(), $address); will return the event_id that the L1 cache uses for the address in question. However there is a mismatch.
The way I'm testing is by

Installing LCache on a vanilla Drupal site.
Creating a few nodes
Reducing the homepage items per page to 2 (instead of 10) simply to get more pages of results.
Querying for event ids in the database before saving a node
logging the event ids that come through as $last_applied_event_id in the deleteTag method.

So by running this query I can see event ids for the homepage View.
mysql> select tag, lcache_events.event_id, lcache_events.address  from lcache_tags INNER JOIN lcache_events on lcache_tags.event_id=lcache_events.event_id WHERE   tag="node_list";
+-----------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tag       | event_id | address                                                                                |
+-----------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| node_list |   122163 | 4:data:frontpage:page_1:results:27eb2f7794c6547d423161c387bc3a6a80f7f8199bffcddc9e8d877566de36a5                                                                                |
| node_list |   122191 | 4:data:frontpage:page_1:results:d2b9cafba3b8037222069eb6da6de9819a5d648f4ac300279c2340d87b07fe3c                                                                                |
| node_list |   122235 | 4:data:frontpage:page_1:results:ccc2c163bb834d6e66e1fd125f64cacf54b59874f1721532299a8546636d81be                                                                                |
| node_list |   122275 | 4:data:frontpage:page_1:results:f816312501b2acda4c2efaa4360379e0c5c5645983a00a185a3ff0c64e590151                                                                                |
| node_list |   122353 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef01ca95f29ad8631e482f5551e94ea4e9                                                                                |
| node_list |   122354 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef01ca95f29ad8631e482f5551e94ea4e9                                                                                |
| node_list |   122355 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef01ca95f29ad8631e482f5551e94ea4e9                                                                                |
| node_list |   122356 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[timezone]=UTC:[url.query_args]=page=2:[url.site]=http://ci-24-d8lcache.pantheonsite.io:[user.node_grants:view]=all:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef |
| node_list |   122357 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[timezone]=UTC:[url.query_args]=page=1:[url.site]=http://ci-24-d8lcache.pantheonsite.io:[user.node_grants:view]=all:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef |
| node_list |   122358 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[timezone]=UTC:[url.query_args]=:[url.site]=http://ci-24-d8lcache.pantheonsite.io:[user.node_grants:view]=all:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef01ca95 |
| node_list |   122362 | 6:render:view:frontpage:display:page_1:[languages:language_interface]=en:[theme]=bartik:[timezone]=UTC:[url.query_args]=page=5:[url.site]=http://ci-24-d8lcache.pantheonsite.io:[user.node_grants:view]=all:[user.permissions]=b7d326adc53c5c413d5a928d27a516ef |
| node_list |   123103 | 4:data:content:page_1:results:1b815a1a84cd2b786da0f44e6808790896466c087ae58398fbb33299817325e3                                                                                |
+-----------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

You don't necessarily need to read all that output, one example is that the cache with the address including url.query_args]=page=2 has the ID of 122356. But when saving a node and logging in DeleteTag, I see this address as having an ID of 123337 (which is a higher ID than any address had before the node save).
So my understanding here is that

The delete method in the DatabaseL2 is not a true deletion from the database. Instead a blank value is set for the address.
The delete method is then returning a higher ID than exists in the L1 cache for the address. So when $l1->delete($last_applied_event_id, $address); is called, it is called on an ID that doesn't exist.

Options

My first thought was adjust the query in deleteTag() so that it returns event_ids which can be truly deleted. However, that would go against the idea that event_ids are only supposed to go up so that synchronizeEvents works.
Fix something in APCuL1::delete(). https://github.com/lcache/lcache/blob/master/src/APCuL1.php#L112 I don't fully track the logic here yet but // @codeCoverageIgnoreStart gives me a hint that something is not fully implemented.

The next place for me to debug is in IDs actually getting used in the L1 after the node save when stale caches seem to be used. I have to prep for some meetings right now. I can resume later today.

I can also work on a proper Drupal 8 test that catches this problem so the testing steps aren't so convoluted.

will return the event_id that the L1 cache uses

I think there's some misunderstanding of the event model here. All event_ids fan out from successful writes to the shared L2. The existence of an event_id is used as evidence that a write succeeded in L2 and is therefore safe to write to the local L1. The reason why successful write propagate that way instead of just failing bad writes with an exception is so the cache can run in a degraded state if the schema is broken or missing. The L1 cache also tracks the event_id corresponding to a write to ensure old writes can never stomp on newer writes as L1 caches freshen themselves at the start of each request.

for the address in question.

While every event_id for an L2 maps to a single address, there will be a new event_id for each write to that address (whenever the content of that address is updated or deleted).
I'm reading over the rest of the description now, but I wanted to start by clarifying the design.

First things first, I'm making failed iterator creation noisier (with an assertion) and not failing on a potential APCu deletion race condition. This is happening in #37.

David and I just found the source of the problem. The Drupal module stored cache addresses in a column capped at 255 characters. Some addresses were longer. Having truncated addresses in the L2 databases and mismatched full length addresses in L1 was the source of the bug.


AMBARI-24576. Ambari Metrics should handle a customized Zookeeper ser…

…vice principal name (amagyar)
What changes were proposed in this pull request?
Zookeeper service principal is no longer a constant. AMS should override the default principal with the user supplied principal.
How was this patch tested?

installed AMS
set embedded hbase = false
enabled kerberos
checked ams-env and hbase-env

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


Update JSET arguments

Add previously undocumented argument STR.
See the related doc PR at: https://github.com/tile38/tile38.github.io/pull/19

Thanks for PR.

I updated the PR, please check.

It checks out. Thanks for your help!


Recommending Violentmonkey instead of Tampermonkey

Thanks for the project! I think we all love open source software so recommending Violentmonkey instead of Tampermonkey on README file is a good idea, in my opinion. Hope contributors also agree with me.

@itsmetoolala
Of course, but isn't it better to recommend FOSS instead of proprietary? Just saying.

I second this. Tampermonkey has been proprietary closed source software for a while now. We are on an open-source project so why not advocate for an open-source alternative instead?

@TheRealJoelmatic This issue has been marked as "completed" but there is still Tampermonkey on the README. Are the changes still pending or was this just closed?


Automated tests with GitHub actions

hey It's eyal ilan I'm working on this issue ,  starting to research and implementing automated test.


Switch to Rscript

I never made use of the littler features I thought I would, so maybe switch to Rscript

Note to future me: the reason why littler works, but Rscript doesn't is that they have different behaviour for tempdir().
littler always returns the root temporary directory, while Rscript uses a session-dependent temp dir.
Since each dplyr command in a chain starts in a fresh sesssion, Rscripts default behaviour means that data is never correctly passed through the pipe as the temp directory is deleted when the session closes.


bug(alpha): SyntaxError: Invalid regular expression -> Regular expression too large

Environment

CLI: 8.1.5
Cross-platform modules: 8.2.0-custom.0
Android Runtime: 8.2.0-alpha.9

Describe the bug
It seems that V8 complains about regular expressions. The first problem I stepped into was related to a regular expression in NativeScript Color module:
An uncaught Exception occurred on "main" thread.
System.err: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException: Error calling module function
System.err: Cannot compile /data/data/com.fuelics.mobile.alpha/files/app/vendor.js
System.err: SyntaxError: Invalid regular expression: /^#([0-9a-f]{6}|[0-9a-f]{3}|[0-9a-f]{8})$/: Regular expression too large
System.err: File: (file: node_modules/@nativescript/core/color/color-common.js:5:0)

I shrinked regular expression manually but error persisted.
To Reproduce
Import @nativescript/core/color module. It makes use of hex regular expression inside helper functions like isValid.
Expected behavior
CLI should not complain about regular expression.
Additional context
There is a google bug report related to this issue here: https://groups.google.com/g/v8-reviews/c/9BbASYhUAmQ
Also, there is a reference of V8 regarding work on regular expression size handling:
https://chromium.googlesource.com/v8/v8/+/c9b71fac463dacde93fcc5ad77f56ba6ad7eeae6

@DimitrisRK how are you facing this ? using the alpha i  5 apps and never stumbled upon this

@farfromrefug It seems it's a bug that occurs under certain conditions.
In my app, I use import() or require() with dynamic expressions. See here: https://webpack.js.org/api/module-methods/#dynamic-expressions-in-import
It looks like this kind of imports makes v8 in latest alpha release go crazy and complain about regular expressions, which makes no sense.
Could this be a bug in latest v8 itself?

@DimitrisRK could you share a repro sample ?


Update db-dao.md

Translate it into Chinese.

Q
A

Is bugfix?
yes/no

New feature?
yes/no

Breaks BC?
yes/no

Tests pass?
yes/no

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

辛苦了，我校对一下，然后合并


[.Net] Add AutoGen.GenericAPI package

Why are these changes needed?

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Sorry clicked too quick..
Not sure if this update is wanted as it adds a Generic agent to allow LLM providers like Mistral, Groq to be used..

@mhensen Thanks for contributing, leaves some comments

Updated the files as requested.
I thing the Generic Agent makes the LMStudio version deprecate if we just add a check on the presence of an api key..

@mhensen
Yeah that make sense, theoretically we only need one agent for connecting to a third-party openai API compatible backend

@mhensen thanks for the PR, are you interested in joining our Discord community? There is a #donet channel specifically for .NET users.

@mhensen any updates on this thread? We are working on cleaning outdated PRs. Please let us know if you still plan to complete this one

Close it due to no response. @mhensen feel free to reopen it if you want to continue this PR


Sometime the dashboard can't be loaded

version
Davinci 3.0

issue

descirption
Sometime the dashboard can't be loaded

We have met this problem in our environment.
We found it is caused by multiple simultaneous ajax requests by charts in dashboard, and they are all slow-queries. Due to the browser simultaneous request number limits by 6 for each domain, so only the slow-queries responses return and make the browser request source idle,  after that the request of fetching dashboard portal tree data is sent really.
Please make sure that in your environment, does the ~Loading tree~ problem occur after switch dashboard portal with slow-query chart in it? And if not, please tell us the reproduction steps.

@AndyFong  Hi, Andy. As you said, this is  a  Loading tree problem . So  what should I do to fix it? Please give me a help. Thanx

We will refactor ajax request module with a todo feature that cancel all the pending ajax requests related to previous dashboard when switch dashboard portal to release the chrome source. But currently it is still a problem when comes to slow-query charts in dashboard.

@AndyFong  Good job. Hope you guys fix it by soon.


Return on Investment dashboard added

Hi @jheredianet, I am nowhere close to making dashboards like you do and neither do I have the skills. I just had an idea to make a return on investment kind of dashboard and made a preliminary one with the basic knowledge I had.
I am pretty sure this needs to be updated significantly to have the same standards as that of your other dashboards for it to reside in your repo. If you have time and if you are willing to develop this dashboard, please take it and develop further. If not, no worries - Feel free to reject this PR.

Hi @stauffenberg2020 thank you very much for this idea. I will take the time to review it (give me a couple of days). I like it very much. Thanks again.

@stauffenberg2020 I've merged your commit, but while it needs a little development, I'll move it into the developer branch until it's ready.
Thank you


Added timeout support and better error handling for I2C

Signed-off-by: Daniel Egger<EMAIL_ADDRESS>

Superseded by simpler additions.


E2 add roping to bones

Roping is kind of limited already, but you can only rope to entities. I think it would be really cool if you could rope to bones specifically instead of the entity itself. When roping to the entity of a ragdoll, it attaches to it's mid section, and that is okay but it would be so much nicer if you could specify where the rope should attach, just as if you were using the rope tool on a ragdoll.

Isn't there a bone number option?

no

Yeah. Looks like all the constraint functions have 0,0 for the bone number. Guess new overloads are needed.

This can be closed now.


Unable to generate a note via curl

Expected Behavior
Be able to create a note in a project via curl
Actual Behavior
when I use the below curl command
curl http://localhost:8080/v1beta1/projects/provider_example/notes?note_id=testNote \     -X POST -H "Content-Type: application/json" -d @note.json
I get an error message
 no matches found: http://localhost:8080/v1beta1/projects/provider_example/notes?note_id=testNote
I'm able to use curl to create projects successfully prior to this. I've also been able to use the example grpc client to create projects and notes. Seems to be a problem with the REST API.
Steps to Reproduce the Problem
I'm following the information in the docs about  creating notes and occurences
I'm running v1beta1 grafeas and running the server directly via go run main/main.go
If I remove the query string parameter and run
 curl http://localhost:8080/v1beta1/projects/provider_example/notes \                      -X POST -H "Content-Type: application/json" -d @note.json
then I get
{"error":"a noteId must be specified","message":"a noteId must be specified","code":3,"details":[]}
I can only assume the gateway is not matching the request correctly which is why I get the first error message. I've checked the swagger file and there is no reference to a query string parameter.

Can you share the contents of your note?

Hi @greendinosaur,
Thanks for filing the issue. Grafeas Eng Lead here. Could you please share what note.json looks like? Note ID is the name of the note, which is a required field: proto definition.

Thanks for responding so quickly @skelterjohn and @aysylu . It's the same note as outlined in the docs
{
    "name" : "projects/provider_example/notes/test",
    "shortDescription": "A brief description of the note",
    "longDescription": "A longer description of the note",
    "kind": "VULNERABILITY",
    "vulnerability": {
        "details": [
        {
            "package": "libexempi3",
            "cpeUri": "cpe:/o:debian:debian_linux:7",
            "minAffectedVersion": {
              "name": "2.5.7",
              "revision": "1",
              "kind": "NORMAL"
            }
        }]
    }
}

Interesting. @wkozlik could you please take a look?

Hi @greendinosaur, I've been trying to reproduce the problem you encountered. When you run a curl command do you type it in in a single line:
curl http://localhost:8080/v1beta1/projects/provider_example/notes?note_id=testNote \ -X POST -H "Content-Type: application/json" -d @note.json

or you hit <ENTER> after the line continuation character "\":
curl http://localhost:8080/v1beta1/projects/provider_example/notes?note_id=testNote \<ENTER>
> -X POST -H "Content-Type: application/json" -d @note.json

Thanks for continuing to look into this. I've been keying it into a single line without the continuation character. I still get the error.
Curiously, if I use Postman to POST the data then it works absolutely fine and I can create notes with no problems. Maybe I will just stick to that for learning the API.
I am using a Mac with the latest OS and the Z shell.

I believe this error is generated by the Z shell. See more details here: https://github.com/ohmyzsh/ohmyzsh/issues/31
The easiest way to get around this error is to wrap the URL with double quotes.

Ah, excellent that has fixed the issue. Many thanks for looking into this and recommending an approach. I will close this issue.

Problem with z shell. Double quotes around the URL solves it.