Fail to push image when running java-websphere-traditional-build-push-pl pipeline

In ICPA 4.1.0-rc.4/OCP 4.3, run tWAS pipeline java-websphere-traditional-build-push-pl fails at push image step with the following error in the pod's log:
error pushing image "image-registry.openshift-image-registry.svc:5000/svt-project1" to "docker://image-registry.openshift-image-registry.svc:5000/svt-project1": error copying layers and metadata from "containers-storage:[overlay@/var/lib/containers/storage+/var/run/containers/storage:overlay.imagestore=/var/lib/shared,overlay.mount_program=/usr/bin/fuse-overlayfs,overlay.mountopt=nodev,metacopy=on]image-registry.openshift-image-registry.svc:5000/svt-project1:latest" to "docker://image-registry.openshift-image-registry.svc:5000/svt-project1:latest": Error trying to reuse blob sha256:5601485f01090b2ed055cfcbc1c36eb5acc39a57b80209a8d9f9ab34b2d457da at destination: unable to retrieve auth token: invalid username/password

This problem is not seen if using pipeline java-websphere-traditional-build-deploy-pl
To Reproduce

Run stack-hub-setup and stack-hub-build using cluster’s internal image registry following instruction at https://www-03preprod.ibm.com/support/knowledgecenter/SSCSJL_4.1.x/settingup.html
add appsody repo tam-stacks http://kabanero-index-kabanero.apps.siamang.os.fyre.ibm.com/kabanero-index.yaml
create tWAS hello-world app (appsody init tam-stacks/java-websphere-traditional)
checkin the app to github, create secret and webhook and trigger java-websphere-traditional-build-push-pl pipeline run

Logs

Log from command oc logs --all-containers java-websphere-traditional-build-push-pl-run-2dg85-build--l5dzb
twas-build-push-pipeline-pod.log.zip

The fix is needed to go in the current Master stream and in Kabanero release 0.6.0

Hi @kvijai82 - Please update us with the decision towards providing the fix in Kabanero 0.6.0, as an iFix.

Have a fix and in the process of testing it.  Should have a new 0.6.0
release available today.
On Wed, Apr 8, 2020 at 9:55 PM Marika Joannidis<EMAIL_ADDRESS>wrote:

Hi @kvijai82 https://github.com/kvijai82 - Please update us with the
decision towards providing the fix in Kabanero 0.6.0, as an iFix.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kabanero-io/kabanero-pipelines/issues/279#issuecomment-611283927,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBUMTOYMKOGXHB4Y6PLFLTRLUTJPANCNFSM4LTVSC7A
.

@tam512 - Please let us know if the fix has pass verificstion testing: https://github.com/kabanero-io/kabanero-pipelines/releases/tag/0.6.2.

@tam512 Fix is in 0.6.2 pipelines release.  Please test it out and close once fix is verified.  You can update the Kabanero CR with this pipeline release to test
    pipelines:
    - gitRelease: {}
      https:
        url: https://github.com/kabanero-io/kabanero-pipelines/releases/download/0.6.2/default-kabanero-pipelines.tar.gz
      id: default
      sha256: bfda9cd86f6054e8f58304c283ca571ec80435880a875ae1ade02c8ec24756ea

Verified in ICPA 4.1.0 with the following pipelines
stacks:
      pipelines:
      - https:
          url: https://github.com/kabanero-io/kabanero-pipelines/releases/download/0.6.2/default-kabanero-pipelines.tar.gz
        id: default
        sha256: bfda9cd86f6054e8f58304c283ca571ec80435880a875ae1ade02c8ec24756ea
      repositories:
      - https:
          url: http://kabanero-index-kabanero.apps.siamang.os.fyre.ibm.com/kabanero-index.yaml
        name: central

trigger build java-websphere-traditional-build-push-pl-run-nwmt8 and it passes

# oc logs --all-containers java-websphere-traditional-build-push-pl-run-nwmt8-build--qrqnq
............
......................
Successfully pushed //image-registry.openshift-image-registry.svc:5000/svt-project1/twas-helloworld:0e3f28361e09020019b036ea55ac6c09b996a98c@sha256:5a4bb37b0d48a6861ba37207212b1c625d0180de5643c8c22030ad4661eb2328


[question] MessageComparator, tshark and pcaps

As I am experiencing troubles with undeterministic output while trying the format match score function, I am wondering what reasons led to the decision to let every message be parsed separately by tshark instead of feeding a whole pcap and parsing the json of the whole pcap? Would it be feasible to refactor the code to accept a complete pcap instead to avoid all of the tshark threading stuff? Or is there a big no-no I am not seeing here?
I would pretty much like to have the possibility to insert pcaps instead of working with the specimenloader as this might be more generalized for the many different approaches people are using anyway. What do you think?

Actually nemere.validation.messageParser.ParsedMessage.parseMultiple does hand over chunks of messages for parsing by tshark in a single "transaction" and does not perform one call per message. The main reasons for this solution are:

Starting a separate tshark process per message produces HUGE overhead and is impractical from a performance point of view.
Thus, keeping a tshark instance running in the background to hand over byte streams to it for parsing saves a lot of time.
Keeping track of which input message matches to which JSON output fails sometimes for large traces, thus I use chunks of 1000 messages that are handed over to tshark at once and wait for their output to be completed each time.
I also had problems with tshark seemingly behaving differently depending on the system load or other reasons I could not determine - especially when running with an attached debugger. I think this is caused by some timing issues in piping input data in or piping output back into python. I added loads of checks, waiting cycles, and failsaves, but could not completely sort out this problem.

That said, you are free to optimize the robustness of the parsing if you can. I would like to see your proposals for this.

As for the SpecimenLoader: There are several relations and dependencies that I would not keep when doing a large refactoring of the codebase. However, I am lacking the time to do this thoroughly. Any ideas are welcome.
In any case you need to load a PCAP into Python one way or the other. SpecimenLoader hides some of the complexities but basically does just that. Plus it keeps each message as raw byte string (that is needed as imput for tshark) and the application layer message with the encapsulation interpreted. This could be solved using another kind of message representation than netzob's which might be an option but a lot of work to change the implementation. Again: any contributions welcome.

Again, thanks a lot for the detailed explanation and notes. This helps me to decide for fixes and if they are useful anyway. I will see if I can change or just add things to get it working in other/different ways. Thanks a lot!


[Snyk] Security upgrade sqlalchemy from 0.9.8 to 1.2.18

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

⚠ Warning
django-keen 0.1.3 has requirement keen==0.3.0, but you have keen 0.3.7.

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

98/1000  Why? Confidentiality impact: High, Integrity impact: High, Availability impact: High, Scope: Unchanged, Exploit Maturity: No data, User Interaction (UI): Required, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Local, EPSS: 0.01346, Social Trends: No, Days since published: 1737, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 98, Impact: 9.79, Likelihood: 1, Score Version: V5
SQL Injection SNYK-PYTHON-SQLALCHEMY-6056549
sqlalchemy:  0.9.8 -> 1.2.18
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 SQL Injection

Checkmarx One – Scan Summary & Details – 1c391b1a-0c4f-4e91-91f1-e852752e564f
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

CVE-2023-5752
Python-pip-22.2
Vulnerable Package


[small] Optimize/uploads

no longer use setitem for registering chunk lengths, we can do this change directly into the cache.

using in #1014


Fix the bug, print parsed number...

Summary
Fix the bug, print parsed number...
Fixes #22304

@IEvangelist I'm unsure why this error is showing. It's odd because there isn't a .NET Core 3.1.11 to even try to run against so I don't understand why it's choosing it. Can you add the following file to the project directory so I can try and debug it?
{
    "host": "custom",
    "command": "dotnet build `\"$projectFile`\" -v d"
}

@IEvangelist I'm unsure why this error is showing. It's odd because there isn't a .NET Core 3.1.11 to even try to run against so I don't understand why it's choosing it. Can you add the following file to the project directory so I can try and debug it?
{
    "host": "custom",
    "command": "dotnet build `\"$projectFile`\" -v d"
}

@IEvangelist David Pine FTE I'm unsure why this error is showing. It's odd because there isn't a .NET Core 3.1.11 to even try to run against so I don't understand why it's choosing it. Can you add the following file to the project directory so I can try and debug it?
{
    "host": "custom",
    "command": "dotnet build \"$projectFile\" -v d"
}

Sure thing, I should be able to add this a bit later today - thanks

@IEvangelist David Pine FTE I'm unsure why this error is showing. It's odd because there isn't a .NET Core 3.1.11 to even try to run against so I don't understand why it's choosing it. Can you add the following file to the project directory so I can try and debug it?
{
    "host": "custom",
    "command": "dotnet build \"$projectFile\" -v d"
}

Sure thing, I should be able to add this a bit later today - thanks

Duh, I can add it myself 😁

Duh, I can add it myself 😁

So I get around to adding the config file to get some debug information about the build and then some joker goes and uploads the missing package we've been seeing and fixes the problem....
NuGet

So I get around to adding the config file to get some debug information about the build and then some joker goes and uploads the missing package we've been seeing and fixes the problem....
NuGet

Interesting... that is very odd! So, this should be good to go then - thanks

Interesting... that is very odd! So, this should be good to go then - thanks


