External connectivity from multus additional interface

Is it possible and what should be done to get possibility to send traffic to Internet via net1 interface?
Using current solution we can setup connect between two pods in EKS, but if we try to reach external destination
kubectl exec -it  busybox-deployment-65d88b5bb5-4kvgc -n multus -- ping -I net1 <IP_ADDRESS>
Defaulted container "busybox" out of: busybox, aws-ip-mgmt (init)
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
^C
--- <IP_ADDRESS> ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
It doesn't work.  Maybe some additional routes should be setup?

I had to add the multus sbr (source based routing) plugin to my network definition.  This assumes you have the AWS-level subnet set correctly and you can ping the aws subnet gateway.
My network definition is approximately:
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: my-net
spec:
  config: |
    {
      "cniVersion": "0.3.1",
      "name": "my-net",
      "plugins": [{
        "type": "ipvlan",
        "master": "eth1",
        "ipam": {
          "type": "whereabouts",
          "datastore": "kubernetes",
          "kubernetes": { "kubeconfig": "/etc/cni/net.d/whereabouts.d/whereabouts.kubeconfig" },
          "range": "{{ .Values.my_thingy.range }}",
          "gateway": "{{ .Values.my_thingy.gateway }}",
          "log_file": "/tmp/whereabouts.log",
          "log_level": "debug"
        }
      }, {
        "type": "sbr"
      }]
    }

From there I could successfully do commands like curl --interface net1 ifconfig.me from my container.

@redterror  Thank you for your reply , I really appreciate it. My network attachment definition is a very similar to yours
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ipvlan-multus
spec:
  config: |
    {
      "cniVersion": "0.3.1",
      "name": "ipvlan-multus",
      "plugins": [{
        "type": "ipvlan",
        "master": "eth1",
        "ipam": {
          "type": "whereabouts",
          "datastore": "kubernetes",
          "kubernetes": { "kubeconfig": "/etc/cni/net.d/whereabouts.d/whereabouts.kubeconfig" },
          "range": "<IP_ADDRESS>-<IP_ADDRESS>/24",
          "routes": [
            { "dst": "<IP_ADDRESS>/32" }
          ],
          "gateway": "<IP_ADDRESS>",
          "log_file": "/tmp/whereabouts.log",
          "log_level": "debug"
        }
      }, {
        "type": "sbr"
      }]
    }

But for some reason I cannot reach external world via multus interface, everything looks corect and works beetwen pods
kubectl exec -it busybox-deployment-9b5998bfc-7mlrm -n multus  -- ip addr
Defaulted container "busybox" out of: busybox, aws-ip-mgmt (init)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
3: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 9001 qdisc noqueue
    link/ether be:9b:81:f0:80:b0 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::bc9b:81ff:fef0:80b0/64 scope link
       valid_lft forever preferred_lft forever
4: net1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether 02:c1:81:60:7c:b3 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global net1
       valid_lft forever preferred_lft forever
    inet6 fe80::2c1:8100:260:7cb3/64 scope link
       valid_lft forever preferred_lft forever

kubectl exec -it busybox-deployment-9b5998bfc-7mlrm -n multus  -- curl --interface net1 ifconfig.me Defaulted container "busybox" out of: busybox, aws-ip-mgmt (init)
hangs without result
kubectl exec -it busybox-deployment-9b5998bfc-7mlrm -n multus  -- ping -I net1 ifconfig.me Defaulted container "busybox" out of: busybox, aws-ip-mgmt (init) PING ifconfig.me (<IP_ADDRESS>): 56 data bytes ^C --- ifconfig.me ping statistics --- 7 packets transmitted, 0 packets received, 100% packet loss
Did you setup additional routes/something else  directly on EKS node?

Did you setup additional routes/something else directly on EKS node?

No additional routes.  I used:

The ENI attacher lambda function from this repo (I believe) to attach the 2nd interface to the EKS node
A CIDR reservation lined up with my IP reservation in the network definition
an initContainer to associate the IP selected by whereabouts to the ENI

I have heard from a colleague of an alternate approach where their initContainer did not do the IP -> ENI association step, but rather added a route in the subnet's route table to map the IP to the ENI.  I suppose this is logically the same operation.  In my colleague's case he did this to use a single network definition subnet that spanned multiple smaller subnets (and thus, spanned AZs).

@redterror  Thanks again. On the whole my configuration is the same excluding one moment  - I use Managed Node Group instead of Self managed(but I also execute userdata commands  from eks-install-guide-for-multus CF solution, I mean this
`            echo "net.ipv4.conf.default.rp_filter = 0" | tee -a /etc/sysctl.conf
            echo "net.ipv4.conf.all.rp_filter = 0" | tee -a /etc/sysctl.conf
            sudo sysctl -p
            sleep 30
            ls /sys/class/net/ > /tmp/ethList;cat /tmp/ethList |while read line ; do sudo ifconfig $line up; done
            grep eth /tmp/ethList |while read line ; do echo "ifconfig $line up" >> /etc/rc.d/rc.local; done
            systemctl enable rc-local
            chmod +x /etc/rc.d/rc.local`

)
Probably there is something different between self-managed and managed nodes in part how they work with network setup, I will try to switch to self-managed.
Do your Multus subnets also use only default route table  with only local route(according to author's CF stack)? And ping directly from worker node via additional interface to external world also fails?

I also use a managed node group with a custom userdata block.  I opted for a slightly different approach there:
        UserData: !Base64 |
          MIME-Version: 1.0
          Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

          --==MYBOUNDARY==
          Content-Type: text/x-shellscript; charset="us-ascii"

          #!/bin/bash
          set -euo pipefail
          yum install -y ec2-net-utils
          ec2ifup eth1

          --==MYBOUNDARY==--

I originally took this approach since I wanted to first verify I could do my curl test command natively on the box, but ultimately that became a dead end (I never figured out why, despite all the policy routing being seemingly correct).  It generally seemed simpler too.
Its possible that my UserData block has some routing side effects not present in the ifconfig foo up approach, since my block does assign an IP to the EKS node's interface directly and it does setup some routes in the process.
IP consumption should be the same, since the IP allocated by AWS via dhcp will be from outside the cidr reservation.

I have already tried to use ec2ifup before and result was worse)
Even metadata starts to be unavailable for init containers
Exception :HTTPConnectionPool(host='<IP_ADDRESS>', port=80): Max retries exceeded with url: /latest/dynamic/instance-identity/document (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f9b7660c7c0>, 'Connection to <IP_ADDRESS> timed out. (connect timeout=2)'))  and coredns on nodes where I execute ec2ifup stop to work correctly
Tell me please @redterror - did you modify somehow sysctl settings?  Author of CF solution changes  sysctl net.ipv4.conf.default.rp_filter
https://github.com/aws-samples/eks-install-guide-for-multus/blob/main/cfn/templates/nodegroup/eks-nodegroup-multus.yaml#L578C5-L579C77
As I understanf from your userdata  you don't use changes of sysctl and only execute ec2ifup, right?

As I understanf from your userdata you don't use changes of sysctl and only execute ec2ifup, right?

Correct - what I posted above is my full UserData block.

Cannot say exactly why it happens, but if I setup my EKS nodes with ec2ifup (I see all routes and rules , they are correct)
1)I still cannot  reach external world from multus-eni-pods
2)EKS starts to suffer from network problem, some pods (non-multus) cannot connect API , some pod cannot get metadata, etc
I don't know why it works for you, I use EKS 1.27, maybe they added some additional restrict rules or something like this
One more interesting thing - these ENIs which are setup with ec2ifup, their routes looks ok but you cannot reach external world via them as well. For example my multus network is <IP_ADDRESS> on interface eth1
Routes are present
ip route default via <IP_ADDRESS> dev eth0 default via <IP_ADDRESS> dev eth1 metric 10001 default via <IP_ADDRESS> dev eth2 metric 10002 default via <IP_ADDRESS> dev eth3 metric 10003 <IP_ADDRESS>/24 dev eth0 proto kernel scope link src <IP_ADDRESS> <IP_ADDRESS>/24 dev eth3 proto kernel scope link src <IP_ADDRESS> <IP_ADDRESS> dev eni8caa1bad621 scope link <IP_ADDRESS> dev eni5045b565322 scope link <IP_ADDRESS> dev eni140753dfb67 scope link <IP_ADDRESS> dev eni79c15e3edf0 scope link <IP_ADDRESS>/24 dev eth1 proto kernel scope link src <IP_ADDRESS> <IP_ADDRESS>/24 dev eth2 proto kernel scope link src <IP_ADDRESS> <IP_ADDRESS> dev eth0
but
sudo ping -vvv -I eth1 <IP_ADDRESS> PING <IP_ADDRESS> (<IP_ADDRESS>) from <IP_ADDRESS> eth1: 56(84) bytes of data. ^C --- <IP_ADDRESS> ping statistics --- 62 packets transmitted, 0 received, 100% packet loss, time 62459ms
and flow logs show nothing, looks like traffic doesn't leave node

