Add unit tests for raycluster_controller reconcilePods function

Why are these changes needed?
This diff adds unit tests for Kuberay reconcilePods function to improve the code reliability.
Related issue number
None
Checks

[X] I've made sure the tests are passing.
Testing Strategy

[X] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

You could make all tests run with both values for the flag (PrioritizeWorkersToDelete)

Thanks a lot for putting these tests together, this is really great! I left some small comments (which might just expose my lack of knowledge about how the code actually works).

After thinking about this a bit I feel we should not be clearing WorkersToDelete. The abstraction we should follow is:

The requestor (autoscaler in this case) looks at the real world situation and decides what the goal state should be and updates the Spec part of the CR to match this goal state. This should be declarative but in our case we have some procedural components also - in WorkersToDelete. We are stating how to get to the goal state also. This is somewhat imperfect, but ok for now.
The operator should look at the real world situation and the goal state as described in the Spec and reconcile to make the real world be more aligned towards the goal state. It then updates the Status part of the CR to say what it did.

Some rules to follow:

The requestor should not depend on the current state of the Spec in what it does (then it introduces race conditions with the operator). Instead it should work in an idempotent manner. I.e., if the requestor loop runs many times without the operator running, it should not update the Spec to new values.
The operator should read from the Spec, but never update the Spec. The operator should not be specifying what the goal state should be, it just tries to get the real world to move towards the goal state. It should only write to the Status.
The only entities that read from the Status are dashboards, monitoring tools, etc. No action taken by the requestor or operator should depend on what is in the Status.

Having said all this, I argue that the operator should not update WorkersToDelete. But we should make sure that repeated iterations of the reconciler do not become less efficient as a consequence. On reading the we can make one small change to address this:
There are 4 places in the code that iterator over the pods in WorkersToDelete - that look like this:
		for _, podsToDelete := range worker.ScaleStrategy.WorkersToDelete {

We should simply add the following at the beginning of each of these loops:
   <if podsToDelete is not in runningPods> break

We can do this most efficiently perhaps by changing runningPods to be a list of pod names instead of a list of pods.

Thanks for writing down your thoughts -- not having the operator update the WorkersToDelete makes sense to me and with your optimization that should be fine. We can implement this first and test it and then if it works well, we can hopefully move to a more declarative state. For example if we replace the workersToDelete with a target list of pods that should do the trick :)


What are the APIs a Provider/Payer needs to develop to integrate with HCX?

Providers can make below listed calls to HCX which HCX will verify for primary checks (List of checks is available in Error codes ) and if all checks pass then it will be forwarded to the Payor System.
   /v1/coverageeligibility/check
   /v1/preauth/submit
   /v1/claim/submit
   /v1/paymentnotice/on_request

A provider system should accept following APIs calls from HXC:
  /v1/coverageeligibility/on_check
   /v1/preauth/on_submit
   /v1/claim/on_submit
   /v1/paymentnotice/request

Notifications and search APIs to come soon and specs will be updated at 0.8 version

Payors can make below listed calls to HCX which HCX will verify for primary checks (List of checks is available in Error codes ) and if all checks pass then it will be forwarded to the Provider System.
  /v1/coverageeligibility/on_check
   /v1/preauth/on_submit
   /v1/claim/on_submit
   /v1/paymentnotice/request

A payor system should accept following APIs calls from HXC:
   /v1/coverageeligibility/check
   /v1/preauth/submit
   /v1/claim/submit
   /v1/paymentnotice/on_reques

More information available at https://docs.swasth.app/hcx-specifications/hcx-technical-specifications/open-protocol/key-components-building-blocks/api-structure


[SPARK-37679][K8S] Add a new executor roll policy, FAILED_TASKS

What changes were proposed in this pull request?
This PR aims to add a new executor roll policy, FAILED_TASKS.
Why are the changes needed?
This is helpful to clean up a faulty executor first.
Does this PR introduce any user-facing change?
Yes, but this is a new feature.
How was this patch tested?
Pass the CIs.

Test build #146342 has started for PR 34938 at commit 1646bf2.

Test build #146342 has finished for PR 34938 at commit 1646bf2.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50816/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50816/

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


ARC-0003: Support for relative URI

As mentioned by @barnjamin in https://github.com/algorandfoundation/ARCs/issues/3#issuecomment-913177134, support for relative URI seems necessary to allow storing the JSON Metadata file together with the files it refers to in the same IPFS directory.

No comment so merging.


Add benchmarks of closures, combiners, exec_ctx primitives

Now based on #9697

Relative to #9697, which commits should I be checking out?

Merged w/head

Failing tests: #9542 #9550


Passing options to configure() disables autoload