Update canister.py

Add get canister candid.

Thanks for the contribution.
But I don't think every canister has the method __get_candid_interface_tmp_hack. Can you add code to handle this exception?
Tests cover both cases woule be better.


Remove stray comma

There shouldn't be a comma between Kong and Inc. "Kong Inc." is the official name of the company.


'[lpe] reinit P' issue when LPE_VIC_P is reduced below default value

Currently we are working with an Optitrack setup trying to get the Pixhawk to do a position hold based solely on Mocap input. We have confirmed that ATT_POS_MOCAP is published at 100 Hz and received correctly by the Pixhawk and that the drone can do a position hold with the default settings (modified to use the LPE and to enable the Mocap position input).
However we need to achieve a better position hold why we wanted to increase the trust in the Mocap measurements by reducing LPE_VIC_P.
If we reduce LPE_VIC_P to 0.0002 (where 0.001 is default) with LPE_FUSION only having vision position and vision yaw enabled we end up with continous errors within QGroundControl stating:
[lpe] reinit P (0, 0) negative
Increasing LPE_VIC_P back to the default value removes the error.
The above problem is experienced with PX4 v1.6.5 on a Pixhawk.
What does this error mean and are we supposed to see this error just by reducing the parameter?
FYI the mean error of our Optitrack measurements are 0.2 mm with the current setup.

I can confirm that the error is also present within simulation (SITL).
However the error only happens if LPE_VIC_P is set to a value below 0.001 at startup (stored inside EEPROM etc.). If LPE_VIC_P is changed through QGroundControl after boot the 'reinit' error does not start to appear.

If you furthermore try to reduce the LPE_PN_P to 0.01 or lower you will also start to see other errors as well.
[lpe] reinit P (3, 3) negative
[lpe] reinit P (5, 5) negative

Furthermore I have experienced the following:

LPE_VIC_P is set to 0.0005 at startup, such that the error will start to appear whenever Mocap measurements are sent
If LPC_VIC_P is then adjusted to 0.001 the error stops appearing
However if LPE_VIC_P is then finally adjusted back to 0.0005 the error will NOT reappaer

Hey, this issue has been closed because the label status/STALE is set and there were no updates for 30 days. Feel free to reopen this issue if you deem it appropriate.
(This is an automated comment from GitMate.io.)


How would simple validations like min length work?

Does fr support them in any way at the moment?

I need to add some docs for this, but yes:
import t, {reify} from 'flow-runtime';
import type {Type} from 'flow-runtime';

type LongString = string;

const LongStringType = (reify: Type<LongString>);

LongStringType.addConstraint(input => {
  if (input.length < 3) {
    return 'must be at least 3 characters long';
  }
});

("this is fine": LongString);
("no": LongString); // throws

which translates to:
import t, { reify } from "flow-runtime";
import { Type } from "flow-runtime";
const LongString = t.type("LongString", t.string());
const LongStringType = LongString;

LongStringType.addConstraint(input => {
  if (input.length < 3) {
    return "must be at least 3 characters long";
  }
});

LongString.assert("this is fine");
LongString.assert("no");

How about this instead:
const LongString = t.type("LongString",
        t.string().minLength(3, "must be {minLength} characters long"));

Or -
LongStringType.addConstraints(
    compose(t.v.minLength(3, "must be {minLength} characters long"))),
         t.v.maxLength(300, "must be less than {maxLength} characters"))));

Basically, have a list of common validator methods available on types, or compose them together into one validators chain. Every validator method can be a curried function of this syntax -
minLength = R.curry((minLength,
    errorTemplate = "The value must be at least {minLength} characters in length.", value) => (
        R.size(value) < minLength ? templateToString(errorTemplate, minLength)) : null
);

I am not sure how this should be represented by the corresponding flow syntax, but may be an extended syntax could look like -
type LongString = compose(string, minLength(3, "must be {minLength} characters long"))

We can't do anything which changes the syntax because we need to maintain compatibility with Flow and unfortunately it will choke on things like type foo = bar();.
I'm not sure about adding methods like minLength() to the types themselves - you always end up needing custom validators so I think it's nicer to have a way to compose validators to create a new type (or patch an existing one where required). Something like this:
import t from 'flow-runtime';
import {minLength, onlyLowercase} from 'flow-runtime-validators';

const SomeStringType = t.compose(
  t.string(),
  minLength(3),
  onlyLowerCase
);

SomeStringType.validate("yes");
SomeStringType.validate("NO");

I added flow-runtime-validators and some docs for type refinements here: https://codemix.github.io/flow-runtime/#/docs/type-refinements

Is there a way to add constraints to a type being inferred from a class? We are having existing classes for our models and would like to add constraints over them, instead of having to write types.
Off-topic, could you explain to me what reify does?

@SukantGujar there will be when #22 is fixed, will get to it soon.
reify is used to turn a static type into a runtime type without flow itself complaining, for example:
type Foo = string;
const FooType = Foo; // flow errors here because you're referencing a Type not a Value.