@alena-ait I believe we are still on 1.25 or 1.26, so you're slightly ahead of me.  On the EKS nodes directly, I observed similar routes and similar routing issues.  I never figured out why, but ultimately adding the sbr plugin was what resolved the issue on my end.
The out-of-the-box iptables / routing configuration was complicated enough that I couldn't figure out where my own policy route additions were failing.  The desired behavior (e.g. ping -I / curl --interface) should be a textbook policy routing setup via ip rule or similar.

Hi @alena-ait and @redterror apologies for late replies. a few pointers . Dont use the ec2-net-utils as you already discovered, it adds ip addresses on the Host OS and adds some specific routes, which will create some routing challenges later. so its better to follow the ifconfig up approach.
for your issue, @redterror solution was right, so you can use either 1/ SBR plugin to handle pod routing or you would have to define static routing via your multus net-attach-def (NAD)  like you have added for destination <IP_ADDRESS>/32, you can also add for a network range like /24 etc.
In your case , your issue could be either routing issue or interface on worker node is not up.

without install net-utils and ifup steps, check on the worker node, if the multus interface (eth1/eth2) is up or not? it should show as up, but shouldnt have ip address assigned to it
if above is up, then try either using setting up routes either by SBR or static routes via NAD. you can try narrowing down the issue, 1st try to reach another multus pod in same subnet/vpc and outside to validate the routing path. you could also check with ip route get  command in pod to check which interface has the routing.
you can also check by. taking tcpdump at host or pod level, to see if packets. are reaching and being replied to

Another good suggestion from my good colleague @jungy-aws  based on his experience with SBR before. run below command to. validate ping
kubectl exec -it busybox-deployment-65d88b5bb5-4kvgc -n multus -- ping -I <IP_ADDRESS> <IP_ADDRESS>
instead of
kubectl exec -it busybox-deployment-65d88b5bb5-4kvgc -n multus -- ping -I net1 <IP_ADDRESS>

Hi @raghs-aws , Thank you for your answer, about the first point in your first reply:
without ifconfig up command in userdata, of course, additional interface will have status down, but I have up command in my cloud-init script, there is no problem with it
And your colleague was right (please tell @jungy-aws  a big thanks from me). I don't know what is an issue with using name of interface(for internal network it works without problem , it is very ordinary thing and @redterror  also checked connect via interface name and got positive result ), probably it is related  to SBR specific, but with ip addr instead of interface my ping  can connect external world
I will double check with network tools to make sure that I get traffic from correct interface, but  looks like it works
One small note which can be helpful for other people  - in this solution https://github.com/aws-samples/eks-install-guide-for-multus/blob/main/cfn/templates/infra/eks-infra.yaml,  team creates additional Mutus  networks with default RT, there is no route to NAT GW, so in case of external connectivity you should change it to private network RT or add route