It is very misleading that passing options to configure() (e.g. locale, or even an empty {}) disables autoload. I suspect most people will assume that whatever option they passed is what broke the widget.
Instead of
configure(websiteId: string, options: Options = {autoload : true }) {

it should be
configure(websiteId: string, options: Options = {}) {

and then defaults should be resolved on a per-option basis within the body.

Thank you for the report!
Issue got fixed


ngx-translate.com is pointing another website

Here is what I get when I open the website:

Yeah I know, I removed the link from the organization. I didn't make sense to pay for the domain as it's not really useful. But thanks for the heads up.

Then I think it's better to remove URL from everywhere, include repository description.

ah yes, thanks, I missed that one


envFrom inside the deployment.yml file disappers after fabric8:resource

envFrom pointing to a configMap inside the deployment.yml file disappeared after fabric8:resource in  configuration mode "Resource Fragments ".

f-m-p version : 3.5.31
Maven version (mvn -v) : Apache Maven 3.5.4 (3.3.9 Also)

Kubernetes : v1.10.0
If it's a bug, how to reproduce : Create a deployment.yml file under src/main/fabric8/ and with envFrom in place of -env. Run fabric8:resource. The output file will not have the envFrom or its equivalent entries. It just disappears.

@kkrhdd : 3.5.31 seems quite an old version of this plugin. Could you please try again with the latest version i.e 3.5.40; and see if it's still reproducible?

Thanks for the pointer. I will try and update


Possible to chain when using onFirstCall, onSecondCall

Cannot seem to get this to work:
    sandbox.mock(Model)
      .expects('find')
      .twice()
      .onFirstCall()
      .yields(null, [])
      .onSecondCall()
      .chain('populate')
      .chain('exec')
      .yields(null, []);

This is not supported but I think is possible to test using two different expectations right?
    sandbox.mock(Model)
      .expects('find')
      .chain('exec')
      .yields(null, [])

    sandbox.mock(Model)
      .expects('find')
      .chain('populate')
      .chain('exec')
      .yields(null, []);

It is not, that produces the following error:

 TypeError: Attempted to wrap find which is already wrapped


There is no menu with map creation

Everything was compiled successfully, but nothing appears on the create button, I tried to download and compile again, but it didn't hel

p

I think you don't have this update


Never report stale prices

The oracle uses many APIs to get price data for the various tokens it reports on. If one of those APIs is down (or not pushing us updates for whatever reason), there's two things we can do about it:

keep using the most recent prices reported by that API
stop reporting prices from that API

The node was doing 1, to avoid our own downtime by using stale prices. This PR switches it to do 2, so that prolonged outages don't cause us to report extremely old prices.
The changes:

Before, nodes would always have some price for every token; now, if a node can't get updates for that token, it won't produce any price feeds which depend on it.
We no longer use "default" prices the first time an oracle starts up
We won't ever reference prices saved to disk (though we still save them to disk in case we want to start doing that again someday)

Do we have a metric for stale prices, or are we just relying on "we haven't reported prices for 2 minutes"?
Might make reporting easier if we had the former


Textures do not show on obj models.

I'm having an issue thats driving me mad, I have built a simple app with a sceneview and added a simple model of a rock to the scene and it works, textures load etc.
However, I then wanted to move on my using my own obj model which I exported from blender, and the model loads geometrically correctly, but shows only a smooth uniform greyish colour (which actually depends on the textures I'm using so if I use an orangey texture its smooth orange etc).
I've checked the mtl files, obj and sfb a hundred times. All file calls point to the correct place and I don't get any error messages, just no texture or bump mapping!
Here's the code for all of those mentioned files.
mtl:
Blender MTL File: 'Mercury.blend'
Material Count: 1
newmtl Material.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 1
map_Bump -bm 0.000030 mercury_topo.png
map_Ks Mercury_global_map.png
map_Kd Mercury_global_map.png
map_Ka Mercury_global_map.png
sfb:
{
materials: [
{
name: 'Material.001',
parameters: [
{
baseColor: 'Mercury_global_map',
},
{
baseColorTint: [
0.80000000000000004,
0.80000000000000004,
0.80000000000000004,
1,
],
},
{
metallic: 0,
},
{
roughness: 1,
},
{
opacity: null,
},
],
source: 'build/sceneform_sdk/default_materials/obj_material.sfm',
},
],
model: {
attributes: [
'Position',
'Orientation',
],
collision: {},
file: 'sampledata/mercuryobj.obj',
name: 'mercuryobj',
recenter: 'root',
scale: 0.20496,
},
samplers: [
{
file: 'sampledata\Mercury_global_map.png',
name: 'Mercury_global_map',
params: {
usage_type: 'Data',
},
pipeline_name: 'Mercury_global_map.png',
},
],
version: '0.54:2',
}
I'd add the obj but it's very long, so here's the important lines
Blender v2.79 (sub 0) OBJ File: 'Mercury.blend'
www.blender.org
mtllib mercurymtl.mtl
o Mercury_Sphere
usemtl Material.001

Any ideas how to proceed?
Thank you

what about texture coordinates and/or UV? is it correct?

By texture and UV coordinates do you mean the co ordinates found in the obj files?
I haven't edited them and theyre far too long for me to know if they're "correct", not really readable. I've attached the whole obj file in txt format.
mercuryobj.txt


virtiofs: Allow memory hotplug with virtiofs

Kata with virtio-fs fails to do memory hotplugging. This is caused by
the fact that hot plugged memory is always backed by
'memory-backend-ram' while virtio-fs expects it to be backed by file and
shared for it to be able to use the system the way it is intended. This
chnage allows using file based memory backend for virtio-fs, hugepages
or when the user prefers to use a file backed memory
Fixes: #1745
Signed-off-by: Ganesh Maharaj Mahalingam<EMAIL_ADDRESS>

This PR depends on https://github.com/intel/govmm/pull/96 and once that lands, we can vendor in the changes. Getting this out here for review while we wait for govmm change to land.

@ganeshmaharaj @egernst with this change we can use virtio-fs freely with kubernetes right? and also support dynamic updates to container memory sizes.

/test-nemu

/test

@GabyCT @chavafg the cri-containerd tests are failing with
[reset] Stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
E0618 23:54:02.402221  107987 reset.go:192] [reset] Failed to remove containers: failed to stop running pod 81d595cdda922ca7f36fcde5cfb1edccadf4e09c9953f377a2d3a3c66d1ecc5f: output: time="2019-06-18T23:53:53Z" level=fatal msg="stopping the pod sandbox \"81d595cdda922ca7f36fcde5cfb1edccadf4e09c9953f377a2d3a3c66d1ecc5f\" failed: rpc error: code = Unknown desc = failed to stop sandbox container \"81d595cdda922ca7f36fcde5cfb1edccadf4e09c9953f377a2d3a3c66d1ecc5f\" in '\\x01' state: wait sandbox container \"81d595cdda922ca7f36fcde5cfb1edccadf4e09c9953f377a2d3a3c66d1ecc5f\" stop timeout"
, error: exit status 1
[reset] Deleting contents of stateful directories: [/var/lib/etcd /var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] Deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]

The reset process does not reset or clean up iptables rules or IPVS tables.
If you wish to reset iptables, you must do so manually.
For example:
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

If your cluster was setup to utilize IPVS, run ipvsadm --clear (or similar)
to reset your system's IPVS tables.

81d595cdda922ca7f36fcde5cfb1edccadf4e09c9953f377a2d3a3c66d1ecc5f
ERROR: 1 pods left and found at /var/lib/vc/sbs
Makefile:115: recipe for target 'kubernetes' failed
make: *** [kubernetes] Error 1
Failed at 23: sudo -E PATH="$PATH" CRI_RUNTIME="containerd" bash -c "make kubernetes"

seems like a new issue with the teardown process of k8s.  anything that stands out at either of you from that error log?

@ganeshmaharaj
on the containerd-cri job a pod was found at /var/lib/vc/sbs, need to check with @GabyCT if maybe this could be because of a recent test that was added 2 days ago.
In addition, on the initrd job I see that there was a failure on a docker test:
[3] • Failure [44.578 seconds]
[3] run
[3] /tmp/jenkins/workspace/kata-containers-runtime-ubuntu-18-04-PR-initrd/go/src/github.com/kata-containers/tests/integration/docker/run_test.go:101
[3]   hot plug block devices
[3]   /tmp/jenkins/workspace/kata-containers-runtime-ubuntu-18-04-PR-initrd/go/src/github.com/kata-containers/tests/integration/docker/run_test.go:146
[3]     should be attached [It]
[3]     /tmp/jenkins/workspace/kata-containers-runtime-ubuntu-18-04-PR-initrd/go/src/github.com/kata-containers/tests/integration/docker/run_test.go:147
[3]
[3]     Expected
[3]         <int>: 125
[3]     to be zero-valued

[3] [docker run --cidfile /tmp/cid199379043/Truo8V6ZhsBnrGsbnz6idB5gr5Zpn3 --runtime kata-runtime --device /dev/loop0 --device /dev/loop1 --device /dev/loop2 --device /dev/loop3 --device /dev/loop4 --device /dev/loop5 --device /dev/loop6 --device /dev/loop7 --device /dev/loop8 --device /dev/loop9 --rm --name Truo8V6ZhsBnrGsbnz6idB5gr5Zpn3 busybox stat /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4 /dev/loop5 /dev/loop6 /dev/loop7 /dev/loop8 /dev/loop9]
[3] Timeout: 120 seconds
[3] Exit Code: 125
[3] Stdout:
[3] Stderr: docker: Error response from daemon: OCI runtime create failed: rpc error: code = DeadlineExceeded desc = Timeout reached after 3s waiting for device 0000:00:02.0/0000:01:09.0: unknown.
[3]
[3] Running command '/usr/bin/docker [docker ps -a -f name=Truo8V6ZhsBnrGsbnz6idB5gr5Zpn3 --format {{.Status}}]'
[3] [docker ps -a -f name=Truo8V6ZhsBnrGsbnz6idB5gr5Zpn3 --format {{.Status}}]
[3] Timeout: 120 seconds
[3] Exit Code: 0
[3] Stdout:
[3] Stderr:

opened an issue for the test failure, as I've seen this on other PRs as well @ganeshmaharaj @chavafg: https://github.com/kata-containers/tests/issues/1745 /cc @gabyct

Any update on this @ganeshmaharaj?

I've tested this PR, and can now specify memory limits/requests in Kubernetes and they work properly with virtio-fs. Looking forward to this being released.

@ganeshmaharaj any updates?

@jodh-intel @raravena80 the patch is good to merge. I am currently out with very limited access to a PC for the next few weeks. I am not able to make sense of my the initrd job fails to run a container. The other crio issue seems to no longer exist.

@ganeshmaharaj The initrd job fails consistently on the run hot plug block devices test

@chavafg ohh.. I am curious why that's failing. This change shouldn't affect that. If anyone can get to this sooner than 2 weeks, please do. Will be able to look at this again in a couple of weeks when I am back with decent connectivity.

may be worth splitting out the govmm vendoring, then, since the runtime changes shouldn't impact this now-consistently-failing-for-this-PR test.

Nack: the vendoring commit  + adjustments to use it should be standalone, ie, should be able to bisect. I see compiler errors with just the first 3 commits.

@ganeshmaharaj The initrd job fails consistently on the run hot plug block devices test

@chavafg Just rebased the branch and locally tested initrd and i am not able to reproduce the issue. This is the logs i got from my test.
ganeshma@virtiofs:~$ docker run -it --rm --runtime kata-runtime --device /dev/loop0 busybox stat /dev/loop0
  File: /dev/loop0
  Size: 0               Blocks: 0          IO Block: 4096   block special file
Device: 22h/34d Inode: 1141        Links: 1     Device type: fe,0
Access: (0660/brw-rw----)  Uid: (    0/    root)   Gid: (    6/    disk)
Access: 2019-07-08 06:42:23.000000000
Modify: 2019-07-08 06:42:23.000000000
Change: 2019-07-08 06:42:23.000000000

Setup
Ran .ci/setup.sh from tests repository with the following env variables.
OPENSHIFT=no
KUBERNETES=no
TEST_INITRD=yes

Nack: the vendoring commit + adjustments to use it should be standalone, ie, should be able to bisect. I see compiler errors with just the first 3 commits.

@egernst fixed the patch for this comment. Now all commits are bisectable.

/test-initrd

/test

@chavafg that issue happens only when i try to hotplug more than 8 devices. In the failing case the error logs look like this
Jul 08 09:40:06 virtio-fs kata-proxy[18094]: time="2019-07-08T09:40:06.420554653Z" level=info msg="[    1.557931] pci 0000:01:09.0: BAR 0: no space for [io  size 0x0080]\n" name=kata-proxy pid=18094 sandbox=4a2ac9f659baddbb81d932d06845e509a49884887e2c58bee83fcb8befba06e
9 source=agent
Jul 08 09:40:06 virtio-fs kata-proxy[18094]: time="2019-07-08T09:40:06.420991944Z" level=info msg="[    1.558349] pci 0000:01:09.0: BAR 0: failed to assign [io  size 0x0080]\n" name=kata-proxy pid=18094 sandbox=4a2ac9f659baddbb81d932d06845e509a49884887e2c58bee83fcb8befb
a06e9 source=agent
Jul 08 09:40:06 virtio-fs kata-proxy[18094]: time="2019-07-08T09:40:06.421556459Z" level=info msg="[    1.558922] virtio-pci 0000:01:09.0: enabling device (0000 -> 0002)\n" name=kata-proxy pid=18094 sandbox=4a2ac9f659baddbb81d932d06845e509a49884887e2c58bee83fcb8befba06e
9 source=agent
Jul 08 09:40:06 virtio-fs kata-proxy[18094]: time="2019-07-08T09:40:06.437137938Z" level=info msg="[    1.574434] virtio-pci 0000:01:09.0: virtio_pci: leaving for legacy driver\n" name=kata-proxy pid=18094 sandbox=4a2ac9f659baddbb81d932d06845e509a49884887e2c58bee83fcb8b
efba06e9 source=agent
Jul 08 09:40:06 virtio-fs kata-proxy[18094]: time="2019-07-08T09:40:06.452432996Z" level=info msg="[    1.589597] virtio-pci: probe of 0000:01:09.0 failed with error -12\n" name=kata-proxy pid=18094 sandbox=4a2ac9f659baddbb81d932d06845e509a49884887e2c58bee83fcb8befba06e
9 source=agent
Jul 08 09:40:06 virtio-fs kata-proxy[18094]: time="2019-07-08T09:40:06.453150422Z" level=info msg="[    1.590290] probe of 0000:01:09.0 returned 0 after 31509 usecs\n" name=kata-proxy pid=18094 sandbox=4a2ac9f659baddbb81d932d06845e509a49884887e2c58bee83fcb8befba06e9 sou
rce=agent

whereas without the patch, partial logs show up but the device is plugged
Jul 08 10:12:09 virtiofs kata-proxy[20206]: time="2019-07-08T10:12:09.607255566Z" level=info msg="[    1.966531] pci 0000:01:09.0: BAR 0: no space for [io  size 0x0080]\n" name=kata-proxy pid=20206 sandbox=b09b3b11d4d3a3d01aa54b06c4d1cd493f5a0f9aadac845dc3e843e7a653a985
 source=agent
Jul 08 10:12:09 virtiofs kata-proxy[20206]: time="2019-07-08T10:12:09.607541745Z" level=info msg="[    1.966922] pci 0000:01:09.0: BAR 0: failed to assign [io  size 0x0080]\n" name=kata-proxy pid=20206 sandbox=b09b3b11d4d3a3d01aa54b06c4d1cd493f5a0f9aadac845dc3e843e7a653
a985 source=agent
Jul 08 10:12:09 virtiofs kata-proxy[20206]: time="2019-07-08T10:12:09.608042943Z" level=info msg="[    1.967379] virtio-pci 0000:01:09.0: enabling device (0000 -> 0002)\n" name=kata-proxy pid=20206 sandbox=b09b3b11d4d3a3d01aa54b06c4d1cd493f5a0f9aadac845dc3e843e7a653a985
 source=agent
Jul 08 10:12:09 virtiofs kata-proxy[20206]: time="2019-07-08T10:12:09.651096121Z" level=info msg="[    2.010187] virtio_blk virtio12: [vdi] 20971520 512-byte logical blocks (10.7 GB/10.0 GiB)\n" name=kata-proxy pid=20206 sandbox=b09b3b11d4d3a3d01aa54b06c4d1cd493f5a0f9aa
dac845dc3e843e7a653a985 source=agent

any idea @devimc?

this change makes it work.
diff --git a/vendor/github.com/intel/govmm/qemu/qmp.go b/vendor/github.com/intel/govmm/qemu/qmp.go
index 359e236..371ed04 100644
--- a/vendor/github.com/intel/govmm/qemu/qmp.go
+++ b/vendor/github.com/intel/govmm/qemu/qmp.go
@@ -1083,9 +1083,9 @@ func (q *QMP) ExecutePCIDeviceAdd(ctx context.Context, blockdevID, devID, driver
        if isVirtioPCI[DeviceDriver(driver)] {
                args["romfile"] = romfile

-               if disableModern {
-                       args["disable-modern"] = disableModern
-               }
+       //      if disableModern {
+       //              args["disable-modern"] = disableModern
+       //      }
        }

        return q.executeCommand(ctx, "device_add", args, nil)

@ganeshmaharaj we need disable-modern on azure

@ganeshmaharaj we need disable-modern on azure

@devimc With the current code in master, disable-modern=off for device passing to docker images with kata. Please correct me if i am wrong, but this is what i am seeing. The call into govmm will never execute the code https://github.com/intel/govmm/blob/master/qemu/qmp.go#L1093-L1099 as the current version of govmm we have does not have this change. https://github.com/intel/govmm/blob/master/qemu/qemu_arch_base.go#L50. This PR is where we are enabling that to be true and disable-modern code executes. Am i missing something here?

Once https://github.com/kata-containers/runtime/pull/1868 lands, I will rebase this change onto master. @egernst @jodh-intel @grahamwhaley I think these two changes should be backported to 1.7.x branch as virtio-fs feature needs this. WDYT?

backport sounds sane to me. /cc @gnawux @stefanha for views on backport suitability and the re-enablement of 'modern'.

/test

Verified that this patch, after rebase works as expected with virtiofs. @jcvenegas @mcastelino @devimc

Looks like https://github.com/kata-containers/runtime/pull/1868 has recently been merged. Are there any other dependancies on this @ganeshmaharaj ? We're super-keen to see this merged and give it a go so we can finally move away from 9p.

@coreyjohnston nope.. none that i can think of. This patch should be ready to land. @egernst @devimc @mcastelino @grahamwhaley @jodh-intel any objections?

merging as it is already approved and all CI passed, thanks @ganeshmaharaj

Brilliant, thanks @ganeshmaharaj !

@coreyjohnston we will be backporting this to 1.8 release, but not to 1.7. Hope that is alright. Since this is still an experimental feature, backporting a vendor change to 1.7 was decided to be much of a risk on the stability front.


Support :version for Recyclable cache keys

It would be nice to have a similar strategy for recycling cache keys like Rails
kredis_list :names_with_custom_key_via_lambda, key: ->(p) { "person:#{p.id}:names_customized", version: ->(p) { p.cache_version } }

As I think about this more, https://github.com/rails/kredis/issues/66 would need to be implemented first... so if the version did not match, it would rebuild the cache using the default proc.


Team Innovators (Challenge-3)

Team Name
Team members
Challenge Number
Product version

Innovator
Giriraj Daga (Affinidi), Prashant M (Dhiway), Vikas J (BetterPlace), Denzil Lewis (Hacker Earth), Neeraj Sharma (SunStone)
3
0.0.1

All details in the added .md file.

While the project works, we are still working on some integrations and video recording of demo. Once complete will update the links in this PR (before 9:30am). So, would be great if this is merged around the time of 9:30am.
Thanks.

For those checking this PR, the product demo link is @ GoogleDrive


[Feature] Add API to execute python file in ray cluster for python client

Why are these changes needed?
Originally, users will need to port-forward and utilize the terminal to submit Python files for execution.(reference)
kubectl port-forward --address <IP_ADDRESS> service/raycluster-kuberay-head-svc 8265:8265
ray job submit --address http://localhost:8265 -- python -c "import ray; ray.init(); print(ray.cluster_resources())"

The exec_file function enables users to submit a Python file to get executed in the ray cluster easily(example).
output, success = my_cluster_util.exec_file("script/test.py", cluster_name, cluster_namespace)
Why modify wait_until_ray_cluster_running()
In the original implementation, it will return True when the ray cluster is not fully ready. Right now, it will return True only when the status.state of the raycluster is equal to ready.

Checks

[x] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

Under /home/ubuntu/kuberay/clients/python-client
pip3 install -e .
python3 -m unittest discover './python_client_test/'

for file in ./examples/*.py
do
    echo "Running $file"
    python3 "$file"
done

@kevin85421 @akanso Would you mind reviewing this PR? Thanks!


Make flutter build ios --config-only provide the correct Flutter.framework library for bitcode configured project

Use case
flutter build ios --config-only, when used with bitcode, this doesn't install the bitcode support for the Flutter library, and then the build fails:

bitcode bundle could not be generated because '/Users/vagrant/git/ios/Flutter/Flutter.framework/Flutter' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '/Users/vagrant/git/ios/Flutter/Flutter.framework/Flutter' for architecture arm64

I have to revert to running flutter build ios before xcode archive, which makes the --config-only option unusable with a bitcode application. I have no choice but to use bitcode, because my app has a watchOS companion app.
Proposal
Make the build step that selects the bitcode/regular binary of the Flutter iOS library (according to the project's settings) available via the --config-only option.

I could not build the project  success with the flutter command tools, from the building logs, it seems to be must special a real device id for it , and currently it not support build it by simulator with flutter command tools.
[        ] Watch companion app found. Adjusting build settings.
[        ] No simulator device ID has been set.
[        ] A device ID is required to build an app with a watchOS companion app.
[        ] Please run "flutter devices" to get a list of available device IDs
[        ] and specify one using the -d, --device-id flag.
[  +24 ms] "flutter ios" took 5,495ms.
[   +6 ms] Encountered error while building for simulator.

Commands had tried those build instruction combinations via the Usage: flutter build ios [arguments], none of them can succeed
example % flutter build ios --target=lib/main.dart --flavor universal  --verbose --simulator -d 077DFA15-0590-4441-93A4-0FC7B5458317

flutter build ios --target=lib/main.dart --flavor universal  --verbose --simulator

flutter build ios --target=lib/main.dart --flavor universal  --verbose --debug  --no-tree-shake-icons --no-config-only

flutter build ios --device-id 077DFA15-0590-4441-93A4-0FC7B5458317 --target=lib/main.dart --flavor universal  --verbose --debug  --no-tree-shake-icons --simulator --no-config-only --no-codesign

@LongXiangGuo that's unrelated, I fixed that in https://github.com/flutter/flutter/issues/96600.

@avi-mastov I know you filed this awhile ago, but I wasn't able to reproduce this anymore.  I opened an example project, set ENABLE_BITCODE then ran flutter build ios --config-only.  From there I was able to build the app from Xcode, or flutter run in release and debug mode.  I'm not sure what version you saw this in.
Any chance you have more complete steps to reproduce?

(maybe you hit https://github.com/flutter/flutter/issues/78589 which was fixed in https://github.com/flutter/flutter/pull/78592)

Hi @jmagman. Thanks a lot for getting back to me on that. Unfortunately, I am no longer working on that project. @YanivAmram will take over this issue.

Thanks @avi-mastov sorry again for the delay.
@yanivamram are you able to reproduce this?  If so, can you give more complete steps to reproduce?

Closing this, I was never able to reproduce, and the only bitcode work we're going to do at this point is remove it https://github.com/flutter/flutter/issues/107887.


[Feature request]: Create nested Layouts

It would be nice enough to be able to create layouts that would imitate other layouts. Let's say this:
/---layout
    |   default.vue
    |
    /---header
            index.vue
            full-width.vue
            sidebar.vue

In the /layout/header/index.vue we create the base with header:
<template>

    <app-header></app-header>

      <nuxt/>

</template>

Next, we complement this layout in an nested /layout/header/sidebar.vue:
<template>

      <nuxt/>

</template>

Finally, we use this layout on the page
<template>

Page content ...

</template>

As a result, we will get a page with the following code:

  <app-header></app-header>

Page content ...

This feature request is available on Nuxt.js community (#c2683)

Activity! Wait answer!

@cawa-93 how about just importing the sidebar component and passing <next /> in the default slot? Do you really need the sidebar to be a layout?
<template>

    <app-header></app-header>

      <Sidebar><nuxt /></Sidebar>

</template>

@visualfanatic I do not quite understand how your proposal solves this issue

I second this request.

With the profispojka solution, you seems to reload the defaultLayout when loading a page with onboardingLayout. I figure it out when I add animation to the Layout.
I find an other solutions, basted on parent and nuxt-child:

working example there : https://github.com/dyanagi/nuxt-nested-routes-example
doc here : https://nuxtjs.org/api/components-nuxt-child/

This is now possible using the standalone <NuxtLayout> component in Nuxt 3 - you can use it even within another layout (e.g. <NuxtLayout name="other-layout"></NuxtLayout>).

working example there : dyanagi/nuxt-nested-routes-example
doc here : nuxtjs.org/api/components-nuxt-child

@kiuKisas Thanks this was exactly what I was looking for! So IIUC every nested index.vue is effectively a nested layout (except <Nuxt/> and <NuxtChild/> are now <NuxtPage/>) right?
@danielroe I struggled to discover this feature coming from Next.js's version. I went to the Nested Routes section first. Maybe just a note about this specific use case 🙏🏼

Great idea 👍


[Question]: llama_index.llms.openai.base.OpenAI._achat raised APIConnectionError: Connection error..

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Have consistent issues with connecting to OpenAI API using achat:
llama_index.llms.openai.base.OpenAI._achat in 0.3866686329223322 seconds as it raised APIConnectionError: Connection error..
I'm using gpt-4o-mini. I have confirmed that it connects correctly via something like self.llm.achat_with_tools in the basic workflow example so I know it's not my API access that is the problem.
Here is the minimal code to raise the above error:

from llama_index.llms.openai import OpenAI
from llama_index.core.workflow import (
	Context,
	Workflow,
	StartEvent,
	StopEvent,
	step,
)

class OpenAIGenerator(Workflow):
    @step()
    async def generate(self, ev: StartEvent) -> StopEvent:
        llm = OpenAI(model="gpt-4o-mini")
        response = await llm.acomplete(ev.query)
        return StopEvent(result=str(response))

async def main():
	w = OpenAIGenerator(timeout=10, verbose=False)
	result = await w.run(query="What's LlamaIndex?")
	print(result)

if __name__ == "__main__":
	import asyncio
	asyncio.run(main())

Which produces error:
Retrying llama_index.llms.openai.base.OpenAI._achat in 0.3866686329223322 seconds as it raised APIConnectionError: Connection error..

I set host to https://api.openai.com/v1/chat/completions and api_key to the correct key (already set in environment but just to be sure), and I still get a connection error.

I had the same issue. I fixed it by deleting my Poetry config file, creating a new one, and then adding the libraries one by one. It might be that some of your libraries are outdated.

Thanks @alouiadel ! I upgraded to openai-1.40.3, and now it does work.
One note is that it only works when I manually set the host= and api_key= in the OpenAI call, which is weird because that key is in my environment already, but hey if it works it works.

I also had to set the OpenAI key, even though I wasn’t using it (another api provider). I think it’s because they’re using OpenAI Like API Approach. My guess is that the OpenAI library isn’t fully optimized in general. Also, if your issue is fixed, close the issue to save the devs from overwhelm, lol.

I wanted to do one last test before closing:
I put OPENAI_BASE_API=https://api.openai.com/v1/completions in the .env file and now don't have to provide api_key and host in the OpenAI() call.
Thanks again for the help.


Can't install the crate

Protobufs are compiled during build step, but protoc-grpcio requires protoc CLI utility to be installed to actually compile anything. Therefore if users of this library don't have this utility installed, this crate won't build. Wouldn't it be better idea to precompile protobufs and keep generated files in repo, like official (Go and JS) clients do?

Good point, I was on dilemma on this decision earlier. For me, was easier to have to generated automatically.


Fix typo and missing line in define-ml-pipeline.md

You may disregard these recommendations if you used the Edit on GitHub button from dvc.org to improve a doc in place.

❗ Please read the guidelines in the Contributing to the Documentation list if you make any substantial changes to the documentation or JS engine.
🐛 Please make sure to mention Fix #issue (if applicable) in the description of the PR. This causes GitHub to close it automatically when the PR is merged.
Please chose to allow us to edit your branch when creating the PR.
Thank you for the contribution - we'll try to review it as soon as possible. 🙏

Addressing ^ in #1005


update the ID if the dhcpvip button

The dhcp vip button is enabled by default. The ID
was updated. Adjusting automation.
Signed-off-by: Alexander Chuzhoy<EMAIL_ADDRESS>

/cc @yobshans @cdvultur @nshidlin

/lgtm


Upgrade Contact Form API Key for Airtable

Airtable will be switching to personal access tokens.
https://support.airtable.com/docs/airtable-api-key-deprecation-notice
Reminder: The UI form targets a microservice/function app.

The API Key that can write to the Airtable base is stored with the function app so that it’s more secure.
The function app uses Airtable’s API to write new records, which populates the table when there is a new request.
This could be a good opportunity to move from Azure to Lambda if we didn’t already & switch the API key to the new method with personal access tokens.

We invested time in this pattern in order to create a light & simple way to do basic database set up for business/product-focused teams to be able to set up data collection tools more easily and make use of the information sharing features of Airtable. This similar approach could be used to integrate with other business systems. This is intended to help avoid the extra burden of passing around excel spreadsheets and extra work to load simple data into tools that are used for day-to-day business operations. The pattern is meant to be agnostic to the technology. The kind of technologies are "collaborative spreadsheets" - so this pattern could work with Airtable, Coda, related Microsoft products, etc.
Current component function & Docs

https://github.com/cagov/services-design-system-cagov-airtable-form

New form backend here https://github.com/cagov/design-system/pull/964
Before creating that new endpoint on AWS I reviewed the airtable no-code form creation tools. It was cool to see that they publish a relatively lightweight form. The engineering team probably still wants to do our own frontends so we can make them super lean and cleanly styled but the no-code versions not being as huge as feared was encouraging. I'd recommend that for business users in many cases.


Incorrect gain due to info["nTelegraphEnable"] in ABF 1.3 files

Hi all,
This is my first time posting on Github, so excuse me if I break any conventions. Anyway, I've been trying to read in .ABF files using both AxonIO and AxonRawIO. My ABF files are created in a somewhat wonky way. I record using a HEKA EPC10 amp, then convert the files from extracted .itx files to .ABF, so I can use Clampfit. To convert them, I use the ABF utility from Synaptosoft. However, this piece of software is old as heck, so it converts my .itx files to .ABF version 1.3.
I've noticed that when I read in my files using either AxonIO or AxonRawIO, the values are way off. The files themselves are integer-based, and in the conversion of integer to floats, something goes wrong. I looked at the code, and it seems that the problem has to do with the gain calculation. Specifically, if I check the info as used by AxonRawIO to calculate the gain (see lines 176 to 186 of neo/rawio/axonrawio.py), the program checks whether info['nTelegraphEnable'] exists. The odd thing is that the info file does contain this variable (specifically, printing info['nTelegraphEnable'] yields an array like the following: array([-7220, -7168, -7137, -7138, -7173, -7231, -7298, -7374, -7454, -7522, -7565, -7577, -7571, -7549, -7520, -7486]). When I open the .ABF file with Clampfit and check the metadata, it explicitly says "Telegraphs disabled". Moreover, when I manually calculate the gain, and forego the division by info['fTelegraphAdditGain'], I get the correct gain, and my files work correctly.
Anyway, I presume this is a bug? Or is .ABF v1.3 too old to be supported by python-neo?
An example .ABF file can be found here. Please note that this is not the exact file I used to generate the array mentioned above. However, the problems are the exact same, as is the solution.
Cheers.

I guess it is a bug.
I will have look.
Normally neo.AxonIo support both ABF1 and ABF2.

I confirm, this is strange the nTelegraphEnable vector should be 1 or 0 and it is some random numbers.
2 hypothesis:

header in ABF 1.3 is different from the spec we have coded (see headerDescriptionV1)
"ABF utility from Synaptosoft" have also a bug when writing the field nTelegraphEnable.

Hypothesis 2 is not very credible because in that camplfit should also fail.

@swharden : here a new challenge, that we can solve both in pyabf and neo.
Here a file version 1.3 come from a converting tools.
It can be open with clmapfit without problem.
In neo the magnitude is wrong due to 'nTelegraphEnable' which is supposed to be 1 or 0 in our implementation. I guess it is the same in pyabf.
Do you have any idea.

When I open the OP's file in ClampFit, this first values are around -200 pA. When I open this file with pyABF the first few values are around -20 pA. Since both values seem reasonable, can somebody verify which values are actually the correct values from the original ITX files?
I agree parts of the header from the ABF created by the SynaptoSoft ABF Utility are buggy (including nTelegraphEnable), but I don't want to get sucked into a rabbit hole of figuring out what the problem is if Neo and pyABF are actually reporting the correct values and a buggy header is causing ClampFit to report the wrong ones.

ClampFit values
pyABF values

pyABF code for reference
import pyabf
abf = pyabf.ABF("130618-1-12.abf")
plt.plot(abf.sweepX, abf.sweepY)
plt.title(abf.abfID)
plt.ylabel(abf.sweepLabelY)
plt.xlabel(abf.sweepLabelX)
plt.show()

Actually, I think there is a simple solution here. nTelegraphEnable should only contain 0s and 1s. Anything else is an improperly-formatted header. A simple fix to support all cases is to specifically look for a 1 (which indicates we need to further scale the data by fTelegraphAdditGain). Anything else (usually 0, or a crazy number in this case) just ignores fTelegraphAdditGain.
Since this problem is an invalid ABF1 header caused by the SynaptoSoft ABF Utility, one wouldn't be faulted for not doing anything to support ABF files with invalid headers. However, here's an easy fix:
Modify axonrawio.py#L182-L183:
if info['nTelegraphEnable'][chan_id]:
	gain /= info['fTelegraphAdditGain'][chan_id]

To look like this:
if info['nTelegraphEnable'][chan_id]!=0:
	gain /= info['fTelegraphAdditGain'][chan_id]

It worked for me with pyABF:

Dear @swharden.
Thank you very much for your expertise in abf format and participation in solving bugs in neo.
The patch looks resonnable.
Maybe we could add a warning when this nTelegraphEnable is buggy like this:
if not np.all(np.in1d(info['nTelegraphEnable'], [0,1]):
    logger.warning('The ABF1 header is probably buggy, nTelegraphEnable have strange values')

Hi @samuelgarcia,
I modified the pull to add a warning based on your suggestion. It only checks for invalidly-formatted headers in ABF version 1 files, but this seems fine since those are likely the only type to be synthesized from scratch using third party utilities.
I liked your suggestion of using np.all and np.in1d, but I find this to flow a bit more logically and to be easier to read. What do you think of the change?
https://github.com/NeuralEnsemble/python-neo/pull/547/files
if info['nTelegraphEnable'][chan_id] == 0:
    pass
elif info['nTelegraphEnable'][chan_id] == 1:
    gain /= info['fTelegraphAdditGain'][chan_id]
else:
    logger.warning('ignoring buggy nTelegraphEnable')

closed by #547


Extend the benefit of js page load optimizaiton to flask and django integrations

And allow user to specify a javascript host in issue #107 so that exported notebook would still have the charts display. The default host is: https://chfw.github.com/jupyter-echarts/echarts, which should be as stable as github and be as widely reachable as github. User is given the choice to use their own host but is recommended to host jupyter-echarts/echarts as it is.
And update jupyter-echarts to 1.0.1 which brings in echart 3.7.0, which was released yesterday. so please do git submodule update after merge.

Codecov Report

Merging #121 into master will decrease coverage by 0.08%.
The diff coverage is 94.33%.

@@            Coverage Diff             @@
##           master     #121      +/-   ##
==========================================
- Coverage   97.41%   97.32%   -0.09%
==========================================
  Files          56       57       +1
  Lines        1972     2019      +47
==========================================
+ Hits         1921     1965      +44
- Misses         51       54       +3

Impacted Files
Coverage Δ

test/test_template.py
100% <ø> (ø)
:arrow_up:

pyecharts/__init__.py
100% <ø> (ø)
:arrow_up:

pyecharts/template.py
98.21% <100%> (+0.06%)
:arrow_up:

pyecharts/constants.py
100% <100%> (ø)
:arrow_up:

test/test_page.py
100% <100%> (ø)
:arrow_up:

test/test_online_feature.py
100% <100%> (ø)

pyecharts/custom/page.py
93.75% <66.66%> (-4.03%)
:arrow_down:

pyecharts/base.py
80% <66.66%> (-0.62%)
:arrow_down:

Continue to review full report at Codecov.

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


Notebook to create parquet from NWM RouteLink

@imanmaghami Thanks for the PR and apologies for the delay in reviewing. Looking at this now... standby.

@imanmaghami
A couple of review comments:
@arpita0911patel pointed out that the uploads for BigQuery (which is part of our target here) require a .parquet output file.
The output assumes a file path, so we changed to a relative local path (which is fine for this example)


Fix bootstrap pipeline.

What
#211 updated this pipeline so that it would work with newer versions
of concourse and pass the linter. This fix wasn't complete because the
added outputs created empty directories that were no longer being
populated, meaning that later tasks couldn't find the necessary files.
This updates the pipeline to be closer to our styleguide and have output
names that are distinct from the task names. It is then explicit in
what's added to the output directorties.
How to review
Run the bootstrap pipeline for a new environment and confirm that it works.
Who can review
Anyone but myself.

I just tried this, and it created the boostrap-deployer OK... but when I tried the create-deployer step, I was met with
cp: can't stat 'ssh-keygen/id_rsa.pub': No such file or directory

vpc-terraform-state

error running command: no matches found for pattern: deploy-vpc/vpc.tfstate


We've been looking for you

Hi @kazzmir and @drafkind
I just stumbled across this accidentally. I run the Mater of Magic facebook group and a MoM fan website that tributes fan projects. Are you guys the same "MoM Clone" project as the one that existed on these archived websites below and also released a MoM 0.6.0 demo with multiplayer many years ago? They went under the name "Illustrious Software".
If so is the source you have here a newer version than that old 0.6.0 demo? Whatever happened to this project? Players get a "soccet -error" when they try multiplayer in the old demo, is that because its trying to connect to server game matching software that doesn't exist? And when you say clone just how much of a clone is it really since the source code to original mom is lost?
http://web.archive.org/web/20130726013248/http://www.illustrious-software.co.uk/showpage.php?page=main
http://web.archive.org/web/20051214105151/http://www.masterofmagic.co.uk/

The old website says "George Quinn, Ewen Lee & Lee Gardiner" as the creators which doesn't match your names, so maybe this is another failed clone project?

Hi we are a separate project from those other ones. Chalk us up as another
failed clone.
On Mon, Mar 2, 2020 at 3:24 AM Blakeley00<EMAIL_ADDRESS>wrote:

Hi @kazzmir https://github.com/kazzmir and @drafkind
https://github.com/drafkind
I just stumbled across this accidentally. I run the Mater of Magic
facebook group and a MoM fan website that tributes fan projects. Are you
guys the same "MoM Clone" project as the one that existed on these archived
websites below and also released a MoM 0.6.0 demo with multiplayer many
years ago? They went under the name "Illustrious Software".
If so is the source you have here a newer version than that old 0.6.0
demo? Whatever happened to this project? Players get a "soccet -error" when
they try multiplayer in the old demo, is that because its trying to connect
to server game matching software that doesn't exist? And when you say clone
just how much of a clone is it really since the source code to original mom
is lost?
http://web.archive.org/web/20130726013248/http://www.illustrious-software.co.uk/showpage.php?page=main
http://web.archive.org/web/20051214105151/http://www.masterofmagic.co.uk/
[image: MClone01]
https://user-images.githubusercontent.com/26017445/75657218-9c56ed80-5cb5-11ea-89ab-dca3e5258c94.jpg
The old website says "George Quinn, Ewen Lee & Lee Gardiner" as the
creators which doesn't match your names, so maybe this is another failed
clone project?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kazzmir/master-of-magic/issues/2?email_source=notifications&email_token=AAE4A7HAZ53WQZAGH4PB5TLRFNUNHA5CNFSM4K7O75P2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IRTOMDQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE4A7BGAAEJIC4CJ52VALDRFNUNHANCNFSM4K7O75PQ
.

Hi we are a separate project from those other ones. Chalk us up as another failed clone.

Sorry to hear that @drafkind . Oh well if you and @kazzmir are still interesting in talking about or watching other rebuild attempts then feel free to come join the Master of Magic Discord that I help run. We recently created a MoM Reverse Engineering sub chat there as another fellow is working on a similar project to rewrite MoM and Civizard (the MoM playstation remake).
Implode who made the Master of Magic HD Multiplayer remake over the last 15 years that's getting very complete now also lurks our discord too as he's still working away on MoM-IME (recently implemented working global AI and taught it to build roads in between trying to kill you lol!).
I found another group here on github who appear to be working on a similar project called Open-MoM and I can see there's been work on their files even in the last few months so I might invite them too.
And finally I'm not sure how connected you guys are to the MoM fan community these days and MoM news but as previously mentioned I run a Facebook MoM group and help run the Discord too. We try to keep up to date on all official and fan projects so if you've been missing out on all the good MoM news then come drop by! :)
For example Slitherine have purchased the MoM rights from Atari and are selling MoM on GoG & steam, and best of all appear to be working on a official MoM2 sequel!! They're super keen to get their hands on MoM's long lost source code and have expressed interest in rebuild projects too.. They started working with Caster of Magic creator Seravy and are now selling his MoM mod as an official addon! He too is currently rebuilding MoM from the ground up (except he's using his 10-15 years of hacking every part on MoM to rebuild it super quick) and is making a Caster of Magic 2 which he's already posting public alphas over at the Realms Beyond MoM forum. Slitherine have also made a new official Master of Magic forum too. I actually made a thread there telling them about all the source possibilities and rebuild projects I knew and included yours.
I think that's all the good stuff haha.. Hope to see you guys in the communities some time if you're not already there as your knowledge and experience of tinkering with MoM files would be most welcome. :)

Just a quick update guys.. Jim's MoM rebuild project on the [Master of Magic Discord](https://discord.gg/wFNQf36 has gotten quite far now so here's some links if of interest..
Github: https://github.com/jbalcomb/ReMoM/
Video: https://youtu.be/d-PlvxV_Ek0

Just a quick update for you guys ( @kazzmir & @drafkind ).. Jim's opensource MoM reassembly project in the Master of Magic Discord reverse engineering area has gotten quite far now so here's some links if of interest..
Github: https://github.com/jbalcomb/ReMoM/
Video: https://youtu.be/d-PlvxV_Ek0

I joined the magic discord server and talk to Jim frequently. Closing this for now.


bug(hubble): DB can be corrupted if connection is reset while downloading snapshot

What is the bug?
If the connection is interrupted when downloading the snapshot, the db is corrupted and hubble doesn't recover. We should either retry on connection reset, or detect this case and recover gracefully.
hubble-1  | {"message":"{\"level\":30,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"chunkCount\":25,\"totalChunks\":32,\"msg\":\"Downloading snapshot chunks...\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":30,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"chunkCount\":26,\"totalChunks\":32,\"msg\":\"Downloading snapshot chunks...\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"error\":{\"code\":\"ECONNRESET\"},\"msg\":\"Error extracting snapshot\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"error\":{\"errCode\":\"unavailable\",\"presentable\":false,\"name\":\"HubError\"},\"msg\":\"failed to sync snapshot, falling back to regular sync\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":30,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"msg\":\"attempting catchup sync with snapshot\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":30,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"currentItemCount\":415158543,\"delta\":143933,\"limit\":25000000,\"msg\":\"catchup sync using snapshot not required\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"msg\":\"catchup sync skipped\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"retryCount\":1,\"error\":{},\"errorMessage\":\"db.internal_error/Corruption: Corruption: IO error: No such file or directory: While open a file for random read: .rocks/rocks.hub._default/004268.sst: No such file or directory  The file .rocks/rocks.hub._default/MANIFEST-000005 may be corrupted.\",\"msg\":\"failed to open rocksdb. Retry in 15s\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"retryCount\":2,\"error\":{},\"errorMessage\":\"db is opening\",\"msg\":\"failed to open rocksdb. Retry in 15s\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"retryCount\":3,\"error\":{},\"errorMessage\":\"db is opening\",\"msg\":\"failed to open rocksdb. Retry in 15s\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"retryCount\":4,\"error\":{},\"errorMessage\":\"db is opening\",\"msg\":\"failed to open rocksdb. Retry in 15s\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":50,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"retryCount\":5,\"error\":{},\"errorMessage\":\"db is opening\",\"msg\":\"failed to open rocksdb. Retry in 15s\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}
hubble-1  | {"message":"{\"level\":30,\"time\":1718039666691,\"pid\":29,\"hostname\":\"a0a85eb82e41\",\"msg\":\"Stopping Hubble...\"}\n","timestamp":"2024-06-10T17:14:26.691Z","type":"out","process_id":0,"app_name":"hubble"}

How can it be reproduced? (optional)
Interrupt the connection when snapshot is being downloaded
Additional context (optional)
Add any other context about the problem here.

I also faced this issue, db was corrupted if the connection broke.

ran into this as well, some more details here: https://warpcast.com/maxp.eth/0x67b6d676

See the same issue, my computer close by mistake, how can I restart this?

I have the same behavior.
 Starting Hubble
------------------
Please wait... This may take several minutes
{"level":60,"time":1721136330997,"pid":30,"hostname":"4fc841bda700","err":{"type":"Error","message":"Failed to start hub: db.internal_error/Corruption: Corruption: IO error: No such file or directory: While open a file for random read: .rocks/rocks.hub._default/trieDb/001412.sst: No such file or directory  The file .rocks/rocks.hub._default/trieDb/MANIFEST-000005 may be corrupted.","stack":"Error: Failed to start hub\n    at file:///home/node/app/apps/hubble/src/cli.ts:701:14\n    at /home/node/app/node_modules/neverthrow/dist/index.cjs.js:113:102\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at Command.<anonymous> (file:///home/node/app/apps/hubble/src/cli.ts:699:25)\ncaused by: Error: db.internal_error/Corruption: Corruption: IO error: No such file or directory: While open a file for random read: .rocks/rocks.hub._default/trieDb/001412.sst: No such file or directory  The file .rocks/rocks.hub._default/trieDb/MANIFEST-000005 may be corrupted.\n    at rsDbOpen (file:///home/node/app/apps/hubble/src/rustfunctions.ts:112:14)\n    at file:///home/node/app/apps/hubble/src/storage/db/rocksdb.ts:160:9\n    at new Promise (<anonymous>)\n    at RocksDB.open (file:///home/node/app/apps/hubble/src/storage/db/rocksdb.ts:151:12)\n    at Function.numItems (file:///home/node/app/apps/hubble/src/network/sync/merkleTrie.ts:129:14)\n    at Hub.attemptCatchupSyncWithSnapshot (file:///home/node/app/apps/hubble/src/hubble.ts:904:40)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at Hub.start (file:///home/node/app/apps/hubble/src/hubble.ts:601:27)\n    at Command.<anonymous> (file:///home/node/app/apps/hubble/src/cli.ts:699:25)"},"msg":"Failed to start hub"}
{"level":60,"time":1721136331129,"pid":30,"hostname":"4fc841bda700","reason":"Hub Startup failed","msg":"shutting down hub"}
{"level":30,"time":1721136332430,"pid":30,"hostname":"4fc841bda700","server":{"address":"statsd","port":8125,"family":4},"msg":"Statsd server specified. Statsd enabled"}
{"level":30,"time":1721136332430,"pid":30,"hostname":"4fc841bda700","msg":"StorageRegistry: 0x00000000fcce7f938e7ae6d3c335bd6a1a7c593d, KeyRegistry: 0x00000000Fc1237824fb747aBDE0FF18990E59b7e, IdRegistry: 0x00000000Fc6c5F01Fc30151999387Bb99A9f489b"}
{"level":30,"time":1721136332430,"pid":30,"hostname":"4fc841bda700","totalPruneSize":10080,"msg":"total default storage limit size"}
{"level":30,"time":1721136332430,"pid":30,"hostname":"4fc841bda700","rpcRateLimit":20000,"msg":"RPC rate limit enabled"}
{"level":30,"time":1721136332430,"pid":30,"hostname":"4fc841bda700","component":"utils/p2p","ip":"<IP_ADDRESS>","msg":"Fetched public IP"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"attempting catchup sync with snapshot"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopping Hubble..."}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped http API server"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"gRPC server force shutdown succeeded"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped watching contract events"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped watching contract events"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped watching contract events"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped watching block numbers"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped fname events provider"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"L2EventsProvider stopped"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Sync engine stopped"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Stopped libp2p..."}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"stopping engine"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"engine stopped"}
{"level":30,"time":1721136332431,"pid":30,"hostname":"4fc841bda700","msg":"Hubble stopped, exiting normally"}

This should be fixed by https://github.com/farcasterxyz/hub-monorepo/pull/2236, included in the latest release (1.14.3).


Second order data on Contract class

We're about to have 2nd order data. It would make sense to make these accessible on the Contract object.
For example:
contract = Contract(address="0x1F98431c8aD98523631AE4a59f267346ea31F984") # the Uniswap Factory Pool

contract.ledger.fn_createPool()

This could return the content of

ETHEREUM.ETH_0x1F98431c8aD98523631AE4a59f267346ea31F984_fn_createPool where block_number < {context.block_number}

or even

contract.ledger.fn_createPool(where='some where clause?')

Implemented as contract.ledger.functions.createPool()


Interaktywny samouczek - Tworzenie klastra

on chrome, on windows 11, "windows is still to small" despite being full screen on 1920x1080....
Due to that self learner does not work showing communicate windows is too narrow use desktop/tablet version.

@PLchochliman  Please write suitable Title for the issue in english.

/language po
/triage needs-information
/sig docs

/language pl

It will be good to use different browser or you can check windows 11 Display setting.
Check your zoom level. Sometimes, websites may not work properly if you have an unusual zoom level set.
I think this will help you .

Zoom level is 100%
Cannon use different browser on this PC
wt., 17 paź 2023, 09:49 użytkownik Niranjan Darshan <
@.***> napisał:

It will be good to use different browser or you can check windows 11
Display setting.
Check your zoom level. Sometimes, websites may not work properly if you
have an unusual zoom level set.
I think this will help you .
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/issues/43517#issuecomment-1765861667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKIA35NIL26SHQHMB2V5TDX7Y2B5AVCNFSM6AAAAAA6DLCJMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRVHA3DCNRWG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi.
What's the URL of the web page that doesn't look right?

I have a feeling that the Polish localization is out of date with respect to English and this may be a page that no longer exists in the English docs.

URL:
https://kubernetes.io/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/
wt., 17 paź 2023 o 17:16 Tim Bannister @.***>
napisał(a):

I have a feeling that the Polish localization is out of date with respect
to English and this may be a page that no longer exists in the English docs.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/issues/43517#issuecomment-1766631525,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKIA34HGZBYPP4TTUEVLSTX72ONNAVCNFSM6AAAAAA6DLCJMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRWGYZTCNJSGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

@PLchochliman, @sftim,

I have a feeling that the Polish localization is out of date with respect to English and this may be a page that no longer exists in the English docs.
URL:
https://kubernetes.io/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/

I have verified this url and @sftim assumption is correct here. This page is related to katakoda tutorial session which is no longer exit and polish localization is not in sync with english localization.

ok thanks, have a nice day :-)
czw., 23 lis 2023 o 10:40 lakshmi prasuna @.***>
napisał(a):

@PLchochliman https://github.com/PLchochliman, @sftim
https://github.com/sftim,
I have a feeling that the Polish localization is out of date with respect
to English and this may be a page that no longer exists in the English docs.
URL:
https://kubernetes.io/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/
I have verified this url and @sftim https://github.com/sftim assumption
is correct here. This page is related to katakoda tutorial session which is
no longer exit and polish localization is not in sync with english
localization.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/issues/43517#issuecomment-1824075908,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKIA3YSUUHRM67LWGY3RFDYF4KZPAVCNFSM6AAAAAA6DLCJMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRUGA3TKOJQHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Issue doesn't need a fix but rather PO localization needs to sync with original site as the page doesn't exist, and you can change the localization of page easily through an option at top right corner.
/close


Add FilteredAccess::empty and simplify the implementatin of update_component_access for AnyOf/Or

Objective

The implementation of update_component_access for AnyOf/Or is kinda weird due to special casing the first filter, let's simplify it;
Fundamentally we want to fold/reduce the various filters using an OR operation, however in order to do a proper fold we need a neutral element for the initial accumulator, which for OR is FALSE. However we didn't have a way to create a FilteredAccess value corresponding to FALSE and thus the only option was reducing, which special cases the first element as being the initial accumulator.

This is an alternative to https://github.com/bevyengine/bevy/pull/14026
Solution

Introduce FilteredAccess::empty as a way to create a FilteredAccess corresponding to the logical proposition FALSE;
Use it as the initial accumulator for the above operations, allowing to handle all the elements to fold in the same way.

Migration Guide

The behaviour of AnyOf<()> and Or<()> has been changed to match no archetypes rather than all archetypes to naturally match the corresponding logical operation. Consider replacing them with () instead.

Does this change the behavior of Or<()>? The old code seems to be a no-op while the new code seems to remove all filter_sets. Mostly from a breaking changes standpoint.

Yes, this is already mentioned in the migration guide.
I could avoid this breaking change by adding a bit of complexity in the code, but the current behaviour seems wrong to me so this is also an occasion to fix it. Or should match those archetypes that satisfy one of its inner filters, but if there's no filter then no filter is satisfied and no archetype should be matched, while the current behaviour is to match all of them. That said, I don't think someone is actually using Or<()> since it makes no sense, but if they are then chances are they expect the new behaviour, not the old one.


Item Tokens Not being Generated on Initialization

Describe the Bug with repro steps

Create a Service Bus connection
Create an action below service bus (When messages are available in a topic)
Use an item token from service bus
Save
Refresh Page
View Workflow again
Go into action below service bus
See token has gone missing, also open token picker and see that there are not outputs being generated from servicebus action

What type of Logic App Is this happening in?
Standard (Portal)
Are you using Preview Designer or GA Designer
Preview
Workflow JSON
No response
Screenshots or Videos
On Add

On Initialize

Browser
Edge
Additional context
No response

@Eric-B-Wu this seems to be dynamic outputs issue with the trigger, does this trigger requires dynamic outputs or is this split on issue?

I'm referring to the output from the trigger, it seems like we aren't splitting the output in initialization, which causes a loss of tokens

So this is a split On issue which is not processing splitOn during deserialization


XamlListView throw exception

System.InvalidCastException: 'Unable to cast object of type 'System.Char' to type 'System.String'.'
at ListViewSample.SimpleGridViewSample.SimpleGridViewSample_obj10_Bindings.Update_Key(Object obj, Int32 phase)
at ListViewSample.SimpleGridViewSample.SimpleGridViewSample_obj10_Bindings.Update_(GroupInfoList obj, Int32 phase)
at ListViewSample.SimpleGridViewSample.SimpleGridViewSample_obj10_Bindings.Update()
at ListViewSample.SimpleGridViewSample.SimpleGridViewSample_obj10_Bindings.DataContextChangedHandler(FrameworkElement sender, DataContextChangedEventArgs args)

Quick fix is to make GetContactsGrouped in Contacts.cs (line 108) select a String key to group on instead of a Char. Also added ToUpper to eliminate a mixed case scenario.
var query = from item in GetContacts(numberOfContacts)
                        group item by item.LastName.Substring(0, 1).ToUpper() into g
                        orderby g.Key
                        select new { GroupName = g.Key, Items = g };

Fixed in v5.0.4


Add Support for IA3 Adapters in add_weighted_adapter Method

Feature request
I propose adding support for IA3 adapters in the add_weighted_adapter method used within the PEFT module of the transformers library. IA3 adapters enhance model adaptability with minimal parameter increase, offering significant benefits for efficient and effective model fine-tuning across various tasks. This feature would allow users to integrate IA3 adapters seamlessly, thereby expanding the functional capabilities of the library.
Motivation
The motivation behind this proposal is to address the current limitation in the PEFT module of the transformers library, where IA3 adapters are supported but the merging of IA3 adapters using the add_weighted_adapter method is not implemented. This gap leads to errors such as 'IA3Model' object has no attribute 'add_weighted_adapter' when attempting to merge IA3 adapters.
The ability to merge IA3 adapters is crucial for users who rely on the PEFT module for efficient model adaptation and fine-tuning. Without this functionality, users are unable to leverage the benefits of IA3 adapters, such as reduced memory footprint and customizable model tuning, within the PEFT architecture.
By adding support for merging IA3 adapters using the add_weighted_adapter method, users can seamlessly integrate IA3 adapters into their workflows, enhancing the adaptability and efficiency of their transformer models. This enhancement aligns with the broader goal of providing users with flexible and efficient tools for NLP tasks, thereby improving the overall usability and effectiveness of the transformers library.
Your contribution
I do not have a complete implementation in mind, but I suggest starting with an evaluation of the current add_weighted_adapter function to determine the necessary modifications for supporting IA3 adapters. Collaboration with researchers familiar with IA3 and PEFT could provide insights into feasible approaches.

cc @BenjaminBossan who worked on IA3 🙏

Duplicate of #1688.


Support Resolve 18

Also I'm running Resolve 18 atm and so far works a charm. I do like to develop using poetry though, which doesn't allow ignoring required python version unfortunately... so I'm running my projects off my own fork of pydavinci atm. I suppose the only way to juggle support for 17 and 18 without having separate packages is to check at runtime?
Originally posted by @in03 in https://github.com/pedrolabonia/pydavinci/issues/18#issuecomment-1272288384

Closed with your great work https://github.com/pedrolabonia/pydavinci/commit/17c8c10c102e8dcdae96f881c5f367976165fe37
:)


Export as Single File using Shared size

Is your feature request related to a problem? Please describe.
Setting shared size seems to make it possible to export one file
Describe the solution you'd like
See discussion in https://groups.google.com/g/google-earth-engine-developers/c/eMdibbOdziQ

won't fix
REASON
max file size is above 4GB for some orbits: Limit for exported files before compression are max 2GB
There are three limitations on fileDimensions. It need to be a multiple of shardSize, it cannot be larger than 131072, and the size of the file before compression cannot **exceed<PHONE_NUMBER>3 bytes (2GB)**. To come up with a way to find the maximum valid fileDimensions is a tricky little problem
as stated in [https://gis.stackexchange.com/a/360062/190185]


Create runbooks for seven VirtOperator related alerts.

Signed-off-by: Hao Yu<EMAIL_ADDRESS>

To make this runbook compatible with both upstream and downstream, would you consider exporting the namespace and using it after (for example, kubevirt for upstream, openshift-cnv for downstream)? I see in other runbook the following :

Set the environment variable NAMESPACE

export NAMESPACE="$(kubectl get kubevirt -A -o custom-columns="":.metadata.namespace)"

Then use it in other commands, for example

kubectl -n $NAMESPACE get pods -l kubevirt.io=virt-api

To make this runbook compatible with both upstream and downstream, would you consider exporting the namespace and using it after (for example, kubevirt for upstream, openshift-cnv for downstream)? I see in other runbook the following :

Set the environment variable NAMESPACE

export NAMESPACE="$(kubectl get kubevirt -A -o custom-columns="":.metadata.namespace)"

Then use it in other commands, for example

kubectl -n $NAMESPACE get pods -l kubevirt.io=virt-api

@yuhaohaoyu Can you please add the step

Set the environment variable NAMESPACE

export NAMESPACE="$(kubectl get kubevirt -A -o custom-columns="":.metadata.namespace)"

and replace "-n kubevirt" with "-n $NAMESPACE" in all commands? ?

To make this runbook compatible with both upstream and downstream, would you consider exporting the namespace and using it after (for example, kubevirt for upstream, openshift-cnv for downstream)? I see in other runbook the following :

Set the environment variable NAMESPACE

export NAMESPACE="$(kubectl get kubevirt -A -o custom-columns="":.metadata.namespace)"

Then use it in other commands, for example

kubectl -n $NAMESPACE get pods -l kubevirt.io=virt-api

@yuhaohaoyu Can you please add the step

Set the environment variable NAMESPACE

export NAMESPACE="$(kubectl get kubevirt -A -o custom-columns="":.metadata.namespace)"

and replace "-n kubevirt" with "-n $NAMESPACE" in all commands? ?

@yuhaohaoyu Please update this PR based on the comments

@yuhaohaoyu Hi, Please fixe based on the comments above and rebase...

@yuhaohaoyu Hi, Please fixe based on the comments above and rebase...

Hi Shirley, This PR was replaced by #45 that has merged. Do you want me to close this PR ?


STM32H5xx ADC

This updates stm32-metapac to include changes enabling the ADC peripherals in the STM32Hxx family of parts. An example has also been added and was tested as working on an Nucleo-H533 dev board.
Fixes #2938

bender run


What else should be done to run this?

Challenge Import a Google Font has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

CatPhotoApp

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

@shahriar19921: Please enquire in the Help room for challenge related help and/or guidance, as this page is reserved for issues. Happy Coding!

@shahriar19921 Thank you for reporting this issue.
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "help" button on the challenge on freeCodeCamp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding!

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

@Lienhto
Please do not post your solution on here. You could help people at FreeCodeCamp Chat Room or Forum. GitHub Issues are for reporting bugs on the website only.
Happy Coding!


feat(apt_repository): Allow specifying arbitrary options

Description
This allows specifying additional options to apt repositories, in addition to trusted and arch.
By using an array of strings we also allow using multivalue operators like -= and +=
Related Issue
Fixes: #13727
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have run the pre-merge tests locally and they pass.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

@tmccombs if you could rebase to clean up the kitchen tests (Debian 9 is a known failure still) and ping me back we can get this merged.

@tpowell-progress I've rebased onto the new main.


Fix for end of line issue on Windows

When reading from a text file on Windows line ending is CRLF, unlike on Linux whish is LF.
The code did not properly handle the line ending on Windows due to discrepancy in the interpretation of line endings between the tellg() function and the C++ runtime.
tellg() function considers CRLF (Carriage Return + Line Feed) as two characters, but when filling the buffer,  C++ runtime interprets CRLF as a single character. As a result, the buffer contained incorrect data at the end of the buffer.
To address this issue, files are opened in binary mode to ensure that line ending is LF in both Windows and Linux.

@DrizztDoUrden Can you please look at this.

@saeid-rostami I am not sure that if using [uif2-initial](https://github.com/ROCmSoftwarePlatform/MIOpen/tree/uif2-initial) as a baseline is a good idea. You may with to rebase this change on top of develop. That would allow merging your fix into the main development branch of MIOpen sooner than uif2-initial is merged in. But this is up to you, of course.

@saeid-rostami with #2515 up, should we close this one?

@junliume uif2-initial is only 7 commits behind develop and can be easily updated from there, I guess ;)

Yes we can close this one.


Update the cloud-init

Changes:

Install the cloud-init from the distro
Use cloud.cfg from 8.3 cloud-init scripts and add proper comments for the changes made

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mkumatag
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [mkumatag]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @bpradipt @sudeeshjohn

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bpradipt, mkumatag
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [mkumatag]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Support np.newaxis indexing

np.newaxis can be used to add length 1 dimensions when indexing an array.
I.e. a[np.newaxis, :] it is a nicer way to express a.reshape((1,-1)).
It currently fails with numba.errors.InternalError: unsupported array index type none in (none, slice<a:b>)

Both np.newaxis and None are still not supported for indexing...

np.expand_dims() should be supported though

It seems like np.expand_dims() works...

The solution here is not simply using np.expand_dims() as a substitute for np.newaxis (or None) indexing. The main issue is having to significantly modify working Numpy code in order to accomodate for Numba's shortcomings...
Offtopic: It's been more than 4 years, and this lack of support for basic Numpy features is one of the reasons I rarely recommend Numba to anyone. Nowadays, I find that Pytorch's JIT + their (nearly) full "Numpy" API support is much easier to write than Numba and often achieves better performance (for parallel code on CPU, at least).

Offtopic: It's been more than 4 years, and this lack of support for basic Numpy features is one of the reasons I rarely recommend Numba to anyone. Nowadays, I find that Pytorch's JIT + their (nearly) full "Numpy" API support is much easier to write than Numba and often achieves better performance (for parallel code on CPU, at least).

I'm happy that there is a tool out there that meets your needs, and I think this is a nice example of how a diverse ecosystem of co-existing implementations can satisfy the needs of many users with differing requirements - thank you for sharing your experience.

PR #8513 implements this feature, with thanks to @kc611!


Stop manually building the oracledb python dependency in omnibus

What does this PR do?

Stop manually building the oracledb python dependency in omnibus
Motivation

https://github.com/DataDog/integrations-core/pull/15595
https://github.com/DataDog/datadog-agent/pull/18216

Oracledb now supports cython>=3 OOTB
Additional Notes

We need to merge the PR in integrations-core first and restart the CI here
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

LGTM! Could you add a small note in the commit mentioning that this isn't required now that orabledb-py3 correctly supports cython 3.0?

Added to the PR description 👍


Duplicate Twitter Links in Footer, Missing Instagram and Reddit Links

Duplicate Twitter Links in Footer, Missing Instagram and Reddit Links
Describe the bug
The footer in the landing.tsx component contains two links to Twitter and does not include links to Instagram or Reddit.

To Reproduce
Steps to reproduce the behavior:

Go to the landing page of the application.
Scroll down to the footer section.
Observe that there are two Twitter links.
Notice that there are no links to Instagram or Reddit.

you can work on the issue, if you want to.

@Bot-Rakshit i have done it #31 could look at that plz


various amendments

Hi @FlorianWilhelm,
I spent some time on your Hatchlor.
I did some amendments you left over: I included two options for local comitting and versioning - bump-my-version/generate-changelog or semantic-release. Both are - if set up - easy to use. I included a basic config for both tools in the pyproject.toml template so everbody is free to use the one or the other.
Furthermore I added gitlint which I find useful to enforce conventional commit compliant commit messages - pretty useful if you automate the changelog generation with generate_changelog or semantic-release. gitlint is cool stuff and for example works also within PyCharm which is my favorite IDE (which is probably not surprising for the more professional Python developer than I would claim for myself).
Finally I did some rework on the GitHub workflows.
These are the main changes I think. Please find approriate comments in the README.md as well.

Generel remark: I am afraid this pull request still has some escaping errors. Fix is on the way. :-(

Regarding co-maintainer: I feel honoured you are asking. I am just not sure if I am experienced enough. I mean I think I am not a rookie in IT and in development but at least a newbie in the Python Packaging universe ...

I would love to see PyScaffold become Hatch-enabled to allow to work with Hatch-based scaffolds and probably migrating Hatchlor to a PyScaffold template. So far I am struggling with Cruft which is less well maintained and does not work in my environment.

PyScaffold follows a completely different approach and uses traditional tools like setuptools only. To make it hatch-based would mean to rewrite almost everything... Not sure that really makes sense and that this should be done. What would you gain from it? The idea was to have a lightweight Hatchlor for people using hatch (and there aren't that many) and PyScaffold for developers that want to stick with a traditional toolchain.

Hm. My understanding was that PyScaffold helps to follow and adopt changes in an underlying template. I wonder why this should not be of interest for Hatch based delopment as for "traditional" toolchain. Only other tool I found is cruft but it is less well maintained and I am not yet too confident in this tool.


OpenFPGA flow fails when an extra reg is added to the and2_latch

Describe the bug
Hi, I modified and2_latch.v and added a extra reg (attached below) and took it through the OpenFPGA flow using write_full_testbench_example_script and it fails with an error "VprError". I have attached the logs and the task config file below. Let me know how to resolve this. Thank you

[ ] OpenFPGA flow

To Reproduce
Steps to reproduce the behavior:

Clone OpenFPGA repository and checkout commit id: a2cb153d541d1a2facec65eaa876bd061c6b3748
Execute OpenFPGA task or your own example:
See error

Verilog benchmark file:

`timescale 1ns / 1ps

module and2_latch(
  a,
  b,
  clk,
  c,
  d);

input wire clk;

input wire a;
input wire b;
output wire c;
output reg d;
reg temp; // addition from original file

assign c = a & b;

always @(posedge clk) begin
  temp <= c;
  d <= temp;
end

endmodule

Task Conf file:
[GENERAL]
run_engine=openfpga_shell
power_tech_file = ${PATH:OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.xml
power_analysis = true
spice_output=false
verilog_output=true
timeout_each_job = 20*60
fpga_flow=yosys_vpr

[OpenFPGA_SHELL]
openfpga_shell_template=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_shell_scripts/write_full_testbench_example_script.openfpga
openfpga_arch_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_arch/k4_N4_40nm_cc_openfpga.xml
openfpga_sim_setting_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_simulation_settings/auto_sim_openfpga.xml
openfpga_vpr_device_layout=
openfpga_fast_configuration=

[ARCHITECTURES]
arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k4_N4_tileable_40nm.xml

[BENCHMARKS]
bench0=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2_latch/and2_latch.v

bench1=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and3/and3.v

bench2=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/or2/or2.v

[SYNTHESIS_PARAM]
bench0_top = and2_latch

bench0_chan_width = 300

bench1_top = and3
bench1_chan_width = 300

bench2_top = or2
bench2_chan_width = 300

[SCRIPT_PARAM_MIN_ROUTE_CHAN_WIDTH]
end_flow_with_test=

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Enviornment (please complete the following information):

OS:  Ubuntu 20.04

Compiler:

Version:

[ ] Current master

Additional context
Add any other context about the problem here.
00_and2_latch_MIN_ROUTE_CHAN_WIDTH_out.log
openfpgashell.log

Using a fixed clock frequency, clock cycles and removing the activity file from the openfpga shell script solves the issue.
But if the activity file is included and clock freq is set to auto, this flow fails.

@abishekshivram I looked into the log file. This is due to that VPR removes some redundant nets during optimization which causes the inconsistency error. You may add the option --absorb_buffer_luts off to disable this net removals.
For example:
https://github.com/lnis-uofu/OpenFPGA/blob/223e06d23c070b4d704a4e120b53e85d738cd162/openfpga_flow/openfpga_shell_scripts/mcnc_example_script.openfpga#L3

@tangxifan Thanks for the reply. This fixes if the xml file is "k4_N4_40nm_cc_openfpga". However, when we take this modified verilog testbench (and2_latch) through few of frac LUT based xml files like "k4_frac_N4_40nm_cc_openfpga", "k6_frac_N10_adder_chain_40nm_openfpga": the openfpga flow successfully passes, but the verification fails. This fail is that the gfpga signals are at "x" or high.  I have tried using fixed_clock_frequency also. Let me know what you think could be the reason.

This solves the inconsistency error, thank you @tangxifan


Method not found: ClosedXML.Excel.IXLCell.SetDataType(XLCellValue)

There was a breaking change in ClosedXML 0.91.0
Instead of ClosedXML.Excel.IXLCell.SetDataType(XLCellValue) you now need to use ClosedXML.Excel.IXLCell.SetDataType(XLDataType)
Because of this DoddleReport.OpenXml.ExcelReportWriter.WriteReport doesn't work.

I created a pull request to fix this.


Fix buttons losing text after deselection on Android

That did not seem to do it, will look for another solution.

I'll handle it as a separate, scoped PR.


Accelerator option

Hi! I used accelerator feature in an cascade option but I get: ValueError: ['accelerator'] are not supported arguments. Doesn't this support accelerator, or it's another function like this?

@HojdaAdelin Accelerator is not implemented currently.


Fix deprecation warning on use of Site.RSSLink

This PR closes #880.

Sorry, I missed your nice PR.
#880 was fixed by #886


Adding option to highlight streams that are live. Adding minimap high…

toggle ability to show up as a streamer, hcim trying to do some wildy content atm

Not 100% sure what this pull request is.
You wrote 'toggle ability to show up as a streamer, hcim trying to do some wildy content atm'
I suppose this might be a feature request to have a toggle button to remove yourself as a streamer so that in some situations like doing wildy content you're not highlighted?
Unfortunately, I think it's impossible to add this feature - The current plugin is rather simple, and to implement it the way you're suggesting requires a much more sophisticated architecture (real time updating for all people)
Unfortunately for now, you're either added as a streamer, or not.
However you can rest assured that the plugin doesn't give people any advantages in finding your character in the wildy.  Again, there's no disadvantage in being a streamer and doing HC wildy content.
I really appreciate the feature request, however unfortunately this one is impossible.
If you have any future issues to report or feature requests please don't hesitate in logging them. :)

Not 100% sure what this pull request is.
You wrote 'toggle ability to show up as a streamer, hcim trying to do some wildy content atm'
I suppose this might be a feature request to have a toggle button to remove yourself as a streamer so that in some situations like doing wildy content you're not highlighted?
Unfortunately, I think it's impossible to add this feature - The current plugin is rather simple, and to implement it the way you're suggesting requires a much more sophisticated architecture (real time updating for all people)
Unfortunately for now, you're either added as a streamer, or not.
However you can rest assured that the plugin doesn't give people any advantages in finding your character in the wildy.  Again, there's no disadvantage in being a streamer and doing HC wildy content.
I really appreciate the feature request, however unfortunately this one is impossible.
If you have any future issues to report or feature requests please don't hesitate in logging them. :)


Expose global variables on CU12's integration events

In order to "play nicely" with the posting engine in codeunit 12, we'd like to have access to its global variables when it raises an integration event.
In other words, we'd like the GlobalVarAccess property set to "Yes" for each of the four integration events.  Is that possible?

This issue appears to have been resolved. Closing issue.


Add Windows desktop functionality to Platform View example project

As part of the work for issue #70027 , I added a windows startup devicelab test for the Platform View example project, which required adding Windows support to the example. Currently, this project opens a platform specific view for Android and iOS when a certain button is pressed, but does nothing on Windows. While this does not hinder the ability of the test to pass, we should still add some kind of response when the button is pressed when run on Windows, such as a popup dialog.

Closed by PR #109715 , which produces a message box when the button is pressed on Windows.


[WIP] Upgraded to react16/redux4 and react router 4 for example and websites

Upgrading to React16 and redux4


Use multiple threads to load meta data for different data sources

The current meta data loading process are using single thread, it is better to load them concurrency with different data sources.
The code is in class org.apache.shardingsphere.core.metadata.ShardingMetaDataLoader, please search // TODO use multiple threads to load meta data for different data sources to find check point.

@terrymanu  Can i take this ?. Thanks

Thank you, assigned. @ranjeet-floyd

A tips: should consider size of threadpool and cores of cpu processors.

@ranjeet-floyd any progressing or problems？

@kimmking  i am working on it.

@kimmking  @terrymanu  Raised PR https://github.com/apache/incubator-shardingsphere/pull/4900/files

@ranjeet-floyd Thank you very much, already merged.


Sequence diagram for model portion of owe command

Just wanna confirm that you intentionally omit the creation of editedStudent for simplicity and readability, is it?
if so, do include a note by the side to indicate that.


kube-init: Easiest way to deploy a cluster for learning

Hi,
I recently did a lesson on kubernetes for BulletProof Meteor. I want my users to play around with Kubernetes and learn about Kubernetes. Frankly, deploying a cluster your own is not yet easy. GKE is nice, but I want them to try using any cloud.
So, I built kube init: https://github.com/meteorhacks/kube-init
It's a way to run Kubernetes cluster on a single server. (it's based on hyperkube. may be we don't need hypekube at all). It also comes with the skydns configured too.
Deploying the cluster is easy: wget -qO- http://git.io/veKlu | sudo sh
Then I ask users to create a SOCKS proxy into the box and they can access pods and services locally.
This is never meant to be a production cluster. But, users could experiment with the cluster without worrying about deploying and configuring a cluster.
Hope this helps.

cc @bgrant0607 @brendandburns

cc @vishh @pwittrock


[es-dev-server] look into better-opn

Looks like https://github.com/ExiaSR/better-opn#readme can reuse the same chrome tab when restarting. We do need to make sure this package respects the user's default browser, and doesn't force chrome always.

that'd be great


build only changed files with grunt-newer dosen't work

Hey there,
i will use Assemble like the description on the installation-site with the grunt-newer task, but it build always the whole page with 1000+ pages.
My Assemble task in the Gruntfile:
 assemble: {
      options: {
        assets: "contents/assets",
        data: "config.json",
        layoutdir: "templates",
        layout: "default.hbs",
        partials: "templates/partials/**/*.hbs",
        helpers: ["lib/helpers/*.js" ]
      },
      project: {
        options: {},
        files: {
          "sites/_default/public": ["contents/**/*.md" ]
        }
      }
    },

The content tree is like:
|- contents
    |--- docs
    |     |--- current
    |     |     |--- lorem ipsum
    |     |           |--- lorem-ipsum.md
    |     |--- versions
    |           |--- v.1.0.1
    |           |--- v.1.0.2
    |           |--- v.1.0.3
    |                 |--- lorem ipsum
    |                       |--- lorem-ipsum.md
    |--- product
    |--- start

What is wronge? Do you support grunt-newer with single changed files? Is there a failure in grunt-newer or in my Gruntfile?
Cheers,
Tobi

Hey there,
grunt-newer works and only runs the assemble task if a file has changed but I guess assemble is designed to always build all the pages. So it will only run if there have been changes but then it will build everything. It would be great though if this could be implemented since it would speed up a continuous build process by a great amount.
Cheers,
Daniel