What we want to do is to be able to refer to Foo by name without flow errors, and ideally we'd like to propagate the type too, so we should be able to tell flow that FooType is a Type<string>.
reify is a magic value (actually it's non existent and only exists at compile time) that can work around the problem, with the following:
import {reify} from 'flow-runtime';
import type {Type} from 'flow-runtime';

type Foo = string;

const FooType = (reify: Type<Foo>); // no errors

console.log(FooType); // no errors

This lets flow receive the correct type for FooType and won't throw any errors about referencing types as values.
The babel plugin just translates this into:
import t from 'flow-runtime';
const Foo = t.string();

const FooType = Foo;
console.log(FooType);

@phpnode Similar to https://github.com/gcanti/babel-plugin-tcomb#runtime-type-introspection, yeah? Your syntax looks a lot nicer.

@STRML yes it's very similar to how tcomb does it, actually Giulio and I had a conversation around tcomb and flow-io where we discuss the similarities / goals here - https://github.com/gcanti/flow-io/issues/19

added a few docs here - https://codemix.github.io/flow-runtime/#/docs/working-with-flow


Review forced process.exit

Commands have to run process.exit(0) when they finish their work because of some providers that otherwise keep the event loop active and prevent the process from exiting.
I don't think it's good practice to force the process to exit like this because there can be pending work in the event loop. To be fair, this is unlikely to have an effect currently because all of the work done in the process is (supposed to be) fully awaited right before the process.exit call. There may be mistakenly unawaited promises that could go unnoticed, however.
There are some details about this in https://github.com/OpenZeppelin/openzeppelin-sdk/pull/1477#issuecomment-591524898.
I believe that this is a bug in the providers that we should try to fix at that layer. We have to take a good look at it to understand the cause and how to fix it.

https://github.com/MetaMask/web3-provider-engine/pull/329


Adding 'pose' information into the gt_boxes

Hi,
Thanks for providing the excellent project.
I am trying not to detect (x,y,w,h) and classify (object name) each bounding box, but also classify object pose (there are 18 poses, each pose corresponds to 10 degrees in a plane). So each object in a image has its label including, object class (hammer, etc), object pose (pose1 (0~10 degrees)), (x,y,w,h).
Take a look at the _ProposalTargetLayer.forward(all_rois, gt_boxes, num_boxes) in proposal_target_layer_cascade.py, the all_rois has shape (1,2000,5), and I notice that all_rois[:,i,:][0][0] is always 0. Because, I already add the pose information into the gt_boxex, now it has shape (1,2000,6(x,y,w,h,class,pose)), so the operation all_rois = torch.cat([all_rois, gt_boxes_append], 1) is not allowed.
I guess the all_rois (output form RPN) does not have class label information, so I change from gt_boxes_append = gt_boxes.new(gt_boxes.size()).zero_() to gt_boxes_append = gt_boxes.new(torch.Size([1, 20, 5])).zero_() in order to have  all_rois = torch.cat([all_rois, gt_boxes_append], 1) right, though I do not understand the purpose of this.
The problem is that I have to modify the function _sample_rois_pytorch(self, all_rois, gt_boxes, fg_rois_per_image, rois_per_image, num_classes) accordingly, but I do not quite understand.
Could anybody show some hints? Thanks for very much for your time.

You could approach it differently and simply pass an additional label with the pose as parameter to the model.
e.g. ```
rois, cls_prob, bbox_pred,
rpn_loss_cls, rpn_loss_box,
RCNN_loss_cls, RCNN_loss_bbox,
rois_label = fasterRCNN(im_data, im_info, gt_boxes, num_boxes, gt_poses)

And in the `resnet.py` class `resnet(_fasterRCNN)` add an extra one or more modules/layers which you can then call like you do the `RCNN_cls_score` and `RCNN_bbox_pred` in `faster_rcnn.py`, assuming you will base you pose estimation on the `pooled_feat`, similarly to the bbox regression and classification.

Thanks AlexanderHustinx for the suggestion,
Finally I can get it worked.
However, I find another problem:
For a simple setting:
there are 5 classes (cls1, ..., cls5) and 18 poses (p1, .., p18)
I found that if the Net predicts cls3, then it also predicts p3, (the same index)
My Network is configured the same as Figure 2 (a), in this paper: https://arxiv.org/abs/1801.08110
Do you have any idea about this?

Does that mean you've added an extra Linear-module (fc layer) just for the pose? And you connect it just after the pooled_feat = self._head_to_tail(..) assignment?

Hi AlexanderHustinx, yes, it is what I did. I add
self.RCNN_ps_score = nn.Linear(4096, self.n_poses)
and connect it to the pooled_feat = self._head_to_tail(..)

I believe that should work..
Maybe you forgot to call the self.RCNN_ps_score(pooled_feat)?
Which loss function are you using for it?

I made a mistake, copy the gt_classes to  gt_poses = gt_boxes[:,:,-1]. Now, it works as I expected. Thanks.


Fix error in README

There looks an error in the example of IpV4Header in README.md. The bit range of get_identification should be 47, 32 (16 bits) instead of 47, 31 (17 bits with interleaving).

Thanks!


Use containerport to let knative listen on logger port

What this PR does / why we need it:

Use containerport to let knative listen on logger port, which is a cleaner integration than current way
Enable custom specs to support logger too

This change is

Test result:
☁  cloudevents.Event
Validation: valid
Context Attributes,
  specversion: 0.2
  type: org.kubeflow.serving.inference.response
  source: http://localhost:8081/
  id: 235e249e-c6ce-4517-b88f-b811970ad737
  time: 2019-12-06T08:07:13.003870171Z
  contenttype: application/json
Data,
  {
    "predictions": [
      1,
      1
    ]
  }
☁  cloudevents.Event
Validation: valid
Context Attributes,
  specversion: 0.2
  type: org.kubeflow.serving.inference.request
  source: http://localhost:8081/
  id: 235e249e-c6ce-4517-b88f-b811970ad737
  time: 2019-12-06T08:07:12.986524045Z
  contenttype: application/json
Data,
  {
    "instances": [
      [
        6.8,
        2.8,
        4.8,
        1.4
      ],
      [
        6.0,
        3.4,
        4.5,
        1.6
      ]
    ]
  }

Notice now the source field changed to 8081:
source: http://localhost:8081/

/assign @cliveseldon @ellis-bigelow

/retest

Tested. Makes the code much cleaner now. Thanks!

/approve

/lgtm


Centre of the hex is offset by 1.

If you were to use this as is to say determine available building locations it would be inaccurate.

Nevermind the other PR is literally the same issue.


HDFS-17456. Fix the dfsused statistics of datanode are incorrect when appending a file.

The effect of this patch is that when the replica is moved from the finalized directory to the rbw directory, dfsused will subtract the replica length.

@ZanderXu done the describe, thanks.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
12m 34s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
45m 16s

trunk passed

+1 :green_heart:
compile
1m 20s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
compile
1m 17s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
checkstyle
1m 11s

trunk passed

+1 :green_heart:
mvnsite
1m 26s

trunk passed

+1 :green_heart:
javadoc
1m  9s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
1m 40s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
3m 17s

trunk passed

+1 :green_heart:
shadedclient
36m  1s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 13s

the patch passed

+1 :green_heart:
compile
1m 14s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javac
1m 14s

the patch passed

+1 :green_heart:
compile
1m 10s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
javac
1m 10s

the patch passed

+1 :green_heart:
blanks
0m  1s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  0s

the patch passed

+1 :green_heart:
mvnsite
1m 14s

the patch passed

+1 :green_heart:
javadoc
0m 54s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
1m 38s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
3m 18s

the patch passed

+1 :green_heart:
shadedclient
35m 26s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
232m 13s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 46s

The patch does not generate ASF License warnings.

386m 56s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6713/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6713

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 30389c7458ec 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / bce57edfd65307680ee3ea76e85b7020c048ea2c

Default Java
Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6713/1/testReport/

Max. process+thread count
3540 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6713/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 30s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
44m 19s

trunk passed

+1 :green_heart:
compile
1m 21s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
compile
1m 17s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
checkstyle
1m 10s

trunk passed

+1 :green_heart:
mvnsite
1m 26s

trunk passed

+1 :green_heart:
javadoc
1m  7s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
1m 44s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
3m 15s

trunk passed

+1 :green_heart:
shadedclient
35m 35s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 10s

the patch passed

+1 :green_heart:
compile
1m 14s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javac
1m 14s

the patch passed

+1 :green_heart:
compile
1m  8s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
javac
1m  8s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 57s

the patch passed

+1 :green_heart:
mvnsite
1m 12s

the patch passed

+1 :green_heart:
javadoc
0m 52s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
1m 35s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
3m 14s

the patch passed

+1 :green_heart:
shadedclient
35m 29s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
227m 27s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 46s

The patch does not generate ASF License warnings.

368m 13s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6713/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6713

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 07fcd1da07a1 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / ecf2c6ae3012d4fe3ac718774e203062dc64b85f

Default Java
Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6713/2/testReport/

Max. process+thread count
4502 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6713/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

_ Prechecks _

+1 :green_heart:
dupname
0m 00s

No case conflicting files found.

+0 :ok:
spotbugs
0m 01s

spotbugs executables are not available.

+0 :ok:
codespell
0m 01s

codespell was not available.

+0 :ok:
detsecrets
0m 01s

detect-secrets was not available.

+1 :green_heart:
@author
0m 00s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m 00s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
89m 22s

trunk passed

+1 :green_heart:
compile
6m 03s

trunk passed

+1 :green_heart:
checkstyle
5m 02s

trunk passed

+1 :green_heart:
mvnsite
6m 49s

trunk passed

+1 :green_heart:
javadoc
6m 02s

trunk passed

+1 :green_heart:
shadedclient
148m 32s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 58s

the patch passed

+1 :green_heart:
compile
3m 31s

the patch passed

+1 :green_heart:
javac
3m 31s

the patch passed

+1 :green_heart:
blanks
0m 01s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
2m 22s

the patch passed

+1 :green_heart:
mvnsite
4m 12s

the patch passed

+1 :green_heart:
javadoc
3m 37s

the patch passed

+1 :green_heart:
shadedclient
159m 22s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
asflicense
5m 21s

The patch does not generate ASF License warnings.

423m 56s

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/6713

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
MINGW64_NT-10.0-17763 ebc41b0c2c32 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys

Build tool
maven

Personality
/c/hadoop/dev-support/bin/hadoop.sh

git revision
trunk / ecf2c6ae3012d4fe3ac718774e203062dc64b85f

Default Java
Azul Systems, Inc.-1.8.0_332-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6713/1/testReport/

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6713/1/console

versions
git=2.44.0.windows.1

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@fuchaohong Hi, IIUC the dfsused will be refreshed periodically. Do you meet any issues about this metric? Thanks.

@fuchaohong Hi, IIUC the dfsused will be refreshed periodically. Do you meet any issues about this metric? Thanks.
@Hexiaoqiao Indeed, the dfsused metric is corrected periodically, but the cycle is very long. Currently, when there are too many append operations, dfsused may expand abnormally, not reflecting the actual usage accurately. Thanks.

Committed to trunk. Thanks @fuchaohong and @ZanderXu !


Make reservoir entity as optional in the farm.

Soil based farms are usually don't need special water tanks. Thus, the reservoir entity is supposed to be optional.

The original issue is in issue #24.

It's done. Thanks @ad3n.


Avoid buffer overflow when loading tensors--cherrypick to r2.4

@pranve Can you please sign CLA. Thanks!

@googlebot I signed it!


chore: remove serialize error dep (PR 3)

Our restructuring of error handling means we no longer pass error objects as results to messages. We can remove this dep.
Resolves #523.

Removing the serialized-error dep broke our tsc build. It exposed that
we are using features that require library support from typescript of at
least es2022 to support cause on error objects and at on array
objects.
Just the error.cause part of es2022 assumes node 16.9 or above. We
technically support node 16.0 and above.
I have replaced our at usage with lodash last. I have added a hack
to get around the typesystem to let us pass a second arg to error in the
constructor on the assumption it is ignored.


Cropping and Resizing

Can you please provide any insights on why you crop images in 224x224 patches by default and why you resize them to 256x256, regardless of input image size?

It is a common practice in WSOL community for the last four years. There are multiple other pre-processing choices such as random-crop-and-resize, but we stick to the resize-and-crop for the fair comparison.

Oh okay, thanks!


Feature application site change physical path

Added an alias to change the physical path of an application.

Not sure about this one as if we do it for one property then we should be consistent and do it for all properties. Id prefer to see a more generic "EditSite" method that takes in SiteSettings and only updates the properties you supply.
Can you explain your use-case?

Well, in our deploy processes, we change the physical path of the application to include the version of the deployed binaries.
That's the only change we make to the Application/Site/AppPool after creating them, that's why I only considered the PhysicalPath change.

If you feel you need to keep previous copies on the machine aren't you better off having a separate versioned directory and moving files from there to your live website folder? Changing the path for every deployment means your application pool has unnecessarily broad access rights.

I am also using your WebDeploy addin to deploy the binaries, so I don't think that would be possible (or would it?).

Yea its possible to do it via WebDeploy or by Stopping the website and copying the files. I've found that its best to stop the website either way as we sometimes get locks on dll's when deploying legacy webForm apps via WebDeploy.

Ok, I'll leave it up to you, if you want to merge or not. I'll look at your Cake.WebDeploy project to find a way to change the Virtual Directory physical path.


"Next block offset index is out of sync!" with 0.13.0 on a raw deflate stream

I get the following exception when using rapidgzip 0.13.0 to decompress a specific raw deflate stream: RuntimeError: Next block offset index is out of sync! Requested offset to index 11070 and got<PHONE_NUMBER> but expected<PHONE_NUMBER>. If I decompress the same data but with the gzip header and footer I don't get the exception. rapidgzip 0.12.1 works fine.
Currently I can only reproduce this with a specific ~300MB file and I've not been able to create a reduced test case. I can provide the file if you need it (it's part of a publicly available firmware image), but the following code triggers the issue for me:
import io
import shutil
import sys
import zlib
from tempfile import TemporaryFile
from traceback import print_exc

import rapidgzip

def make_gzip(in_fd, out_fd):
    c = zlib.compressobj(wbits=31)
    while data := in_fd.read(1024*1024):
        out_fd.write(c.compress(data))
    out_fd.write(c.flush())
    in_fd.seek(0)
    out_fd.seek(0)

def strip_gz_header_footer(in_fd, out_fd):
    in_fd.seek(10)
    shutil.copyfileobj(in_fd, out_fd)
    out_fd.seek(-8, io.SEEK_END)
    out_fd.truncate()

def do_inflate(fd, wbits):
    fd.seek(0)
    d = zlib.decompressobj(wbits)
    last_data = None
    while data := fd.read(1024*1024):
        decomp = d.decompress(data)
        if decomp:
            last_data = decomp
    decomp = d.flush()
    if decomp:
        last_data = decomp
    fd.seek(0)
    print(last_data[-64:])

def do_rapidgzip_inflate(fd):
    try:
        with rapidgzip.open(fd, verbose=True, parallelization=4) as gz_fd:
            gz_fd.seek(-64, io.SEEK_END)
            print(gz_fd.read(64))
    except:
        print_exc()

if __name__ == '__main__':
    with open(sys.argv[1], 'rb') as fd:
        with TemporaryFile('wb+') as temp_gz:
            print('deflating file with gzip headers...')
            make_gzip(fd, temp_gz)

            print('inflating gz with Python zlib..')
            do_inflate(temp_gz, 31)

            print('inflating gz with rapidgzip...')
            do_rapidgzip_inflate(temp_gz) # this works on 0.12.1 and 0.13.0

            with TemporaryFile('wb+') as temp_deflate:
                print('stripping gz header and footer...')
                strip_gz_header_footer(temp_gz, temp_deflate)

                print('inflating raw deflate stream with Python zlib..')
                do_inflate(temp_deflate, -15)

                print('inflating raw deflate stream with rapidgzip...')
                do_rapidgzip_inflate(temp_deflate) # exception with 0.13.0, but not 0.12.1

I can provide the file if you need it (it's part of a publicly available firmware image)

Yes, could you please provide the file? It's nice to know that it works in 0.12.1, then I can do a bisection to find the problematic commit.

The file is here - https://drive.google.com/file/d/1XDy3UZkBa0M8SeCriY8_xV_sFuuQIB75/view?usp=sharing

Thank you. Commit 0df5d753 introduced the bug, or at least it made it more likely to happen because it accidentally tries a chunk size of 1 B for verbose=True (and 0 B for verbose=False), which gets clamped to the allowed minimum of 8 KiB instead of the default 4 MiB. I have pushed a fix and will do a bugfix release today.
I want to give the underlying issue a look but I think I already know what happens: a full false positive. It happens because there is "only" 8 KiB of data that can be checked. And if for example a match for a non-compressed block was seemingly found, which isn't that unlikely (roughly once every 256 KiB) then the next up to 64 KiB of data cannot deliver anything to check against. Only the next deflate block header could then be checked and it would already be outside of the chunk size. I guess a minimum chunk size of ~128 KiB would give the probability of that happening a very huge bump down. And to not be concerned with probabilities at all, I could simply implement a fallback that decompresses on demand instead of throwing if such an error is detected.
If you want a quick and dirty workaround without installing from the updated source, try rapidgzip.open(fd, verbose=4 * 1024 * 1024, parallelization=4). It fixes the issue in your reproducer for me.

Thanks, that does fix it for me - I hadn't realised I was passing in the parameters incorrectly. However, I also see the issue with 0.13.0 when just doing rapidgzip.open(fd), and was also having generally poor performance on other files even when not encountering that specific exception. Is it choosing an 8 KiB chunk size by default?

Thanks, that does fix it for me - I hadn't realised I was passing in the parameters incorrectly.

You did everything correct. The bug was with the rapidgzip Python layer. I added a new argument for the chunk size and the I/O read method and this broke some calls that only used positional arguments.

Is it choosing an 8 KiB chunk size by default?

The C++ backend is doing std::max( 8_Ki, chunkSize ), and because of the argument bug chunkSize on the Python-side defaulted to 0. This should be fixed now and the performance should also be restored. The default should be 4 MiB.


docs: ADR 016 Removing Token Voting for Upgrades

Overview
rendered
TLDR; just remove the upgrade module and do this
// ValidateBasic performs stateless validation on a Header returning an error
// if any validation fails.
//
// NOTE: Timestamp validation is subtle and handled elsewhere.
func (h Header) ValidateBasic() error {
    if h.Height >= consts.BombHeight {
        return errors.New("bomb height reached or exceeded")
    }
    ...
    return nil
}

closes #1477
Checklist

[x] New and updated code has appropriate documentation
[x] New and updated code has new and/or updated testing
[x] Required CI checks are passing
[x] Visual proof for any user facing features like CLI or documentation updates
[x] Linked issues closed with keywords

I have some offline updates that I still want to push, just been busy or ooo, apologies for any delay

before merging, we should also understand how ibc uses the upgrade module. we might only want to remove the ability for the gov module to use the upgrade module, and then incorporate the existing upgrade management into social upgrades #1014

So the idea now is that the upgrade module still remains but we remove the proposal handler and the messages (do we even need to remove the messages if only governance can call this?).
I still think it's important that we clarify how, after these changes, a chain would expect to upgrade else this ADR feels incomplete.

I still think it's important that we clarify how, after these changes, a chain would expect to upgrade else this ADR feels incomplete.

That's fair, we can postpone merging this one until ADR018 is finished, as I think that topic requires an entire separate ADR. Or perhaps we could just move the relevant portions of this ADR into that one and only merge that ADR.

That's fair, we can postpone merging this one until ADR018 is finished, as I think that topic requires an entire separate ADR. Or perhaps we could just move the relevant portions of this ADR into that one and only merge that ADR.

My personal view is that these shouldn't be considered two separate decisions but one

that makes a lot of sense!
iirc per sync discussion this ADR was initially separate because we just wanted to explore what a difficulty bomb and removing the upgrade module would look like before we discussed it during the onsite, but wanted to wait on upgrades.
I'll close this ADR for now, and we can update ADR018 to ADR016


tests: net: socket: af_packet: is ethernet cable now mandatory to run this test ?

Question
Test tests/net/socket/af_packet/
used to be successful on stm32 boards (nucleo_f429zi, nucleo_f746zg for example), on test bench.
Since merged of PR  #26339  (specially commit net: conn: Handle multi interface AF_PACKET recv() properly)
the test is now failed.
Note: On test bench, there is no ethernet cable connected to the boards.
But the test used to be successful without cable.
Now test is failed, but if I plug an ethernet cable, it is passed.
Does it mean that it is now mandatory to plug ethernet cable to the boards to pass this test ?

^^  @jukkar

No, connecting an ethernet cable should not be needed. There is now some side effect when running the test in the stm32 boards. I am currently on vacation without proper hw so cannot pinpoint immediately what should be changed in the test.

Was able to run the test on disco_l475_iot1 but seeing it hang on frdm_k64f


Fabio y diego

Última modificaciones hechas.

Codecov Report

Merging #8 (e45020f) into master (c028e7e) will decrease coverage by 1.96%.
The diff coverage is 87.50%.

@@              Coverage Diff              @@
##              master       #8      +/-   ##
=============================================
- Coverage     100.00%   98.03%   -1.97%
- Complexity        45       51       +6
=============================================
  Files              6        7       +1
  Lines             86      102      +16
=============================================
+ Hits              86      100      +14
- Misses             0        1       +1
- Partials           0        1       +1

Impacted Files
Coverage Δ

src/main/java/carmenSandiego/modelo/Partida.java
87.50% <87.50%> (ø)

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 c028e7e...e45020f. Read the comment docs.


docs(v2): New doc page for math equations

Motivation
Rendering LaTeX math equations is an important feature for many documentation sites. Although, it is possible to write math equations using Docusaurus, it is not documented in the Docs.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
I have created a new file website/docs/guides/markdown-features/markdown-features-math-equations.mdx, and made changes to  the sidebar configuration (website/sidebars.js) to include it in the sidebar. I have tested the doc website locally, and it works properly.
Related PRs

https://github.com/facebook/docusaurus/issues/4017

Hey, thanks for this doc
I've updated it a bit and enabled Katex on Docusaurus site for dogfooding and ensure this remains usable.
Helped me figure out some potential problems in versions (hast-util-is-element absolutely need to be 1.1.0 or it won't work)

Thank you for catching the dependencies. I did not test on Docusaurus website (was not sure if it would be good idea to change package.json). For me it worked fine on a cleanly built site:
npm i @docusaurus/core@latest @docusaurus/preset-classic@latest
npm i remark-math@3 rehype-katex

rehype-katex has published v5 recently, I'm not sure it's compatible anymore. In any case I think it's preferable to lock to specific major versions as our doc may start failing other time when new incompatible majors are released

I updated some of my Doc sites to rehype-katex v5 along with docusaurus v2-beta0 couple of weeks ago. Have not noticed any glitch yet (an example page with lots of math equations). But it make sense to lock major versions, and upgrade manually.

hey @pranabdas , was wondering how did you decide to use an external cdn URL for this asset.
As I'm having network issues, this resource is blocking and preventing me to work locally easily
So I'll move the docusaurus site to self-hosted CSS to unblock me, but we should probably recommend users to do the same 🤷♂

Hello @slorber, I did not think about its pros and cons much. Probably there is not much of cons hosting katex.min.css locally, as it is only 23 KB and relatively low chance that it would be cached by the browser (because the user downloaded the same resource used in another website).

@slorber I also realise that we need to host required katex fonts alongside katex stylesheet. Total asset size is ~1.2MB. Is that much build size increase acceptable? If you like, I can create a PR with proposed changes. Thank you.


New filename convention for RSpec?

The way observations are named by default when using Bond with RSpec is the entire test description, which is often very verbose. Some of the current bond_test observations (which I think are reasonable length for rspec) are over 100 characters, which exceeds the character limit for filenames to be included in a gem.
Something else needs to be used, though it's not really clear what would be best suited. Imposing a 100-character limit may be reasonable, but could result in a lot of overlap. Something like a 90-character limit plus some sort of unique string at the end (e.g. a hash of the full description) could resolve that, but isn't very human-friendly. Those are my only ideas for now, but I'll keep thinking about it.

This is a good point. There are a couple of reasons why the name should be
recognizable. One is that during merging you want to know what test is
involved, and often the file name is the only thing that is visible in the
UI. Second, sometimes you want to scan the observation for a test. I do
this very rarely, but it would be annoying to not be able to do it.
I think that even in rspec one would want to use some discipline in naming
tests, because you need to find the test that is failing. I think it is Ok
to specify that if the name is longer than a certain limit, we add unique
chars at the end (a hash of the whole name).
George.
On Tue, Oct 27, 2015 at 12:54 AM, Erik<EMAIL_ADDRESS>wrote:

The way observations are named by default when using Bond with RSpec is
the entire test description, which is often very verbose. Some of the
current bond_test observations (which I think are reasonable length for
rspec) are over 100 characters, which exceeds the character limit for
filenames to be included in a gem.
Something else needs to be used, though it's not really clear what would
be best suited. Imposing a 100-character limit may be reasonable, but could
result in a lot of overlap. Something like a 90-character limit plus some
sort of unique string at the end (e.g. a hash of the full description)
could resolve that, but isn't very human-friendly. Those are my only ideas
for now, but I'll keep thinking about it.
—
Reply to this email directly or view it on GitHub
https://github.com/necula01/bond/issues/19.

Implemented this change.


Replace all instances of 'On-Site' with 'Enterprise'

This does not include npmo vs npme, though 2 npmo casing typos were corrected.

Triage: https://github.com/npm/npme-installer/pull/126

thanks very much for this!


perf(copy): use ES6 Map to track source/destination objects

@lgalfaso here's the ES6 Map change I promised.
When running f7bf118ecaaab16ed8b3d16febb0ee6bb1d6749c the larger objects are 10-20% faster, but the smaller objects are a bit slower (0-25%, but the times are so small I don't think this means much). On my box that meant the larger objects were ~400ms faster, the smaller were 1-3ms slower.  Memory usage also goes down 15-30% (30 on the more complicated cases, 15 on the simpler ones).
When using the shim (manually enabling it on chrome) the larger objects are 20-25% slower, the smaller objects are a bit slower just like when using the native Map.  This is because the shim causes an extra indexOf call compared to before this change (one on get, a second on set).  This extra indexOf could be avoided if we remove the check if the key already exists in the shim set method, but then this wouldn't be a proper Map shim (or add a magic 3rd param to set called "iAlreadyKnowTheKeyDoesNotExist` and always pass true? :P).
Note that while profiling isTypedArray is what stands out the most, not Map or indexOf, see #12054.