Hi @alena-ait, so glad to hear that it helped! For the happening, as far as I have looked into (but didn't get a time to check with the source code of Linux ping, so all hypothetically :)), when we use 'ping -I dev', then it assumes ping destination is on the link (in the same network), so it tries to take ARP operation first with given destination IP (which blocks kernel to send actual ping packet to the network). That's why I tried to use 'ping -I source_ip' instead of '-I dev' option.


FreeBSD not supported

Please consider adding FreeBSD support.
Something like:
#include <sys/types.h>
#include <sys/sysctl.h>
#include <string.h>

WAI_FUNCSPEC
int WAI_PREFIX(getExecutablePath)(char* out, int capacity, int* dirname_length)
{
    char exePath[2048];
    int mib[4];  mib[0] = CTL_KERN;  mib[1] = KERN_PROC;  mib[2] = KERN_PROC_PATHNAME;  mib[3] = -1;
    size_t len = sizeof(exePath)-1;
    *exePath = '\0';
    if (sysctl(mib, 4, exePath, &len, NULL, 0) != 0)
        exePath[0] = '\0';
    else
        exePath[sizeof(exePath)-1] = '\0';

    char* resolved = exePath;

    int length = (int)strlen(resolved);
    if (length <= capacity)
    {
      memcpy(out, resolved, length);

      if (dirname_length)
      {
        int i;

        for (i = length - 1; i >= 0; --i)
        {
          if (out[i] == '/')
          {
            *dirname_length = i;
            break;
          }
        }
      }
    }

    return length;
}

Can you please have a look at the freebsd branch and tell me whether it works for you?

@dafixa Man did you just vanish after having requested a feature?

Man did you just vanish after having requested a feature?

Yes, and now I'm back.
@gpakosz The freebsd branch looks good. Thanks!
One thing: The preprocessor guard is FreeBSD in the branch. I wonder if this works for NetBSD and OpenBSD as well, but I have no experience with these and no time to test.

Also, will the freebsd branch be merged into master anytime soon?

Hi!
I'm glad you're back. I have no idea yet about NetBSD and OpenBSD. I think for NetBSD one has to read the /proc/curproc/exe symlink. I'll figure that out later.


Adding additional test coverage

I'm not sure if this is so much of an issue per se, but I've noticed that there are a lot of untested components to this application.  For example, there's no tests involving a few of the models (e.g. user tips and uploads).  And in other tests, there's definitely room to refactor some of the code to make it DRYER.
Also, I noticed that in the feature spec folder, there are three specs that have to do with users.  Wouldn't it make sense to put all of these tests all in the same spec file?
These are just my thoughts.  I'm sorta new to contributing to open source software so I'm not 100% sure what the protocol would be for getting consensus on what I am saying...so I think I'll start working on improving the tests and use feedback to change my work accordingly. ^_^

Hi @shauncarland, thanks so much for your feedback.
I think your assessment is correct and it is something we have been looking at (see i.e. #286, #150). In regards to components missing tests, some of them were written by contributors without experience in writing tests there were hoping someone else would later come along to add those. More generally we've been lacking in intermediate and senior developers that can help review code and provide constructive suggestions and mentorship to the contributors that are newer to software development.
Generally we create a GitHub issue for anything that is a bug or feature (issues are free!) and then people claim/assign the issue to themselves when they are working on it to signal to the group that they are doing so. I am happy to add you as a collaborator so you can create branches for your features and fixes (please limit each branch to a single issue) and then pull to the main branch. I usually ask someone else review and approve a pull request before it is merged in.
Another way you can help is to review any of the outstanding pull requests if they have not yet been reviewed. I have cleaning those up on my docket for the weekend but another pair of eyes does not hurt. I will likely to pulling many front-end UI/UX changes over the weekend in preparation for an initial launch but in doing so will try to avoid messing too much with back end things, so if you want to concentrate on these back end issues it certainly wouldn't hurt. You are also welcome to go through the open "bugs" in the issue tracker and claim ones that aren't being worked on.
You are also welcome to join our slack channel by going to public.codeforboston.org and requesting an invite. I'm happy to answer further questions there in the #cambridgeenergyapp channel.
Thanks so much for offering to help!
-Matt


Sample stride check

Basen on feedback from Yongrong, we need to investigate is sample_stride != 1 is working as it is supposed to

Sorry I think there's a misunderstanding. The sample_stride !=1 works. it has the desired behavior. What doesn't work is the function that shuffles the sample times.
If the sample times are shuffled at each epoch, then having a sample_stride of !=1 should lead to the same performance, because what the model is trained with should be identical.
But what yongrong found is that despite the shuffling, the performance is much worse for sample_stride=8 as compared to sample_stride=1. So the shuffling has a problem, and I'm 99% confident that it has to do with the distributed worker processes. Because on my testing with a single dataloader the shuffling itself does seem to work. But it's a bit pain to debug it for now, so I think it's easier for to use it like:

sample_stride =1 for the train dataloader
sample_stride=chunk_size for the validation/test dataloader.


The document containing the list of use cases for dynamic outputs is not readable

There is a document that apparently contains "a full list of worked out use cases" for dynamic dependencies:
https://docs.google.com/document/d/1K8RgvDMvdDFsLWAu0cehauJstHZaFe-7NeaAqWe4-L4/edit
linked from this page:
https://github.com/facebook/buck2/blob/main/docs/rule_authors/dynamic_dependencies.md
The document seems to be a Google Doc, but it's not readable by me (neither with my Google corp Google account nor with my personal one nor in an incognito window)

Thanks! As long as there is something I can read to understand dynamic outputs better, I'm happy and the examples you linked seem to fit that bill.

I've updated the website at https://buck2.build/docs/rule_authors/dynamic_dependencies/ so it doesn't show the link (it still shows up in the markdown, but hopefully people will start favoring the website once it is more widely advertised). With that and the other links, I'll close this.


Install v5

For me it seems that there are breaking changes in the updates from
sigs.k8s.io/kustomize/api v0.10 to
sigs.k8s.io/kustomize/api v0.13
Both, github.com/fluxcd/flux2 and github.com/fluxcd/flux2/v2 are using sigs.k8s.io/kustomize/api.
This seems to be an issue and most probably we would need to release a v1 or v2 or 23kectl which only vendors github.com/fluxcd/flux2/v2, or am I mistaken?
For reference:
https://stackoverflow.com/questions/63254746/how-to-import-two-versions-of-the-same-go-module

That was my impression as well. I already dropped everything before v5 from the code in https://github.com/23technologies/23kectl/compare/main...v5


[WIP] Launcher Native Image Build

Pull Request Description

Closes #973
Important Notes

This is a work in progress.
It must not be merged before #963.
Checklist
Please include the following checklist in your PR:

[ ] The documentation has been updated if necessary.
[ ] All code conforms to the Scala, Java, and Rust style guides.
[ ] All code has been tested where possible.

Given that the artifacts are published as separate files and we have no control of how GitHub packs them into the ZIP (as explained in this comment), the permission issue is tracked at https://github.com/actions/upload-artifact/issues/38.
So for now we have no control over the executable bits in the artifacts published on the CI (unless we choose to go for a zip in a zip).
However this is not a very big issue, because for official releases we will have a separate workflow (#980) which should handle this correctly.


Write a tutorial

content:

how to write a test
how to run in with several workers, then several processes
how to deploy it for loads-broker

@stephendonner and i can review

The tutorial has been added. Ready for reviews anytime


How to get information about dllexport on parse result

I want to find all functions marked with __declspec(dllexport)

here?

Thanks, I see.


Remove tooltip after Cover Image Load

Proposed Changes

Fixes #8480

@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

Converting back to draft as I just saw the comment about cache invalidation https://github.com/ohcnetwork/care_fe/issues/8480#issuecomment-2330713632

with https://github.com/ohcnetwork/care/pull/2472
we don't need to cleared the cache anymore


net/http: TestLinuxSendfile failing on mips64

TestLinuxSendfile is failing on mips64 (but not mips64le) with:
--- FAIL: TestLinuxSendfile (0.25s)
	fs_test.go:1122: no sendfile system call found in:
		[pid  2578] +++ exited with 0 +++
		[pid  2577] +++ exited with 0 +++
		[pid  2576] +++ exited with 0 +++
		+++ exited with 0 +++
FAIL
FAIL	net/http	96.972s

Not sure why.

One possibility is that strace on the machine is either too old or not fully compatible with MIPS64 ABI. On some distros strace by default uses a different ABI, even the kernel is 64-bit. Not sure trace=n64_sendfile works or not.

Good theory.

That last CL didn't help. New output is:
--- FAIL: TestLinuxSendfile (0.16s)
	fs_test.go:1126: no sendfile system call found in:
		execve("/tmp/go-build627887128/net/http/_test/http.test", ["/tmp/go-build627887128/net/http/"..., "-test.run=TestLinuxSendfileChild"], [/* 33 vars */]) = 0
		[pid 20665] +++ exited with 0 +++
		[pid 20664] +++ exited with 0 +++
		[pid 20663] +++ exited with 0 +++
		+++ exited with 0 +++

I tried to trace n64_sendfile on linux-mips64 gomote machine. Now it sees the syscall,
=== RUN   TestLinuxSendfile
--- FAIL: TestLinuxSendfile (0.22s)
	fs_test.go:1122: no sendfile system call found in:
		[pid  4003] n64_sendfile()              = 22
		[pid  4006] +++ exited with 0 +++
		[pid  4005] +++ exited with 0 +++
		[pid  4004] +++ exited with 0 +++
		+++ exited with 0 +++

but it fails to get the arguments as it uses different ABI, so the regexp match later in the test function fails.
Also changing to trace n64_sendfile would break systems on which strace is using the 64-nit ABI (because the syscall is named sendfile there...). (One possible way is to try both...)

This test is passing on a 64bit rootfs. We might want to setup mips64 buildbot to run on a 64bit rootfs (especially because of cgo), rather than adapting this test for 32bit rootfs.

@vstefanovic, what's the latest here? Can the test be re-enabled or be made robust to whichever environment it's running in?

Yes, mips64 builder has a 64bit rootfs now, the test can be re-enabled.


Finished

@juliankohlman sprint challenge 1

Git-Comments

[x] Utilizing Meaningful Commit Messages
[x] Committing Often: On Every Breakthrough or Feature Completion.
[ ] Submitted a Pull Request with your First & Last Name in the title.

Comments

I would like to see you work on future projects towards using all the methods mentioned above. It will help in your future life as a developer and will help you better leverage git version control.
 If you have not yet tried it
Using git from the command line with bash you can do the following:

git commit -m "Implemented Desktop Break-Points
> CSS Break-Points with media query at 1024px max-width
> Tested in Chrome, Firefox
> Fluid transition between breakpoints."

Press Enter when you want a new line. When you see the `>`
symbol this means that you have pressed Enter and there is a
new line. Remember to close your quotes at the end of your
message and press Enter to submit the command.


Fix some non-python 3 things

There's some few things which doesn't works with python3.
Quick-fixed.

Hi, reading the code I have only one question which I asked in-line.  In general: does the code pass unit testing with python2 and/or python3?

Both of ggtracker and my fork failed on test_replays with Python3 because of an invalid syntax (Python2 print)
File "/tmp/sc2reader/test_replays/test_all.py", line 441
  print "DOING {}".format(i)

For test_s2gs, it works on my side where it doesn't on the ggtracker version, because of what I've changed.
Nothing seems to have changed for Python2.

Hi @DasFranck sorry for the delay.
When you say "Nothing seems to have changed for Python2." you mean that in Python2, the same tests that passed before your change still pass after your change?

Yes, that's exactly what I meant.

@DasFranck so funny we should talk about this, someone just asked on twitter about python3 support and now I can tell them we do!  Thank you.

good job @DasFranck :+1:


Jetpack's tiled galleries don't display properly due to the plugin.

When using Jetpack's tiled galleries, more specifically a "tiled-gallery of type-rectangular", the lazyloader seems to alter some elements of the grid, causing some pictures to be distorted, and random blank spaces to appear. Activating the "aspect ratio plugin" does improve the result a lot, but it removes vertical lines (left-right margins) between pictures.
Excluding the CSS class would be a satisfactory alternative, but it does not seem to work with parent elements (div.tiled-gallery div.type-rectangular) and that seems to me the only way to do this.
Briefly, the expected behavior would be that the Jetpack galleries remain intact.
However, with the "aspect ratio plugin" on, some margins disappear.
Excluding the class does not seem possible.
Tested in Chrome 75.0.3770.80 and Safari 12.0.3

sounds like a CSS issue.


fix(Disclosure): exporting DisclosureSummary components

In my case I only needed DisclosureSummary components, but maybe DisclosureDetails should be exported too?

Could you please provide a use case when DefaultDisclosureSummary is needed outside?
BTW, if you need DisclosureSummary, just use Disclosure.DisclosureSummary.

@Raubzeug Yes, sorry for the hold up
In my case, I just needed to add some icons and styling in the summary, but summary prop of Disclosure only accepts strings, which is why I did a wrapper like this:
<Disclosure>
  <DisclosureSummary>
    {({ onClick, ...summaryProps }) => (
      <div className={"summary-class"} onClick={onClick}>
        {renderSummary()}
        <DefaultDisclosureSummary onClick={noop} {...summaryProps} />
      </div>
    )}
  </DisclosureSummary>
  {renderContent()}
</Disclosure>

DefaultDisclosureSummary here is used just to recreate the functionality without maintaining the open/close state and events myself


Request: Move most settings to per-user

Foundry 0.7.9. Minimal UI 0.8.8.
Right now, only the Border Colors and Shadow Colors are per-user settings, the rest are world-only (GM). Please consider switching nearly all the settings to per-user, up to and including disabling the module altogether on a per-user basis. My thinking here is that different users will have different preferences for how the UI appears. In particular, laptop users versus someone with giant dual monitor setups may have very different preferences.
If you are interested in more organization for the various settings, check out how the midi-qol module created a Workflow Settings button that pops out a tabbed window.
Thanks!

Thanks for the feedback. Actually, nothing should be picked by the users. The shadow color and border should not be setteable, it is a bug (it doesn't work anyway).
This was a long discussion, but the reasoning behind it, is that the way I see it, and also some of the feedback I gathered around last months, states that the GM prefers to set up the "pitch" for the players.
One of my GMs for example, set's up a very well defined cyberpunk theme. He chose the theme, the size of the elements and also the behaviour. This way also, when players get stuck, both the GM and the players all see the same thing.
Having players set up customized things would be either: not overall used (honestly I think player's don't really care), and second, it would bring only chaos and despair :) with things like "where's my macro?" - "how do you see it?" kind of things.
So at the moment, it is kind of a design choice that the GM set's up the interface for his game.
This said, I'd still be open to consideration with -some- of the settings, like controls size (different screen, different devices), but not much more than that really, for the reasons above.

Fair enough. I suppose I was thinking more of the physical modifications and less about the visual ones. The switch to having UI disappear until you move the mouse to hover over an area is a pretty big change. The change to the size of the canvas controls bar is another. I think they are great, but I definitely have players that don't do well with change! Plus the different screen size / different devices issue. So there is probably room for a good middle ground here.

Thanks, yes. I wanted to leave the consideration open, if you don't mind. A middle ground can be something achievable as you said.
However, in regards of screen size, many changes in Minimal UI take in consideration user's display. The objective behind is that more or less players should relatively see the same thing. Up to some extent.
If you don't mind I'll leave the issue open, the won't fix label is also wrong. Could be misunderstood.

Hi! I found this module just yesterday and I really like how it optimizes Foundry's UI for working on a 13" laptop.
Maybe it would be an option, to just save the users "pinned" settings, so that the side- and macrobar stay pinned after reloading the page.

I also just found this module and I really like it. But I know some of my players are going to want control over their bits and pieces. I would love to also see an ability if they lock their bars to stop from auto hiding it will stick after a refresh. A good compromise I think between full control and no control. But I don't code so I don't know if it would be a nightmare or not.

Commenting this from a player perspective: I'd be great to have per-player options. Ideally, there'd be no need to use them, but there might be some where the playerbase disagrees about the interface. In my case, I don't like how I have no way to keep the player list in normal display mode when the host configured it differently, thus having to click it every time I want to see who dropped or is online or missing or who is what colour again.


Cleaned up and improved configs and matrix build

refactored (cleaned up) config file structure
complete matrix build rewrite

there are CI adaption missing


send null when empty sequencing date

Summary:

What: if the sequencing date is empty send null instead of empty string
Ticket: sc<fill_in_issue_number>
Env: <rdev link>

Demos:
Notes:
Checklist:

[x] I merged latest trunk
[x] I manually verified the change
[x] I added labels to my PR
[ ] I tested in multiple browsers
[ ] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

THANK YOU VINCE


func.exe fails to start with exit code 1 after updating Azure Functions Core Tools to 4.0.5413

Something seems to have changed between Azure Function Core Tools between v4.0.5390 and 4.0.5413.
Whilst the former version works fine, the latter fails to start func.exe with the following error:
'func' failed to start (Exited prematurely with exit code 1). Check log for more details
(not quite sure what log the message is referring to)
In my fork linked below I have added a new test to ensure func.exe starts if the project folder is valid.
Debugging this new test and setting a breakpoint on https://github.com/LeeSanderson/Azure.Functions.Testing/blob/37f5b0b17aba13d89df396b334895965f901894a/Src/Azure.Functions.Testing/Executable.cs#L113 yields a number of errors, the first being:
Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]
Adding --csharp to the options at https://github.com/LeeSanderson/Azure.Functions.Testing/blob/37f5b0b17aba13d89df396b334895965f901894a/Src/Azure.Functions.Testing/FunctionApplicationFactory.cs#L32 then yields the next error:
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Azure.WebJobs.Script.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=3c5b9424214e8f8c'. The system cannot find the file specified.
My fork is at this point: https://github.com/MvO-Codurance/Azure.Functions.Testing
I will try to look into this further when I get more time but wanted to flag it up here as well.
For now the workaround is to roll back to Azure Function Core Tools v4.0.5390.
Azure Function Core Tools releases: https://github.com/Azure/azure-functions-core-tools/releases

Ok, so it seems like the Azure Function Core Tools like to be uninstalled and then installed afresh, rather than installing over the top of an existing installation (on Windows). Doing an uninstall then install makes everything work fine again. (sigh)

Ah. Thanks @MvO-Codurance . Good to know that a reinstall fixes the problem.


Properly return error on start

The server does not return errors correctly on startup.

/lgtm
Thanks for the fix!


Tag a new release

Packaging for distributions would be easier if there was a tagged release to work with.

https://github.com/racer-rust/vim-racer/releases/tag/1.0


[hotfix][docs][CEP] wrong method name for PatternFlatSelectFunction

The name of the single abstract method in the PatternFlatSelectFunction interface is flatSelect, not select.
This PR is just a trivial change to the docs.

LGTM, merging ..


Uncaught TypeError: Client.CookieMemoryStorage is not a constructor

I try to use Cookie Memory Storage but not working.
What is wrong?
var Client = require('instagram-private-api').V1;
var device = new Client.Device('myusername');
var storage = new Client.CookieMemoryStorage();

// And go for login
Client.Session.create(device, storage, 'myusername', 'mypassword')
    .then(function(session) {
        // Now you have a session, we can follow / unfollow, anything...
        // And we want to follow Instagram official profile
        return [session, Client.Account.searchForUser(session, 'instagram')]
    })
    .spread(function(session, account) {
        return Client.Relationship.create(session, account.id);
    })
    .then(function(relationship) {
        console.log(relationship.params)
    // {followedBy: ... , following: ... }
    // Yey, you just followed @instagram
    })

Because this function constructor is not available in package installed via npm

@leandromatos @glazkoman will publish soon

OK 👍


failed to install pinned version on version change

         * yum_package[topbeat] action install

           ================================================================================
           Error executing action `install` on resource 'yum_package[topbeat]'
           ================================================================================

           Chef::Exceptions::Package
           -------------------------
           Version 1.2.3-1 of topbeat not found. Did you specify both version and release? (version-release, e.g. 1.84-10.fc6)

           Cookbook Trace:
           ---------------
           /tmp/kitchen/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:78:in `run_action'
           /tmp/kitchen/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:106:in `block (2 levels) in converge'
           /tmp/kitchen/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:106:in `each'
           /tmp/kitchen/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:106:in `block in converge'
           /tmp/kitchen/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:105:in `converge'

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/topbeat/recipes/install.rb

            58: package 'topbeat' do
            59:   version version_string
            60:   options node['platform_family'] == 'rhel' ? '' : '-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"'
            61:   allow_downgrade true if node['platform_family'] == 'rhel'
            62: end

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/topbeat/recipes/install.rb:58:in `from_file'

           yum_package("topbeat") do
             package_name "topbeat"
             action [:install]
             retries 0
             retry_delay 2
             default_guard_interpreter :default
             declared_type :package
             cookbook_name "topbeat"
             recipe_name "install"
             version "1.2.3-1"
             allow_downgrade true
             flush_cache {:before=>false, :after=>false}
           end

           Platform:
           ---------
           x86_64-linux

       Running handlers:
       [2016-09-11T08:38:58+00:00] ERROR: Running exception handlers
       Running handlers complete
       [2016-09-11T08:38:58+00:00] ERROR: Exception handlers complete
       Chef Client failed. 2 resources updated in 04 seconds
       [2016-09-11T08:38:58+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
       [2016-09-11T08:38:58+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
       [2016-09-11T08:38:58+00:00] ERROR: yum_package[topbeat] (topbeat::install line 58) had an error: Chef::Exceptions::Package: Version 1.2.3-1 of topbeat not found. Did you specify both version and release? (version-release, e.g. 1.84-10.fc6)
       [2016-09-11T08:38:58+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Converge failed on instance <default-centos-68>.  Please see .kitchen/logs/default-centos-68.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

However, second chef run is able to install the pinned version. Installing package manually works ok.


shell: uart: Allow forking RX data

Currently, if an application wants to communicate off chip using the UART
and has the shell enabled, it is possible to send data (TX) using the
normal uart commands, but the shell often "steals" the response (RX).
This is because turning off the shell, via shell_stop(), only disables
the call to shell_process().

@yperess  I agree with @nordic-krch that it would be better to have a common solution for all shell backends.
Please let me know if the below approach will work for you.
Instead of calling shell_stop() you can call shell_uninit() and next implement your own UART irq callback and register it using:
uart_irq_callback_user_data_set. Next just enable UART interrupts.

I'll take another look at (1) a common solution and (2) stopping and starting the shell. I've tried both.
The issue with shell_stop() and shell_uninit() is that I was never able to recover the shell. Here's what I tried...
uart_rx_disable(uart_dev);
uart_tx_disable(uart_dev);
shell_stop(shell);
shell_process(shell);
shell_uninit(shell);
uart_irq_callback_user_data_set(uart_dev, my_cb, NULL);

Now (after I do whatever RX/TX I needed) I need to re-enable the shell. So I had to add a simpler shell_reinit() but it got really messy and I was never able to get it to work properly. This is when I abandoned that approach and decided against stopping the shell and just forking the RX.
I'll try stopping and starting the shell again today but I don't think it'll work. If not, I'll see if I can update the solution to work with the other shells.

OK, some more information...
I looked at stopping/starting the shell again and I can't get it to work (I'm open to new ideas). But once a new callback was set, I've had to add a reinit function to recover the old callback. Even then, I wasn't able to get shell_start() to work. I thought it may have something to do with calling shell_uninit() but skipping it didn't seem to help. Roughly here's what I ended up with:
uart_rx_disable(uart_dev);
uart_tx_disable(uart_dev);
shell_stop(shell);
shell_process(shell);

uart_irq_callback_user_data_set(uart_dev, my_cb, NULL);

// Do some RX/TX

shell_uart_reset();
shell_start(shell);
uart_rx_enable(uart_dev);
uart_tx_enable(uart_dev);

=============================================
RE: making the API more generic. I'm not sure it makse sense. AFAICT none of the other shell subsystems require "ownership". Basically the key issue is uart_irq_callback_user_data_set() which allows exclusive ownership of the UART. None of the other subsystems do this so there's no need to fork the input (since there's no need to send non-shell data anyway).
The main issue with shell_uart is that when enabled we're using it as a shell, but in some cases we might want to send/receive "non-shell" data. In those cases, the uart API doesn't really allow for it. My recommendation is to only do this for UART and handle other subsystems if/when the need arises (though I don't think it will)..

@yperess Possibly we have some bug in the uninit procedure. Please give us few days, we are working on it.

Thanks, I'll let you know if I find anything on my end.

Any updates on this? I haven't been able to find anything.

@yperess I am investigating the issue. It seems that there is a bug in shell uninitialize sequence.

@yperess take a look at #33465. It contains shell fixes to allow reinitialization and shell sample extended to show how to do it.

@yperess take a look at #33465. It contains shell fixes to allow reinitialization and shell sample extended to show how to do it.

@yperess and @nordic-krch is #33465 enough to fix this or do we need to merge this one as well?

I got things working last week with the current state of things, though there are a few aspects I don't quite understand. I'll continue the discussion on https://github.com/zephyrproject-rtos/zephyr/commit/1f1ff8d3c8ae30367ca4e831674fcd4369beda7a#commitcomment-48922910


Fix canadarm's harcoded paths / update control interface / use xacro file

Hi :). While trying to use the Canadarm, I ran into a few issues that were solved with the changes in this PR (plus this other accompanying PR in the simulation package). Changes are the following:

Use the canadarm's xacro file in the launch file
Change the type of controller from effort to position (JointGroupPositionController does exist in the position_controllers package).
Update simple.world to use model paths instead of hardcoded ones.

There is a video attached in the simulation's PR that shows the arm moving after using these changes. Tested in a ROS Humble environment.

@Bckempa  I can take a look at this one and testing demos in general.

I'm still not able to get past the rqt issue to test the associated PR, and both of these should go in together.

I'm still not able to get past the rqt issue to test the associated PR, and both of these should go in together.

Apologies about not replying timely! On it now, will reply in the associated PR.

Just an update on this: To make testing easier, I added a couple of additional changes since last time I sent this PR:

Added a joint_trajectory_controller in the control yaml, in addition to the already existing position controller.
Modified the launch file to load the joint_trajectory_controller
Added a move_arm node, similar to the one in the rover, so the user can send service calls for open_arm, close_arm and random_arm (a random pose). This should make it easier to test the changes.
Added a bit of documentation on regards to (3) in the README file.

Arm seems to be moving better (less bouncy) with the joint_trajectory_controller. I can revert this change back to using the position controller by default, in case there is a preference/reason to choose that one.  Quick video of the arm moving around is here:
https://github.com/space-ros/demos/assets/555379/486d0865-af10-46b3-9b22-40fa09e5df96

@Bckempa this is ready to be merged!


Clarified the default VPC issue further

@HerrmannHinz Hmmm... You might want to squash this PR. Let me know if you need any help merging this. Thanks.

@HerrmannHinz  Alright then. Feel free to merge this PR or provide feedback if you would like to see some changes first. 🙂 Or did I create this PR incorrectly?

@volkertb merged :)


InlinedVector is not exception-safe

The insert and emplace methods of InlinedVector don't seem to protect at all against the construction of a new element throwing after existing elements have been moved. If this happens, the vector may be left with uninitialized gaps in the middle of a vector, which will lead to undefined behaviour when e.g. the vector's destructor runs.

#37


Add !tipbot check

Allows to view the address and balance of the user.

thanks!  added https://github.com/peoplma/slacktipbot/commit/6f326a27b6daf6def34acf3e57fafb4448f52d2e


ROOT file format per uproot

I have a couple use-cases that would benefit from a ROOT-less C++ or Java interface to ROOT files, and I'm wondering if it might be possible to describe the ROOT file structure with e.g. Kaitai Struct (http://kaitai.io/) or a DFDL schema (https://daffodil.apache.org/).
It seems like this is at least close to what the uproot parser currently does; does anyone know of any documentation on the ROOT format I might refer to?
Apologies if the appropriate thing to do is buckle down and work through the uproot code!  I thought I'd ask just in case there's a great resource I just haven't been able to find.

thanks for these interesting 2 links.
I think this would be interesting to discuss on the Polyglot ROOT I/O forum:

https://groups.google.com/forum/#!forum/polyglot-root-io

(we actually had a couple of threads on this very same issue. TL;DR: there's no real documentation on the ROOT format to speak of. no specs. just the code.)

I investigated declarative file format specifications at the beginning of uproot development (the "root-from-spec-v2.0" branch). I looked at a few declarative file format specifiers, but none of them were as polished as Kaitai. That ones looks really nice!
However, the nature of the format doesn't really allow for a declarative specification. For example, nothing but a full programming language would be able to implement _readobjany: this is a history-dependent function that fills a map/dict with class and object definitions so that they can appear multiple times in the file but only be written once. History-dependence is by definition not "declarative," though a specification like Kaitai might bend that rule for expressivity.
Another thing that I wasn't able to find in declarative specifiers: the ability to read an integer value from the file and tell the specification to seek to that location. Even more so for seeking to such points in decompressed buffers drawn from the file. The ROOT format does this everywhere!
And finally, the thing that you'd mostly want a declarative specifier for is to describe the byte-layout of objects such as TH1 or TTree (like Kaitai's GIF example). However, ROOT does this for you: ROOT's TStreamer system puts the declarative specification of each object in the ROOT file itself, and these specifications can change. New versions of the TH1 class can, for instance, add new fields, and this happens too rapidly to keep a Kaitai file up to date. However, the Kaitai equivalent is in the corresponding ROOT file itself in the TStreamerInfo block, so if you look there, you'll always be able to read in the objects. That's what uproot 2.0 eventually ended up doing.

On Python: I know that you wouldn't want to use a Python project in a C/C++ framework, as it adds a weird dependency with speed and parallelization issues in the middle of your stack. (I wouldn't want that either— uproot is specifically for end-user analysis.) Here are some options:

There's an implementation in Java: root4j and spark-root. The way it's supposed to work is that root4j is pure Java and only concerns itself with I/O while spark-root concerns itself with interfacing with Spark in Scala. However, I don't know if that distinction was maintained— I think spark-root might be doing some I/O.
* go-hep/rootio! Even if the rest of your stack is C/C++, I see no reason why you can't run a library implemented in Go. Go compiles to a fat binary so it's very portable— you may be able to just drop it in as an artifact.

If you want an uproot-like API ("ask for a branch, get an array"), this may be possible now or soon in go-hep: check with @sbinet.
Otherwise, yes, it would be a conversion effort, but the core part of uproot is fairly simple. All of the file I/O is in uproot/rootio.py and the actual TTree handling is a minority of uproot/tree.py. Most of uproot/tree.py is providing arrays to users in different ways. Also, it's possible to skip streamers: the "version-1.x" branch is pre-streamers and it works. You just need to put a lot of if version >= X branches in the object-reading, and it wouldn't be future-proof.


[Question] Validation errors in modal

I'm asking how to tackle with modal forms and validation.
Currently there is a FlashMessages Component in the main layout but when you have a modal form the errors are shown in the main layout. How you would tackle this?
Can't get my head around... 🙈

Hi there,
You could use the transformProps method to get your errors into a global data var (or a store).
I'm using this to trigger a sweetalert modal:
transformProps: props => {
  if (props.flash.success) {
    eventBus.$emit('flashMessage', props.flash.success)
  }
  return props
},

When my event is triggered, I init a sweetalert :)
I think you could do the same thing with props.errors.length
Hope this helps

The trick here is to use error bags which are specific to your form, which we added support for in v0.2.9. 👍


Add src layout support

This PR addresses issue #1018.

Codecov Report

Merging #1019 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #1019      +/-   ##
===========================================
+ Coverage    89.75%   89.76%   +<.01%
===========================================
  Files           12       12
  Lines         2694     2696       +2
  Branches       461      461
===========================================
+ Hits          2418     2420       +2
  Misses         187      187
  Partials        89       89

Looks great, thank you!

Thanks for the review @timothycrosley!


Comparison with Rebass and others

Hello.
I love styled components, and use mainly my components and sometimes Rebass.
I think an article or something to talk about reas in comparison with Rebass can be usefull.
Thank you for the work on reas !

Definitely intrigued by this library, but I'll chime in to how I see these as being different concepts.

First and foremost, Rebass is built with design systems in mind and allows a ton of customization – more so than what I've seen in other UI component libraries like Material UI, React Bootstrap, et al.
Rebass is built with styled-system, a low-level set of utilities that can let you build your own component library from scratch with a lot of the benefits of Rebass.
Rebass can be great for starting out a project or prototype, and it's meant to be extended to fit your visual styles – e.g. the Button component has a lot of the boilerplate styles you'd write anyway, but also lets you customize it completely with Button.extend
The current version of Rebass also includes a higher-order-component (similar but different to reas) and a configuration-driven component factory function.
I doubt that performance is much of a concern for either of these libraries – there are probably more gains to be had for performance within libraries like styled-components and with generally how you architect your application.

Rebass has an is prop that changes the underlying HTML element. From reas side, as is more powerful, that's the core functionality here. Besides just replacing the element, it can combine multiple components;

This is probably the thing I understand least about reas (and am most curious about) – I don't understand what it does nor why I would want this. Would love to see some more documentation and explanation for the rationale here in the docs. I'm planning on taking a look later, so forgive my ignorance.
For Rebass, I've preferred to keep things a little more React-like by using props. If you want to change the underlying element, you can do things like this:
const ButtonLink = props => <Button is='a' {...props} />

As far as I know, Rebass doesn't provide stuff for you to control the state of your components. You must implement it by yourself. While all reas components are stateless, the lib provides state enhancers and behavior components to ease that work. Of course, you can always implement it by yourself, using React state, redux, mobx or anything else;

This is correct, but architecturally I don't think it makes sense to keep state in low-level UI components like Rebass. For applications, I try to make good use of React's functional setState and have a small library that wraps some of that sort of thing up here: https://github.com/jxnblk/refunk

Rebass components aren't WAI-ARIA compliant by default.

I'm not sure I understand what reas does to be WAI-ARIA compliant by default – I think there's a lot of general misunderstanding about accessibility in the field and want to clarify that it's not really feasible to have accessibility features built in to Rebass beyond what it does now. Rebass uses semantic HTML elements where appropriate, so there's no need for aria attributes (when you use the Input for forms for example), but you do need to handle accessibility on your end, just as with any other HTML you may write. E.g. if you have an <img> tag, you need an alt attribute, and with Rebass, you should use alt attributes on the Image component.
Anyway, hope that's helpful, and I'm curious to see where you go with this library

Thank you for commenting, @jxnblk.

This is probably the thing I understand least about reas (and am most curious about) – I don't understand what it does nor why I would want this. Would love to see some more documentation and explanation for the rationale here in the docs. I'm planning on taking a look later, so forgive my ignorance.

Documentation should be improved for sure. as is inspired by Semantic-UI's augmentation feature, which is very similar to Rebass is. In reas, it does the same thing, except that it also accepts an array of components.
Besides that, it can be used in different ways, for example:

Component.as(string | string[])import { Button } from 'reas'

const ButtonLink = Button.as('a')

<Component as={string | string[]} />import { Button } from 'reas'

const ButtonLink = props => <Button as="a" {...props} />

as(string | string[])(Component)import as, { Button } from 'reas'

const ButtonLink = as('a')(Button)

Maybe we should focus on just one API. But, as a good experiment, I would like to see how people will use it.

I think there's a lot of general misunderstanding about accessibility in the field and want to clarify that it's not really feasible to have accessibility features built in to Rebass beyond what it does now. Rebass uses semantic HTML elements where appropriate, so there's no need for aria attributes

By "WAI-ARIA compliant by default" I mean applying roles and aria attributes on those components which can't be easily inferred by a screenreader. Tabs is an example. According to https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/#tabpanel the element should have specific roles, aria attributes and keyboard interactions (which isn't possible to provide without providing some sort of state helper in the lib).
I'm not sure if the library should implement it or let it to the developer. But I'd guess that in the latter situation most developers will not implement any of these a11y stuff, and that's bad for people who need it.

FYI, I've added some benchmarks comparing reas with other libs: https://github.com/diegohaz/reas#performance

@diegohaz that link doesn't go anywhere. Is there a newer link?


[android] Fix c_layout test for platforms which default to unsigned chars

ARMv7 seems to default to unsigned chars, so the checks should look more
like other platforms that prefer unsigned chars (like PowerPC64). Seems
that iOS prefers to have a common signedness with other Darwin platforms
and have signed chars.
Introduce a new check prefix which include the SDK name (the OS is quite
wildly in the case of Linux and Android), and differentiate the ARMv7
using the SDK. I'm confident about the Android tests. I only find two
other ARMv7 platfoms: iOS, which keeps the previous tests; and Linux and Windows,
which should also follow the unsigned char version.
I tried setting CChar to UInt8, but sadly many parts of the API (the String API to be exact) rely on CChar and UInt8 being different, so making that change would be a bigger change. It makes sense that PowerPC64 didn’t had that either.

@swift-ci please test and merge

Can the OS X test be restarted? I missed the details, but I don’t think this should affect OS X (unless it also does iOS, in which case, re-running might give me a clue what's happening).

@swift-ci please test macOS


Components name CryptoPrice is not correct

The component CryptoPrice only display token's amount by props.value. NOT price! So the name is not correct.
CryptoPrice

Default token's metadata is IMPORTANT. Must be required not option. options may be confusing.
CryptoPriceProps

Thank you for your suggestion.
The symbol and decimals can be obtained from the context, with Ethereum being the default. However, if developers have configured their own chain, the system will prioritize the developer's configuration. The component is intended for developers' use, and they should be able to ensure that they have configured the correct chain. I believe this design is reliable.
Get chain config from React context

Thanks for the explanation.  I thought this component is use for any token amount. (ERC20, ERC1155). Only for native token(ETH)?

It can be used with other tokens, but by default, it's for ETH. If you want to use it for other tokens, you need to configure the symbol and decimals.
But, you've reminded me that we can support built-in popular ERC20 token support in the future, like this:
import { USDT, CryptoPrice } from '@ant-design/web3';

<CryptoPrice type={USDT} value={10000n} />

or
import { CryptoPrice } from '@ant-design/web3';

<CryptoPrice type="usdt" value={10000n} />

It's weird to use it like this. If user give Symbol = USDT, but forget giving decimal = 6. The current implementation will miscalculate value. So i still think token's metadata should be required not option.  UI Library giving default value maybe have misunderstanding.
And back to my first question, component name should be CryptoAmount not price. There not have price logic .

Yes, after the user sets the USDT, it should by default include the decimal, and there's no need for the user to configure it again.
As for the component name being CryptoPrice, it's because it was originally designed to display asset prices, but indeed, CryptoAmount is a better name. We can consider adding a new name, CryptoAmount, in future versions and gradually phase out CryptoPrice.


Handling multiple devices

Is there a way to target a particular device, when multiple devices / emulators are connected? I don't see any flags on the readme or am I missing something?
Installing com.example.app...
gradlew: 158: gradlew: Syntax error: "(" unexpected
error: more than one device/emulator

Hey @ragunathjawahar the new version has that feature, it'll detect multiple devices and ask which one do you want to deploy to.
do a gem update dryrun  and let me know if you have it working


[doc improvement]

Docs Build status updates of commit 857c767:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md

Line 970, Column 238: [Warning: bookmark-not-found] Cannot find bookmark '#bot-message-spamming' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md

Line 84, Column 42: [Warning: bookmark-not-found] Cannot find bookmark '#app-name' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md', did you mean '#app-icons'?
Line 157, Column 3: [Warning: bookmark-not-found] Cannot find bookmark '#screenshots' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
76
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit a753436:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md

Line 970, Column 238: [Warning: bookmark-not-found] Cannot find bookmark '#bot-message-spamming' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md

Line 84, Column 42: [Warning: bookmark-not-found] Cannot find bookmark '#app-name' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.
Line 157, Column 3: [Warning: bookmark-not-found] Cannot find bookmark '#screenshots' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
76
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit d64b2a0:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
75
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
75
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 10167ab:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md

Line 84, Column 42: [Warning: bookmark-not-found] Cannot find bookmark '#app-name' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.
Line 157, Column 3: [Warning: bookmark-not-found] Cannot find bookmark '#screenshots' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit d9c794b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
99
5
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
75
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
99
5
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
75
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit afda9ba:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md

Line 84, Column 42: [Warning: bookmark-not-found] Cannot find bookmark '#appname' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md', did you mean '#app-name'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f3df81b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md

Line 84, Column 42: [Warning: bookmark-not-found] Cannot find bookmark '#appname' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md', did you mean '#app-name'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
99
5
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
75
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
99
5
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
75
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit ea88cd0:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
:warning:Warning
View
Details

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md

Line 84, Column 42: [Warning: bookmark-not-found] Cannot find bookmark '#appname' in 'concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md', did you mean '#app-name'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

These changes covered in PR https://github.com/MicrosoftDocs/msteams-docs/pull/5673


Updated translations from Phrase

Exported the most recent locale files from Phrase

didn't translate the latin :)


Error: Node in node in node

Initialize cytoscape:

cy = cytoscape({
   container: document.getElementById('cy'),
   elements:[
      {'data': {'id': '1'}, 'group': 'nodes'},
      {'data': {'id': '2', 'parent': '1'}, 'group': 'nodes'},
      {'data': {'id': '3', 'parent': '2'}, 'group': 'nodes'},
   ]

});

Initialize expand-collapse extension with default options.
Collapse node '2'.
Move collapsed node.
Try to expand collapsed node and it leads to error:

Uncaught TypeError: Cannot read property 'x' of undefined. expandCollapseUtilities.js:13

Solving this particular issue (https://github.com/iVis-at-Bilkent/newt/issues/53) might resolve this one.

@alexspirtmsu should be fixed by 05552cd9de6d6e6c4401fe76bc2b3201e5d0fd56 in unstable branch. Can you verify and close the issue? Thanks.

It works. Thanks!!!


[SP-5730] Backport of PDI-18908 - The CSV Input step no longer allows…

… you to omit or change the order of columns (8.3 Suite)
cherry-pick of ea7316add927bc8a6fd7a570258724a8a1d8ca41
@pentaho-lmartins @ppatricio @smmribeiro @belxiors

:white_check_mark: Build finished in 29m 26s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3606, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

PR Consistent with base bug


broken markdown in the readme

[Email](mailto:postmodern.mod3 at gmail.com)

in https://github.com/postmodern/nokogiri-diff#nokogiri-diff

Removed. Apparently GitHub's markdown can't handle obfuscated emails.


Originally posted by @robodoo in https://github.com/odoo/odoo/pull/181842#issuecomment-2379269159

ترجملي


why the directive(uibModalWindow) close event stopPropagation?

When I open a modal, it may be bind a click event to the document, but when click the modal backdrop to close the modal, it not trigger my custom event binding, can not stop propagation?

Please post a reproduction in Plunker.

Closing as the issue is not clear and we don't have live reproduction scenario.


Mark methods from UIGestureRecognizer as open

I would like to change in my subclass method   public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {     return true   } and i can't because it is defined as public not as open, please change it, thanks!

Fixed in version 3.3.3


.env is overriding .env.test

Hello. I would like to share with you something that is happening to me when I try to set an environment variable through .env.test file for testing purpose.
I have a file ".env" with the following code:
SOME_KEY_API="ENV_KEY"

and as I want to test some behavior I've created the file ".env.test" with the following code:
SOME_KEY_API="TEST_KEY"

and as it says the README file: "Variables defined in .env. will override any values set in .env or already defined in the environment."
so when check the environment while I'm testing, Rails.env is test, but when I check my ENV, SOME_KEY_API still is ENV_KEY. I was debugging the flow of the info through the gem and I was able to see that in the last iteration, in this part of the code:
"dotenv-2.0.1/lib/dotenv.rb"
# Internal: Helper to expand list of filenames.
#
# Returns a hash of all the loaded environment variables.
def with(*filenames, &block)
  filenames << ".env" if filenames.empty?

  filenames.reduce({}) do |hash, filename|
    hash.merge! block.call(File.expand_path(filename)) || {}
  end
end

"hash" has my SOME_KEY_API="TEST_KEY" and when the "merge" is applied is replacing "TEST_KEY" with "ENV_KEY". So finally for testing environment I never get the "TEST_KEY".
Could you check this behavior? and please tell me if you need more info about it.

I'm not able to duplicate your issue. Can you give more information about how your app is configured and how you're seeing the behavior?
Here's what I did:
$ rails new foobar
$ echo 'gem "dotenv-rails" >> Gemfile
$ bundle
$ echo "FOO=.env" > .env
$ echo "FOO=.env.test" > .env.test
$ RAILS_ENV=test rails runner "puts ENV['FOO']"

.env.test

Rails 4.2.0
dotenv 2.0.1

@nisevi let me know if you're still having problems.


chore: lint fixes

I observed some lint failures, so raised a PR for them.
Changes were created by npm run fix
https://paste.googleplex.com/6372049043324928

I made two commits here, but both fail the lint check on the PR and only pass in my local. Wierd!
It appears the changes in main are correct for the lint check on the PR so closing this PR.


⚠ Bofrost.es has degraded performance

In ac3f137, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1625 ms

Resolved: Bofrost.es performance has improved in 2a451db after 6 minutes.


fix Correct PURE macro definition to fix compilation on macOS

Proposed changes
Issue Number: close #xxx

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

run buildall


[CY] verify UI url

add Verify the Harvester UI URL:  https://harvester.github.io/tests/manual/ui/verify-url/

The test suite pass the first test but failed at the second

The second test case Verify the Harvester icon on the left top corner failed at  [testcases/dashboard/nav.spec.ts:21:8]

The command was expected to run against origin https://<IP_ADDRESS>
but the application is at origin about://blank.

After removing the experimentalSessionAndOrigin: true, in cypress.config.ts
The second case can execute correctly in sequence.

@TachunLin  It's been fixed. I tested it several times and it works.  PTAL again, thanks


Fix CVE-2018-12356 by hardening the regex.

Detailed write-up here:
https://neopg.io/blog/pass-signature-spoof/

Thanks @muzaffar1331, verified & merged.


[SPARK-7997][Core]Add rpcEnv.awaitTermination() back to SparkEnv

rpcEnv.awaitTermination() was not added in #10854 because some Streaming Python tests hung forever.
This patch fixed the hung issue and added rpcEnv.awaitTermination() back to SparkEnv.
Previously, Streaming Kafka Python tests shutdowns the zookeeper server before stopping StreamingContext. Then when stopping StreamingContext, KafkaReceiver may be hung due to https://issues.apache.org/jira/browse/KAFKA-601, hence, some thread of RpcEnv's Dispatcher cannot exit and rpcEnv.awaitTermination is hung.The patch just changed the shutdown order to fix it.

Test build #50590 has started for PR 11031 at commit 224916f.

Test build #50590 has finished for PR 11031 at commit 224916f.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/50590/
Test FAILed.

retest this please

Test build #50606 has started for PR 11031 at commit 224916f.

Test build #50606 has finished for PR 11031 at commit 224916f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/50606/
Test PASSed.

cc @rxin

Thanks - merging this in.


animation when leave in transitiongroup with ref tag not work

Vue version
3.4.21
Link to minimal reproduction
https://play.vuejs.org/#eNqFVNtu2zAM/RXOe1iK2Ukv6zB4TrELimF72IauDwOaolBtJlEjS4IkOymC/Psoybm1QfeSyDzk4dEh7WXyWet+22CSJ4XDWgvm8GIkAYprw6Tljiv5zahGg2Q1DkdJqaRjXKIZJeDYhCKNoGMpmLX7cKAhooq30GZjZQju3aXAZYWLI/qDUjXSWarOZ/hI6N2mCGC5jImwWo3kOli8yjJgktfM64L5FCUIZC1CpdDKNw7myswgyzY0oaLgUjcODI6pSThf4ZjaDi5i6v/pPa3d442Ug93q+8Y5KvtUCl7OqJPBWrXYi/elq1Uo0GExiHlrewbkz4blGQerKhIa7aFzFnEiowcyiDTs8RWDJ2OjaDHYGSw92tJw7cCio6kKJv0M/RQI5bVWxsHSWwUrGBtVwyih9RglH30tTde6bmww9Fm9m5MUTlM4S+FdCue3R5QXs9Y+d3keWENe+xB6RzC8gKWXHRn7LRMN9nVjp73dyM0eLFBO3BQyOLmFt3DieVc73NF0T9/t2cEeVpO/3WjSLUkxiOZ0RrlH4T3rb5Y6MmkVDc6pGdnKW6RSgIoTK3vMYSxwESL+kFXcYBnTSyWaWgZIkwdcTnI4IcEhYtQ8mzCdw+k6cs/K2YSGKKscXlP+B3x/euyVenVbUZm/cLoXQenol1Hbp0hY5w6Jt3GbhcmBCQHH/TMLyCxmXGaqcQcaRnq/HYfInYrESrOSO/LDa+760FegzuPRL+Tf3vmxXgT3n7R4rnPrOru3ZKTzrlMZzaybU5LSHhPFmE/6D1ZJ+qaFSv9VqjUXaH5pz0C7nkdOj9Gd1fxHiDnTeLtivJxiOTsQf7ALHxslvw1aNC29GxvMMTNBF+HLPz9xQecNWKuqEZT9AniF4WakMaZ9odmT7J28oPZ7eE1pfa7t5cIhja+7lBfqM1chP7y5X1+4+lbuWf9dqCNHk9U/NNEM0w==
Steps to reproduce
1、Comment out the 7th line of code, do not comment out the 10th line of code.
2、Click the delete button, the element correctly executes the leave animation.
3、Do not comment out the 7th line of code, comment out the 10th line of code.
4、Click the delete button, the element fails to execute the leave animation correctly, bug appears.
What is expected?
I hope that even if the element has a "ref" attribute set, it can still execute animations normally within the TransitionGroup.
What is actually happening?
After setting the "ref" attribute for the element, it fails to correctly execute the "leave" animation within the TransitionGroup.
System Info
System:
    OS: Windows 11 10.0.22631
    CPU: (12) x64 11th Gen Intel(R) Core(TM) i5-11400H @ 2.70GHz
    Memory: 21.80 GB / 31.74 GB
  Binaries:
    Node: 16.20.2 - C:\Program Files\nodejs\node.EXE
    npm: 8.19.4 - C:\Program Files\nodejs\npm.CMD
    pnpm: 8.11.0 - ~\AppData\Roaming\npm\pnpm.CMD
    bun: 1.0.33 - ~\.bun\bin\bun.EXE
  Browsers:
    Internet Explorer: 11.0.22621.1
  npmPackages:
    vue: ^3.4.21 => 3.4.21

Any additional comments?
Here is a link to the demo video I recorded:
https://drive.google.com/file/d/1-SwkWPoZi1GALqWEnFa_927CrkabeAyU/view?usp=drive_link
In my personal project, there is a requirement for users to upload images.
Users can upload image files using the <input type="file" ref="uploadRef"> element. The default upload quantity is one, but if users need to upload multiple images, they can click the "upload more" button to generate another <input type="file" ref="uploadRef"> element.
Users can delete specific image by clicking the "delete" button.
To achieve smooth transitions, I wrapped all the inputs using TransitionGroup.
However, I noticed that the leave animation does not work correctly in this setup.
Upon investigation, I found that if an element is assigned a "ref" attribute, the leave animation fails to execute properly.

It seems move class not added properly

Duplicate of #7754
Using shallowRef instead of ref as a workaround

Duplicate of #7754 Using shallowRef as a workaround, though it can't be watched anymore

Thank you! I think it will be just find even if it can't be watched.


Remove Receive 'Msg' type, add actor trait bound

The Msg associated type of Receive trait isn't needed if we require that it's an Actor. It reduces a fair bit of boilerplate. The downside I see is that this forces Receive to be an Actor, though is that a problem?
This is more of a query than a solid pull request, but it's easier to show code examples here than an issue. There might be reasons why it won't work, of course it breaks compatibility too.

Hi @mkj I do think you're correct - Receive is just Actor. Since this is a change across core code I need to check the overall impact. Will come back to this in the next day or two.

@leenozara what is the current status on this?

@leenozara what is the current status on this?


Overwrite header in case of Content-Type: multipart/form-data

Feature Request
Description
This feature solves a problem I've had when constructing a Multipart/form-data request.
If one sets the Content-Type header to multipart/form-data manually (done in the snippet below) this request wont work properly, since the boundry value in the header, pointing out the file, is missing.
If the manually set content-type is removed, the request works fine.
Fuel.upload(path = baseUrl, method = Method.POST)
                .header(mutableMapOf(
                    "apikey" to key,
                    "Accept" to "application/json",
                    "Cache-Control" to "no-cache"
                    "Content-Type" to "multipart/form-data"
                ))
                .dataParts { _, _ -> listOf(DataPart(file, "file", "image/jpeg")) }
                .responseJson { _, _, result ->
                    result.fold(
                            success = { data -> cb(data.content) },
                            failure = { error ->
                                println("An error of type ${error.exception} happened: ${error.message}")
                                cb("")
                            }
                    )
                }

Proposed Solution
Fuel should in my opinion in the case of such a specific request, overwrite the header even though a user beforehand set it manually, since the request otherwise wont work at all.

@PeterSkopal completely agreed and is actually fixed down the line. Will be part of the 2.0 release!


Improve np.array implementation, fixes #255

Inspired by the beautiful new flatten implementation...

This seems really nice! So because array is recursive, a call like array([ArrayNode, ArrayNode, ArrayNode]) should be much faster, since it won't take apart the ArrayNodes at all. The previous version splatted things all the way down to scalars.
Let me know if any part of that is mistaken, but in any case this seems like a big win.


Fix some possible typos

First of all, i'd like to thank you for your great work.
If these changes are not fitting for all cases, feel free to close this PR without merge.
I'd like to just report my founds during my challenge.

Thanks to the kind documentations, I have successfully installed nublado on our in-house k8s cluster.
As I have no load balancer provider, I have to use NodePort for ingress controller but other than that, it went smoothly without any problem.
Thanks again.

Thanks to the kind documentations, I have successfully installed nublado on our in-house k8s cluster.
As I have no load balancer provider, I have to use NodePort for ingress controller but other than that, it went smoothly without any problem.
Thanks again.


Really long error on julia 1.11

hi,
i was trying to calculate derivatives again (#672), but now the calculation in that issue fails with a really long stacktrace:
MWE:
using Clapeyron
using Enzyme

model = BasicIdeal()
v = 0.03
T = 300.0
z = Clapeyron.SA[1.0]
p0 = pressure(model,v,T,z)
p1 = Clapeyron.Rgas()*T/v
function pressure_enzyme(model,v,T,z)
           return -Enzyme.autodiff(Enzyme.Forward,Clapeyron.eos, Const(model), Duplicated(v,one(v)), Const(T), Const(z))[1]
end

pressure_enzyme(model,v,T,z) #works
model2 = vdW("ethane")
pressure_enzyme(model2,v,T,z) #does not work, really long stacktrace

the stracktrace is the following.
https://pastebin.com/8JVavQ7P
version info:
julia> versioninfo()
Julia Version 1.11.0-rc2
Commit 34c3a63147 (2024-07-29 06:24 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 8 × Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, haswell)
Threads: 4 default, 0 interactive, 2 GC (on 8 virtual cores)
Environment:
  JULIA_NUM_THREADS = 4

Packages: Clapeyron 0.6.2, Enzyme v0.12.31

We should fix this, but to set expectations, Enzyme.jl does not currently support 1.11, try 1.10?

I can't reproduce this, though I used 1.11-beta2 and current enzyme main. Can you retry on latest Enzyme and see if it still occurs?

the error still appears on v0.12.32.

yeah I still can't repro:
julia> using Enzyme

julia> model = BasicIdeal()
BasicIdeal()

julia> v = 0.03
0.03

julia> T = 300.0
300.0

julia> z = Clapeyron.SA[1.0]
1-element StaticArraysCore.SVector{1, Float64} with indices SOneTo(1):
 1.0

julia> p0 = pressure(model,v,T,z)
83144.62618153241

julia> p1 = Clapeyron.Rgas()*T/v
83144.62618153241

julia> function pressure_enzyme(model,v,T,z)
                  return -Enzyme.autodiff(Enzyme.Forward,Clapeyron.eos, Const(model), Duplicated(v,one(v)), Const(T), Const(z))[1]
       end
pressure_enzyme (generic function with 1 method)

julia> pressure_enzyme(model,v,T,z) #works
83144.62618153241

julia> model2 = vdW("ethane")
vdW{BasicIdeal, NoAlpha, NoTranslation, vdW1fRule} with 1 component:
 "ethane"
Contains parameters: a, b, Tc, Pc, Mw

julia> pressure_enzyme(model2,v,T,z) #does not work, really long stacktrace
82703.51016122995

julia> versioninfo()
Julia Version 1.11.0-rc2
Commit 34c3a63147* (2024-07-29 06:24 UTC)
Build Info:
  DEBUG build

    Note: This is an unofficial build, please report bugs to the project
    responsible for this build and not to the Julia project unless you can
    reproduce the issue using official builds available at https://julialang.org/downloads

Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 64 × AMD Ryzen Threadripper 3970X 32-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver2)
Threads: 1 default, 0 interactive, 1 GC (on 64 virtual cores)
Environment:
  LD_LIBRARY_PATH = :/home/wmoses/.local/lib

i'm on windows, maybe it has something to do with that?, im gonna try to reproduce this on CI, if it does not reproduce, then i will close

it still happens on rc3, but it does not reproduce on CI :( , probably my system does not have something that enzyme needs

Resolved by https://github.com/EnzymeAD/Enzyme.jl/pull/1777


inconsistency in predictions

We have trained QA net for our own question and answers data. But when we run it in demo mode for prediction it is giving different results for the same question.
Some times it picks correct answer for the same question and some time does not, but ideally it should pick the same answer, right ? Any ideas what could be the reason for this behaviour of trained model ?
I have commented out below section from test/demo code:
"""
if config.decay < 1.0:
sess.run(model.assign_vars)
"""

Hi @nehaboob , as far as I'm concerned, there shouldn't be uncertainty at inference time. Could you explain in detail what the issue is? Are the questions exactly identical? (Not that  the lower and upper case letters are treated differenty in QANet)

yes, questions are exactly identical, but same model is giving different predictions at different runs.

Hmm. Dropout could be the cause of this. I'm not able to find where dropout is forced to 0 for demo.

Sorry, I was doing some mistake in graph initialisation which was causing different predictions.
This can be closed now.


Add Future Developments DG alphabetical sort

Don't think this is a bug? Pretty sad can't change this, I just noticed this feature doesn't exist

Codecov Report

Merging #251 (982877e) into master (5e27aee) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #251   +/-   ##
=========================================
  Coverage     70.10%   70.10%
  Complexity      643      643
=========================================
  Files            94       94
  Lines          2000     2000
  Branches        273      273
=========================================
  Hits           1402     1402
  Misses          495      495
  Partials        103      103

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


how to create index with analyzer

Hi,
in the previous package, i can create index configurator:
php artisan make:index-configurator MyIndexConfigurator
then upload the index to elasticsearch:
php artisan elastic:create-index "App\MyIndexConfigurator"
how can i do this now?
the command php artisan scout:index xxxxx don't accept "Index Configurator file" from old package.

Hi @shinnlu, it is done differently now. You can use the elastic-migrations package to create an index.

thank you for response, i will try it later.