AFAICT, very few people rely (atm) on native Map implementations being available in the browser. I believe most people, either don't care or use a shim. Thus, I wouldn't make a change that makes copy() slower for the majority of cases. (It will probably be a good change for a later time.)
But, I would be all for a change that has no effect for the majority of cases (or just a tiny impact) and improves the case where a native Map implementation is available.
--
There are 3 categories of "usecases":

Native Map: YES
Native Map: NO, Map polyfill: NO
Native Map: NO, Map polyfill: YES

In case (1), we will harness the perf improvement. GOOD
In case (2), we shouldn't degrade performance. If we can achieve that via the iAlreadyKnowTheKeyDoesNotExist optimization: GOOD
(I'm OK with a negligible decrease in performance.)
Case (3), which potentially applies to a large number of people atm, is what worries me. I would investigate how is browser support and how is the performance with some of the popular polyfills.
If the vast majority of the commonly used browsers support it natively*: GOOD
ElseIf the performance is not worse than what we have now (or negligibly so): GOOD
ElseIf we can detect non-native Map implementations and fall back to our shim: GOOD
Else: NOT GOOD
(*): WRT browser support for Map, according to kangax the situation is good, but probably not good enough. IE10, Safari 7 and mobile browsers doesn't seem to have adequate support. Also, note that polyfills still might do some "patchwork" on browsers with good (but not complete) support, so there might be an impact there as well.
--
If all is GOOD, I would go for this change. If not, I would wait for native implementations to catch up a little more.
Just my 2c...

Note that while profiling isTypedArray is what stands out the most, not Map or indexOf

@jbedard: Does this mean the isTypedArray is the bottleneck for copy() atm ? If that's the case, we should try to improve it.
I wonder if replacing the RegExp with multiple string comparison (e.g. a switch block would improve performance).

@jbedard: Does this mean the isTypedArray is the bottleneck for copy() atm ? If that's the case, we should try to improve it.
I wonder if replacing the RegExp with multiple string comparison (e.g. a switch block would improve performance).

BTW, changing this to string comparisons would make the fix for ArrayBuffer more natural

c8768d12f2f0b31f9ac971aeac6d2c17c9ff3db5 has been merged which avoids the regex. Could still be changed if it would help with ArrayBuffer though. copy could do a giant switch statement which might also avoid calling toString on the same object multiple times, not sure if that's worth it though.
Could probably change the map shim to remember the last key looked up. That would make things like like get+put only do one indexOf. I might try that later and see if it makes the shim case faster...

Also note that memory usage seems to go down 15-30% when using the native map.

I've added a commit which avoids the double indexOf when the shim is used. This basically makes the shim the same speed/memory as today, maybe just 1-2% slower which doesn't mean much.
I'm still not sure if this is worth having a shim like this though. Would be great if others can try it out with different apps or test data...

I've rebased this.
Also added a commit to replace the is-es6-like test with is-native. @gkalpak I think this brings everything into the GOOD status (https://github.com/angular/angular.js/pull/13209#issuecomment-163138284).
Overall constructing the Map/shim is slightly more expensive then constructing 2 arrays.  For super small objects this overhead is noticeable percentage wise, but otherwise negligible. The shim case also adds the get/set method invocations in addition to today's indexOf, but for large objects this should also be negligable.
Now that the ugly testES6Map method is gone (6a102ef) I think this might be worth merging. The minor performance decrease for a) tiny objects and b) older browsers seems might be worth the large perf gains for other cases.

I wonder if this could replace our internal $$HashMap (probably not :disappointed:).

@gkalpak Actually, I was going to suggest that we consider using an implementation closing to $$HashMap but didn't want to without profiling.  Since $$HashMap does property lookups and we already have precedent of adding private $$ member variables to objects, you could possibly make a more optimal solution that does not use indexOf at all.

@dcherman, not sure what you mean :grin:
I don't think property lookups (in shape-changing, unoptimizable objects) are preferrable to indexOfs.
The usecase that $$HashMap supports and Maps don't (for Angular's purposes) is the ability to recognize copied objects based on the hashKey. But I am not sure we do rely on that extra property of $$HashMap.
If we don't, then we could replace the (presumably) slower $$HashMap with ES6Map - If we do, then we can't, so I would keep $$HashMap where necessary and use the (presumably) faster ES6Map elsewhere.
Are my assumptions wrong? Did I miss something?

Today $$HashMap will be faster then ES6MapShim, but probably slower then the native Map. This is because $$HashMap uses $$hashKey while ES6MapShim uses 2-arrays + indexOf.
We could update the ES6MapShim to use $$hashKey for faster lookups, but we'd still need to fallback to the 2-array solution for any objects which we can't put a $$hashKey property on (primitives, frozen objects etc). That might make it faster in most cases though, and could then maybe replace $$HashMap? That would have the side effect of putting $$hashKey onto copyed objects when the non-native Map is used.
I could try this if there's interest...

@jbedard Primitives are easy - the stringified version of a primitive is itself the key since primitives are always === to equivalents.
Never considered the frozen object use case when I implemented my own Map polyfill, good thought.

Good point, and hashKey(...) seems to handles primitives anyway. Note that you must do a little more then just convert to a string though, multiple primitives can have the same string such as true and "true" etc.
I always assumed the frozen object case is why copy has never used $$HashMap.

hashKey does already support primitives without problem (because it stores the type along with the stringified version. Frozen objects are indeed a problem for $$HashMap.
Still, ignoring the lastKey optimization of ES6MapShim and ignoring assignments and === comparisons (which should be negligible compared to lookup operations) and assuming plain $$hashKey values (not functions etc):
                    | `$$HashMap`    | `ES6MapShim`

--- | --- | ---
Operation: get | 2 prop lookups  | 1 indexOf + 1 array lookup
Operation: set |  2 prop lookups | 1 indexOf + 2 array lookups
Considering that the objects which $$HashMap needs to look up are non-optimizable, I am not convinced that it is faster than ES6MapShim. (It could be, of course.)

For large collections I think that indexOf is what makes it slow...

I don't know that much about VM internals, but is indexOf more expensive than object property lookups (again for unoptimized objects)?

I think looping over every entry in an array is much slower then looking up one property, doesn't matter what VM you're using.

I think looping over every entry in an array is much slower then looking up one property, doesn't matter what VM you're using.

Unless properties are stored in an array-like structure :stuck_out_tongue:
Note also that with the current $$HashMap implementation, the lookup process has to go through prototypes as well (but this can be eliminated of course).

@gkalpak I don't know about VMs other than V8, but unoptimized objects fallback to dictionary/hashmap mode.  Optimized objects use hidden classes that can point as a specific place in memory where a property is stored.
Here's one article on the subject if you're interested:
http://jayconrod.com/posts/52/a-tour-of-v8-object-representation

All of that said, we're debating how to implement a data-structure that is only unsupported in IE9/10 amongst the supported browser set I believe :)
Any chances to the internals should be non-breaking since we have a well defined interface, so we can choose not to let this discussion hold up this improvement.

I totally agree that if this improves performance (most of the time) - which it seems it does - we should defnitely get it in. But I would like to sort the $$HashMap issue first - i.e. I don't want to have two similar structures (double the size, double the maintenance overhead - even if small), where one structure suffice.
So, I do believe we should sort this issues out before merging this. Do we need $$HashMap or can we get away with just ES6Map? If we can, will it noticeably affect performance? These are the questions that I am trying to figure out.

I run through all uses of HashMap and there doesn't seem to be a case where we rely on the ability to consider different objects as the same based on the hash-key. So, ES6Map should work. I'll give it a go.

Tests pass with the native Map, but some fail unexpectedly ES6MapShim :confused:

Nevermind, it was my faulty implementation of delete. Btw, the current implementation of ES6MapShim does not handle NaN correctly.

So ES6MapShim works fine as a replacement for HashMap? Thanks for trying that!  I can do that, should it still be in this PR? Seems a little unrelated to the original copy stuff here...
If ES6MapShim is updated to use $$hashKey where possible then that should handle the NaN case.

Yes, it seems that ES6Map can replace HashMap (not sure at what cost performance-wise).
I have played with it locally - will make a POC PR soon.

I assume performance with the native Map is about the same or maybe better then HashMap, but it will now support frozen objects (not sure if that is even possible with the use cases of HashMap) and won't require putting $$hashKey on everything. The shim will be worse, but maybe only noticeable for large collections.
We can probably improve performance of the shim by using $$hashKey and only use the 2 arrays as a fallback. But I'd be a little worried about using a $$hashKey version for copy because copied objects will be polluted with $$hashKey, unlike previously...

Voilà #15114.


feat: prisma update typegraphql

For new version of prisma they changed mutation operation name. So for back compatibility I would allow to override prefixes via options

@davidmwhynot thank you very much for your review! If you want take a look again on it otherwise I will marge it

@knapeto Thanks for making those changes. Everything LGTM.
@macrozone Are you able to make a beta release w/ these changes?


ROS (first PR)

Finished basic gamepad controller --> ROS <--> Arduino communication. Now a driver can control the speed and direction of one thruster using the gamepad controller's left joystick. List of major changes:

Controller package added. It publishes the joystick (and other) values.
Camera package added. Publishes image msgs.
Arduino code added. Currently can control one motor based on left joystick verticle input.

Will add more detailed documentations to each pakcage as well as the general README.

Looks fine to me 👍 Not much code to review since most of the added files are either makefiles or supporting architecture


How to have a transparent browserWindow?

The Electron docs only state that upon creation of a new BrowserWindow we can set transparency. there is no method to do this, and setting the property directly does not work.
It would be cool if we could just pass the same options object that we can pass to the BrowserWindow constructor, but to the menubar constructor...
Correct me if I'm wrong!
My use case is that I want to be able to control transparency and color of the background of the menubar app i'm making.

It would be cool if we could just pass the same options object that we can pass to the BrowserWindow constructor, but to the menubar constructor...

You can, the options passed to the constructor is also used when creating the window.
https://github.com/maxogden/menubar/blob/master/index.js#L84-L85
var mb = menubar({transparent: true})

Should work. :)

Oh hey that's cool, didn't know! great, i'll try right away :)

Awesome, works. Although if you have the DevTools open, it does not have a transparent background but a white one. Remove the devtools or close it, and you have a transparent window!

I am using transparent flag set to true, devtools can be toggled with Cmd Alt I and hidden by defaut, but electron window is not transparent. What could be the problem? This is for Mac.
Thank you
var mb = Menubar({
icon: __dirname + '/app/app.png',
tooltip: 'Some tool tip',
index: file://${__dirname}/app/app.html,
width: WINDOW_WIDTH,
height: WINDOW_HEIGHT,
preloadWindow: true,
transparent: true
,resizable: false // doesn't make any difference, still not transparent
,skipTaskbar: true
,fullscreen: false
});

Figured it out. We are using react-bootstrap and including css, it was messing up with transparency.

Fixed by adding background-color: transparent; to html and body tags.


Unable to find type [OfficeOpenXml.ExcelPackage].

Hi Doug,
I'm facing below error, while doing Export-Excel -Path (I'm using 7.1.0 version importexcel module)
Error:
Unable to find type [OfficeOpenXml.ExcelPackage].
At C:\Program Files\WindowsPowerShell\Modules\ImportExcel\7.1.0\Public\Export-Excel.ps1:3 char:17

Please can you try to upgrade or re-install that version. Not sure what the issue is, first time for this. I suspect it is something with your machine.


Typo in TOC

File: reference.md, CC @johndmulhausen
https://github.com/docker/docker.github.io/blob/get-started/_data/toc.yaml#L667 should say docker plugin create.

Verified fixed at https://docs.docker.com/engine/reference/commandline/plugin/.

Thanks Jim!


NumbaDeprecationWarning

Just faced the same problem as the original SHAP package:
https://github.com/slundberg/shap/issues/2909

Let's see how the PR https://github.com/dsgibbons/shap/pull/9 gets merged into shap package. If that merge is successful, we should do the same in this package.

Addressed in the PR https://github.com/linkedin/FastTreeSHAP/pull/27.

Hi @jlyang1990, is the new release planned anytime soon?

@julnow New release added https://pypi.org/project/fasttreeshap/0.1.5/.

Great, thanks! 🎉


Audio does not play from Chrome while Desktop Player is open

OS:
Windows 7
Issue Descriptions:
Once the Desktop Player is opened audio does not play out of chrome.  Streaming video both while streaming through the desktop app or while the desktop app is paused.
Steps to Reproduce:

Open Chrome first.
Open YouTube and stream a video, you should be able to hear the audio.
Open the GPMDP and start streaming a song, should be able to hear both YouTube video and song.
Go back to YouTube in Chrome browser and click any other video to start streaming.  Audio should not be working from Chrome.  Even if you pause the GPMDP the audio from Chrome will still not work.
Even after closing GPMDP the audio will not work in Chrome until it is restarted.

I can't reproduce on any platform or combination of headphones / speakers.  (Tried SPDIF, USB and 3.5mm)
Also tried jumping around Chrome versions and couldn't get it doing what you describe.  It sounds like an Audio Driver specific issue and will probably be fixed either by a Chrome update on your machine or more likely an Audio Driver update.  You should check with your manufacturer for driver updates :+1:


chore: browser compatibility for jsii-reflect and codemaker

We have started using jsii-reflect and codemaker in the construct-hub-webapp to generate API references on the client side.
These are the modifications needed in order for the modules to load in a browser environment.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@RomainMuller Can you think of a quick test for this scenario? As far as regressions go i'm leaning heavily on the existing test suites...

I actually explicitly load codemaker for the casing function. I considered copying it over but it comes with its own dependencies and I believe we'll be using more of its functionality later on.
Regarding requiring fs - yes that makes the browser crash. There is a browser shim for fs, but I couldn't get it to work quickly so I dropped it.
I think that if consumers target browser environments, they won't be using any file system API's the module has to offer (because why would they) -  and then webpack tree shaking effectively removes those imports from the bundle.
Are you good with merging this though and coming up with a more robust plan (maybe separating to different modules..) later on?


small fix to enable bindgen of raygui and set invariant culture

fix for: https://github.com/Starpelly/raylib-beef/issues/3

setting the current culture is a bit of a hack but should be good enough for a generator..


Compiled "is" gives incorrect results sometimes; Compiled "is not" is not supported.

def f_is(x,y):
    return x is y

f_is(1,1) = True

but
Entrypoint(f_is)(1,1) = False
Compiled "is" seems to work on plain objects (untyped).
Separately, trying to compile "is not" on plain objects produces error "Unknown binary operator IsNot()"

Presume this is related to #321


[NO-SDV] test pr for viomem

@kostyanf14 Let's compare our systems
Attached: cd c:\windows\winsxs ; dir cbscore.dll tiworker.exe
dir-cbscore.txt

@YanVugenfirer @ybendito
Ballon fail Win11 24H2 https://people.redhat.com/~kkostiuk/auto_hck/virtio-win/kvm-guest-drivers-windows/Balloon-Win11_24H2x64_host_uefi_viommu/2024_11_18_03_13_55/results.html

@kostyanf14 Let's check that there is nothing with with Win11. If everything OK, let's open ticket.

@YanVugenfirer We compared Win11 on CI and Win11 in Yuri setup. These are different versions of Win11.

@YanVugenfirer
Yes, different build number. Yuri has a newer.

@kostyanf14 looks like a time for new Win11 VMs...

On my setup the test on balloon also passed

@ybendito @YanVugenfirer Reinstalling HCK-CI Win11 from en-us_windows_11_business_editions_version_24h2_x64_dvd_59a1851e.iso


Ongoing Minor Issue List (Sponge Edition)

SpongeAPI | Sponge
Checkstyle issues should not be reported here as those can be more accurately determined by simply running the checkstyle tool. Examples of good issues to report here are misnamed methods/fields, poorly worded javadocs, formatting issues.
As minor things are resolved, comments will be deleted.

SpongeItemStackBuilder.fromItemStack(ItemStack)
public ItemStackBuilder fromItemStack(ItemStack itemStack) {
	checkNotNull(itemStack, "Item stack cannot be null");
	// Assumes the item stack's values don't need to be validated
	this.type = itemStack.getItem();
	this.quantity = itemStack.getQuantity();
	this.maxQuantity = itemStack.getMaxStackQuantity();
	return this;
}

does not work as specified in the API
ItemStackBuilder.fromItemStack(ItemStack)
/**
 * Creates a new builder with the given ItemStack as a blueprint with
 * all the defaults.
 *
 * @param itemStack The item stack to copy
 * @return This builder, for chaining
 */
ItemStackBuilder fromItemStack(ItemStack itemStack);

The two issues:

Does not create a new builder

(I assume the first part of the javadocs are wrong, since the current behaviour is the expected one from my point of view)

Does not apply all/any item stack data to the builder (this is definitely wrong)

org.spongepowered.common.mixin.core.block.MixinBlockLeaves and org.spongepowered.common.mixin.core.block.MixinBlockLog
import sun.reflect.generics.tree.Tree and a few other it does not need.
Especially this one is nasty since its shows a warning.

A mixin example issue: [MixinEntityPlayerExample] (https://github.com/SpongePowered/SpongeCommon/blob/master/src/example/java/org/spongepowered/mod/mixin/MixinEntityPlayerExample.java) is not on the [json] (https://github.com/SpongePowered/SpongeCommon/blob/master/src/example/resources/mixins.spongeexamples.json).
Suggestion: The package of the example might be renamed to org.spongepowered.common from org.spongepowered.mod.

Quote from @ST-DDT

Does not create a new builder

I assume the first part of the javadocs are wrong, since the current behaviour is the expected one from my point of view

I believe the javadocs for that are wrong. I'll add it to the API minor issues list.
@Mumfrey related to @liach's comment, IMO the mixin examples should be in the Mixin repo rather than SpongeCommon, how about moving them there?

MixinSubject implements IMixinCommandSource. However, it doesn't implement or use any of the methods from it.
Moved from #111.

ItemType.getTranslation() returns an invalid Translation (at least for working bench.)
tile.workbench instead of tile.workbench.name
Same for:

Ladder
IronSword
probably all Items (ItemTypes)

I found this issue during working on https://github.com/SpongePowered/SpongeCommon/pull/108.
You can verify this using https://github.com/SpongePowered/SpongeAPI/pull/779's TextFormat.jar (requires the PR changes)
/textformat <YourUsername> Innocent

[ ] The input param key is not validated
MixinDataHolder

Proof: NullpointerException

The help command could not be found inside the help command:
/help help
No such command: help
Usage: /help [<command>]

/help absent
No such command: absent
Usage: /help [<command>]

/help tp
/tp [target player] <destination player> OR /tp [target player] <x> <y> <z> [<y-rot> <x-rot>]

Many exception errors messages in org.spongepowered.common.data.builder.block.tileentity refer to Banner.

[ ] Remove unused SpongeKey class. KeyRegistry uses KeyFactory methods instead.

DataManager.setupSerialization(Game) has Game as a parameter even though it's not used or needed thanks to Sponge.getGame()

DataManager.setupSerialization(Game) has Game as a parameter even though it's not used or

It's used for the ManipulatorTest because mocking is a pita.

There is 1 closing curly bracket too much in the logging line in https://github.com/SpongePowered/SpongeCommon/blob/master/src/main/java/org/spongepowered/common/mixin/core/server/MixinMinecraftServer.java#L329

SpongeConf.java line 586:
"Default max collisions used for all entities/blocks unless overidden."
Overidden -> Overridden (add r)

Typo: 'decrease'

Wrong error output when not looking at a block, when doing /sponge blockinfo

Here and here akward parameter names.

I've cleaned most of the issues up, and deleted the corresponding comments.
@randombyte-developer Could you please let me know if your "awkward parameter names" are still around, and link to them again?

@kashike I just wanted to post a new discovery and I saw that you pinged me. But I seem to never have got a message, sorry about that.
The parameter names are still there: Here, here and here. I don't know the Mixin system and the usage of NMS very well but these names don't seem to be necessary.
New: Missing space between ) and {

Too many spaces

Typo and typo but unsure if intended

[20:56:17] [Server thread/ERROR] [Sponge]: /* Sponge's tracking system is very dependent on                                                                          */
[20:56:17] [Server thread/ERROR] [Sponge]: /* knowing whena change to any world takes place,                                                                         */
[20:56:17] [Server thread/ERROR] [Sponge]: /* however, we have been toldto complete a "phase"                                                                        */
[20:56:17] [Server thread/ERROR] [Sponge]: /* without having entered any phases.This is an error                                                                     */
[20:56:17] [Server thread/ERROR] [Sponge]: /* usually on Sponge's part, so a reportis required                                                                       */
[20:56:17] [Server thread/ERROR] [Sponge]: /* on the issue tracker on GitHub.

Spaces needed in between string joins on this exception message.
"whena" "toldto" "phases.This" "reportis"

Very minor, but this could have a more meaningful name.

Capitalization error https://github.com/SpongePowered/SpongeCommon/blob/bleeding/src/main/java/org/spongepowered/common/data/processor/value/entity/AReaEffectCloudAgeProcessor.java

7678e517fb3c79535a3d0727cc061e461f09c674
In this commit, several meaningless usages of PhaseTracker emerge. We can clean them up.

I've cleaned some of the issues up, and deleted the corresponding comments.

https://github.com/SpongePowered/SpongeCommon/blob/27e245433a9939c6d1ea930c7049b1a3d5961176/src/main/java/org/spongepowered/common/mixin/core/command/MixinCommandSenderWrapper.java#L71-L75
SpongeProxySource.Located should be the first one, and SpongeProxySource should be the second.

https://github.com/SpongePowered/SpongeCommon/blob/27e245433a9939c6d1ea930c7049b1a3d5961176/src/main/java/org/spongepowered/common/command/SpongeCommandManager.java#L327-L331
Redundant catch clause. The CommandException one works fine for this.

https://github.com/SpongePowered/SpongeCommon/blob/27e245433a9939c6d1ea930c7049b1a3d5961176/src/main/java/org/spongepowered/common/command/SpongeCommandManager.java#L386-L391
The if statement should be a separate catch clause.
Also, the rest of the catch clause is only called for RuntimeExceptions. It may be able to be removed, unless having a log of the tab completion input is important.

Fixed many issues in 984f1d7869a03a9489b9711516e2f5b698366507 and relevant comments were removed

DataRegistrar should be a final class

[ ] Typo "surce" https://github.com/SpongePowered/SpongeCommon/blob/b559f0720ca0b7f0c3620905d7e405a148b0cee9/src/main/java/org/spongepowered/common/mixin/core/entity/MixinEntityHanging.java#L75

https://github.com/SpongePowered/SpongeCommon/blob/36a82d2c6bfc2a916d0b9772b750ee7b9d87481c/src/main/java/org/spongepowered/common/registry/type/item/InventoryArchetypeRegistryModule.java#L372
Should be UNKNOWN instead of UKNOWN

https://github.com/JBYoshi/SpongeCommon/blob/74080b0c75e59075f164f5151b08be395e2d17fc/src/main/java/org/spongepowered/common/data/manipulator/mutable/common/AbstractBoundedComparableData.java#L85
compare() returns either -1, 0, or 1. The condition should be this.upperBound - this.lowerBound > ImmutableDataCachingUtil.CACHE_LIMIT_FOR_INDIVIDUAL_TYPE.

https://github.com/SpongePowered/SpongeCommon/blob/c591d8d1416e702a711bdb370ead8ec74d5a2762/src/main/java/org/spongepowered/common/mixin/core/item/inventory/MixinContainer.java#L102 Looks bad

https://github.com/SpongePowered/SpongeCommon/blob/stable-7/src/main/java/org/spongepowered/common/world/SpongeProxyBlockAccess.java

We're not actually using this class since it's been rendered unnecessary by the PhaseTracker system. It used to be required but was eliminated from use since the bugs that were introduced are now gone.

(There's also a mixin of this class in SpongeForge).

https://github.com/SpongePowered/SpongeCommon/blob/a9423c7ec9f2b423b52c273f7e7a23818a8f3e41/src/main/java/org/spongepowered/common/data/persistence/NbtTranslator.java#L61
BOOLEAN_IDENTIFER

https://github.com/SpongePowered/SpongeCommon/blob/7de5827da26e2a4a98509a2bba414cba06fc9214/src/main/java/org/spongepowered/common/config/category/GeneralCategory.java#L43
Should say config instead of plugin
Note that the default: "${CANONICAL_GAME_DIR}/config" is going to use the "config" directory in the root game directory.

https://github.com/SpongePowered/SpongeCommon/blob/1b882a1e93aeeff24504ecc444c6626808f455bb/src/main/java/org/spongepowered/common/bridge/world/WorldSettingsBridge.java#L57
https://github.com/SpongePowered/SpongeCommon/blob/ff226b15848cd8f15fe9d3a29a6cb5683f859d92/src/main/java/org/spongepowered/common/mixin/api/mcp/world/WorldSettingsMixin_API.java#L125-L128
https://github.com/SpongePowered/SpongeCommon/blob/ff226b15848cd8f15fe9d3a29a6cb5683f859d92/src/main/java/org/spongepowered/common/mixin/core/world/WorldSettingsMixin.java#L178-L181
bridg$ -> bridge$

https://github.com/SpongePowered/SpongeCommon/issues/2321

https://github.com/SpongePowered/SpongeCommon/blob/00f5e56506b1bf9f52489a453443c215473a0534/src/main/java/org/spongepowered/common/event/tracking/PhaseTracker.java#L340
Runnaway

https://github.com/SpongePowered/SpongeCommon/blob/da40458a2c60c8114fd567dc0dd35e5bb3799147/src/main/java/org/spongepowered/common/mixin/core/server/management/PlayerChunkMapEntryMixin.java#L61
Bimoes

https://github.com/SpongePowered/SpongeCommon/blob/55c5f8ee6498d9a76aa43074675eed7d2b943f5d/src/main/java/org/spongepowered/common/mixin/core/entity/item/EntityItemMixin.java#L226
Pikcup

https://github.com/SpongePowered/SpongeCommon/blob/e03eff307a7a51f57d1e386faeb06cca2925d338/src/main/java/org/spongepowered/common/event/tracking/phase/packet/player/InteractionPacketState.java#L165
capturedBlcoks

https://github.com/SpongePowered/SpongeCommon/blob/e03eff307a7a51f57d1e386faeb06cca2925d338/src/main/java/org/spongepowered/common/mixin/api/mcp/block/state/StateImplementationMixin_API.java#L77
Should be just @Mixin(BlockStateContainer.StateImplementation.class)
Resolves warning:
Mixin target net/minecraft/block/state/BlockStateContainer$StateImplementation is public in mixins.common.api.json:mcp.block.state.StateImplementationMixin_API and should be specified in value

https://github.com/SpongePowered/SpongeCommon/blob/8f87754fcf62686b167cdf96dd5c23c7883adbea/src/main/java/org/spongepowered/common/mixin/core/inventory/SlotCraftingMixin.java#L127-L128
Javadoc error: method links should have parameters.

https://github.com/SpongePowered/SpongeCommon/blob/c03dde2598f5c4ecda8965c6f0664976a34e1c9c/src/main/java/org/spongepowered/common/config/category/PhaseTrackerCategory.java#L99
"infomration" -> information

I accidentally wrote twice the same thing... Most likely this is not fatal, but it needs to be fixed.
https://github.com/SpongePowered/SpongeCommon/blob/7c7c08c382110b7742f5f381b047875da1c0549f/src/main/java/org/spongepowered/common/mixin/api/mcp/entity/player/EntityPlayerMixin_API.java#L77-L78

It seems when you try to get the head rotation of an entity and apply it to another one (try with player to human) the rotation you get isn't the good one.
Human npc = (Human) player.getLocation().createEntity(EntityTypes.HUMAN); npc.setHeadRotation(player.getHeadRotation());

Use a constant variable instead of hard code some string in Launch.java.
I propose to add following line into file org.spongepowered.api.plugin.PluginManager,
String SPONGE_API_PLUGIN_ID = "spongeapi";

and change the corresponding hard-coded string in line 92, 104, 116 of file org.spongepowered.common.launch.Launch to the constant in the PluginManager.

https://github.com/SpongePowered/SpongeAPI/blob/api-8/src/main/java/org/spongepowered/api/Platform.java#L37

Missing space on line 10 of README.md causes for the appearance of an empty bullet point instead of linking to the Sponge Discord server.

Same issue as SpongeAPI with https://github.com/SpongePowered/Sponge/blob/api-8/.github/CONTRIBUTING.md pointing to the wrong URL. Should be: https://docs.spongepowered.org/stable/en/contributing/guidelines.html

There is a missing space in the output of /sponge chunks global: https://github.com/SpongePowered/Sponge/blob/api-8/src/main/java/org/spongepowered/common/command/sponge/SpongeCommand.java#L603

There is a typo in the method name for setIsUnbrekable (should be setIsUnbreakable) at https://github.com/SpongePowered/Sponge/blob/api-8/src/main/java/org/spongepowered/common/data/provider/item/stack/ItemStackData.java#L207


Feature request: Support inverting condition for JMPU

JMPU supports inverting the condition (jumping when the uniform is false instead of true) if you set bit 0 to 1. Suggested syntax: jmpu !my_condition, target_label.

Implemented in v2.2.


dndPlaceholder is not generated on the 0 index in the md-list

Hi,
I have trouble  with drag and drop on iPad.
Webpage structure:
<md-content style="background-color: #ffffff;">
               <md-list style="padding: 0; min-height: 57px;"
                        dnd-list="pkgEd.panels[pkgEd.activePanelIndex].media"
                        dnd-external-sources="false"
                        dnd-drop="pkgEd.dropCallback(event, index, item, external, type, 'panelList')">
                  <div ng-repeat="m in pkgEd.panels[pkgEd.activePanelIndex].media"
                       dnd-draggable="m"
                       dnd-moved="pkgEd.mediaMoved($index)"
                       dnd-effect-allowed="move"
                       dnd-disable-if="pkgEd.editor.isReadonly()">
                     <md-list-item style="border-top: 1px solid gainsboro; overflow: hidden;" dnd-nodrag class="editorTable editorTalbeItem">
                        <div dnd-nodrag layout="row" layout-align="start center" style="min-height:60px;vertical-align:middle;width:100%">

It works almost fine. When the user try drop list item to the top of the list (index 0), dndPlaceholder is not generated and when he drops, item is inserted as the second item (to the index 1).
Do you have any idea what should I do?
Thank you,
Jakub

Can you provide a plunkr oder jsfiddle to demonstrate the issue?

you can open it here:
https://plnkr.co/edit/rPkFW5fJLpVivgBow2Av?p=preview
Thank you

it looks like dragover event don't fill event.offsetX, event.offsetY, event.layerX, event.layerY

This is very likely fixed in the rewrite:
https://github.com/timruffles/ios-html5-drag-drop-shim/tree/rewrite
I'm using the rewrite, angular-material and angular-drag-drop-lists in a project and don't have the issue you are describing here.
Can you test with this plunkr to see if it fixes your problem?
https://plnkr.co/edit/GMQYJa

Hi, I tested it successfully and move it to my application. Thank you.


⚠ Bofrost.be has degraded performance

In f62f8fc, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 913 ms

Resolved: Bofrost.be performance has improved in 4ca4af2 after 6 minutes.


Fix the telegram link on the Vortex status screens

Context
Currently the link for telegram is expired, This ticket is to update it
Todo

Update the telegram link to this https://t.me/vortex_fi

Hey team! Please add your planning poker estimate with Zenhub @ebma @Sharqiewicz @TorstenStueber

@prayagd Is it already done?

Yes, done. Closing this ticket.


Vendor update - openstorage

Signed-off-by: Imran Pochi<EMAIL_ADDRESS>

Merging vendor updates from openstorage